next up previous
Next: Über dieses Dokument

M. Sperber, H. Klaeren Wintersemester 1997/98


Compilerbau I


Blatt 10a

Abgabe: 22.1.1998

  1. [10 Punkte] Beweisen Sie Satz 4.7 aus der Vorlesung (Ersatzweise beweisen Sie das Gegenteil.)
  2. [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?
  3. [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!)
  4. [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