Otevřít hlavní menu

Formální jazyk

množina konečných řetězců nad určitou abecedou

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 , řetězcem nad touto abecedou je například . Příkladem jazyka může být množina všech řetězců nad touto abecedou, které obsahují stejný počet symbolů jako .

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íEditovat

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

Abeceda je obvykle značena symbolem  . Zápis   pak označuje jazyk, obsahující všechny řetězce nad danou abecedou, včetně prázdného řetězce. Každý jazyk   nad určitou abecedou   je podmnožinou jazyka  .

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

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

  • množina všech řetězců nad abecedou  
  • množina  , n je přirozené číslo a   znamená, že   se vyskytuje  -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 řetězců, nad kterými daný Turingův stroj zastaví.

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

OdkazyEditovat

Související článkyEditovat

LiteraturaEditovat

  • CHYTIL, Michal. Gramatiky a automaty. Praha: SNTL, 1983. 
  • MOLNÁR, Ľudovít; ČEŠKA, Milan; MELICHAR, Bořivoj. Gramatiky a jazyky. 3. vyd. Bratislava: Alfa, 1987. 
  • ČERNÁ, Ivana; KŘETÍNSKÝ, Mojmír; KUČERA, Antonín. Automaty a formální jazyky I. Brno: FI MUNI, 2014. Dostupné online.