Themen
Im Compilerbaupraktikum entwickeln Teams von 4-5 Studenten einen Compiler für eine imperative Teilmenge von Java. Zielsprache ist Java Bytecode. Dabei kommen die Techniken und Werkzeuge aus der Veranstaltung "Sprachtechnologie und Compiler" zum Einsatz. Die Veranstaltung "Sprachtechnologie und Compiler II" muss nicht gleichzeitig gehört werden. Das Praktikum ist in Form eines softwaretechnischen Phasenmodells organisiert.
Zu entwickelnde Artefakte:
- Scannerspezifikation
- Parser mit rekursivem Abstieg
- Abstrakte Syntax/Baumaufbau
- Symboltabelle
- Attributierte Grammatik zur Typprüfung
- Codegenerierung
- Elementare Programmanalysen/Optimierungen
Am Ende soll ein vollständiger, lauffähiger, getesteter Compiler stehen.
Das Praktikum ist prüfbar.
Zeitplan
Wir treffen uns einmal wöchentlich um eine Einführung in die Themen zu geben (ca. 45 Minuten). Dabei wird auch auf Fragen und Probleme eingegangen. Danach können die Gruppen unter sich planen und implementieren.
Ort: 2. Stock im AVG (Gebäude 50.41) Seminarraum 207
Datum | Ort | Thema | Unterlagen |
---|---|---|---|
13.4.2011 14:00 Uhr | AVG 207 | Organisatorisches, Einleitung | [Folien] |
20.4.2011 15:45 Uhr | AVG 207 | Lexer | [Folien] |
27.4.2011 15:45 Uhr | AVG 207 | Parser | [Folien] |
04.5.2011 15:45 Uhr | AVG 207 | AST-Aufbau | [Folien] |
11.5.2011 15:45 Uhr | AVG 207 | Semantische Analyse | [Folien] |
18.5.2011 15:45 Uhr | AVG 207 | Firm-Aufbau | [Folien] |
jFirm 1.19.1 (veraltet) | [Download] | ||
yComp | [Download] | ||
25.5.2011 15:45 Uhr | AVG 207 | Firm-Aufbau | |
01.6.2011 15:45 Uhr | AVG 207 | Datenflussanalyse, Konstantenfaltung | [Folien] |
jFirm 1.19.1.1 | [Download] | ||
08.6.2011 15:45 Uhr | AVG 207 | Lokale Optimierungen | [Folien] |
jFirm 1.19.1.1a | [Download] | ||
jFirm 1.19.1.2 | [Download] | ||
jFirm 1.19.1.3 | [Download] | ||
15.6.2011 15:45 Uhr | AVG 207 | Codeerzeugung | [Folien] |
06.7.2011 15:45 Uhr | AVG 207 | Informationen zur Abschluss-Präsentation | [Folien] |
13.6.2011 15:45 Uhr | AVG 207 | Abschluss-Präsentation | [Folien] |
Übungsblätter
Übungsblätter PDF | ||
---|---|---|
13.4.2011 | Einarbeiten | Download |
13.4.2011 | MiniJava Sprachbericht | Download |
20.4.2011 | Lexer | Download |
27.4.2011 | Parser | Download |
04.5.2011 | AST-Aufbau, Pretty-Printer | Download |
11.5.2011 | Semantische Analyse | Download |
18.5.2011 | Firm-Aufbau | Download |
01.6.2011 | Konstantenfaltung | Download |
08.6.2011 | Lokale Optimierungen | Download |
15.6.2011 | x86-Assembler | Download |
Veranstalter
Lehrstuhlinhaber |
---|
Prof. Gregor Snelting |
Ehemalige Mitarbeiter |
---|
Dipl.-Inform. Sebastian Buchwald |
Dipl.-Inform. Matthias Braun |