Institute for Communication Technologies and Embedded Systems

Foundations of Compiler Engineering / Grundlagen des Compilerbaus

Contents

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

Assessment

There will be an oral examination on appointment.

 

Lecturer:  Rainer Leupers

Supervisor:  Niko Zurstraßen

Type:  Bachelor Lecture

Lecture(2), RWTHOnline

Exercise(1), RWTHOnline

Credits: 3

Course language: German

Link to online lectures: Will be provided on Moodle or request it by emailing the supervisor.

Start: Do 07.04.2022

Lecture time: 12:30 - 14:00

Exercise time: 14:15 - 15:00