Vorlesungsankündigung
(Sommersemester 2004) Mittwochs 13:15-14:45 Uhr in 02.07.014
Abstrakte Maschinen
Prof. Dr. Helmut Seidl - Übersetzerbau - Informatik
Inhalt:
Will man für eine Programmiersprache wie Prolog
Code erzeugen, wird man schnell feststellen,
dass 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, dass es auch gar nicht
sinnvoll erscheint, den Compiler zu sehr auf zufälligerweise
bereitgestellte Operationen
festzulegen. Eine solche Festlegung könnte
nämlich bedeuten, dass man sich
nach wenigen Jahren bereits gemüßigt fühlen müsste,
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, funktionale,
logische und nebenläufige 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: Mittwoch 13:15-14:45 Uhr, 02.07.014
Achtung:
Der erste Teil, der sich mit der Übersetzung von C-Programmen
beschäftigt, findet gemeinsam mit der Übersichtsvorlesung
Compilerbau statt.
Übung:
Donnerstag 14:15-15:45 Uhr, 02.07.014
Aufzeichnungen:
TTT-Archiv
Folien:
- Vorlesung am 19. April 2004:
PS,
PDF
- Vorlesung am 21. April 2004:
PS,
PDF
- Vorlesung am 26. April 2004:
PS,
PDF
- Vorlesung am 28. April 2004:
PS,
PDF
- Vorlesung am 3. Mai 2004:
PS,
PDF
- Vorlesung am 5. Mai 2004:
PS,
PDF
- Vorlesung am 12. Mai 2004:
PS,
PDF
- Vorlesung am 19. Mai 2004:
PS,
PDF
- Vorlesung am 26. Mai 2004:
PS,
PDF
- Vorlesung am 2. Juni 2004:
PS,
PDF
- Vorlesung am 9. Juni 2004:
PS,
PDF
- Vorlesung am 16. Juni 2004:
PS,
PDF
- Vorlesung am 23. Juni 2004:
PS,
PDF
- Vorlesung am 30. Juni 2004:
PS,
PDF
- Vorlesung am 7. Juli 2004:
PS,
PDF
- Vorlesung am 14. Juli 2004:
PS,
PDF
- Vorlesung am 21. Juli 2004:
PS,
PDF
- alle Folien zusammen:
PS,
PDF
Übungen:
Abgabe der Lösungen jeweils mittwochs bis 12 Uhr per
e-mail oder im Raum 02.07.41
- Übungsblätter:
Übung | Abgabetermin |
Blatt 1: PS, PDF | 3. Mai 2004 |
Blatt 2: PS, PDF | 10. Mai 2004 |
Blatt 3: PS, PDF | 19. Mai 2004 |
Blatt 4: PS, PDF | 26. Mai 2004 |
Blatt 5: PS, PDF | 2. Juni 2004 |
Blatt 6: PS, PDF | 9. Juni 2004 |
Blatt 7: PS, PDF | 16. Juni 2004 |
Blatt 8: PS, PDF | 23. Juni 2004 |
Blatt 9: PS, PDF | 30. Juni 2004 |
Blatt 10: PS, PDF | 7. Juli 2004 |
Blatt 11: PS, PDF | 14. Juli 2004 |
Blatt 12: PS, PDF | 21. Juli 2004 |
- Zusatzmaterialien:
Tools:
VAM:
Visualisierungstool für Abstrakten Maschinen