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

Simple Compilers

The course is not on the list Without time-table
Code Completion Credits Range Language
01JEPR Z 2 2 Czech
Garant předmětu:
Lecturer:
Tutor:
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:
Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-04-19
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet12073305.html