Vorlesungsankündigung

(Sommersemester 2005) Freitags 12:15-13:45 Uhr in MI 02.07.014

Prof. Dr. Helmut Seidl
Dr. Kumar Neeraj Verma

Abstract Machines


Inhalt:

While trying to produce code for a programming language like Prolog, one quickly realizes that one would like to use certain instructions during the translation which are not already available on concrete machines. On the other hand, instruction sets of modern computers are changing so quickly that it doesn't seem useful for the compiler to depend on some arbitrarily chosen instructions. Such a dependance would mean that in a few years one would feel obliged to rewrite the compiler anew.

With the implementation of the first Pascal compilers, one already arrived at the idea of first generating code for a slightly idealized machine, each of whose instructions then only need to be implemented on different target machines. Translation of modern programming languages like Prolog, Haskell or Java are also based on this principle. On one hand this facilitates portability of the compiler. On the other hand this also simplifies the translation itself since one can choose a suitable instruction set according to the programming language to be translated.

In this course, we introduce such abstract machines for imperative, functional, logic and concurrent programming languages. In particular we are naturally interested in translation schemas, for translating each concrete program-construct of the programming language to instruction sequences of the accompanying abstract machines. At least rudimentary knowledge of different programming languages might be useful.

Literatur:


Termine:

Vorlesung: Freitag 12:15-13:45 Uhr, MI 02.07.014
Übung: Dienstag 10:15-11:45 Uhr, MI 02.07.014


Aufzeichnungen:

Recorded lectures from previous years are available in the TeleTeachingTool-Archiv.

Folien:


Übungen:

Leitung: Dr. K. N. Verma

Abgabe der Lösungen jeweils freitags bis 12 Uhr per e-mail oder im Raum 02.07.041 oder in der Vorlesung.


Tools:

VAM: Visualisierungstool für Abstrakten Maschinen