Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2023/2024
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Simple Compilers

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
01JEPR Z 2 2 Czech
Garant předmětu:
Zdeněk Čulík
Lecturer:
Tutor:
Zdeněk Čulík
Supervisor:
Department of Mathematics
Synopsis:

Lexical and syntax analysis, code generation, simple optimizations, development environments, reflection.

Requirements:
Syllabus of lectures:

1. Lexical and syntax analysis of programming languages (Pascal, C++, Java)

2. Data structures for representations of expressions, statements, types and declarations 3. Programs for automatic compiler generations (Lex, Yacc, ANTLR) Simple optimizations

4. Code generation

5. Principles of integrated development environments, influence of run time type identification.

6. Overview of syntax analysis and code generation in GNU Compiler Collection.

7. Other GNU programs for software development.

Syllabus of tutorials:

1. Simple lexical analysis written in C programming language

2. Semantic analysis

3. Type and declaration processing, navigation trees in used in development environments

4. Semantic analyzers generated by ANTLR program

5. Simple code generation, register allocation

6. Extension modules for GCC and LLVM/CLang compilers

Study Objective:

Knowledge:

Structure of programming language compilers, machine code generation, translation to another programming language

Skills:

To develop syntactic and semantic analysis of simple programming language using modern grammar generators.

Study materials:

[1] N. Wirth: Compiler Construction, Addison Wesley, 1996

[2] S. Pemberton, M. Daniels: Pascal Implementation: The P4 Compiler, Prentice Hall, 1983

[š] D. Grune, C. Jacobs: Parsing Techniques - A Practical Guide, Ellis Horwood, 1990

[4] http://www.antlr.org

Note:
Time-table for winter semester 2023/2024:
Time-table is not available yet
Time-table for summer semester 2023/2024:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-03-27
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet12073305.html