Generování kódu
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
MI-GEN | Z,ZK | 4 | 2+1 | česky |
- Přednášející:
- Jan Janoušek (gar.)
- Cvičící:
- Radomír Polách, Jan Trávníček
- 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:
-
Rozsah=prednasky+proseminare+cviceni2p+1c, Prednasejici: Ing. Jan Janoušek Ph.D.
- Rozvrh na zimní semestr 2011/2012:
- Rozvrh není připraven
- Rozvrh na letní semestr 2011/2012:
-
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á - Předmět je součástí následujících studijních plánů:
-
- Počítačová bezpečnost - verze pro ty, kteří se zapsali v roce 2010 (povinný předmět oboru)
- Zaměření Systémové programování - verze pro ty, kteří se zapsali v roce 2010 (povinný předmět zaměření)
- Společný plán před přiřazením do oboru, verze pro ty, kteří se zapsali v roce 2010 (VO)
- Společný plán před přiřazením do oboru, verze pro ty, kteří se zapsali v roce 2011 (VO)
- Počítačová bezpečnost - verze pro ty, kteří se zapsali v roce 2011 (povinný předmět oboru)
- Zaměření Systémové programování - verze pro ty, kteří se zapsali v roce 2011 (povinný předmět zaměření)
- Společný plán před přiřazením do oboru, verze pro ty, kteří se zapsali v roce 2012 (VO)
- Zaměření Systémové programování - verze pro ty, kteří se zapsali v roce 2012 (povinný předmět zaměření)