The language was changed to English.

Course Type (SWS)
Lecture: 3 │ Exercise: 1 │ Lab: 0 │ Seminar: 0
Exam Number:
Exam Code:
Type of Lecture: hands-on exercises
Language: English
Cycle: WS
ECTS: 6
Exam Type Oral Exam
Written Exam
assigned Study Courses
assigned People
assigned Modules
Information
Beschreibung: Die Vorlesung behandelt die Geschichte, die theoretischen Grundlagen und die Algorithmen von Compilern und Interpretern. Die Themen umfassen:
- Einführung in den Compilerbau
- Syntax und Semantik von Programmiersprachen
- Architektur von Compilern und Interpretern
- Lexikalische Analyse
- Syntaktische Analyse
- Zwischendarstellungen von Programmen
- Codegenerierung
- Optimierungen

Die Vorlesung wird durch praktische Übungen begleitet, die auf die Nutzung in der Vorlesung behandelter Algorithmen ausgerichtet ist. Im Verlauf des Semesters entwickeln und erweitern die Studenten nach und nach einen kompletten Compiler für eine einfache Programmiersprache.
Lernziele: Die Veranstaltung verfolgt das duale Ziel Studenten einerseits die theoretischen und algorithmischen Grundlagen zu vermitteln, die für das Verständnis und das Design von Compilern und Interpretern notwendig sind, und ihnen andererseits die praktischen Probleme des Compilerbaus vor Augen zu führen. Die erfolgreiche Teilnahme an den Übungen erfordert die Entwicklung eines vollständigen Compilers, in dem in der Vorlesung behandelte Algorithmen praktisch umgesetzt werden.
Literatur: Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 2006 (Dragon book)
A.W. Appel Modern Compiler Implementation in Java, Cambridge University Press, 1998 (Tiger book)
Steven Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufman Publishers, 1997 (Whale book)
Keith D. Cooper and Linda Torczon, Engineering a Compiler, Morgan Kaufman Publishers, 2003 (Ark book)
Randy Allen and Ken Kennedy, Optimizing Compilers for Modern Architectures, Morgan Kaufman Publishers, 2001
Vorleistung:
Infolink:
Bemerkung:
Description: The lecture covers the history, theoretical foundations and algorithms of compilers and interpreters. The main topics are:
- introduction to compilers
- the syntax and semantics of programming languages
- architecture of compilers and interpreters
- lexical analysis
- syntactic analysis
- program abstractions
- code generation
- optimizations

The lecture is accompanied by hands-on exercises focusing on making use of the algorithms introduced in the lecture. Over the course of the semester, the students will incrementally develop and enhance a complete compiler for a simple programming language.
Learning Targets: The lecture has the dual objective to provide students with the necessary theoretical and algorithmic foundations to understand and design compilers and interpreters on the one hand, and expose them to practical aspects of developing a compiler on the other hand. After completing the exercises, the students will have developed a full-fledged compiler based on the algorithms introduced in the lecture.
Literature: Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 2006 (Dragon book)
A.W. Appel Modern Compiler Implementation in Java, Cambridge University Press, 1998 (Tiger book)
Steven Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufman Publishers, 1997 (Whale book)
Keith D. Cooper and Linda Torczon, Engineering a Compiler, Morgan Kaufman Publishers, 2003 (Ark book)
Randy Allen and Ken Kennedy, Optimizing Compilers for Modern Architectures, Morgan Kaufman Publishers, 2001
Pre-Qualifications:
Info Link:
Notice: