Code project for a small C Compiler.
Please read report.pdf for more information.
Coded 12000 lines to completely implement a compiler including semantic check, intermediate representation and code generator.
Applied many optimizations such as copy propagation, loop unrolling and peephole which strongly reduced the number of instructions.