Single-Course Danish 5 ECTS

Compiler Construction

Overall Course Objectives

The students learn to understand principles of compilers. The students learn to use and construct software tools to implement parts of a working compiler.

Learning Objectives

  • explain the different phases in compilation and execution
  • operate selected tools relating to the compiler phases (e.g., lexers, parsers)
  • explain the different elements in the description of a programming language
  • derive specifications of the compiler phases, given a textual description of the syntax of a programming language
  • design data structures for abstract syntax
  • implement an analysis and code generation phase, given a textual description of the semantics of a programming language
  • explain the concepts of a simple target language
  • develop a working compiler
  • achieve the goals as part of a group effort, while maintaining individual accountability
  • communicate solutions to problems in a clear and precise manner
  • explain central concepts of imperative, object-oriented and functional programming languages, and implementing a simple interpreter for them

Course Content

The course covers principles and the main phases of compilers:

(1) Lexical analysis (scanning) and tool support for generation of scanners.
(2) Syntax analysis (parsing) and tool support for generation of parsers.
(3) Semantical analysis.
(4) Code generation.

Recommended prerequisites


Teaching Method

Class teaching and lab work.


See course in the course database.





13 weeks




DTU Lyngby Campus

Course code 02332
Course type Graduate Engineer
Semester start Week 35
Semester end Week 48

7.500,00 DKK