Themen
Im Compilerbaupraktikum entwickeln Teams von 4-5 Studenten einen Compiler für eine imperative Teilmenge von Java. Zielsprache ist x86-Assembler. Dabei kommen die Techniken und Werkzeuge aus der Veranstaltung "Sprachtechnologie und Compiler" zum Einsatz. 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.
Vorbesprechung
Die Vorbesprechung findet am 17. Oktober 2012 um 14:00 Uhr im Infobau (Gebäude 50.34) Raum 010 statt. Dort werden wir die genaue Gruppeneinteilung und weitere Termine festlegen.
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: Erdgeschoss im Infobau (Gebäude 50.34) Seminarraum 010
Datum | Ort | Thema | Unterlagen |
---|---|---|---|
17.10.2012 14:00 Uhr | Infobau 010 | Organisatorisches, Einleitung | Präsentation |
24.10.2012 14:00 Uhr | Infobau 010 | Lexer | Folien |
31.10.2012 14:00 Uhr | Infobau 010 | Parser | Folien |
07.11.2012 14:00 Uhr | Infobau 010 | AST-Aufbau | Folien |
14.11.2012 14:00 Uhr | Infobau 010 | Semantische Analyse | Folien |
21.11.2012 14:00 Uhr | Infobau 010 | Firm-Aufbau | Folien |
28.11.2012 14:00 Uhr | Infobau 010 | Firm-Aufbau 2 | |
05.12.2012 14:00 Uhr | Infobau 010 | Lokale Optimierungen | Folien, Optimierungs-Vorschläge |
12.12.2012 14:00 Uhr | Infobau 010 | Datenflussanalyse, Konstantenfaltung | Folien |
19.12.2012 14:00 Uhr | Infobau 010 | Codeerzeugung | Folien, x86 Assembler (S. 11-36) |
09.01.2013 14:00 Uhr | Infobau 010 | ||
16.01.2013 14:00 Uhr | Infobau 010 | Informationen zur Abschluss-Präsentation | Folien |
23.01.2013 14:00 Uhr | Infobau 010 | ||
30.01.2013 14:00 Uhr | Infobau 010 | ||
06.02.2013 16:00 Uhr | Infobau 010 | Abschluss-Präsentation |
Übungsblätter
Übungsblätter PDF | ||
---|---|---|
17.10.2012 | Einarbeiten | Download |
MiniJava Sprachbericht | Download | |
24.10.2012 | Lexer | Download |
31.10.2012 | Parser | Download |
07.11.2012 | AST-Aufbau, Pretty-Printer | Download |
14.11.2012 | Semantische Analyse | Download |
jFirm 1.19.1.3 | Tarball | |
jFirm 1.21.0 (neu, allerdings noch keine Mac Version) | Zip | |
21.11.2012 | Firm-Aufbau | Download |
05.12.2012 | Lokale Optimierungen | Download |
12.12.2012 | Konstantenfaltung | Download |
19.12.2012 | x86-Assembler | Download |
Veranstalter
Lehrstuhlinhaber |
---|
Prof. Gregor Snelting |
Ehemalige Mitarbeiter |
---|
Dr.-Ing. Andreas Zwinkau |