Předmět: Kompilátory

« Zpět
Název předmětu Kompilátory
Kód předmětu KST/INKOM
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Magisterský
Rok studia 2
Semestr Letní
Počet ECTS kreditů 5
Vyučovací jazyk Čeština
Statut předmětu Povinný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Benedikovič Miroslav, RNDr.
Obsah předmětu
Pojem jazyka a gramatiky. Chomského klasifikace gramatik a hierarchie jazyků. Konečné automaty a regulární gramatiky - vzájemné vztahy. Vlastnosti regulárních jazyků. Regulární výraz. Vyhledávání lexém, použití tabulky symbolů (binární strom, hashovaní) Derivační stromy. Konečný stavový automat, stavba scanneru. Bezkontextové gramatiky a zásobníkové automaty - vzájemné vztahy. Vlastnosti bezkontextových jazyků. Strom odvození. Jednoduché precedenční gramatiky. LL a LR jazyky a jejich vlastnosti. LL(1) jazyk, odstranění přímé levé rekurze a levá faktorizace. Výpočet množin FIRST a FOLLOW. Deterministické zásobníkové automaty. Stavba parseru. Syntaktická analýza deklarací, výrazů, programu a rutin. Sémantická analýza programu. Cílový jazyk, interpretace, vytváření cílového kódu.

Studijní aktivity a metody výuky
Monologická (výklad, přednáška, instruktáž), Dialogická (diskuze, rozhovor, brainstorming), Metody samostatných akcí, Demonstrace
Výstupy z učení
Seznámit studenty se základy teorie jazyků a gramatik. Tato teorie se využívá pro vytváření kompilátorů a analyzátorů textů zapsaných ve zdrojovém kódu. Dalším cílem je, sestavením konkrétního jednoduchého analyzátoru vysvětlit metodiku tvorby kompilátoru.
Student se naučí vytvářet kompilátory a analyzátory textů zapsaných ve zdrojovém kódu.
Předpoklady
Předpokládá se základní znalost operačního systému Microsoft Windows a základů algoritmizace a programování v některém vyšším programovacím jazyku.

Hodnoticí metody a kritéria
Ústní zkouška, Posouzení zadané práce, Didaktický test

Podmínkou k udělení zápočtu je aktivní práce na cvičení, obhájení semestrální práce a úspěšné absolvování závěrečného testu.
Doporučená literatura
  • Aho, A. V., Sethi, R., Ullmann, J. D. Compilers, Principles, Techniques, and Tools. Berkley: Addison-Wesley Publishing Company, 2006. ISBN 0-201-10088-6.
  • Benedikovič, M. Učební texty: Gramatiky, jazyky a kompilátory .
  • Hopcroft, J. E., Ullmann, J. D. Formální jazyky a automaty. ALFA, Bratislava, 1978. ISBN 63-096-78.
  • Louden, Keneth C. Compiler Construction - Principles and Praktice. Boston, PWS Publishing Comp., 1997.
  • Mak, R. Writing Compilers & Interpreters. New York, John Wiley & Sons, 1991.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr
Fakulta: Fakulta elektrotechniky a informatiky Studijní plán (Verze): Informační technologie (2015) Kategorie: Informatické obory 2 Doporučený ročník:2, Doporučený semestr: Letní
Fakulta: Fakulta elektrotechniky a informatiky Studijní plán (Verze): Informační technologie (2014) Kategorie: Informatické obory 2 Doporučený ročník:2, Doporučený semestr: Letní
Fakulta: Fakulta elektrotechniky a informatiky Studijní plán (Verze): Informační technologie (2016) Kategorie: Informatické obory 2 Doporučený ročník:2, Doporučený semestr: Letní