The brief topics for the 4 assignments were as follows
- Scanning and Parsing
- Abstract Syntax Tree generation
- Assembly Code Generation
- Optimizations
The folder for each assignment contains all the source files and makefiles along with the in-depth problem statement description. The code has passed all the hidden testcases used by the course evaluators for evaluation, including the additional testcases for the bonus implementations. Note that the assignments are cumulative i.e. each assignment builds on the end product of the previous one. The final assignment results in a fully-fleged compiler albeit with limited functionality. For details, refer to the source and the problem statements.