UIINP28 Překladače

Filozoficko-přírodovědecká fakulta v Opavě
zima 2022
Rozsah
2/2/0. 6 kr. Ukončení: zk.
Vyučující
RNDr. Šárka Vavrečková, Ph.D. (přednášející)
RNDr. Šárka Vavrečková, Ph.D. (cvičící)
Garance
RNDr. Šárka Vavrečková, Ph.D.
Ústav informatiky – Filozoficko-přírodovědecká fakulta v Opavě
Rozvrh
Po 13:05–14:40 B3b
  • Rozvrh seminárních/paralelních skupin:
UIINP28/A: St 8:55–10:30 B2, Š. Vavrečková
Předpoklady
Algoritmy a programování II
Teorie jazyků a automatů I
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
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 vytvoření lexikální a syntaktické struktury programovacího jazyka pomocí některých typů formálních gramatik,
- navrhnout lexikální a syntaktický analyzátor podle těchto struktur a přidat sémantickou analýzu,
- naprogramovat svůj vlastní jednoduchý překladač.
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. Zpracování proměnných a jiných dynamických částí kódu. 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í
Cvičení
Projekt
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 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 2019, zima 2020, zima 2021, zima 2023, zima 2024.