Taught S10, S11, S12, S14
This concentrates on the theory and practice of compiler-writing. Topics covered include techniques for parsing, code generation, and optimization. Furthermore, the theoretical underpinnings of compilers such as LR parsing and the notion of fix-points (for solving data-flow equations) covered. Finally, the students are exposed to tools such as Flex and Bison, and obtain hands-on experience in building a compiler for a small, imperative programming language.