A tiny compiler for a simple synthetic language featuring LL(2) grammar, written in pure C, with Lexer, Parser, ASM-like code generator and Virtual machine implemented.
The compiler consist of typical parts, known as:
- Lexer
- Parser
- Assembler like code generator
- Virtual machine
- Symbol table
- Abstract syntax tree