Context-free grammars Flashcards
Kaj je KNG (Kontekstno neodvisna gramatika)?
KNG je končna množica spremenljivk. Spremenljivke so definirane rekurzivno z spremenljivkami in terminali. Pravila ki določajo spremenljivke, poimenujemo produkcije.
Formalna definicija KNG (Kontekstno neodvisna gramatika)!
KNG - G = (V, T, P, S)
V - končna množica spremenljivk
T - končna množica terminalov
P - končna množica produkcij, kjer A -> a, kjer A ∊ V in a je beseda v jeziku (V U T)*
S - je posebna spremenljivka, ki jo kličemo začetni simbol
Definicija jezika KNJ (Kontekstno neodvisni jezik)!
L(G) = {w | w ∊ T* IN Sg =>* w}
Naštej lastnosti KNJ (Kontekstno neodvisni jezik)!
- jezik L je KNJ, če L = L(g) za nek KNG G
- nizu a ∊ (V U T)* rečemo sentencialna oblika, če Sg =>* a
- G1 in G2 sta ekvivalentni, če L(G1) = L(G2)
Definicija izpeljanjega drevesa!
Naj bo G = (V,T,P,S):
- vsako vozlišče v ima oznako, ki je simbol v V U T U {ε}
- oznaka korena je S
- če je vozlišče notranjo in ima oznako A, potem A mora biti v V
- če ima vozlišče v oznako A in so vozlišča v1, v2, …, vk “sinovi” od v z oznakami X1, X2, …, Xk, potem A -> X1, X2, …, Xk mora biti produkcija v P
- Če ima vozlišče v oznako ε, potem je v “list” in je edini “sin” svojega “očeta”
Teorem o Chomskijevi normalni oblik!
Vsak KNJ (Kontekstno neodvisni jezik) brez ε lahko generiramo z gramatiko v kateri je vsaka produkcija v obliki: A -> BC ali A -> a, kjer so A,B,C spremenljivke, a pa terminal
Teorem o Greibachovi normalni obliki!
Vsak KNJ brez ε lahko generiramo z gramatiko, v kateri je vsaka produkcija v obliki:
A -> bγ, kjer je A spremenljivka, b terminal in γ niz spremenljivk (γ ∊ V*)