recc 0.1.0

A C compiler with graphs.
Documentation
# A C compiler with graphs.

![Graph](img/graph.svg)

## SYNOPSIS
recc [stage_arguments] file_to_compile [display_option]

## Options
| Stage                |  Command line parameter |
| -------------------- | ----------------------- |
| Lexing               |  --lex                  |
| Parsing              |  --parse                |
| Semantic Analysis    |  --validate             |
| TACTILE IR           |  --tactile              |
| Assembly IR          |  --codegen              |
| Assembly             |  -S                     |
| Assembling + Linking |  --run | nothing        |
| Render               |  -r    | --render       |


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.

Standard cargo project, nothing funny.

Test cases are stored in `./test_cases`. They are divided by when they were added.

## 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

To add:

Web UI (probably)

User themeing (probably pretty simple stuff)