The journey to creating this compiler:-
- Define a lexical structure and implement a scanner for it.
- Design a Context-Free Grammar and implement a recursive-descent parser for it.
- Make your parser return an Abstract-Syntax Tree.
- Implement a Leblanc-Cook symbol table for scoping rules.
- Code generation to help create class file for the compiler to understand.