Toto je starší verze dokumentu!
Základní pojmy
Gramatika
Gramatika G = (N, Σ, P, S)
N – konečná množina nonterminálních symbolů (nonterminálů)
Σ – konečná množina terminálních symbolů (terminálů)
P – je konečná množina přepisovacích pravidel
S – počáteční nonterminál S ∈ N
Přepisovací pravidlo
Podmnožina kartézského součinu (N ∪ Σ)*N(N ∪ Σ)* × (N ∪ Σ)*
(a, b) ∈ P zapisujeme ve tvaru a → b, kde a je levá strana a b je pravá strana pravidla.
Přímá derivace ⇒
Binární relace mezi řetezci u a v která platí pokud můžeme řetezce zapsat jako u = gad, v = gbd a (a, b) ∈ P, tj. pokud lze řetězec v vytvořit z retězce u aplikací jednoho přepisovacího pravidla.
Derivace ⇒⁺
Derivace ⇒*
Chomského hierarchie klasifikace gramatik
Klasifikace je definována podle tvaru přepisovacích pravidel příslušných gramatik
Platí: L₃ ⊂ L₂ ⊂ L₁ ⊂ L₀
Dál neopraveno
Typ 0 – obecné (neomezené) gramatiky
Typ 1 – kontextové gramatiky
Kontextové jazyky
Lineárně omezené Turingovy stroje
αAβ → αγβ, nebo S → ε pokud ε ∈ L a S se nevyskytuje na pravé straně žádného pravidla
Typ 2 – bezkontextové gramatiky
Bezkontextové jazyky
Zásobníkové automaty
A → γ
Typ 3 – pravé/levé linární gramatiky
Speciální podtypy gramatik
Pravé/levé regulární gramatiky
* ekvivalentní gramatikám typu 3
* Tvar pravidel:
:Pravá regulární: <math>A \rightarrow a B</math> nebo <math>A \rightarrow a</math>
:Levá regulární: <math>A \rightarrow B a</math> nebo <math>A \rightarrow a</math>
:: <math>A, B \in N</math>
:: <math>a \in \Sigma</math>
Lineární gramatiky
* podmnožina gramatik typu 2
* Tvar pravidel:
: <math>A \rightarrow x B y</math> nebo <math>A \rightarrow x</math>
:: <math>A, B \in N</math>
:: <math>x, y \in \Sigma^*</math>
Deterministické bezkontextové gramatiky
* podmnožina typu 2
* jazyky příjamné deterministickým zásobníkovým automatem
Rekurzivní gramatiky
* podmnožina typu 0
* přijímají je 'úplné TS' (TS, které pro každý vstup rozhodnou - nikdy necyklí)
* všechny kontextové jazyk jsou rekurzivní, ale ne všechny rekurzivní jazyky jsou kontextové