Praktikum Compilerbau
Zeiten:  Mo. 8:30-12:00
Raum:  SR 053
Beginn:  Mo 7.4.97    8:30 Uhr
Nächstes Treffen:  Mo 21.4.97    8:30 Uhr

Veranstalter:
Prof. Elfriede Fehr
Matthias Horn
Dirk Pape

Inhalt:
Der Entwurf von Java wurde stark durch die Sprache C++ geprägt. Zusätzlich wurden neue Konzepte, wie Threads und automatische Speicherverwaltung, aufgenommen. Andere Sprachelemente wurden weggelassen, um Java portabel, einfacher und robuster als C++ zu machen. Einige von den nicht übernommenen Sprachelementen, die eventuell auch in Java nützlich wären, wollen wir im Rahmen des Praktikums diskutieren und ggf. implementieren:

generische Klassen (templates)
nur lesende Methoden (const)
Mehrfachvererbung
Überladung von Operatoren
Aufzählungstypen (enum)

Voraussetzungen:
Für die Teilnahme an diesem Praktikum sind Grundkenntnisse im Übersetzerbau notwendig. Die Teilnahme an der Vorlesung Übersetzerbau aus dem Wintersemester 96/97 ist aber keine zwingende Voraussetzung. Wir würden uns natürlich freuen möglichst viele Teilnehmer aus der Vorlesung in dem Praktikum wiederzutreffen.

Ablauf des Praktikums:
Im ersten Teil des Praktikums wollen wir die oben erwähnten Konzepte diskutieren und ihre Semantik genau verstehen. Auch soll ein Blick auf die bereits exisiterende Java-Erweiterung Pizza geworfen werden.
Parallel dazu werden wird den Java Compiler Compiler JavaCC ausprobieren und ermitteln, wie er für unser Problem benutzt werden kann.
Anschließend wählen wir einige der C++ - Konstrukte aus, entwerfen für sie eine Syntax und erstellen den Compiler.

Konkrete Vorhaben:

Wann? Was? Wer?
21.4.97
8:30-12.00
Mehrfachvererbung in C++ Dorothea Rochusch
Zara Kanaeva
Generische Klassen in C++ Miriam Busch
Carsten Krebs
28.4.97
8:30-10.00
Mehrfachvererbung in Eiffel Zara Kanaeva
12.5.97
8:30-12.00
Interfaces in Java Zara Kanaeva
Spracherweiterung Pizza Matthias Horn
const in C++ Carsten Krebs
Parsergenerator JavaCC Miriam Busch
23.5.97
8:30-10.00
Integration von Templates in die Sprache Java Alle
Installation von Java und JavaCC Alle
Implementierung von Templates in Pizza Carsten Krebs
Generator für abstrakte Syntaxbäume in JavaCC Miriam Busch

Teilnehmer:
Hier die momentane Teilnehmerliste. Wir sind noch auf der Suche nach weiteren Interessenten. Wer mitmachen möchte, kann sich bei mir melden.

Miriam Busch
Carsten Krebs
Dorothea Rochusch
Andreas Pohle
Zara Kanaeva
Mail an Veranstalter und alle Teilnehmer

Literatur:

Bjarne Stroustrup: The Annotated C++ Reference Manual ;  Addison-Wesley, 1990
Bjarne Stroustrup: The Design and Evolution of C++ ;  Addison-Wesley, 1994
   Überladung: Seiten 223-256
   Mehrfachvererbung: Seiten 257-276
   Generische Klassen: Seiten 337-382

Links:
Im folgenden einige Dokumente, die für das Praktikum verwendet werden sollen:

Die Java-Erweiterung Pizza
The Top Five C++ Features not in Java
Der Compiler Jump für ein erweitertes Java
Der Java Compiler Compiler JavaCC
Der Aushang als PDF und als PostScript .
Gerald Broses Java-Seite.

Letzte Änderung am 13.5.1997 von Matthias Horn