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

Smazaný obsah Přidaný obsah
-{{bibliografie}} (literatura byla doplněna), "řetězec" jako primární název pro posloupnost symbolů, "slovo" a "věta" jako alternativy
Úprava textu, vysvětlení operátoru hvězdička
Řádek 1:
'''Formální jazyk''' je v [[matematika|matematice]], [[logika|logice]] a [[informatika|informatice]] libovolná [[množina]] konečných [[textovýŘetězec řetězecsymbolů|řetězců]] (tj. řetězců konečné délky) nad určitou [[abeceda (formální jazyky)|abecedou]]. Místo výrazu „řetězec“ se často používá výraz „[[Slovo (formální jazyky)|slovo]]“„slovo“ (zejména při [[Lexikální analýza|lexikální analýze]]) nebo „věta“ (zejména při [[Syntaktická analýza|syntaktické analýze]] a analýze vět [[Zpracování přirozeného jazyka|přirozeného jazyka]]). Přesná definice pojmu ''formální jazyk'' se může lišit podle toho, v jakém kontextu a v jakém vědním oboru jej používáme.
 
Příkladem abecedy může být <math>\left \{ a , b \right \}</math>, řetězcem nad touto abecedou je například <math>ababba</math>. Příkladem jazyka může být množina všech řetězců nad touto abecedou, které obsahují stejný počet symbolů <math>a</math> jako <math>b</math>.
Řádek 7:
== Značení ==
 
'''Prázdný řetězec''' (tj. řetězec, který se skládá z nulového počtu znaků) se značí <math>e</math>, <math>\epsilon</math> (''epsilon'') nebo [[λ]].
 
AbecedaPokud je obvykleoznačíme značenaabecedu symbolem <math>\Sigma</math>., pak Zápiszápis <math>\Sigma^{*}</math> pak označuje jazyk,[[Množina|množinu]] obsahujícívšech všechny řetězceřetězců nad danoutouto [[abeceda|abecedou]], včetně prázdného řetězce. Každý jazykJazyk <math>L</math> nad určitoudanou [[abeceda|abecedou]] <math>\Sigma</math> je pak nějaká [[podmnožina|podmnožinoupodmnožina]] jazyka <math>\Sigma^{*}</math>. Hvězdičkou zapisovaná na místě horního indexu je operátor nazývaný [[Kleeneho hvězdička]], který označuje zřetězení libovolného konečného počtu (včetně 0) prvků z množiny, na níž je aplikován.
 
== Příklady formálních jazyků ==