|
Inhalt
Dieses Semester werden wir einen Übersetzer für eine Untermenge
der objekt-orientierten Sprache Java entwickeln. Wir nennen diese
Untermenge MiniJava. Die MiniJava Programme werden eingelesen und
analysiert. Bei der Implementierung der lexikalischen, syntaktischen und
semantischen Analyse verwenden wir die Werkzeugbox Eli. Dann
transformieren wir das Programm in die neueartige, an unserem Lehrstuhl
entwickelte SSA-Zwischensprache
Firm. Auf Firm implementieren wir einige einfache Optimierungen.
Vor der Codegenerierung werden dann die objektorientierten Programmkonstrukte
aufgelöst. Die Codegenerierung wird mit einem Werkzeug des
Instituts implementiert. Die Implementierungssprache ist C neben den
Spezifikationssprachen der Werkzeuge.
Das Praktikum vermittelt also Erfahrungen in der praktischen Anwendung von
Übersetzerbau-Techniken. Darüber hinaus wird die Entwicklung
von Software in Team-Arbeit unter Einhaltung vorgegebener Schnittstellen
und bei Verwendung abstrakter Datentypen geübt. Die einzelnen
Gruppen treffen sich einmal wöchentlich für jeweils 2 Stunden.
Da der Übersetzer und die verwendeten Werkzeuge frei verfügbar
sind können Teilnehmer nach dem Praktikum
weitere Übersetzer-Entwicklungen auf privater Basis durchführen.
Diese Heimat-Seite bildet den zentralen Eingang zum
Übersetzerbaupraktikum. Hier sollte man einsteigen, wenn man neue
Informationen erfahren will, Dokumentation finden, oder Kontakt mit den
Betreuern aufnehmen will. Ideen, Anregungen und Kritik sind sehr
willkommen!
Betreuende Mitarbeiter
Organisatorisches
| verantwortlichter Betreuer |
Prof. Dr. Dr. h. c. G. Goos
|
| Teilnehmerzahl |
max. 20 (findet nur im WS statt) |
| Raum |
Seminarraum im Institut Goos, (AVG), 2. Stock, Raum 207 |
| Termin |
Montag, 15:45 Uhr |
| Semesterwochenstunden (anrechenbar) |
2 |
| Prüfbar |
ja |
| Empfohlenes Semester |
5 |
Wiki: Fragen und Antworten, Diskussionen ...
verwalten wir über unser Wiki. Hier findet ihr
initial eine Diskussionsseite über Eli und die erste Aufgabe. Weiteres
sei Euch selbst überlassen!
Aufgabenbeschreibungen
| Datum |
Blatt |
Inhalt |
| 25.10.06 |
Aufgabe 1 |
Einarbeitung in MiniJava und Eli. |
| 30.10.06 |
Aufgabe 2 |
Lexikalische Analyse und Analyse der kontextfreien Syntax |
| 06.11.06 |
Aufgabe 3 |
Einarbeitung in die semantische Analyse anhand der Namensanalyse |
| 13.11.06 |
Aufgabe 4 |
Typanalyse - Teil 1 |
| 20.11.06 |
Aufgabe 5 |
Typanalyse - Teil 2 |
| 27.11.06 |
|
Keine neue Aufgabe |
| 04.12.06 |
Aufgabe 6 |
Einarbeitung in die Zwischensprache Firm. |
| 11.12.06 |
Aufgabe 7 |
Zwischensprachaufbau Firm - Typen |
| 18.12.06 |
Aufgabe 8 |
Zwischensprachaufbau Firm - Programmcode |
| 08.01.07 |
Aufgabe 9 |
Optimierungen auf Firm |
| 15.01.07 |
Aufgabe 10 |
Umwandlung der OO-Strukturen zur Codegenerierung |
| 22.01.07 |
|
Keine neue Aufgabe |
| 29.01.07 |
Aufgabe 11 |
Anschluß des Codegenerators |
Downloads zu den Aufgaben
Verfügbare Dokumentation
Important notice
The documents made available by links from this documentation list are
provided as a means to allow personal studying on a non-commercial basis.
Copyright and all rights therein are maintained by the authors, including
co-author where appropriate, or by other copyright holders,
notwithstanding that they have offered their works here electronically. It
is understood that all persons copying this information will adhere to the
terms and constraints invoked by each copyright. These works may not be
reposted without the explicit permission of the copyright holder.
Dokumentation zu MiniJava
Dokumentation zu Eli
Materialien zu Firm und CGGG
Allgemeine Werkzeuge
Allgemeines über Übersetzerbau
- Compiler construction. G. Goos & W. Waite. Springer.
- Übersetzerbau. R. Wilhelm & D. Maurer. Springer.
- Compilerbau. N. Wirth Teubner. (günstig, knapp)
-
Übersetzerbau. Ein kleiner Überblick
Verantwortlich für den Inhalt: Michael Beck
| |