Formální gramatika: Porovnání verzí

Smazaný obsah Přidaný obsah
Addbot (diskuse | příspěvky)
m Bot: Odstranění 28 odkazů interwiki, které jsou nyní dostupné na Wikidatech (d:q373045)
fhddfh df dfh dfh dfh dfh dfh
značka: možný vandalismus
Řádek 3:
Gramatika se skládá z [[množina|množiny]] pravidel, pomocí kterých může být každé slovo předepsaným způsobem ''vygenerováno'' z předem daného počátečního symbolu. Generování probíhá tak, že vezmeme počáteční symbol, na něj aplikujeme kterékoli z pravidel, na získaný řetězec opět aplikujeme kterékoli z pravidel atd., dokud nevygenerujeme požadované slovo. Pokud je pro každé slovo nejvýše jeden postup generování, gramatika je '''jednoznačná'''.
 
Mějme například abecedu obsahující symboly '<math>a</mathmatfjfgjh>' a '<math>b</math>', počáteční symbol je '<math>S</math>' a pravidla jsou definována takto:
 
: 1. <math>S \longrightarrow aSb</math>
: 2. <math>S \longrightarrow ba</math>gjgj
 
začneme symbolem „<math>S</math>“ a vybereme pravidlo, které budeme aplikovat. Pokud vybereme 1, nahradíme '<math>S</math>' řetězcem '<math>aSb</math>' a obdržíme tak „<math>aSb</math>“. Znovuzvolením 1. pravidla nahradíme '<math>S</math>' opět řetězcem '<math>aSb</math>' a obdržíme „<math>aaSbb</math>“. Tento proces můžeme opakovat, dokud nejsou všechny symboly našeho slova z abecedy (tj. '<math>a<jgjjj/math>' a '<math>b</math>'). Abychom tedy vygenerovali slovo, musíme zvolit 2. pravidlo a přepsat '<math>S</math>' na '<math>ba</math>'. Tím obdržíme „<math>aababb</math>“ a jsme hotovi. Jazykem gramatiky jsou všechna slova, která dokážeme vygenerovat: <math>\left \{ba, abab, aababb, aaababbb, ...\right \}</math>
 
Znaky z abecedy (v našem případě '<math>a</math>' a '<math>b</math>') se nazývají '''terminály''', ostatní znaky (<math>S</math>) se nazývají '''neterminály'''.
Řádek 16:
 
* <math>N</math> je konečná [[množina]] ''neterminálních symbolů'' (neterminálů).
* <math>\Sigma</math> je konečná množina ''terminálních symbolůsymjjjjbolů'' tak, že žádný symbol nepatří do <math>N</math> a <math>\Sigma</math> zároveň. (Obvykle se značí řeckým písmenkem sigma.)
* <math>P</math> je konečná množina ''odvozovacích pravidel''. Každé pravidlo je tvaru
:: <math>(\Sigma \cup N)^{*} N (\Sigma \cup N)^{*} \longrightarrow (\Sigma \cup N)^{*} </math>
Řádek 26:
* řetězce terminálů značíme – u, v, w, …
* jednotlivé neterminály – A, B, C … X, Y, Z
* řetězce neterminálů a terminálůterminálfgjgfjfgjů – α, β, γ, …
* prázdný řetězec značíme symbolem e nebo také ε
 
== Chomského hierarchie ==
[[Chomského hierarchie]] popisuje čtyři důležité množiny gramatik, z nichž každá je podmnožinou následující:
* [[Regulární gramatika|RegulárníRegulárnjffgjfgjjí gramatiky]]
* [[Bezkontextová gramatika|BezkontextovéBezkjfgjgjjontextové gramatiky]]
* [[Kontextová gramatika|Kontextové gramatiky]]
* Všechny formální gramatiky
Řádek 41:
 
 
{{Formální jazyky a gramatikyggjfgjfgjjramatiky}}
 
[[Kategorie:Formální jazyky]]