Formální jazyk

Z testwiki
Verze z 30. 9. 2022, 14:07, kterou vytvořil imported>Oashi (Související články: ++* regulární výraz)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

Formální jazyk je v matematice, logice a informatice libovolná množina konečných řetězců (tj. řetězců konečné délky) nad určitou abecedou. Místo výrazu „řetězec“ se často používá výraz „slovo“ (zejména při lexikální analýze) nebo „věta“ (zejména při syntaktické analýze a analýze vět 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 {a,b}, řetězcem nad touto abecedou je například ababba. Příkladem jazyka může být množina všech řetězců nad touto abecedou, které obsahují stejný počet symbolů a jako b.

Přestože abeceda je konečná množina a řetězce mají konečnou délku, jazyk konečný být nemusí, jelikož délka (stále konečných) řetězců nemusí být shora omezena.

Značení

Prázdný řetězec (tj. řetězec, který se skládá z nulového počtu znaků) se značí e, ϵ (epsilon) nebo λ.

Pokud označíme abecedu symbolem Σ, pak zápis Σ* označuje množinu všech řetězců nad touto abecedou, včetně prázdného řetězce. Jazyk L nad danou abecedou Σ je pak nějaká podmnožina Σ*. 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ů

Příklady formálních jazyků:

Formální jazyk může být definován různými způsoby, například:

Odkazy

Literatura

Související články

Externí odkazy

Šablona:Formální jazyky a gramatiky Šablona:Autoritní data