M. Sperber, H. Klaeren Wintersemester 1997/98
Compilerbau I
Blatt 7
Abgabe: 11.12.1997
rename_uniquely : Ident.t program -> Ident.t programwelche alle gebundenen Namen eines Programms unter Semantikerhaltung derart umbenennt, daß jeder Name nur einmal gebunden wird. Die Umbenennung soll so erfolgen, daß kein programmgebundener Bezeichner den gleichen Namen trägt wie ein Builtin. (Für die Lösung der Aufgabe ist es sinnvoll, die Struktur Ident zu erweitern und eine Referenz zu benutzen.)
caml_to_lambda : 'ident Camlsyn.program -> 'ident Lambda.schemeWählen Sie dabei den Aufruf einer Funktion
main : unit -> unit
als Eintrittspunkt. Sie können dabei annehmen, daß in der
abstrakten Syntax alle Bezeichner wie in Aufgabe 1 umbenannt worden
sind. Ignorieren Sie dabei (für den Moment) raise und
try.