Compiler Construction
Code | Completion | Credits | Range |
---|---|---|---|
X36TPR | Z,ZK | 4 | 2+2s |
- The course is a substitute for:
- Compiler Construction (36TPR)
- Lecturer:
- Jan Janoušek, Neurčen (gar.), Bořivoj Melichar
- Tutor:
- Jan Janoušek, Neurčen (gar.), Bořivoj Melichar
- Supervisor:
- Department of Computer Science and Engineering
- Synopsis:
-
This course follows lectures on Programming Languages and Compilers and Languages and Translations. It contains definition and application of attribute grammars, which is a basic formalism for description of attributed translations. The next topics are special cases of compiler construction, incremental and parallel parsing, generating and optimisation of target code.
- Requirements:
- Syllabus of lectures:
-
1. Introduction, overview of entrances knowledge.
2. Attributed translation, basic notions.
3. Attributed translation, grammars.
4. Evaluation of attributes.
5. One-pass attributed translations.
6. Translation of complex language structures.
7. Classical methods of target program generation.
8. Target program generation for processors with the pipelining architecture
9. Target program optimization
10. Parallel LL parsing
11. Parallel LR parsing
12. Incremental LL parsing
13. Incremental LR parsing
14. Special applications (communication protocols, stringology, bioinformatics)
- Syllabus of tutorials:
-
1. Parsers for LL grammars
2. Parsers for strong LR grammars
3. Attribute grammars - simple constructions
4. Attribute grammars - complex constructions
5. Attribute evaluations
6. Attribute evaluations directed by LL parsing
7. Attribute evaluations directed by LR parsing
8. Projects inspection
9. Translation of complex language structures
10. Target program generation
11. Parallel LL parsing
12. Parallel LR parsing
13. Incremental LL parsing
14. Incremental LR parsing
- Study Objective:
- Study materials:
-
1. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers - Principles, Techniques and Tools. Addison-Wesley, Reading, Mass., 1986.
- Note:
- Time-table for winter semester 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri - Time-table for summer semester 2011/2012:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Computer Technology - System Programming- structured studies (compulsory course of the branch)