Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2025/2026

Code Generators

Display time-table
Code Completion Credits Range Language
NI-GEN Z,ZK 5 2P+1C Czech
Course guarantor:
Jan Janoušek
Lecturer:
Petr Máj
Tutor:
Petr Máj
Supervisor:
Department of Theoretical Computer Science
Synopsis:

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.

Requirements:

Principles of parsing and translation, graph algorithms.

Syllabus of lectures:

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)

Syllabus of tutorials:
Study Objective:

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.

Study materials:

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.

Note:
Further information:
https://courses.fit.cvut.cz/NI-GEN/
Time-table for winter semester 2025/2026:
Time-table is not available yet
Time-table for summer semester 2025/2026:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2025-04-15
For updated information see http://bilakniha.cvut.cz/en/predmet6114906.html