Formální jazyk
V matematice, logice a informatice, formální jazyk je jazyk, který je definován přesný matematický nebo stroj processable rovnice. Takový jazyk, je obvykle definovaný jako soubor elementů. Tyto elementy jsou obvykle nazývány slovy o jazyce nebo Strings. Tento Strings přijde z dalšího souboru, který je obvykle nazýván abecedou.
Nepřehlédněte: Tato stránka obsahuje strojový překlad textu z anglické encyklopedie Wikipedia. Pokud budou některé pasáže špatně srozumitelné, zkuste se podívat i na text v originále, který najdete pod odkazem Formal language. Překlad byl vytvořen pomocí překladače Eurotran.
Mezi více obyčejné možnosti, které jsou nalezené v aplikacích, formální jazyk může být viděn jako bytí podobný k
- sbírka slov
nebo
- sbírka vět
V prvním případě, soubor
je volán abeceda
, a elementy
být volán slova. Ve vteřině, soubor
je volán lexikon nebo slovník
, zatímco elementy
být pak nazvaný věty. Matematická teorie, která zachází s formálními jazyky oběcně je znána jak teorie formálního jazyka.
Ačkoli to je obyčejné slyšet termínový formální jazyk používaný v jiných kontextech ven z matematiky, logiky a informatiky se odkazovat na způsob výrazu, který je více formální, disciplinovaný nebo přesný než každodenní řeč, smysl pro formální jazyk projednaný v tomto článku je omezený na jeho význam v teorii formálního jazyka.
Jako příklad formálního jazyka, abeceda by mohla být a řetězec přes tu abecedu by mohl být.

Typický jazyk přes tu abecedu, obsahovat ten řetězec, by byl soubor všech řetězců, které obsahují stejné množství symbolů a.

Vybrané slovo (to je, délka-nulový řetězec) je povolený a je často označovaný, nebo. Zatímco abeceda je konečná množina a každý řetězec má konečnou délku, jazyk může velmi dobře mít nekonečně mnoho řetězců člena (protože délka patření slov k tomu může být nespoutaná).


Otázka často se ptala na formální jazyky je “jak těžký je to se rozhodnout zda dané slovo patří ke zvláštnímu jazyku?” toto je doména teorie vypočitatelnosti a teorie složitosti.
Příklady
Některé příklady formálních jazyků:
- soubor všech slov přes

- soubor, kde je přirozené číslo a prostředky opakovaly časy





- Konečné jazyky, takový jak

- soubor syntactically správných programů v daném programovacím jazyce; nebo
- soubor vstupů na kterém jistý Turing zastavení stroje.
Specifikace
Formální jazyk může být specifikován ve velké paletě cest, takový jak:
- Řetězce produkované nějakou formální gramatikou (vidí Chomsky hierarchii);
- Řetězce popisovaly nebo si odpovídaly pravidelným výrazem;
- Řetězce přijaly to nějakým automatem, takový jak Turing stroj nebo konečný státní automat;
- Řetězce signalizovaly rozhodovacím algoritmem (soubor příbuzný ano/žádné otázky) kde odpověď je ano.
Viz též
- Jazyk pro jazyky oběcně
- Syntax pro formu jazyka oběcně
- Sémantika pro významy v jazyce
- Přirozený jazyk pro jazyky, které nejsou formální
- Počítačový jazyk pro použití formálních jazyků v práci na počítači
- Programovací jazyk pro žádost formálních jazyků programovat počítače
Další četba
- Hopcroft, J. a Ullman, J. (1979). Úvod do teorie automatů, jazyků a počítání. Addison-Wesley. ISBN 0-201-02988-X.
- Helena Rasiowa a Roman Sikorski (1970). Matematika Metamathematics, 3. ed., PWN. , kapitola 6 Algebra formovaných jazyků.
- Rozemberg, G. a Salomaa, A. (eds.) (1979). Úvod do teorie automatů, jazyků a počítání. Addison-Wesley. ISBN 978-3-540-61486-9.
Jiné internetové stránky
- http://icalp06.dsi.unive.it/ ICALP 2006 33. mezinárodní konference na automatech, jazycích a programování.
- http://www.cs.auckland.ac.nz/CDMTCS/conferences/dlt/DLTConfSeries. html mezinárodní konference na rozvojích v teorii jazyka