Vorlesungsankündigung
(Sommersemester 2005) Freitags 12:15-13:45 Uhr in MI 02.07.014
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:
- Aho, Sethi, Ullmann: Compilers. Principles, Techniques and Tools. Addison-Wesley, 1985
- Wilhelm, Maurer: Übersetzerbau. Theorie, Konstruktion, Generierung. Springer-Lehrbuch, 1992
- Steven S. Muchnick: Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997
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:
- Vorlesung am 11. April 2005:
PS,
PDF
- Vorlesung am 13. April 2005:
PS,
PDF
- Vorlesung am 18. April 2005:
PS,
PDF
- Vorlesung am 20. April 2005:
PS,
PDF
- Vorlesung am 25. April 2005:
PS,
PDF
- Vorlesung am 29. April 2005:
PS,
PDF
Ü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.
- Übungsblätter:
Übung | Abgabetermin |
Blatt 1: PS, PDF | 25. April 2005 |
Blatt 2: PS, PDF | 2. Mai 2005 |
Blatt 3: PS, PDF | 6. Mai 2005 |
Tools:
VAM:
Visualisierungstool für Abstrakten Maschinen