Vorlesungsankündigung

(Sommersemester 2001)

Prof. Dr. Helmut Seidl:

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: