Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik
M.Ed. Dennis Peuter 6. Juni 2019
Übung zur Vorlesung
Grundlagen der theoretischen Informatik
Aufgabenblatt 8 Lösungen
Aufgabe 8.1
Gegeben der folgende PDAM.
s0
s1
a, Z0 |A a, A|AA c, A|A
a, A|ε
Geben Sie einen PDA M0 an, mitLf(M) =Ll(M0). Lösung:
Am Anfang liegt ein neues StacksymbolZ1 auf dem Keller, dasM nicht entfernen kann, daZ1 nicht im Stackalphabet von M enthalten ist. Auf dieses Stacksymbol wird Z0 gelegt und M0 arbeitet wie M. Wenn M in den nalen Zustand übergeht, geht M0 in einen neuen Zustand sl über, in dem nur noch der Stack geleert werden kann.
Grundlagen der theoretischen Informatik SS2019 Blatt 8 Lösungen
sneu
s0
s1
sl
a, Z0 |A a, A|AA c, A|A
ε, Z1|Z0Z1
a, A|ε ε, X |ε
ε, X |ε
X∈ {Z0, Z1, A}
Aufgabe 8.2
Gegeben die Grammatik G= ({S, S0, A, B},{a, b}, R, S)in Greibach-Normal-Form mit:
R={S →ε|aB|bA, S0 →aB|bA,
A→a|aS0|bAA, B →b|bS0 |aBB}
a) Geben Sie einen PDAM0 an, mitLl(M0) =L(G). Lösung:
Zu einer beliebigen cf-GrammatikG= (V, T, R, S)in Greibach-Normalform konstruiert man einen äquivalenten PDA wie folgt: M= (K,Σ,Γ,∆, s0, Z0, F) mit
K :={s0}, Σ :=T, Γ :=V,
Z0 :=S, F :=∅, ∆ :={((s0, a, A),(s0, α))|A→aα∈R}
also ist M0 gegeben durch:
s0
ε, S|ε a, S|B b, S |A a, S0|B b, S0|A
a, A|ε a, A|S0 b, A|AA b, B|ε b, B|S0 a, B |BB
mitZ0:=S
b) Wandeln Sie M0 in einen Automaten M00 um, mitLl(M0) =Lf(M00). 2
Grundlagen der theoretischen Informatik SS2019 Blatt 8 Lösungen
Lösung:
Wir führen einen neuen nalen Zustand und ein neues Stack-Symbol Z1 ein, das wir zu Beginn unten auf den Stack legen. Wenn dieses sichtbar wird, wäre der Stack des ur- sprünglichen Automaten leer und wir wechseln in den nalen Zustand.
sneu
s0
sf
ε, S |ε a, S |B b, S |A a, S0 |B b, S0 |A
a, A|ε a, A|S0 b, A|AA b, B |ε b, B |S0 a, B |BB
ε, Z1 |ε ε, Z1 |SZ1
mitZ0:=S
3