Due to the Corona virus it is unclear how the programmes will take place. For the latest news please check the course page in Blackboard/Brightspace.


nl en




To gain insight of the functionality of the different phases in the compilation process, and how these phases are related to each other.


The purpose of the course is to become familiar with the different phases in the construction of a compiler and the problems that hereby occur. Topics that are discussed during the lectures cover the process of the construction of a compiler, e.g., lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code generation and optimization. In the programming assignment the theoretical material presented during the lectures is applied in the construction of a simple compiler. This compiler is constructed in 5 steps; each step is a programming assignment.


Lectures with a written exam, and a programming assignment. The programming assignment consist of 5 tasks that have to be fulfilled. For each task a period of 2 weeks is available. The final grade is a combination of the grades from the written exam and the programming assignment.


A.V. Aho, R. Sethi, en J.D. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1986, ISBN: 0-201-10088-6.