http://dabeaz.com/chicago/compiler.html
The language is loosely based around go.
The compiler runs in a few stages:
- Tokenizer - Breaks the progam into tokens
- Parser - Uses the tokenizer to parse the program
- Checker - Checks the parsed syntax
- IRCode - Creates intermediate code
- LLVMgen - Converts the intermediate code to LLVM instructions
- Compile - Compiles the code using LLVM (Optionally, there is a run that can work line a JIT manner.)
python -m gone.compile Programs/mandel.g
./a.out
python -m gone.tokenizer Programs/mandel.g
python -m gone.parser Programs/mandel.g
python -m gone.checker Programs/mandel.g
python -m gone.ircode Programs/mandel.g
python -m gone.llvmgen Programs/mandel.g
python -m gone.run Programs/mandel.g