COMP8712 Compiler Construction
S16 units8000-level
Compiler Construction provides an in-depth treatment of programming language translation, compilation, and run-time systems, organized around a significant programming project to build a compiler for a simple but non-trivial core programming language. The course integrates both theory and practice. Topics covered include data structures for tree languages; lexical analysis, syntax analysis and abstract syntax; symbol tables and semantic analysis; translation, intermediate code, basic blocks and traces; machine targets and instruction selection; liveness analysis and graph coloring register allocation. Supplemental topics may include garbage collection, object-oriented languages, higher-order languages, dataflow analysis, optimization, polymorphism, dynamic compilation, scheduling, pipelining and memory hierarchies. Upon completion of the course students will understand how programs map to execution on modern processors, and the impact of language design on language implementation.
- 2024S1
- 2025S1
- 2026S1
- 2027not offered
Prerequisites in 2026
Read automatically from the handbook's wording
The handbook also asks for something this site can't check (a permission code, a GPA, group membership or "equivalent" study). Read the original below.
The handbook's wording, and when it changed
To enrol in this course you must have complete COMP6710 AND COMP6442 AND COMP6310 . Students who have previously completed COMP3710 or COMP6470 - please contact CECC Student Services for a Permission Code.
To enrol in this course you must have completed COMP6442 AND COMP6310 . Students who have previously completed COMP3710 or COMP6470 - please contact CSS Student Services for a Permission Code.
What it leads to in 2026
No course names COMP8712 in its 2026 prerequisites.