Introduction to Compiler Construction

Semestr: Summer

Range: 2+2s


Credits: 4

Programme type: Undefined

Study form:

Course language:


Basic notions of compiler construction, compiler decomposition, parts of a compiler, lexical analysis, attributed translations, attribute grammars, attribute evaluation, LL attributed translations, processing of declarations, symbol table, structured data, intermediate program form, tree representation, translation of arithmetic and logic expressions, translation of control statements, translation of procedures, object program generation, register assignment, program optimization.


Course syllabus:

1. Basic notions and principles of the compiler construction
2. The decomposition of the compiler, its basic parts
3. Lexical analysis
4. Attributed grammars, attributed translations
5. Evaluation of attributes
6. LL attributed translations
7. Processing of declarations
8. Processing of data structures declaration
9. Internal languages of compilers, tree representation of programs
10. Translation of arithmetic and logic expressions, type checking
11. Translation of control statements
12. Translation of procedure declarations and calls
13. Code generation
14. Register allocation, program optimization

Seminar syllabus:

1. Formal translations
2. Definition of PL0 language
3. Context-free grammar for PL0 language
4. Translation grammar for PL0 compiler
5. Attributed grammars, simple examples
6. Attributed grammars, declaration processing
7. Attributed grammars, translation of language constructs
8. Attributed grammars, translation of language constructs
9. Attributed grammar for PL0 compiler
10. Attributed grammar for PL0 compiler
11. Interpreter of IL PL0
12. Code generation
13. Evaluation of PL0 compiler