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 |