Next: Über dieses Dokument
M. Sperber, H. Klaeren Wintersemester 1997/98
Compilerbau I
Blatt 10a
Abgabe: 22.1.1998
- [10 Punkte] Beweisen Sie Satz 4.7 aus der Vorlesung
(Ersatzweise beweisen Sie das Gegenteil.)
- [5 Punkte] Der CPS-Interpreter hat die Eigenschaft, daß
die Continuations linear gefädelt
(,,single-threaded``) sind. Das heißt, daß es zu jedem
Zeitpunkt genau eine aktuelle Continuation gibt, die Continuation
der aktuellen Continuation immer die vorherige aktuelle Continuation
ist, und jede Continuation genau einmal aufgerufen wird. Wie ließe
sich die Eigenschaft der linearen Fädelung für die Erzeugung von
Maschinencode ausnutzen? Was für Konsequenzen hätte dies für die
Implementierung von try/raise?
- [5 Punkte] Die Programmiersprache Scheme kennt eine
primitive Prozedur call-with-current-continuation.
Implementieren Sie diese im Rahmen einer der in der Vorlesung
vorgestellten Interpreter. (Geben Sie an, welchen
Interpreter Sie verwenden!)
- [10 Punkte] Beschreiben Sie, wie sich mit Hilfe von
call''=with''=current''=continuation try und
raise in der Objektsprache implementieren lassen.
Michael Sperber [Mr. Preprocessor]
Fri Jan 16 10:43:29 MET 1998