A C compiler with graphs.
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 |
| Render | -r |
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)