# [A C compiler with graphs.](https://youtu.be/7fTK4zxVW7E)

## SYNOPSIS
recc [stage_arguments] file_to_compile [display_option]
## Options
| `Lexing ` | ` --lex `|
| `Parsing ` | ` --parse `|
| `Semantic Analysis ` | ` --validate `|
| `TACTILE IR ` | ` --tactile `|
| `Assembly IR ` | ` --codegen `|
| `Assembly ` | ` -S `|
| `Assembling + Linking` | ` --run ǀ nothing `|
| `Render ` | ` -r ǀ --render `|
| `Server ` | ` -s `|
There are currently 7 stages and a bonus rendering stage.
The rendering step will be run after semantic analysis. The corresponding command line arguments can be used to stop at that stage, and `-d` or `--display` can be added at the end to display the state of that stage.
The server will be opened on localhost:7878
Standard cargo project, nothing funny.
Additionally, if you want to use the server, make sure the html directory is present alongside the executable.
## Example
```
int fib(int n) {
if (n == 0 || n == 1) {
return n;
} else {
return fib(n - 1) + fib(n - 2);
}
}
int main(void) {
int n = 6;
return fib(n);
}
```
### Current Features:
Functions
Integers
Variables
Majority of statements
Graph making
Web UI
### To add:
User themeing (probably pretty simple stuff)