Generování kódu
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
NI-GEN | Z,ZK | 5 | 2P+1C | česky |
- Garant předmětu:
- Jan Janoušek
- Přednášející:
- Petr Máj
- Cvičící:
- Petr Máj
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Pokročilé techniky překladu programů ve vyšších programovacích jazycích jsou nezbytné pro pochopení problematiky systémového programování, jedná se především o pochopení algoritmů a technik překladu složitějších programových konstruktů moderních jazyků používaných v systémovém programování. Studenti se seznámí s teoretickými i praktickými stránkami realizace zadní části optimalizujících překladačů programovacích jazyků.
- Požadavky:
-
Principy překladu, grafové algoritmy.
- Osnova přednášek:
-
1. Architektura překladače.
2. Překlad základních konstruktů programovacích jazyků.
3. Vnitřní reprezentace.
4. Syntaxí řízený překlad.
5. Překlad objektových konstruktů.
6. Překlad vyjímek.
7. Optimalizace generovaného kódu.
8. Optimalizace v době sestavování programu.
9. Zadní část překladače: Výběr a plánování instrukcí, rozvržení kódu.
10. Zadní část překladače: Alokace registrů a generování kódu.
11. Případová studie: LLVM překladač.
12. JIT překlad (spekulativní provádění instrukcí, vícevrstvé architektury, podpora runtime).
- Osnova cvičení:
- Cíle studia:
-
Cílem předmětu je završit vzdělání v oblasti překladů a překladačů o základní principy konstrukce zadních částí (backend) překladače a metod optimalizace a generování kódu.
- Studijní materiály:
-
1. Aho, A. V. - Lam, M. S. - Sethi, R. - Ullman, J. D. : Compilers: Principles, Techniques, and Tools (2nd Edition). Addison-Wesley, 2006. ISBN 0321486811.
2. Muchnick, S. : Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997. ISBN 1558603204.
3. Grune, D. - van Reeuwijk, K. - Bal, H.E. - Jacobs, C.J.H. - Langendoen, K. : Modern Compiler Design (2nd Edition). Springer, 2012. ISBN 1461446988.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/MI-GEN/
- Další informace:
- https://courses.fit.cvut.cz/MI-GEN/
- Rozvrh na zimní semestr 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Mgr. specializace Počítačová bezpečnost, 2020 (volitelný předmět)
- Mgr. specializace Návrh a programování vestavných systémů, 2020 (volitelný předmět)
- Mgr. specializace Počítačové systémy a sítě, 2020 (volitelný předmět)
- Mgr. specializace Manažerská informatika, 2020 (volitelný předmět)
- Mgr. specializace Softwarové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Systémové programování, verze od 2020 (PS)
- Mgr. specializace Webové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Znalostní inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2020 (volitelný předmět)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2020 a vyšší (VO)
- Master Specialization Digital Business Engineering, 2023 (VO)
- Mgr. specializace Systémové programování, verze od 2023 (PS)
- Mgr. specializace Teoretická informatika, 2023 (volitelný předmět)