Sie sind auf Seite 1von 3

Compiler

1. Übung

Kontextfreie Grammatiken und Sprachen

Aufgabe 1
Die Grammatik Γ 6 aus Beispiel 2.12. heißt auch Standardgrammatik für arithmetische Ausdrü-
cke. Erzeugen Sie mit ihr Ableitungen für die folgenden Ausdrücke:
v
(v)
v∗ v
v∗ v+v
v+v∗ v
v∗ (v+v)
v+v∗ v/v
Aufgabe 2

Geben Sie eine kontextfreie Grammatik an für die folgende Sprache: L = 0 n 1n | n > 0 { }
Aufgabe 3
Es werden die folgenden drei Grammatiken vorgegeben:
Γ a = Na , Ta , Pa , S Γb = N b , Tb , Pb , S
Na = { A | B | S } Nb = { A | B | S }
Ta = { a | b | c } Tb = { a | b | c }
 S → Abc   S → AB 
 A→a   A → aAb
   
Pa =  Ab → aABb  Pb =  A → ab 
 Bb → bB   B → Bc 
   
 Bc → bcc    B→ c 

Γc = N c , Tc , Pc , C
Nc = { A | B | C }
Tc = { a | b | c }
 A → Aa|a 
 
Pc =  B → B b | A b 
 C → Cc | Bc 
 

− Welche Sprachen erzeugen diese Grammatiken?


− Welchen Chomsky-Klassen gehören sie an?
− Konstruieren Sie mit jeder dieser Grammatiken je eine Ableitung für den Satz aaabbbccc !
Beachten Sie dabei den unterschiedlichen Generierungsaufwand.

−1−
Aufgabe 4
Gehören die folgenden beiden Ableitungen zum selben Strukturbaum oder sind sie wesentlich
verschieden?
I → Z I → 1I → 1ZI → 12I → 12Z → 123
I → Z I → 1I → 1ZI → 1ZZ → 1Z3 → 123

Aufgabe 5
Zeichnen Sie einen Strukturbaum zu der folgenden Ableitung:
expr → term
→ term ∗ fact
→ fact ∗ fact
→ ( expr ) ∗ fact
→ ( expr + term ) ∗ fact
→ ( expr + term ) ∗ v
→ ( expr + fact ) ∗ v
→ ( expr + v ) ∗ v
→ ( term + v ) ∗ v
→ ( fact + v ) ∗ v
→ ( v + v ) ∗ v

Aufgabe 6

Weisen Sie nach, daß die folgende Grammatik mehrdeutig ist, indem Sie je zwei wesentlich
verschiedene Strukturbäume angeben zu den Sätzen v+v+v und v+v∗v !

Γd = Nd , Td , Pd ,expr
Nd = { expr | op }
Td = { v | + | − | ∗ | / }
 expr → v 
 
Pd =  expr → ( expr ) | expr op expr | v 
 
op → + | − | ∗ | / 

Aufgabe 7
Zeigen Sie, daß die Ausdrücke v+v+v und v+v∗v bezüglich der Standardgrammatik für arithme-
tische Ausdrücke Γ 6 , nur je genau einen Strukturbaum besitzen! Wie äußern sich die Operator-
prioritäten in den Strukturbäumen der beiden Ausdrücke?

Aufgabe 8
Erweitern Sie die Standardgrammatik für arithmetische Ausdrücke Γ 6 so, daß auch Exponentiati-
on möglich wird. Der Operator ↑ soll gegenüber allen anderen Operatoren höhere Priorität haben.
Geben Sie zu der erweiterten Grammatik ihr Produktionensystem und ihre Syntaxgraphen an!

−2−
Aufgabe 9

{
Geben Sie eine Grammatik mit möglichst einfacher Struktur an für L = a2nbn | n > 0 }
− Welcher Chomsky-Klasse gehört L an?
− Geben Sie die linkskanonische Ableitung an für den Satz a8b4 !

Aufgabe 10
Für ein Alphabet T und einen String s = t1t 2 ..... t k über T bezeichnet man den String
s
s = t k t k-1 .... t1 als das Spiegelbild von σ .
− Geben Sie eine Grammatik für die Sprache L an!
s
{
− Welche Stellung hat die Sprache L = t | t = s s ∧ s ∈ T * } in der Chomsky-Hierarchie ?
Aufgabe 11
Geben Sie zu jedem der folgenden Strukturbäume die rechtskanonische Ableitung an:

expr expr

term term

term fact
term fact

fact expr
fact

expr term
v * v

term
fact

fact

v ∗ ( v + v )

−3−

Das könnte Ihnen auch gefallen