UIN2015 Překladače

Filozoficko-přírodovědecká fakulta v Opavě
zima 2021
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 9:45–11:20 230
  • Rozvrh seminárních/paralelních skupin:
UIN2015/A: Po 13:05–14:40 230, Š. Vavrečková
Předpoklady
! UINK215 Překladače
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. - ČEŠKA, M. - JEŽEK, K. - RICHTA, K. Konstrukce překladačů I, II. Praha: ČVUT, 1999. info
  • ČEŠKA, M. - BENEŠ, M. - HRUŠKA, T. Překladače. Brno: VUT, 1993. 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
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.
AktivityNáročnost [h]
Příprava na zápočet12
Semestrální práce4
Účast na výuce12
Celkem28
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 2007, zima 2008, zima 2009, zima 2010, zima 2011, zima 2012, zima 2013, zima 2014, zima 2015, zima 2016, zima 2017, zima 2018, zima 2019, zima 2020, zima 2022.