Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Kapitola 1<br />
Úvod<br />
Teorie formálních jazyků a vyčíslitelnost představují klasické a velmi důležité<br />
oblasti teoretické informatiky. Základy novodobé historie těchto disciplín položil<br />
v roce 1956 americký matematik Noam Chomsky, který v souvislosti se studiem<br />
přirozených jazyků vytvořil matematický model gramatiky jazyka.<br />
Realizace původních představ, formalizovat popis přirozeného jazyka takovým<br />
způsobem, aby mohl být automatizován překlad z jednoho přirozeného jazyka do<br />
druhého nebo aby přirozený jazyk sloužil jako prostředek komunikace člověka<br />
s počítačem, se ukázala velmi obtížnou a teprve současné výsledky můžeme považovat<br />
alespoň za slibné.<br />
Začala se však vyvíjet vlastní teorie jazyků, která nyní obsahuje bohaté výsledky<br />
v podobě matematicky dokázaných tvrzení – teorémů. Tato teorie pracuje se<br />
dvěma duálními matematickými entitami, s gramatikou a s automatem, představující<br />
abstraktní matematický stroj. Zatímco gramatika umožňuje vetšinou<br />
snáze popsat strukturu vět formálního jazyka, automat dovede tuto strukturu<br />
snaze identifikovat a zpracovávat.<br />
Poznatky teorie formálních jazyků mají význam nejen ve všech oblastech informatiky<br />
a informačních technologií, ale jejich aplikace zasahují do téměř nespočetné<br />
řady technických i netechnických oborů. Dodávají algoritmy, jež jsou podkladem<br />
pro konstrukci reálných programů či zařízení zpracovávajících informaci ve tvaru<br />
vět formálního jazyka. Stanovují však také možnosti a omezení algoritmických<br />
postupů řešení problémů; odhalují problémy, které jsou algoritmicky nerozhodnutelné,<br />
tj. problémy, jejichž řešení nelze dosáhnout v konečném čase.<br />
Teorie formálních jazyků našla doposud největší uplatnění v oblasti programovacích<br />
jazyků. Krátce po Chomského definici gramatiky formálního jazyka a<br />
klasifikaci formálních jazyků (Chomského hierarchii formálních jazyků), Backus<br />
a Nauer použili základních objektů gramatiky pro definici syntaxe programovacího<br />
jazyka Algol 60 (ve tvaru formalismu, jež se nazývá Backus-Nauerova forma).<br />
Další vývoj pak přímočaře vedl k aplikacím teorie jazyků v oblasti překladačů programovacích<br />
jazyků. Stanovení principů syntaxí řízeného překladu a generátorů<br />
překladačů (programovacích systémů, které na základě formálního popisu syntaxe<br />
a sémantiky programovacího jazyka vytvoří jeho překladač) představuje kvalitativní<br />
skok při konstrukci překladačů umožňující automatizovat náročnou programátorskou<br />
práci spojenou s implementací programovacích jazyků. V současné<br />
době je teorie formálních jazyků spolu s matematickou logikou základem ambiciozních<br />
výzkumných programů zaměřených na formální verifikace technických<br />
i programových prostředků, vedoucí k větší spolehlivosti a bezpečnosti počítačových<br />
aplikací.<br />
5