Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2024/2025
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Code Generators

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
NIE-GEN Z,ZK 5 2P+1C anglicky
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra teoretické informatiky
Anotace:

Advanced techniques of translating programs written in high-level programming languages are essential for understanding the field of systems programming. This primarily involves understanding the algorithms and techniques used to translate more complex programming constructs of modern languages employed in systems programming. Students will become familiar with both the theoretical and practical aspects of implementing the back-end of optimizing compilers for programming languages.

Požadavky:

Principles of parsing and translation, graph algorithms.

Osnova přednášek:

1. Compiler Architecture

2. Translation of Basic Programming Language Constructs

3. Intermediate Representation

4. Syntax-Directed Translation

5. Translation of Object-Oriented Constructs

6. Exception Handling Translation

7. Optimization of Generated Code

8. Compile-Time Optimization

9. Compiler Back-End: Instruction Selection and Scheduling, Code Layout

10. Compiler Back-End: Register Allocation and Code Generation

11. Case Study: LLVM Compiler

12. JIT Compilation (Speculative Execution, Multi-Tier Architectures, Runtime Support)

Osnova cvičení:

1. Revision - basic data types.

2. Revision - intermediate code and translation of basic program structures I.

3. Revision - intermediate code and translation of basic program structures II.

4. Assignment of semestral works.

5. AST -> DAG -> BB.

6. Intermediate code optimization.

7. Register allocation.

8. Instruction selection I.

9. Instruction selection II.

10. Further optimizations.

11. Consultations on semestral works.

12. Instruction scheduling and pipeling.

13. Checking semestral works.

Cíle studia:

The aim of the module is to complete the education in the field of compiling and compilers. Basic principles of compiler back-end construction, optimization and generation of code are explained.

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:

Course information and study materials can be found at: https://courses.fit.cvut.cz/NI-GEN/

Další informace:
https://courses.fit.cvut.cz/NI-GEN/
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 15. 4. 2025
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet8305006.html