OBSAH WEBU
ČTĚTE!
Bezkontextová gramatika (BKG) je čtveřice G = (N, T, P, S), kde:
Nechť G = (N, T, P, S) je BKG. … Máme nějakou bezkontextovou gramatiku
Nechť u, v ∈ (N ∪ T)* … Dále máme 2 řetězce u a v, které se skládají z terminálů a neterminálů naší gramatiky
a p = A → x ∈ P. a ještě máme jedno pravidlo p, které říká, že neterminál A se dá přepsat terminálem x
Potom, uAv přímo derivuje uxv za použití p v G, zapsáno uAv ⇒ uxv [p] nebo zjednodušeně uAv ⇒ uxv.
Jednoduše řečeno - posloupnost uAv můžeme přepsat na uxv díky pravidlu p
Pokud bude derivačních kroků více za sebou, budeme jim říkat Sekvence derivačních kroků a značit ⇒n, kde n nám bude říkat, v kolika derivačních krocích přeměníme jednu posloupnost terminálů/neterminálů na druhou
Nechť G = (N, T, P, S) je BKG. Jazyk generovaný BKG G, L(G), je definován: L(G) = {w: w ∈ T*, S ⇒* w}
Máme nějakou posloupnost terminálů w. Pokud dokážeme v nějaké sekvenci derivačních kroků přepsat startovací neterminál naší BKG do této posloupnosti terminálů, je tento jazyk generovaný naší BKG.
Bezkontextový jazyk je jazyk, pro který existuje bezkontextová gramatika, která tento jazyk generuje.
Nechť G = (N, T, P, S) je BKG. Pokud existuje řetězec x ∈ L(G) s více jak jedním derivačním stromem, potom G je nejednoznačná. Jinak G je jednoznačná.
Zásobníkový automat (ZA) je sedmice: M = (Q, Σ, Γ, R, s, S, F), kde:
Nechť M = (Q, Σ, Γ, R, s, S, F) je ZA.
1.) Jazyk přijímaný ZA M přechodem do koncového stavu, značen jako L(M)f, je definován:
L(M)f = {w: w ∈ Σ*, Ssw |–* zf, z ∈ Γ*, f ∈ F}
2.) Jazyk přijímaný ZA M vyprázdněním zásobníku, značen jako L(M)ε, je definován:
L(M)ε = {w: w ∈ Σ*, Ssw |–* zf, z = ε, f ∈ Q}
3.) Jazyk přijímaný ZA M přechodem do koncového stavu a vyprázdněním zásobníku, značen jako L(M)fε, je definován:
L(M)fε = {w: w ∈ Σ*, Ssw |–* zf, z = ε, f ∈ F}
21 | ||
---|---|---|
Celé jméno | OK | !!! |
Jirka Hynek | ||
vagy | ||
2 |
Diskuze
Ještě precedenční tabulku.