Vorlesungsankündigung
(Sommersemester 2001)
Abstrakte Maschinen
Prof. Dr. Helmut Seidl - Übersetzerbau - Informatik
A C H T U N G !
Diese Veranstaltung findet simultan in Trier und
Saarbrücken statt und wird jeweils von einem
Vorlesungsort zum anderen live durch das Internet
übertragen. Weiterhin stehen Compiler-Frontends
sowie Animatoren zur Verfügung, um selbst
Experimente mit Übersetzung und Ausführung
von Programmen zu machen.
Inhalt der Veranstaltung
Will man für eine Programmiersprache wie Prolog
Code erzeugen, wird man schnell feststellen,
daß man bei der Übersetzung gerne Befehle
verwenden würde, die so von einer konkreten
Maschine nicht bereit gestellt werden.
Andererseits ändern sich die Instruktionssätze
moderner Rechner so schnell, daß es auch gar nicht
sinnvoll erscheint, den Compiler zu sehr auf zufälligerweise
bereitgestellte Operationen
festzulegen. Eine solche Festlegung könnte
nämlich bedeuten, daß man sich
nach wenigen Jahren bereits gemüßigt fühlen müßte,
den Compiler gänzlich neu zuschreiben.
Bereits bei der Implementierung des ersten
Pascal Compilers kam man darum auf die Idee,
zuerst Code für eine leicht idealisierte Maschine
zu erzeugen, deren Befehle dann jeweils nur noch auf den
verschiedenen konkreten Zielrechnern zu implementieren
waren. Auch die Übersetzung moderner Programmiersprachen
wie Prolog, Haskell oder Java basieren auf diesem Prinzip.
Einerseits erleichtert dieses Vorgehen die Portierbarkeit
des Compilers. Andererseits vereinfacht dies auch die
Übersetzung selbst, da
man den Befehlssatz entsprechend der jeweiligen
zu übersetzenden Programmiersprache geeignet
wählen kann.
In der Vorlesung stellen wir solche abstrakte Maschinen
für imperative, objektorientierte, funktionale
und logische Programmiersprachen vor. Insbesondere
sind wir dabei natürlich an den Übersetzungsschemata
interessiert, wie man für die jeweiligen konkreten
Programmkonstrukte der Programmiersprache die
zugehörigen abstrakten Maschinenbefehlsfolgen
konstruiert. Zumindest
rudimentäre Kennntnis verschiedener Programmiersprachen
könnte sich als nützlich erweisen :-)
Termine:
Vorlesung: Dienstag 14-16 Uhr, HS 2
Übung:
tatsächlich MITTWOCH 9-10 Uhr, DM 131 :-)
Script: