Compilerbau I WS97/98 |
Gegeben seien wieder die Grammatik, der Parser und die Terme (a)-(c) von Blatt 10.
s.exp
eine Postfix-Version der
Eingabeterme ausgegben wird, und wandeln Sie damit die Terme (a)
und (b) in Postfixnotation um. (vgl. Blatt10/Auf2)
program N = begin var x: integer; var y: real; in(x); y:=1.0; begin var n: integer; n:=x; while (n<>0) do y:=(y*x); begin var x: boolean; x:=(y<0.0); if x then out(0) else out(1) fi; n:=(n-1) end od end; begin var n_1: boolean; var y: real; if (x<n) then y:=(1.0/0.0) else n_1:=true fi end; out (y) end.