Simple Compilers
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
- Note:
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- BS Matematické inženýrství - Matematické modelování (elective course)
- BS Matematické inženýrství - Matematická fyzika (elective course)
- BS Matematické inženýrství - Aplikované matematicko-stochastické metody (elective course)
- BS Informatická fyzika (elective course)
- BS Aplikace softwarového inženýrství (elective course)
- BS Aplikovaná informatika (elective course)
- BS jaderné inženýrství B (elective course)
- BS Jaderné inženýrství C (elective course)
- BS Dozimetrie a aplikace ionizujícího záření (elective course)
- BS Experimentální jaderná a částicová fyzika (elective course)
- BS Inženýrství pevných látek (elective course)
- BS Diagnostika materiálů (elective course)
- BS Fyzika a technika termojaderné fúze (elective course)
- BS Fyzikální elektronika (elective course)
- BS Jaderná chemie (elective course)
- Aplikovaná algebra a analýza (elective course)
- Aplikace informatiky v přírodních vědách (elective course)
- Aplikovaná informatika (elective course)
- Matematické inženýrství - Matematická informatika (elective course)
- Matematické inženýrství - Matematické modelování (elective course)