Exp/CPS ==> (app Id Exp/Value^*)
| (if Exp/Value Exp/CPS Exp/CPS)
| (let ((Id Exp/Letable)) Exp/CPS)
| (error Msg)
Exp/Value ==> Literal + Identifier
Exp/Letable ==> Literal
| (abs Id^* Exp/CPS)
| (prim Primop Exp/Value^*)
Übersetze
(@+ (@- 0 (@* b b)) (@* 4 (@* a c)))