[CB-Logo]
Compilerbau I WS97/98
Übungen

Blatt 11

Abgabe: Montag, 26.1.1998

(ggf. Lösungen)

[Compilerbau-Homepage]

Gegeben seien wieder die Grammatik, der Parser und die Terme (a)-(c) von Blatt 10.

Aufgabe 1 (9 Pkt)

Erzeugen Sie zur Berechung der Terme (a)-(c) eine Folge von Einadreß-Befehlen des vonNeumann-Siumlators mit Hilfe einer Attributierung der Grammatik.

Aufgabe 2 (4 Pkt)

Attributieren die die Grammatik so, daß s als Attribut s.exp eine Postfix-Version der Eingabeterme ausgegben wird, und wandeln Sie damit die Terme (a) und (b) in Postfixnotation um. (vgl. Blatt10/Auf2)

Aufgabe 3 (7 Pkt)

Geben Sie zum folgenden MMS-Programm die Identifikatorentabelle an:
  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.
      


[Compilerbau-Homepage]
IfI Mathe WWU

Dietmar Lammers
Last modified: Mon Jan 19 09:45:40 MET 1998