Detail předmětu
Výstavba překladačů (v angličtině)
FIT-VYPaAk. rok: 2023/2024
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
Počet kreditů
Garant předmětu
Zajišťuje ústav
Nabízen zahraničním studentům
Vstupní znalosti
Pravidla hodnocení a ukončení předmětu
- Půlsemestrální písemná zkouška - 15 bodů
- Hodnocené projekt(y) - 30 bodů
- Závěrečná písemná zkouška - 55 bodů
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.
Učební cíle
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.
Základní literatura
K.D. Cooper, L. Torczon: Engineering a Compiler, 3rd edition. Morgan Kaufmann, 2022. (EN)
A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman: Compilers: Principles, Techniques, and Tools, 2nd edition. Pearson Education, 2006. (EN)
Doporučená literatura
D. Grune: Modern Compiler Design, 2nd edition. Springer, 2016. (EN)
D. Thain: Introduction to Compilers and Language Design, 2nd edition. Independently published, 2020. (EN)
D. Watson: A Practical Approach to Compiler Construction. Springer, 2017. (EN)
J. I. Moore: Introduction to Compiler Design: An Object-Oriented Approach Using Java, 2nd edition. SoftMoore Consulting, 2020. (EN)
R. Wilhelm, H. Seidl: Compiler Design: Virtual Machines. Springer, 2010. (EN)
T.Æ. Mogensen: Introduction to Compiler Design, 2nd edition. Springer, 2017. (EN)
Elearning
Zařazení předmětu ve studijních plánech
- Program IT-MGR-2 magisterský navazující
obor MGMe , 0 ročník, zimní semestr, povinně volitelný
- Program IT-MGR-2 magisterský navazující
obor MIS , 0 ročník, zimní semestr, povinně volitelný
obor MBS , 0 ročník, zimní semestr, volitelný
obor MPV , 0 ročník, zimní semestr, volitelný
obor MIN , 0 ročník, zimní semestr, volitelný
obor MGM , 0 ročník, zimní semestr, volitelný
obor MBI , 0 ročník, zimní semestr, volitelný
obor MSK , 0 ročník, zimní semestr, volitelný
obor MMM , 0 ročník, zimní semestr, povinný - Program MIT-EN magisterský navazující 0 ročník, zimní semestr, povinný
- Program MITAI magisterský navazující
specializace NSPE , 0 ročník, zimní semestr, volitelný
specializace NBIO , 0 ročník, zimní semestr, volitelný
specializace NSEN , 0 ročník, zimní semestr, volitelný
specializace NVIZ , 0 ročník, zimní semestr, volitelný
specializace NGRI , 0 ročník, zimní semestr, volitelný
specializace NADE , 0 ročník, zimní semestr, volitelný
specializace NISD , 0 ročník, zimní semestr, volitelný
specializace NMAT , 0 ročník, zimní semestr, povinný
specializace NSEC , 0 ročník, zimní semestr, volitelný
specializace NISY do 2020/21 , 0 ročník, zimní semestr, volitelný
specializace NCPS , 0 ročník, zimní semestr, volitelný
specializace NHPC , 0 ročník, zimní semestr, volitelný
specializace NNET , 0 ročník, zimní semestr, volitelný
specializace NMAL , 0 ročník, zimní semestr, volitelný
specializace NVER , 0 ročník, zimní semestr, volitelný
specializace NIDE , 0 ročník, zimní semestr, volitelný
specializace NEMB , 0 ročník, zimní semestr, volitelný
specializace NISY , 0 ročník, zimní semestr, volitelný
specializace NEMB do 2021/22 , 0 ročník, zimní semestr, volitelný - Program IT-MGR-1H magisterský navazující
specializace MGH , 0 ročník, zimní semestr, doporučený kurs
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Úvod: zopakování struktury překladače.
- Deterministická syntaktická analýza zdola nahoru: konstrukce LR rozkladových tabulek.
- Deterministická syntaktická analýza zdola nahoru: precedenční analýza vyššího řádu.
- Obecná syntaktická analýza: důležité metody syntaktické analýzy s návraty.
- Pokročilé metody optimalizace.
- Paralelní kompilátory: struktura paralelního překladače.
- Paralelní syntaktická analýza: principy.
- Deterministická paralelní syntaktická analýza shora dolů.
- Deterministická paralelní syntaktická analýza zdola nahoru.
- Generování paralelního kódu.
- Moderní formální prostředky pro specifikaci jazyka: řízené a paralelní modely.
- Formální prostředky pro specifikaci překladu: převodníky a překladové gramatiky.
- Očekávané budoucí trendy, shrnutí, závěr.
Projekt
Vyučující / Lektor
Osnova
- Vytvoření pokročilého kompilátoru.
- Příprava a prezentace vybraného tématu o kompilátorech.
Elearning