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

Blatt 9

Abgabe: Montag, 12.1.1998

(ggf. Lösungen)

[Compilerbau-Homepage]

Aufgabe 1 (10 Pkt)

Gegeben sei G=({S,X,Y},{s,t,u,v},P,S) mit folgenden Regeln und Attributierungen:
Regel Attributierung
S::=X X.a <-- 1;
X::=sY X.b <-- Y.f; Y.c <-- X.a; Y.d <-- Y.e
X::=tY X.b <-- Y.e; Y.c <-- Y.f; Y.d <-- X.a;
Y::=u Y.e <-- 2; Y.f <-- Y.d;
Y::=v Y.e <-- Y.c; Y.f <-- 3;
Attributieren Sie alle möglichen Strukturbäume dieser Grammatik. Welche Attribute sind ererbt, welche synthetisiert?

Aufgabe 2 (10 Pkt, Abgabe per Email)

Machen Sie sich mit dem Simulator für den von-Neumann-Rechner vertraut, der als Beispielmaschine für die Codeerzeugung verwendet wird. Eine Dokumentation ist in dvi- und in PostScript-Version verfügbar, allgemeineres findet sich in file:/share/info-3/doku/, den Simulator bedienen können Sie (am FB15) durch starten eines xterms, Aufruf von environ info-3 in demselben, und (ggf. wiederholtem) Aufruf von simulator asm-Dateiname
Ggf. weicht die Assembler-Syntax des Simulators in Kleinigkeiten (Kommata, Angabe des Indexregisters) leicht von der in der Vorlesung angegebenen Syntax ab.


Schreiben Sie dann ein Assembler-Programm für den Simulator, daß eine ganze Zahl n einliest, und die Fakultätsfunktion fak(n) berechnet, und testen Sie es mit dem Simulator. (Zur Erinnerung und Normierung:
fak(0) := 1
fak(n) := n*fak(n-1) für n>0
)
[Compilerbau-Homepage]
IfI Mathe WWU

Dietmar Lammers
Last modified: Mon Jan 5 10:19:19 MET 1998