Formální jazyk
Z Wikipedie, otevřené encyklopedie
V matematice, logice a informatice se pojmem formální jazyk označuje množina konečných slov (tj. slov konečné délky) nad určitou abecedou. Definice pojmu formální jazyk se může měnit 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 , slovem nad touto abecedou je například ababba. Příkladem jazyka můžou být slova nad touto abecedou, která obsahují stejný počet symbolů a a b.
Prázdné slovo (tj. slovo, které se skládá z nulového počtu znaků) se značí e, ε nebo Λ. Ačkoli abeceda je konečná množina a každé slovo je konečná množina, jazyk konečný být nemusí, jelikož délka slov nemusí být shora omezena.
Příklady formálních jazyků:
- množina všech slov nad abecedou a,b
- množina , n je přirozené číslo a an znamená, že a se vyskytuje n-krát za sebou.
- konečné jazyky jako například a,aa,bba
- množina všech programů v daném programovacím jazyce
- množina všech slov, nad kterými daný Turingův stroj zastaví.
Formální jazyk může být definován různými způsoby, například:
- slova generovaná nějakou formální gramatikou (viz Chomského hierarchie);
- slova vyhovující nějakému regulárnímu výrazu;
- slova akceptovaná nějakým automatem, například Turingovým strojem nebo konečným automatem;