Single-Course
Dansk
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.
See course description in Danish
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.
Teaching Method
Class teaching and lab work.