Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024

Generování kódu

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
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í:
Jan Janoušek, Petr Máj
Cvičící:
Jan Janoušek, 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 2023/2024:
Rozvrh není připraven
Rozvrh na letní semestr 2023/2024:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 23. 6. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6114906.html