Grammatikák
Gramatika - Alakja
S- kezdő karakterT- terminálisok halmazaN- Nem ternimálisok halmazaP- szabályok
Grammatika - Tulajdonságok
- \(u \in T^*\)
- \(L(G)\subseteq T^*\)
- \(N\cap T = \emptyset\)
- \(p\to q \in P\)
- \(p\in \{T\cup N\}^*N\{T\cup N\}^*\)
- Legalább egy nem terminális legyen benne
- \(q\in \{T\cup N\}^*\)
- Nincs extra megkötés, a \(q\) oldalon szerepelhet \(\varepsilon\) is
- Szabály tüzelőképessége
- \(w_1\,p\,w_2\mapsto w_1\,q\,w_2\)
- \(S\in N\)
- start szimbólum
Nyelv Definíció - Grammatika és Terminális
Szabályok - Példa
\(S\overset{?}{\Rightarrow}A+S\)
\(\overset{1.}{\Rightarrow}A+A\)
\(\overset{3.}{\Rightarrow}B+A\)
\(\overset{3.}{\Rightarrow}B+B\)
\(\overset{5.}{\Rightarrow}B+i\)
\(\overset{5.}{\Rightarrow}i+i\)
- \(A\) helyébe 2, \(S\) helyébe is 2 helyettesítés valid
- 4 szabály tüzelőképes (alkalmazható)
Megkötés
\(i\)-vel vagy nyitó zárójellel kezdőthet egy terminális
Levezetés - Példa - Visszafelé
Visszafelé legtöbbször ugyanolyan helyes, csak akadhatnak zsákutcák, amiknél vissza kell lépni
Példa - 2
- \(L(G)=\{a\}^*\{b\}^*\)
- Regulárisan kifejezhető a nyelv
- \(L(G)\) előállytható a szabályok algoritmikus alkalmazásával
- Ez nem hármas típusú
- balról jobbra történik a terminálisok előállítása
- Mert több mint egy nem terminális van
Hármas típus előállítása
\[ A\to vB\qquad (A\in N,\; v\in T^*,\; B\in N) \]
A \(\varepsilon\) előállítása rendundás, azonban teljesül a hármas típusnak megfeleltetés
\[ G_2\equiv G_3\quad \implies\quad L(G_2) = L(G_3) \]
Példa - 3
\(S\overset{*}{\underset{1. n\text{-szer}}{\Rightarrow}}Y^nSb^n\underset{2.}{\Rightarrow}Y^nVb^n\underset{3.}{\Rightarrow}Y^{n-1}Vaab^n\underset{3.}{\Rightarrow}Y^{n-2}Vaaaab^n\ldots\underset{3.}{\Rightarrow}YV(aa)^{n-1}b^n\underset{4.}{\Rightarrow}(aa)^nb^n\)
Random előrehaladás
A grammatikák szintjei valódi tartalmazási kapcsolatban állnak
Példa 3 - kettes típusú megfelelője
Helyes zárójelezés nyelve
\(S\overset{2.}{\Rightarrow}SS\overset{1.}{\Rightarrow}(S)S\overset{3.}{\Rightarrow}()S\overset{1.}{\Rightarrow}()((S))\overset{3.}{\Rightarrow}()(())\)
\(L_1=\{u\in\{ab\}^*\,|\,u=u_1u_2\;\land\;\ell_a(u_1)\ge\ell_b(u_1)\;\land\;\ell_a(u)=\ell_b(u)\}\)
\(L(G_6)\subseteq L_1\)
\(L(G_6)\overset{?}{\supseteq} L_1\)
\(L_1=\{\varepsilon,\,ab,\\ \,aabb,\,abab, \\ \,a^3b^3,a^2bab^2,a^2b^2ab,aba^2b^2,(ab)^3,\\\ldots\}\)
- \(n=2k\quad (k\ge 0)\)
- \(k=0\checkmark\)
- \(k=1\checkmark\)
- \(k=2\checkmark\)
- \(2(k+1)\overset?=2k+2\)
- \(u = a\,v_1\,b\,v_2\)
- \(v_2=\varepsilon:\)
- \(S\overset{1.}{\Rightarrow}aSb\overset{*}{\underset {t.i}\Rightarrow}a\,v_1\,b\)
- \(v_2\ne\varepsilon:\)
- \(S\overset{2.}{\Rightarrow}SS\overset{*}{\underset {t.i}\Rightarrow}S\,v_2\;\overset{1.}{\Rightarrow}aSb\,v_2\;\overset{*}{\underset {t.i}\Rightarrow}\;a\,v_1\,b\,v_2\)