Compilerbau
Sommersemester 2020
4 SWS
Prof. Dr. Timo Kehrer,
Covid-19 Information:
Sowohl die Vorlesung als auch die Übungen finden statt. Sie werden als synchrone Online-Veranstaltungen via Zoom zu den regulären Zeiten (s. unten) durchgeführt. Details hierzu wurden an alle via Agnes registrierten Teilnehmer*innen versendet. Sollten Sie keine Informationen bekommen haben und dennoch am Kurs teilnehmen wollen, können Sie die Informationen auch per E-Mail erfragen. Bitte nutzen Sie dazu ihre HU E-Mail Adresse.
Vorlesung | Mo/Do., 13-15 | ||
Übungen | Mo./Do., 14-tg., 13-15 |
Inhalte
- Architektur und Aufgaben eines Compilers
- Anwendung der Theorie der Automaten (endliche Automaten, Kellerautomaten) auf Probleme des Übersetzerbaus
- lexikalische Analyse
- Konzepte und Techniken des Parsings
- Semantische Analyse (inkl. Typerkennung, -verträglichkeit, Gültigkeitsbereiche, Abhängigkeitsanalyse)
- Konzepte der Speicherorganisation
- Grundlagen Codegenierung (insbesondere abstrakten Maschinencode)
- Optimierungstechniken im Überblick
Terminplanung (Änderungen möglich)
Mo, 13.00-15.00 | Thema | Do, 13.00-15.00 | Thema | |||
---|---|---|---|---|---|---|
20.04.20 | V | Einführung und Organisation | 23.04.20 | V | Einführung C | |
27.04.20 | V | Einführung C | 30.04.20 | V | Einführung C | |
04.05.20 | V | Einführung C | 07.05.20 | V | Lexikalische Analyse I | |
11.05.20 | V | Lexikalische Analyse II | 14.05.20 | Ü | Stack und Syntree | |
18.05.20 | V | Syntaktische Analyse - Parsing I | 21.05.20 | |||
25.05.20 | V |
Syntaktische Analyse – Parsing II |
28.05.20 | Ü | C1 und HTML-Scanner | |
01.06.20 | 04.06.20 | V | Syntaktische Analyse – Parsing III LR-Parsing: Grundprinzipien |
|||
08.06.20 | V | Syntaktische Analyse – Parsing IV LR-Syntaxanalyseverfahren |
11.06.20 | Ü | Handparser | |
15.06.20 | V |
Syntaktische Analyse – Parsing V |
18.06.20 | V |
Syntaktische Analyse – Parsing VI |
|
22.06.20 | V | Semantische Bearbeitung | 25.06.20 | Ü | Bison-Parser | |
29.06.20 | V | Repetitorium I | 02.07.20 | V | Repetitorium II | |
06.07.20 | V | Codegenerierung & Optimierung | 09.07.20 | Ü |
Semantische Analyse |
|
13.07.20 | V | Zusammenfassung und Q&A / Klausurvorbereitung | 16.07.20 | V | Zusammenfassung und Q&A / Klausurvorbereitung |
Literatur
- Aho, Sethi, Ullman: Compilers: Principles, Techniques und Tools, Addison-Wesley Publishing Company, 2. Auflage, 2007 (bekannt als „Drachenbuch“)
- Kernighan, Ritchie: The C Programming Language, Prentice Hall, 2. Auflage, 1988, 1990
- Wilhelm, Maurer: Übersetzerbau: Theorie, Konstruktion, Generierung, Springer Verlag, 2. Auflage
- Fischer/LeBlanc: Crafting a Compiler with C, The Benjamin Cummings Publishing Company, 1991