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.
|