Překladačový systém LLVM
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
MI-LCF | Z,ZK | 4 | anglicky |
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Předmět do podrobností představuje překladačový systém LLVM, který je stále vice populární a stává se s jedním z průmyslových standardů v oblasti překladačů.Studenti získají znalosti jak systém LLVM použít pro napsání vlastního (just-in-time) překladače. Prakticky jsou probírána zajímavá témata jako například překlady vnitřních reprezentací v LLVM, optimalizace kódu nebo integrace garbage kolektoru do zkompilovaného kódu. Během kurzu si každý ze studentů vyzkouší napsat svůj vlastní jednoduchý překladač dynamického programovacího jazyky (jako jsou např. Python, Matlab nebo R). Kurz vede prof. Jan Vitek z Northeastern University.
- Požadavky:
- Osnova přednášek:
-
Programovací jazyky a překladače..
SYntaktická analýza a vytváření AST.
Generování vnitřní formy překladače LLVM.
Just in time překlad.
Reprezentace dat..
Analýza a optimalizace programů..
Garbage kolektor.
Generování kódu.
Vyhodnocování výkonu..
- Osnova cvičení:
- Cíle studia:
- Studijní materiály:
-
Aho, Lam, Sethi, Ullman: Compiler: Principles, Techniques and Tools (2nd ed.), Addison-Wesley, 2010.
Muchnick: Advanced compiler design and implementation, Morgan Kaufman Publishers, 2009.
Fischer, LeBlanc: Crafting a Compiler, 1995.
Louden, K.: Compiler Construction, Thomson, 1997.
- Poznámka:
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Znalostní inženýrství, verze 2016 a 2017 (volitelný předmět)
- Počítačová bezpečnost, verze 2016 až 2019 (volitelný předmět)
- Počítačové systémy a sítě, verze 2016 až 2019 (volitelný předmět)
- Návrh a programování vestavných systémů, verze 2016 až 2019 (volitelný předmět)
- Zaměření Informační systémy a management, verze 2016 až 2019 (volitelný předmět)
- Zaměření Softwarové inženýrství, verze 2016 až 2019 (volitelný předmět)
- Zaměření Webové inženýrství, verze 2016 až 2019 (volitelný předmět)
- Společný magisterský plán před přiřazením do oboru, verze 2016 až 2019 (volitelný předmět)
- Zaměření Systémové programování, verze 2016 až 2019 (volitelný předmět)
- Zaměření Teoretická informatika, verze 2016-2017 (volitelný předmět)
- Specializace Teoretická informatika, verze 2018 až 2019 (volitelný předmět)
- Znalostní inženýrství, verze 2018 to 2019 (volitelný předmět)