Formální gramatika: Porovnání verzí
Smazaný obsah Přidaný obsah
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</
: 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
* <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
* 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|
* [[Bezkontextová gramatika|
* [[Kontextová gramatika|Kontextové gramatiky]]
* Všechny formální gramatiky
Řádek 41:
{{Formální jazyky a
[[Kategorie:Formální jazyky]]
|