Main content

CS 551 — Compiler Construction
(dt. Compilerbau)

Level, degree of commitment Specialization module, compulsory elective module
Forms of teaching and learning,
workload
Lecture (4 SWS), recitation class (2 SWS),
270 hours (90 h attendance, 180 h private study)
Credit points,
formal requirements
9 CP
Course requirement(s): Successful completion of at least 50 percent of the points from the weekly exercises as well as at least 2 presentations of the tasks.
Examination type: Written or oral examination (individual examination)
Language,
Grading
English,
The grading is done with 0 to 15 points according to the examination regulations for the degree program M.Sc. Computer Science.
Duration,
frequency
One semester,
Regelmäßig alle 3 bis 4 Semester
Person in charge of the module's outline Prof. Dr. Christoph Bockisch

Contents

Compilers translate programs from high-level programming languages into executable machine code. The module presents and compares concepts and methods developed for the different phases of compilers:

  • lexical analysis: regular expressions, finite automata, first-longest-match principle, scanner generators
  • Syntactic analysis: Context-free grammars, recursive descent parsing with LL(k) grammars, shift reduce parsing with LR(k) grammars, precedent-controlled parsers, parser generators;
  • Semantic analysis with attribute grammars
  • Intermediate code generation
  • code optimization

Qualification Goals

Translation is missing, sorry. German original:

Die Studierenden

  • können verschiedene Aspekte von Programmiersprachen gegenüberstellen (Lexik, Syntax, Semantik, Pragmatik),
  • können den Aufbau von Compilern und Compilerphasen beschreiben,
  • verstehen Werkzeuge zur Compilererzeugung und können diese anwenden,
  • können Grundprinzipien der Codeerzeugung, der denotationellen Semantik und abstrakter Maschinen erklären,
  • können einzelne Teile eines Compilers programmieren,
  • sind in der Lage, wissenschaftliche Arbeitsweisen beim eigenständigen Erkennen, Formulieren und Lösen von Problemen anzuwenden,
  • sind in der Lage, über wissenschaftliche Inhalte frei zu sprechen, sowohl vor einem Publikum als auch in einer Diskussion.

Prerequisites

None. The competences taught in the following module are recommended: Theoretical Computer Science.


Applicability

Module imported from M.Sc. Computer Science.

It can be attended at FB12 in study program(s)

  • B.Sc. Computer Science
  • M.Sc. Computer Science
  • M.Sc. Mathematics
  • LAaG Computer Science

When studying B.Sc. Computer Science, this module can be attended in the study area Compulsory Elective Modules in Computer Science.


Recommended Reading

  • Drachenbuch: Aho/Sethi/Ullman: Compilers — Principles, Techniques, and Tools, Addison-Wesley 1986
  • Waite/Goos: Compiler Construction, Springer Verlag 1994
  • Wilhelm/Maurer: Übersetzerbau: Theorie, Konstruktion, Generierung, Springer Verlag 1992
  • Appel: Modern Compiler Implementation in ML/Java/C++, Addison-Wesley 1998



Please note:

This page describes a module according to the latest valid module guide in Winter semester 2025/26. Most rules valid for a module are not covered by the examination regulations and can therefore be updated on a semesterly basis. The following versions are available in the online module guide:

The module guide contains all modules, independent of the current event offer. Please compare the current course catalogue in Marvin.

The information in this online module guide was created automatically. Legally binding is only the information in the examination regulations (Prüfungsordnung). If you notice any discrepancies or errors, we would be grateful for any advice.