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

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
MI-GEN Z,ZK 4 2P+1C česky
Přednášející:
Jan Janoušek (gar.)
Cvičící:
Petr Máj
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

Rozvrh na zimní semestr 2018/2019:
Rozvrh není připraven
Rozvrh na letní semestr 2018/2019:
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
místnost T9:302
Janoušek J.
11:00–12:30
(přednášková par. 1)
Dejvice
NBFIT učebna
místnost T9:347
Máj P.
14:30–16:00
SUDÝ TÝDEN

(přednášková par. 1
paralelka 101)

Dejvice
NBFIT učebna
St
Čt

Předmět je součástí následujících studijních plánů:
Platnost dat k 23. 5. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet1431006.html