Übersetzung neuerer Sprachkonzepte
Die Vorlesung behandelt die Übersetzung von Programmen aus nicht-imperativen Sprachen in Code für geeignete abstrakte Maschinen. Es werden drei Programmiersprach-Paradigmen betrachtet: funktional (Haskell), logisch (Prolog) und objektorientiert (C++, Java). Für jede dieser Klassen wird zunächst eine Charakterisierung und eine Sprachdefinition gegeben, anschließend eine geeignete abstrakte Maschine definiert. Endlich werden Übersetzungsschemata diskutiert, wobei der Schwerpunkt auf den jeweiligen Besonderheiten der behandelten Sprachen liegt:
- funktional: Funktionen höherer Ordnung, partielle Funktionsanwendung, Bindungsumgebungen
- logisch: Unifikation, Variablenbindung, Backtracking
- objektorientiert: Hierarchien, Vererbung, Polymorphismus
Die Art der Diskussion ist ähnlich dem Kern des Übersetzungsvorgangs aus der Vorlesung Grundlagen des Übersetzerbaus.
Termine und Übungen
Eine aktuelle Übersicht der Vorlesungstermine und Übungsblätter ist im Rubikon zu finden. Erstellen Sie bitte einen Rubikon-Account (falls noch nicht vorhanden) und tragen sich als Teilnehmer für die Veranstaltung ein.
Literatur
- Wilhelm, R. und Maurer, D.: Übersetzerbau, 2. Auflage, Springer-Verlag, 1997, ISBN 3-540-61692-6
- Wilhelm, R. und Seidl, H.: Übersetzerbau: Virtuelle Maschinen, Springer-Verlag, 2007, ISBN: 978-3-540-49596-3
Termin
Mittwoch 08-10 Uhr in O28-1002
Donnerstag 12-14 Uhr in O28-1002