HOME | ENGLISH | IMPRESSUM | KIT

Compilerpraktikum

Themen

Im Compilerbaupraktikum entwickeln Teams von 4-5 Studenten einen Compiler für ein imperatives Java-Subset. Zielsprache ist Java Bytecode. Dabei kommen die Techniken und Werkzeuge aus der Veranstaltung "Sprachtechnologie und Compiler 1" zum Einsatz. Die Veranstaltung "Sprachtechnologie und Compiler 2" muss nicht gleichzeitig gehört werden. Das Praktikum ist in Form eines softwaretechnischen Phasenmodells organisiert. Das Praktikum kann in die Diplomprüfung eingebracht werden.

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.

Zeitplan

Die Vorbesprechung findet am 14. April 2010 um 15:45 Uhr im AVG (Gebäude 50.41) Raum 207 statt. Dort werden wir die genaue Gruppeneinteilung und weitere Termine festlegen.

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
14.4. (15:45h)AVG 207 Organisatorisches, Einleitung [Folien]
21.4. (15:45h)AVG 207 Lexer [Folien]
28.4. (15:45h)AVG 207 Parser [Folien]
05.5. (15:45h)AVG 207 AST-Aufbau [Folien]
12.5. (15:45h)AVG 207 Semantische Analyse [Folien]
19.5. (15:45h)AVG 207 Firm Aufbau [Folien]
02.6. (15:45h)AVG 207 Datenflussanalyse, Konstantenfaltung [Folien]
09.6. (15:45h)AVG 207 Datenflussanalyse, Elimination gemeinsamer Teilausdrücke [Folien]
23.6. (15:45h)AVG 207 Java Bytecode, Jasmin Assembler [Folien]
30.6. (15:45h)AVG 207 Bytecode Backend [Folien]
07.7. (15:45h)AVG 207 Informationen zur Abschlusspräsentation [Folien]

Wiki

Fragen und Antworten, Diskussionen...

In unserem Wiki werden Materialien, Tips und Tricks zusammengetragen. Es ist gleichzeitig auch eine Diskussionsplatform damit ihr euch über Erfahrungen und Probleme austauschen könnt.

Wiki

Übungsblätter

Übungsblätter PDF
14.04.2010 Einarbeiten Download
18.04.2010 MiniJava Sprachbericht (veraltet!) Download
21.04.2010 Lexer Download
26.04.2010 MiniJava Sprachbericht Version 3.1 Download
28.04.2010 Parser Download
29.04.2010 MiniJava Sprachbericht Version 3.2 Download
5.05.2010 AST-Aufbau, Pretty-Printer Download
12.05.2010 Blatt 4 Version 2 - Pretty-Printer etwas klarer formuliert Download
17.05.2010 Blatt 4 Version 3 - Beispiel repariert (Präzedenz von unärem Operator und Arrayzugriff) Download
12.05.2010 Blatt 5 Download
19.05.2010 Blatt 6 Download
02.06.2010 Blatt 7 Download
09.06.2010 Blatt 8 Download
23.06.2010 Blatt 9 Download
30.06.2010 Blatt 10 Download

Veranstalter

Lehrstuhlinhaber
Prof. Gregor Snelting
Ehemalige Mitarbeiter
Dipl.-Inform. Matthias Braun
Dipl.-Inform. Sebastian Buchwald