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

Type:  Bachelor Lecture

Lecture(2), RWTHOnline

Exercise(1), RWTHOnline

Course language: German


Lecture: Thursday , 14:30 - 16:00 from 18.04.2024 to 18.07.2024 

Exercise: Thursday , 16:15 - 17:00 from 11.04.2024 to 18.07.2024