Předmět: Překladače

« Zpět
Název předmětu Překladače
Kód předmětu KMI/PRKL
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Magisterský
Rok studia 1
Semestr Letní
Počet ECTS kreditů 4
Vyučovací jazyk Čeština
Statut předmětu Povinný, Povinně-volitelný, Volitelný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Masopust Tomáš, doc. RNDr. Ph.D., DSc.
  • Večerka Arnošt, RNDr.
Obsah předmětu
Kurs studenty seznamuje se základními výsledky a metodami teorie překladačů s důrazem na proces, jakým probíhá překlad ze zdrojového do cílového jazyka. Probírané partie zahrnují pokročilé vlastnosti bezkontextových jazyků a deterministickou syntaktickou analýzu. Studenti jsou dále seznámeni s technikami sémantické analýzy, vytváření interních forem a základními metodami překladu. 1. Základní struktura překladače. Fáze analýzy a syntézy překladu. 2. Lexikální analýza, její úloha a konstrukce lexikálního analyzátoru. 3.Bezkontextové jazyky a jejich vlastnosti. 4. Deterministické zásobníkové automaty. Deterministická syntaktická analýza, množiny First a Follow. 5.Syntaktická analýza shora-dolů, gramatiky LL(1). Konstrukce syntaktického analyzátoru metodou rekurzivního sestupu. 6.Syntaktická analýza zdola-nahoru. Konstrukce syntaktického analyzátoru pro gramatiky SLR(1), LR(0), LALR(1) a LR(1). 7. Syntaktické chyby při překladu, jejich ošetření a zotavení z chyb při syntaktické analýze. 8. Nástroje pro generování lexikálních a syntaktických analyzátorů (lex, yacc). 9. Sémantická analýza. Atributové gramatiky a jejich specifické typy pro analýzu shora-dolů a analýzu zdola-nahoru. 10. Interní formy programu. Překlad základních příkazů programovacích jazyků do interní formy. 11. Tabulky symbolů a prostředí programu. Úvod do generování kódu.

Studijní aktivity a metody výuky
nespecifikováno
Výstupy z učení
Studenti se seznámí se základními pojmy z překladačů.

Předpoklady
nespecifikováno

Hodnoticí metody a kritéria
nespecifikováno
Aktivní účast v hodině. Plnění zadaných úkolů. Složení ústní (příp. písemné) zkoušky.
Doporučená literatura
  • A. W. Appel, J. Palsberg. (2002). Modern Compiler Implementation in Java. Cambridge Univ. Press.
  • Aho A.-V., Lam M.-S., Sethi R., Ullman J.-D. (2006). Compilers: Principles, Techniques, and Tools.. Addison-Wesley.
  • D. Watson. (2017). A Practical Approach to Compiler Construction. Springer.
  • Melichar, B., Češka M., Ježek K., Richta K. (1999). Konstrukce překladačů, II. část. ČVUT.
  • Melichar, B., Češka M., Ježek K., Richta K. Konstrukce překladačů. Vydavatelství ČVUT.
  • Reinhard W., Maurer D. (1995). Compiler Design. Addison-Wesley.
  • S. Hack, R. Wilhelm, H. Seidl. (2018). Compiler Design: Code Generation and Machine-Level Optimization. Springer.


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: Přírodovědecká fakulta Studijní plán (Verze): Informatika - specializace Umělá inteligence (2020) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Vývoj software (2024) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informatika - specializace Obecná informatika (2020) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Učitelství informatiky pro střední školy maior (2019) Kategorie: Pedagogika, učitelství a sociální péče 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Počítačové systémy a technologie (2024) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní