recc 0.1.0

A C compiler with graphs.
Documentation

A C compiler with graphs.

Graph

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)