Probably better than javascript
- building requires
meson
,ninja
,gmp
and a C99 compliant compiler - building also requires
flex
andbison
- windows users can use
win_flex
andwin_bison
from choco
- windows users can use
meson build
ninja -C build
# running tests
ninja -C build test
# using the compiler
./build/ctc --help
- lex + parse with flex and bison
- symbol resolution, typechecking in semantic analysis
- convert ast into typed ast for IR
- convert typed ast into SSA
- optimize SSA form
- use backend to produce end library/executable from SSA
- assembler backend (TODO)
Each stage will try and continue if it encounters any errors but will exit at the end of the stage. Stages after semantic analysis can expect that input will always be correct.
- syntax highlighting for vscode is available here
This project is licensed under AGPL3.