Generování kódu
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
MI-GEN | Z,ZK | 4 | 2P+1C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Studenti se seznámí s teoretickou i praktickou stránkou realizace zadní části optimalizujícího překladače programovacího jazyka.
- Požadavky:
-
Principy překladu, grafové algoritmy.
- Osnova přednášek:
-
1. Přehled konstrukcí programovacích jazyků.
2. Základní pojmy: typy, proměnné, kompatibilita typů a dynamické datové struktury.
3. Základní pojmy: aktivační záznam, volací konvence.
4. Vnitřní formy.
5. Přímé generování kódu, AST -> DAG ->BB.
6. Analýza DAG, BB, závislosti a antizávislosti.
7. Alokace registrů, alokace paměti (statická, na zásobníku).
8. Optimalizace mezikódu.
9. Generování kódu, výběr instrukcí.
10. Překlad jazyka zásobníkového počítače na nativní HW, HW závislé optimalizace.
11. Moduly a oddělený překlad.
12. Podpora pro ladění.
13. Generování kódu pro objektově orientované programovací jazyky.
- Osnova cvičení:
-
1. Opakování - Základní datové typy.
2. Opakování - mezikódy a překlad základních programových struktur I.
3. Opakování - mezikódy a překlad základních programových struktur II.
4. Zadání semestrální práce.
5. AST -> DAG -> BB.
6. Alokace registrů.
7. Optimalizace nad mezikódem.
8. Výběr instrukcí I.
9. Výběr instrukcí II.
10. Další optimalizace.
11. Konzultace k semestrální práci.
12. Plánování instrukcí a pipeling.
13. Odevzdání a hodnocení semestrálních prací, zápočet.
- 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:
-
Melichar, B. a kol. ''Konstrukce překladačů''. Praha: ČVUT, 1999. ISBN 80-01-02028-2.
Wirth, N. ''Compiler Construction''. Addison-Wesley, 1996. ISBN 0201403536.
Aho, A. V., Lam, M. S., Sethi, R., Ullman, J. D. ''Compilers: Principles, Techniques, and Tools (2nd Edition)''. Addison Wesley, 2006. ISBN 0321486811.
- 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/
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Mgr. obor Znalostní inženýrství, 2016-2017 (volitelný předmět)
- Mgr. obor Počítačová bezpečnost, 2016-2019 (volitelný předmět)
- Mgr. obor Počítačové systémy a sítě, 2016-2019 (volitelný předmět)
- Mgr. obor Návrh a programování vestavných systémů, 2016-2019 (volitelný předmět)
- Mgr. obor Webové a softwarové inženýrství, zaměření Informační systémy a management, 2016-2019 (volitelný předmět)
- Mgr. obor Webové a softwarové inženýrství, zaměření Softwarové inženýrství, 2016-2019 (volitelný předmět)
- Mgr. obor Webové a softwarové inženýrství, zaměření Webové inženýrství, 2016-2019 (volitelný předmět)
- Mgr. program Informatika, pro fázi studia bez oboru, 2016-2019 (VO)
- Mgr. obor Systémové programování, zaměření Systémové programování, 2016-2019 (povinný předmět zaměření)
- Mgr. obor Systémové programování, zaměření Teoretická informatika, 2016-2017 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2018-2019 (volitelný předmět)
- Mgr. obor Znalostní inženýrství, 2018-2019 (volitelný předmět)