10.02.2019 Views

opora

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!