10.02.2019 Views

opora

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY88<br />

(1) δ(q, a, ɛ) = {(q, a)} pro všechna a ∈ {i, +, ∗, (, )}.<br />

(2)<br />

(3) δ(q, ɛ, /SE) = {(r, ɛ)}<br />

δ(q, ɛ, E + T ) = {(q, E)}<br />

δ(q, ɛ, T ) = {(q, E)}<br />

δ(q, ɛ, T ∗ F ) = {(q, T )}<br />

δ(q, ɛ, F ) = {(q, T )}<br />

δ(q, ɛ, (E)) = {(q, F )}<br />

δ(q, ɛ, i) = {(q, F )}<br />

Pro vstupní řetězec i + i ∗ i může rozšířený zásobníkový automat R provést tuto<br />

posloupnost přechodů:<br />

(q, i + i ∗ i, /S) ⊢ (q, +i ∗ i, /Si)<br />

⊢ (q, +i ∗ i, /SF )<br />

⊢ (q, +i ∗ i, /ST )<br />

⊢<br />

⊢<br />

(q, +i ∗ i, /SE)<br />

(q, i ∗ i, /SE+)<br />

⊢ (q, ∗i, /SE + i)<br />

⊢ (q, ∗i, /SE + F )<br />

⊢ (q, ∗i, /SE + T )<br />

⊢ (q, i, /SE + T ∗)<br />

⊢ (q, ɛ, /SE + T ∗ i)<br />

⊢ (q, ɛ, /SE + T ∗ F )<br />

⊢ (q, ɛ, /SE + T )<br />

⊢<br />

(q, ɛ, /SE)<br />

⊢ (r, ɛ, ɛ)<br />

Na závěr tohoto odstavce ukážeme , že bezkontextové jazyky jsou ekvivalentní<br />

jazykům přijímaným zásobníkovými automaty, tj., že lze také ke každému zásobníkovému<br />

automatu R vytvořit bezkontextovou gramatiku G takovou, že L(R) =<br />

L(G).<br />

Věta 4.16 Nechť R = (Q, Σ, Γ, δ, q 0 , Z 0 , F ) je zásobníkový automat. Pak existuje<br />

bezkontextová gramatika G, pro kterou platí L(G) = L(R).<br />

Důkaz: Gramatiku G budeme konstruovat tak, aby levá derivace terminálního<br />

řetězce w přímo korespondovala s posloupností přechodů automatu R. Budeme<br />

používat nonterminální symboly tvaru [qZr] kde q, r ∈ Q, Z ∈ Γ. Vrchol zásobníku<br />

uvádíme opět vlevo.<br />

Nechť gramatika G = (N, Σ, P, S) je formálně definována takto:<br />

(1) N = {[qZr] | q, r ∈ Q, Z ∈ Γ} ∪ {S}<br />

(2) Jestliže δ(q, a, Z) obsahuje (r, X 1 . . . X k ) k ≥ 1, pak k množině přepisovacích<br />

pravidel P přidej všechna pravidla tvaru<br />

L P ⊆ L 2<br />

[qZs k ] → a[rX 1 s 1 ][s 1 X 2 s 2 ] . . . [s k−1 X k s k ]<br />

pro každou posloupnost s 1 , s 2 , . . . , s k stavů z množiny Q.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!