HOME | ENGLISH | IMPRESSUM | KIT

Compilerpraktikum

Achtung: Grosses Treffen aller Compilerbauer am Freitag den 31.07.09 ab 18h im Vogelbräu Biergarten in der Nähe des Durlacher Tors.

Teilnehmer erhalten ein gratis Getränk und die Gewinner des Optimierwettbewerbs dürfen sich zusätzlich über ein Schnitzel freuen.

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 (Eingabe für Generator)
  • Parserspezifikation (Eingabe für Generator)
  • abstrakte Syntax/Baumaufbau
  • Symboltabelle
  • attributierte Grammatik zur Typprüfung
  • Codegenerierung
  • elementare Programmanalysen/Optimierungen

Am Ende soll ein vollständiger, lauffähiger, getesteter Compiler stehen.

Anmeldung

Die Anmeldung ist nun abgeschlossen und die Gruppen sind eingeteilt. Viel Erfolg!

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
22.04.2009 Einarbeiten Download
29.04.2009 Lexer und Parser Download
29.04.2009 Sprachbericht MiniJava (Version 3) Download
06.05.2009 AST Aufbau Download
13.05.2009 Semantische Prüfung Download
03.06.2009 Firm Aufbau Download
03.06.2009 Optimierungen Download
01.07.2009 Java Bytecode Download
02.07.2009 Codeerzeugung Download

Zeitplan

Wir treffen uns einmal wöchentlich um eine Einführung in die Themen zu geben (ca. 45 Minuten). Danach können die Gruppen unter sich Planen und Implementieren. Dabei wird auch auf Fragen und Probleme eingegangen.

Ort: 2. Stock im AVG (Gebäude 50.41) Seminarraum 207

Datum Ort Thema Unterlagen
22.4. (14:00h)AVG 207 Organisatorisches, Einleitung [PDF]
29.4. (14:00h)AVG 207 Lexer, Parser [Beispielprogramme][ANTLR Beispiel]
6.5. (14:00h)AVG 207 Parser -> AST [ANTLR AST Beispiel] [Folien] [Beispielprogramme für AST]
13.5. (14:00h)AVG 207 Semantik [Folien] [AST Visitor Beispiel]
20.5. (14:00h)AVG 207 Zwischencode (libFirm Intro) [Folien]
27.5. (14:00h)AVG 207 Zwischencode (libFirm Teil 2) [Folien]
3.6. (14:00h)AVG 207 Besprechung der Probleme beim Zwischencodeaufbau / Optimierungen (Lokale Optimierungen) [Folien]
10.6. (14:00h)AVG 207 Abschluss Zwischencode (libFirm) / Optimierungen (CSE) [Folien]
17.6. (14:00h)AVG 207 Statusbericht der Gruppen
24.6. (14:00h)AVG 207 Codeerzeugung (Java Bytecode Intro) [Folien]
1.7. (14:00h)AVG 207 Codeerzeugung [Folien]
8.7. (14:00h)AVG 207 Fragestunde
15.7. (14:00h)AVG 207 Fragestunde / Informationen zur Abschlusspräsentation [Folien]
22.7. (14:00h)AVG -109 Abschluss und Präsentation der Ergebnisse [Folien]

Veranstalter

Lehrstuhlinhaber
Prof. Gregor Snelting
Ehemalige Mitarbeiter
Dr.-Ing. Jürgen Graf
Dipl.-Inform. Matthias Braun