Detail předmětu

Výstavba překladačů (v angličtině)

FIT-VYPaAk. rok: 2020/2021

Předmět diskutuje pokročilá a doplňující témata týkající se konstrukce překladačů, která svou náročností překračují bakalářskou úroveň. Tato diskuse se bude soustředit na následující tři okruhy: (I) Pokročilá témata konstrukce klasických kompilátorů: konstrukce LR rozkladových tabulek, precedenční analýza vyššího řádu, důležité metody syntaktické analýzy s návraty, pokročilé metody optimalizace. (II) Principy paralelních kompilátorů: struktura paralelního překladače, fundamentální metody paralelní syntaktické analýzy, základní modely pro paralelní překlad. (III) Formální překladové modely a jejich vlastnosti: převodníky, překladové gramatiky, vlastnosti syntaxí řízených překladů (charakterizující jazyky, nekonečná hierarchie překladů apod.), vlastnosti formálních jazyků relevantní pro překladače, moderní formální modely pro překlad.

Jazyk výuky

angličtina

Počet kreditů

Nabízen zahraničním studentům

Všech fakult

Výsledky učení předmětu

Schopnost sestrojit náročný překladač, včetně moderního paralelního kompilátoru. Hluboká obeznámenost s formálními překladovými modely a jejich vlastnostmi.
Obecná znalost formálních modelů pro překlad a jejich aplikace.

Prerekvizity

Základní znalost diskrétní matematiky.

Způsob a kritéria hodnocení

  • Půlsemestrální písemná zkouška - 15 bodů
  • Hodnocené projekt(y) - 30 bodů
  • Závěrečná písemná zkouška - 55 bodů

Učební cíle

Detailně objasnit konstrukci překladačů, včetně moderních paralelních kompilátorů. Podrobně se seznámit s formálními překladovými modely a jejich vlastnostmi.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Pokud v průběhu semestru student onemocní nebo se vyskytne jiná překážka ve studiu, je třeba tuto překážku řádně ohlásit a doložit. Pak k ní lze přihlédnout a přizpůsobit jí hodnocení:
  • U projektu může student požádat příslušného učitele o přiměřené prodloužení termínu pro odevzdání.
  • Pokud se student nemohl zúčastnit půlsemestrální zkoušky, může přednášejícího požádat, aby body za půlsemestrální zkoušku byly odvozeny od bodového zisku u prvního termínu zkoušky, kterého se zúčastní.
  • Pokud se student nemůže zúčastnit obhajoby projektu a ostatní členové týmu s tím vysloví souhlas, může získat za obhajobu stejný počet bodů jako na obhajobě přítomní členové týmu.

Doporučená literatura

Cooper, K.D.: Engineering a Compiler, San Francisco, Morgan Kaufmann, 2004, 879 p., ISBN 155860698X
Češka, M., Ježek, K., Melichar, B., Richta, K.: Konstrukce překladačů, Praha, CZ, ČVUT, 1999, 636 p., ISBN 80-01-02028-2 (in Czech)
Grune, D.: Modern Compiler Design, 2nd Edition, Springer, 2016, 846 p., ISBN 9781493944729
Wilhelm, R., Seidl, H.: Compiler Design: Virtual Machines, Springer, 2010, 187 p., ISBN 978-3-642-14908-5

Zařazení předmětu ve studijních plánech

  • Program IT-MGR-2 magisterský navazující

    obor MGM , 0 ročník, zimní semestr, volitelný
    obor MBI , 0 ročník, zimní semestr, volitelný
    obor MBS , 0 ročník, zimní semestr, volitelný
    obor MIN , 0 ročník, zimní semestr, volitelný
    obor MIS , 0 ročník, zimní semestr, povinně volitelný
    obor MMI , 0 ročník, zimní semestr, volitelný
    obor MMM , 0 ročník, zimní semestr, povinný
    obor MPV , 0 ročník, zimní semestr, volitelný
    obor MSK , 0 ročník, zimní semestr, volitelný

  • Program MITAI magisterský navazující

    specializace NISY , 0 ročník, zimní semestr, volitelný
    specializace NADE , 0 ročník, zimní semestr, volitelný
    specializace NBIO , 0 ročník, zimní semestr, volitelný
    specializace NCPS , 0 ročník, zimní semestr, volitelný
    specializace NEMB , 0 ročník, zimní semestr, volitelný
    specializace NHPC , 0 ročník, zimní semestr, volitelný
    specializace NGRI , 0 ročník, zimní semestr, volitelný
    specializace NIDE , 0 ročník, zimní semestr, volitelný
    specializace NISD , 0 ročník, zimní semestr, volitelný
    specializace NMAL , 0 ročník, zimní semestr, volitelný
    specializace NMAT , 0 ročník, zimní semestr, povinný
    specializace NNET , 0 ročník, zimní semestr, volitelný
    specializace NSEC , 0 ročník, zimní semestr, volitelný
    specializace NSEN , 0 ročník, zimní semestr, volitelný
    specializace NSPE , 0 ročník, zimní semestr, volitelný
    specializace NVER , 0 ročník, zimní semestr, volitelný
    specializace NVIZ , 0 ročník, zimní semestr, volitelný

  • Program IT-MGR-1H magisterský navazující

    obor MGH , 0 ročník, zimní semestr, doporučený kurs

  • Program IT-MGR-2 magisterský navazující

    obor MGMe , 0 ročník, zimní semestr, povinně volitelný

Typ (způsob) výuky

 

Přednáška

39 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Úvod: zopakování struktury překladače.
  2. Deterministická syntaktická analýza zdola nahoru: konstrukce LR rozkladových tabulek.
  3. Deterministická syntaktická analýza zdola nahoru: precedenční analýza vyššího řádu.
  4. Obecná syntaktická analýza: důležité metody syntaktické analýzy s návraty.
  5. Pokročilé metody optimalizace.
  6. Paralelní kompilátory: struktura paralelního překladače.
  7. Paralelní syntaktická analýza: principy.
  8. Deterministická paralelní syntaktická analýza shora dolů.
  9. Deterministická paralelní syntaktická analýza zdola nahoru.
  10. Generování paralelního kódu.
  11. Moderní formální prostředky pro specifikaci jazyka: řízené a paralelní modely.
  12. Formální prostředky pro specifikaci překladu: převodníky a překladové gramatiky.
  13. Očekávané budoucí trendy, shrnutí, závěr.

Projekt

13 hod., povinná

Vyučující / Lektor

Osnova

  1. Vytvoření pokročilého kompilátoru.
  2. Příprava a prezentace vybraného tématu o kompilátorech.