Taught S10, S11, S12
This course will concentrate on the theory and practice of compiler-writing. Topics to be covered will 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) will be covered. Finally, the students wil be exposed tools such as Flex and Bison, and will obtain hands-on experience in building a compiler for a small, imperative programming language.