Detail předmětu
Výstavba překladačů (v angličtině)
FIT-VYPaAk. rok: 2021/2022
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.
Garant předmětu
Zajišťuje ústav
Nabízen zahradnič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.
Doporučená nebo povinná literatura
Češka, M., Ježek, K., Melichar B., Richta K.: Konstrukce překladačů, Praha, CZ, ČVUT, 1999, 636 s., ISBN 80-01-02028-2
Grune, D.: Modern Compiler Design, 2. vydání, Springer, 2016, 846 s., ISBN 9781493944729
A. Meduna: Elements of Compiler Design. Taylor & Francis, 2008. (EN)
K.D. Cooper, L. Torczon: Engineering a Compiler, 3rd edition. Morgan Kaufmann, 2022. (EN)
D. Grune: Modern Compiler Design, 2nd edition. Springer, 2016. (EN)
Cooper, K.D.: Engineering a Compiler, San Francisco, Morgan Kaufmann, 2004, 879 s., ISBN 155860698X
Wilhelm, R., Seidl, H.: Compiler Design: Virtual Machines, Springer, 2010, 187 s., ISBN 978-3-642-14908-5
R. Wilhelm, H. Seidl: Compiler Design: Virtual Machines. Springer, 2010. (EN)
C.L. Jeffery: Build Your Own Programming Language: A programmer's guide to designing compilers, interpreters, and DSLs for solving modern computing problems. Packt Publishing, 2021. (EN)
J. I. Moore: Introduction to Compiler Design: An Object-Oriented Approach Using Java, 2nd edition. SoftMoore Consulting, 2020. (EN)
D. Thain: Introduction to Compilers and Language Design, 2nd edition. Independently published, 2020. (EN)
T.Æ. Mogensen: Introduction to Compiler Design, 2nd edition. Springer, 2017. (EN)
D. Watson: A Practical Approach to Compiler Construction. Springer, 2017. (EN)
A. Meduna, P. Zemek: Regulated Grammars and Automata. Springer, 2014. (EN)
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ů
Jazyk výuky
angličtina
Cíl
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.
Zařazení předmětu ve studijních plánech
- Program IT-MGR-2 magisterský navazující
obor MBS , libovolný ročník, zimní semestr, 5 kreditů, volitelný
obor MBI , libovolný ročník, zimní semestr, 5 kreditů, volitelný
obor MIS , libovolný ročník, zimní semestr, 5 kreditů, povinně volitelný
obor MIN , libovolný ročník, zimní semestr, 5 kreditů, volitelný
obor MMM , libovolný ročník, zimní semestr, 5 kreditů, povinný
obor MGM , libovolný ročník, zimní semestr, 5 kreditů, volitelný - Program IT-MGR-2 magisterský navazující
obor MGMe , libovolný ročník, zimní semestr, 5 kreditů, povinně volitelný
- Program IT-MGR-2 magisterský navazující
obor MPV , libovolný ročník, zimní semestr, 5 kreditů, volitelný
obor MSK , libovolný ročník, zimní semestr, 5 kreditů, volitelný - Program MITAI magisterský navazující
specializace NBIO , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NISD , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NISY , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NISY do 2020/21 , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NIDE , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NCPS , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NSEC , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NMAT , libovolný ročník, zimní semestr, 5 kreditů, povinný
specializace NGRI , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NNET , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NVIZ , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NSEN , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NMAL , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NHPC , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NVER , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NEMB , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NADE , libovolný ročník, zimní semestr, 5 kreditů, volitelný
specializace NSPE , libovolný ročník, zimní semestr, 5 kreditů, volitelný - Program IT-MGR-1H magisterský navazující
obor MGH , libovolný ročník, zimní semestr, 5 kreditů, doporučený
Typ (způsob) výuky
Přednáška
39 hod., nepovinná
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
13 hod., povinná
Vyučující / Lektor
Osnova
- Vytvoření pokročilého kompilátoru.
- Příprava a prezentace vybraného tématu o kompilátorech.
eLearning
eLearning: aktuální otevřený kurz