Institute for Communication Technologies and Embedded Systems

Foundations of Compiler Engineering / Grundlagen des Compilerbaus


The course is tailored to students with interest to Software Engineering in general. To program a PC in a high level language, compilers are an irreplaceable tool, whose understanding builds the basis of every successful implementation of algorithms on a PC. Furthermore, the introduced problems and algorithms provide a wide background for the solution of problems on a PC.

In the domain of embedded systems, compilers have as outstanding role. This area comprises a much broader spectrum of architectures and requires at the same time much higher code quality (performance, code size etc.) than PCs do. Therefore, compilers are the key technology to develop programmable embedded systems, since they close the semantic gap between high level languages and machine languages.


Structure of the course:
Foundations of Compiler Engineering Advanced Compiler Engineering
  1. Introduction
  2. Lexical analysis
  3. Syntax analysis
  4. Semantical analysis
  5. Symbol tables
  6. Intermediate representations
  7. Control flow analysis
  8. Code selection
  9. Memory management
  1. Introduction
  2. Data flow analysis
  3. Intermediate code optimization
  4. Target processors
  5. Register allocation
  6. Scheduling
  7. Code optimization techniques
  8. Retargetable compilers



Lecturer:  Rainer Leupers

Supervisor:  Niko Zurstraßen

Type:  Bachelor Lecture

Lecture(2), RWTHOnline

Exercise(1), RWTHOnline

Credits: 3

Course language: German


Lecture: Wednesday , 14:30 - 16:00 from 05.04.2023 to 12.07.2023

Exercise: Wednesday , 16:15 - 17:00 from 05.04.2023 to 12.07.2023



There will be an oral examination on appointment.

Link: RWTHOnline