HOME | ENGLISH | IMPRESSUM | KIT

Compilerpraktikum

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 UhrInfobau 010 Organisatorisches, Einleitung Präsentation
24.10.2012 14:00 UhrInfobau 010 Lexer Folien
31.10.2012 14:00 UhrInfobau 010 Parser Folien
07.11.2012 14:00 UhrInfobau 010 AST-Aufbau Folien
14.11.2012 14:00 UhrInfobau 010 Semantische Analyse Folien
21.11.2012 14:00 UhrInfobau 010 Firm-Aufbau Folien
28.11.2012 14:00 UhrInfobau 010 Firm-Aufbau 2
05.12.2012 14:00 UhrInfobau 010 Lokale Optimierungen Folien, Optimierungs-Vorschläge
12.12.2012 14:00 UhrInfobau 010 Datenflussanalyse, Konstantenfaltung Folien
19.12.2012 14:00 UhrInfobau 010 Codeerzeugung Folien, x86 Assembler (S. 11-36)
09.01.2013 14:00 UhrInfobau 010
16.01.2013 14:00 UhrInfobau 010 Informationen zur Abschluss-Präsentation Folien
23.01.2013 14:00 UhrInfobau 010
30.01.2013 14:00 UhrInfobau 010
06.02.2013 16:00 UhrInfobau 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
Wissenschaftliche Mitarbeiter
Andreas Zwinkau