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 | |
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 |
|
|
Zara Kanaeva |
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.