Assignment Conversion

(als Transformationsschritt im Compiler):

Variable ersetzen durch (Verweis auf) Zelle:

(begin (set! x (@* 2 y)) x)) 
==>
(let ((x (cell x)) (y (cell y)))
     (begin (@:= x (@* 2 (@^ y))) (@^ x)))
Bessere Implementierung: nur für die Variablen, die tatsächlich Zuweisungsziel sind (im Bsp: y nicht)



2010-10-12