UIINK28 Překladače

Filozoficko-přírodovědecká fakulta v Opavě
zima 2019
Rozsah
12/0/0. Přednáška 12 HOD/SEM. 6 kr. Ukončení: zk.
Vyučující
RNDr. Šárka Vavrečková, Ph.D. (přednášející)
Garance
RNDr. Šárka Vavrečková, Ph.D.
Ústav informatiky – Filozoficko-přírodovědecká fakulta v Opavě
Předpoklady
TYP_STUDIA(B)&& UIINK08 Algoritmy a programování II && UIINK11 Teorie jazyků a automatů I
Omezení zápisu do předmětu
Předmět je otevřen studentům libovolného oboru.
Cíle předmětu
Předmět Překladače je pojat jako praktické využití teoretické informatiky v programování se zaměřením na překlad (textových) řetězců včetně souborů. Předpokládají se znalosti teoretické informatiky a programování. Studenti se učí základní postupy reprezentace lexikální, syntaktické a sémantické struktury programovacího jazyka pomocí některých typů formálních gramatik a postupy jejich implementace. Součástí předmětu je také naprogramování vlastního interpretačního překladače libovolného jazyka zahrnujícího práci s matematickými výrazy.
Výstupy z učení
Student bude po absolvování předmětu schopen:
- popsat základní postupy prezentace lexikální a syntaktické struktury programovacího jazyka pomocí některých typů formálních gramatik,
- analyzovat naprogramování lexikálního a syntaktického analyzátoru podle těchto struktur,
- identifikovat a popsat ostatní fáze naprogramování překladače.
Osnova
  • 1. Struktura překladače.
  • 2. Lexikální analýza. Metody a jejich implementace.
  • 3. Syntaktická analýza, LL(1), silné LL(k) a silné LR(k) gramatiky a jejich implementace.
  • 4. Sémantická analýza. Tabulka symbolů a její implementace. Intermediální kód.
  • 5. Syntaxí řízený překlad.
  • 6. Atributovaný překlad a jeho iplementace.
  • 7. Programování pokročilejších jazykových konstrukcí.
Literatura
    povinná literatura
  • VAVREČKOVÁ, Š. Programování překladačů. Opava: Slezská univerzita v Opavě, 2008. ISBN 978-80-7248-493-5. info
    doporučená literatura
  • COOPER, Keith D. a Linda TORCZON. Engineering a compiler. 2nd ed. Boston: Elsevier/Morgan Kaufmann, 2012. ISBN 978-0-12-088478-0. info
  • GYUNGHO LEE a Pen-Chung YEW (eds). Interaction between compilers and computer architectures. New York: Springer, 2011. ISBN 978-144-1948-960. info
  • MOZGOVOY, Maxim. Algorithms, languages, automata, and compilers: a practical approach. Sudbury, Mass.: Jones and Bartlett Publishers, 2010. ISBN 978-0-7637-7627-5. info
  • SAFONOV, V. O. Trustworthy compilers. Hoboken, N.J.: John Wiley, 2010. ISBN 978-047-0500-958. info
  • GUNDERLOY, Mike. Z kodéra vývojářem: nástroje a techniky pro opravdové programátory. Brno: Computer Press, 2007. ISBN 978-80-251-1517-6. info
  • MELICHAR, B. - ČEŠKA, M. - JEŽEK, K. - RICHTA, K. Konstrukce překladačů I, II. Praha: ČVUT, 1999. info
Výukové metody
Přednáška s aktivizací
Přednáška s diskusí
Projekce (statická, dynamická)
Metody hodnocení
Zápočet:
- Povinná účast na cvičeních min. 75 %.
- Dvě písemky, úspěšnost min. 50 % z každé.
- Naprogramování lexikální analýzy jednoduchého překladače.
Zkouška:
- Písemná, seznam otázek je na webu předmětu.
- Naprogramování vlastního jednoduchého interpretačního překladače ve zvoleném programovacím jazyce.
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2020, zima 2021, zima 2022, zima 2023, zima 2024.