UINK215 Překladače

Filozoficko-přírodovědecká fakulta v Opavě
zima 2020
Rozsah
6/6/0. Přednáška 6 HOD/SEM, Cvičení 6 HOD/SEM. 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 seminárních/paralelních skupin
UINK215/A: Rozvrh nebyl do ISu vložen. Š. Vavrečková
Předpoklady
TYP_STUDIA(B)
Předpokládá se znalost formálních jazyků, gramatik (regulárních, bezkontextových), konečných a zásobníkových automatů, a programování v Pascalu, C, C++ nebo jiném podobném jazyce.
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í a syntaktické struktury programovacího jazyka pomocí některých typů formálních gramatik, naprogramování lexikálního a syntaktického analyzátoru podle těchto struktur, a dále pokračují ostatními fázemi naprogramování překladače. Součástí kurzu 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.
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á, Šárka. WWW stránky předmětu, skripta. URL info
  • 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. Základy překladačů. Cvičení. Praha: ČVUT, 1993. info
  • MELICHAR, B. Základy překladačů. Praha: ČVUT, 1989. info
Výukové metody
Přednáška s aktivizací
Přednáška s diskusí
Přednáška s analýzou videozáznamu
Projekce (statická, dynamická)
Metody hodnocení
Písemná zkouška
Rozbor produktů pracovní činnosti studenta (technické práce)
Zkouška
Písemný test
Odkaz a informace učitele
Studenti by kromě teoretické stránky tvorby překladačů měli zvládnout vytvoření vlastního jednoduchého interpretačního překladače s několika klíčovými slovy a příkazy a interpretováním matematických výrazů, ve zvoleném programovacím jazyce.
Zápočet: dvě písemky, každá min. 50 % bodů, naprogramování lexikální analýzy vlastního překladače.
Zkouška: písemná zkouška. Naprogramování zbývajících částí vlastního překladače.
Aktivity Náročnost [h]
Příprava na zápočet 12
Semestrální práce 4
Účast na výuce 12
Celkem 28
Další komentáře
Studijní materiály
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2009, zima 2010, zima 2011, zima 2012, zima 2013, zima 2014, zima 2015, zima 2016, zima 2017, zima 2018, zima 2019, zima 2021, zima 2022.