| | Codeerzeugung |
| Befehl im Subjektprogramm | Zur Spezialisierungszeit | Erzeugter Code |
| X := exp (X dynamisch) | reduced_exp := reduce(exp,vs) | X := reduced_exp |
| X := exp (X statisch) |
val := eval(exp,vs); vs := vs [X a val] |
|
| return exp | reduced_exp := reduce(exp,vs) | return reduced_exp |
| goto pp' | goto (pp',vs) | |
| Code für if exp goto pp'; else pp'' | ||
| (wenn exp dynamisch) | reduced_exp := reduce(exp,vs) |
if reduced_exp goto (pp', vs) else (pp'', vs) |
| (wenn exp statisch und val=true) | val := eval (exp, vs) | goto (pp', vs) |
| (wenn exp statisch und val=false) | val := eval (exp, vs) | goto (pp'',vs) |