Skip to main content.

Einführung in den Compilerbau

Neu: Informationen zur PO2009 / Compiler I nachgetragen.

Art
Integrierte Veranstaltung
Credits
5,0 CP
Zeit
Mittwochs, 13:30 - 15:10 Uhr
Ort
S3|11 / 08
Beginn
19.10.2016

Dozent
Andreas Koch
Betreuer
Julian Oppermann

Voraussetzungen
Grundkenntnisse Algorithmen und Datenstrukturen, Java, Rechnerarchitektur (erworben z.B. durch "Algorithmen und Datenstrukturen", "Funktionale und objektorientierte Programmierkonzepte" und "Rechnerorganisation" bzw. die Vorgängerveranstaltungen GDI2, GDI1 und TGDI)

Inhalt
Diese Veranstaltung gibt eine praktisch orientierte Einführung in die Grundlagen des Compilerbaus, speziell der benötigten Algorithmen und Datenstrukturen. Dabei werden alle Phasen der Übersetzung, vom Lexing/Parsing über die semantische Analyse bis hin zur Codeerzeugung behandelt. Weitere Themen umfassen die automatische Erzeugung von Lexern/Parsern durch Werkzeuge wie ANTLR und JavaCC, sowie die Laufzeitumgebung bei der Ausführung von Hochsprachen. Die Verfahren werden anhand eines in Java verfassten Beispielcompilers für die einfache Hochsprache Triangle erklärt.

Literatur
Programming Language Processors in Java von David Watt und Deryck Brown

Prüfungsform
Sonderform = semesterbegleitende, benotete Studienleistung

Studienleistung

Die Studienleistung kann erbracht werden durch die erfolgreiche Bearbeitung von Übungsblättern und praktischen Programmieraufgaben in Gruppen (geplant mit je drei Mitgliedern), sowie deren erfolgreicher Diskussion in individuellen Testaten. Über das Semester verteilt werden Sie drei Übungsblätter (Bearbeitungszeit: jeweils eine Woche) und drei Programmierprojekte (Bearbeitungszeit: jeweils zwei Wochen) bearbeiten. Für ein Bestehen sind dabei mindestens ausreichende Leistungen in jedem dieser Teilbereiche erforderlich.

Hinweis
Die aktuell im TUCaN auswählbaren Testats- und Übungsgruppen sind NICHT bindend.

Übergangsregelung für Studierende der PO 2009

Das Modulangebot "Compiler I" (20-00-0610) ist zum SoSe 2016 ausgelaufen.

Studierende in der alten PO 2009, die nicht bis zum SoSe 2016 zu o.g. Modul angemeldet waren, können "Einführung in den Compilerbau" nicht ersatzweise für "Compiler I" belegen, da die neue Veranstaltung nicht im Wahlpflichtkatalog der PO 2009 enthalten ist.

Für Studierende in der alten PO 2009, die sich bis zum SoSe 2016 bereits angemeldet hatten und nur noch die Prüfung brauchen, bieten wir in diesem Semester eine letzte Prüfungsmöglichkeit an. Sollten Sie die Prüfung im 1. oder 2. Prüfungsversuch nicht bestehen/bestanden haben, können Sie auf Antrag auf ein anderes Modul aus dem Wahlpflichtbereich wechseln, ohne Anrechnung von Fehlversuchen und ohne §30 Abs. 5 APB in Anspruch zu nehmen.

Moodle-Kurs

Bitte schreiben Sie sich in den Moodle-Kurs ein. Dort finden Sie organisatorische Informationen zum Ablauf des Prüfungsbetriebs, erhalten die Aufgabenstellungen und Materialien und haben die Möglichkeit, Fragen rund um die Veranstaltung in Foren zu diskutieren.

Vorlesungsfolien

1. Block: Einleitung, Beschreibung von Programmiersprachen
Farbig, 1-auf-1 Mit Animationen, Farbig, 1-auf-1

2. Block: Kompilierungsablauf und Syntaktische Analyse
Farbig, 1-auf-1 Mit Animationen, Farbig, 1-auf-1

3. Block: Kontextanalyse
Farbig, 1-auf-1 Mit Animationen, Farbig, 1-auf-1

4. Block: Laufzeitumgebung
Farbig, 1-auf-1 Mit Animationen, Farbig, 1-auf-1

5. Block: Code-Generierung
Farbig, 1-auf-1 Mit Animationen, Farbig, 1-auf-1

6. Block: Compiler-Generator ANTLR v4
Farbig, 1-auf-1 Mit Animationen, Farbig, 1-auf-1

Aufzeichnungen

Die Folien und der Vortrag werden aufgezeichnet. Dabei kann es gelegentlich durch die Tücke der Technik zu Störungen oder Ausfällen kommen. Wir bitten diese zu entschuldigen und hoffen, sie in erneuten Durchgängen zu vermeiden. Die Aufzeichungen selbst sind platzsparend im H.264-Format komprimiert. Zum Abspielen empfehlen wir VLC.

19.10.2016
26.10.2016 - leider ist der Ton kurz vor Ende der Vorlesung ausgefallen, die Folien enthalten aber alle relevanten Informationen.
02.11.2016
09.11.2016
16.11.2016
23.11.2016
30.11.2016
07.12.2016
14.12.2016
14.12.2016
11.01.2017
18.01.2017
25.01.2017
01.02.2017
08.02.2017

Material

Triangle-Compiler, v2.1-esa4
Achtung: Dies ist nicht das Material für die Studienleistung, sondern dient zur Veranschaulichung des Vorlesungsstoffs.