Goal
To gain insight of the functionality of the different phases in the compilation process, and how these phases are related to each other.
Description
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 complete process of the construction of a compiler: 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.
Method
Lectures with a written exam, and a programming assignment. The programming assignment consist of 5 tasks that need to be fulfilled. For each task a period of 2 weeks is available.
Examination
The written exam yields 2 ECTS in case of a pass mark, while the programming assignment results in 5 ECTS in case of a pass.
Literature
A.V. Aho, R. Sethi, en J.D. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1986, ISBN: 0-201-10088-6.
Website
http://blackboard.leidenuniv.nl
Material: All communication and materials are provided via blackboard. Each person interested in Compiler Construction is required to register on blackboard for this course.