Codegenereer-Algebra code b = foldStEx codeAlg b where codeAlg :: StExAlg Code = ((\s d  \e ,\c b a  \e ,\c b  \e ,\m ps  \e  ), (…)) data Stat = Asmt Str Expr | If Expr Stat Stat | While Expr Stat | Call Str [Expr] (Env  Code) [ ] d e ++ [STL (e s)] ce ++ [BRF(size be)] ++ be ++ [BRA(size ae)]++ae [BRA n] ++ be ++ ce ++ [BRT –(n+k+1)] where n = size be k = size ce concat [p e | p  ps] ++ [BSR (f e m)]
{}