- Lexical Analyzer - Produces a stream of tokens for the parser
- Parser (Recursive Descent with backtracking) - Produces an Abstract Syntax Tree
- Code Generator - Produces 3 address intermediate code
- Enter the C code to be parsed into 'input.c'
- Run 'compiler_main.py' with a Python 3 interpreter