| bootstrap | ||
| test | ||
| .clang-format | ||
| .clang-format-include | ||
| .editorconfig | ||
| LICENSE | ||
| meson.build | ||
| README.md | ||
A toy language compiler.
Build dependencies
- ANTLR4
- Meson
- Ninja
- C++ compiler
Runtime dependencies
- ANTLR4 C++ runtime
- QBE
- Assembler (the one in the C compiler will do)
Build steps
meson setup builddir
ninja -C builddir
The xc binary is in builddir/bootstrap/xc. Optionally install it with
ninja -C builddir install
Usage
Use xc to compile xlang to QBE intermediate langage
xc -o foo.ssa foo.x
Use qbe to optimize and emit assembly
qbe -o foo.S foo.ssa
Assemble and link the binary (easiest to let the C compiler figure it out)
cc -o foo foo.S