Átvezetés szintaktikai elemzéshez
Verem-Automata
Never forget \(\mathcal{L}_2\)
Bar Hiller Lemma
\(\forall L\in\mathcal{L}_2:\exist\,p,q\in\N:\)
\(\forall u \in T^*: \ell(u)>p:\) $$ \exists u =v\,x\,w\,y\,z \;\land\;\ell(x\,w\,y)\le q \;\land\;xy\ne \varepsilon,\; $$
Példa bizonyítás
\[ L=\{a^nb^nc^n\;|\;n>0\} \ne \mathcal L \](so that language is bs...)
↯ \(\exists q,p,\;u=a^kb^kc^k = v\,x\,w\,y\,z\)
\(\ell(x\,w\,y)\le q < k,\;xy\ne\varepsilon\)
\(a^{k+j}b^kc^k\not\in L\)
\(a^{k+j}b^{k+j}c^k\not\in L\)
\({\char"21af} \implies L\not\in\mathcal L_2\)
Veremautomata
- \(A=(Z,Q,T,\delta,z_0,q_0,F)\)
- \(Z\) a verem szimbólumok ábácéje
- \(Q\) az állapotok nem üres véges halmaza
- \(T\) az input szimbólumok ábécéje
- \(\delta:Z\times Q\times(T\cup\{\varepsilon\})\to \mathcal{P}(Z^*\times Q)\)
- \(z_0\in Z\) kezdő veremszimbólum
- \(q_0\in Q\) a kezdőállapot
- \(F\subseteq Q\) elfogadó állapotok halmaza
Alapesetben nem-determinisztikus (pl.: szimmetrikus szavak)
Akkor determinisztikus, ha \(\forall\alpha\in Z^+QT^*\) esetén \(\alpha\)-ból egyetlen konfiguráció vezethető le
Verem - Példa
Ezek mind a verem állapota és az inputból következőket köti ki
\(\delta(\#,q,a)=\{(\#a,q)\}\)
#van a verem tetejénajön inputként- felvesszük
a-t a verembe- nem változtattuk az állapotunkkat
\(\delta(\#,q,a)=\{(\varepsilon,q)\}\)
#van a verem tetejénajön inputként- nem vesszük fel az inputot
- nem változtattuk az állapotunkkat
\(\delta(a,q,b)=\{(\#,r)\}\)
avan a verem tetejénbjön inputként- kitöröljük a verem tetején levő
a-t- változtatjuk az állapotot
Verem definíció - Példa
\(L=\{a^nb^n\;|\;n\ge 1\}\)
A fenti nyelvet felismerő automata:
a a definícióban használt halmaz egy elemű, nem szokás jelölni a {}-t
Veremautomata - Alternatív jelölés
\(\delta(z,q,a)=\{(w_1,r_1),\ldots,(w_k,r_k)\}\) esetén:
\(\delta(z,q,\varepsilon)=\{(w_1,r_1),\ldots,(w_k,r_k)\}\) esetén:
Tehát a szabályok bal oldala
ZQTvagyZQalakúak, a jobb oldal pedigZ*Qalakú
Kétféle elfogadás kapcsolata
Lemma TODO
Ha \(L\in\mathcal L_2\), akkor megadható egy \(A\) veremautomata úgy, hogy \(L=N(A)\), azaz \(\mathcal L_2\subseteq \mathcal L_{1V}\)
Bizonyítás-sal :/