Parsing and Compilers
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
MI-SYP | Z,ZK | 4 | 2+1 | Czech |
- Lecturer:
- Bořivoj Melichar (gar.)
- Tutor:
- Jan Janoušek
- Supervisor:
- Department of Computer Science
- Synopsis:
-
The module builds upon the knowledge of fundamentals of automata theory, formal language and formal translation theories. Students gain knowledge of various variants and applications of LR parsing and are introduced to special applications of parsers, such as incremental and parallel parsing.
- Requirements:
-
Knowledge of fundamentals of the theory of formal languages and translations. Knowledge of finite and pushdown automata, construction of an LL parser, and compiler directed by an LL parser.
- Syllabus of lectures:
-
1. Recapitulaton of basic notions, LL parsing.
2. Classification of LR parsers.
3. Strong LR(k) parsing.
4. LR(0) and SLR(1) parsing.
5. LALR(k) and LR(k) parsing.
6. Translation directed by an LR parser.
7. Evaluation of attributes during LR parsing.
8. LR attributed translation.
9. Intermediate representation.
10. Incremental LL parsing.
11. Incremental LR parsing.
12. Parallel LL parsing.
13. Parallel LR parsing.
- Syllabus of tutorials:
-
1. Revision - construction of weak and strong LL parsers.
2. Revision - compiler directed by LL parser.
3. Strong LR(k) parsing.
4. LR(0) parsing.
5. SLR(1) parsing.
6. LALR(k) parsing.
7. LR(k) parsing.
8. Translation directed by LR parser.
9. Evaluation of attributes during LR parsing, LR attributed translation.
10. Incremental LR parsing.
11. Parallel LL parsing.
12. Parallel LR parsing.
- Study Objective:
-
Knowledge acquired in this module can be used for compiler construction or other types of programs for parsing and processing structured texts.
- Study materials:
-
1. Melichar, B., Holub, J., Mužátko, P. ''Languages and Translations''. Praha: Publishing House of CTU, 1997. ISBN 80-01-01692-7.
3. Aho, A. V., Lam, M. S., Sethi, R., Ullman, J. D. ''Compilers: Principles, Techniques, and Tools (2nd Edition)''. Addison Wesley, 2006. ISBN 0321486811.
4. Grune, D., Jacobs, C. J. H. ''Parsing Techniques. A Practical Guide (2nd Edition)''. Springer, 2008. ISBN 038720248X.
- 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:
-
- Branch System Programming, Version for Students who Enrolled in 2010, Presented in Czech (compulsory course of the specialization)
- Branch System Programming, Version for Students who Enrolled in 2010, Presented in Czech (compulsory course of the specialization)
- Master Informatics, Version for Students who Enrolled in 2010, Presented in Czech (VO)
- Master Informatics, Presented in Czech, Version for Students who Enrolled in 2011 (VO)
- Branch System Programming, Presented in Czech, Version for Students who Enrolled in 2011 (compulsory course of the specialization)
- Branch Computer Science, Presented in Czech, Version for Students who Enrolled in 2011 (compulsory course of the specialization)
- Master Informatics, Presented in Czech, Version for Students who Enrolled in 2012 (VO)
- Branch System Programming, Presented in Czech, Version for Students who Enrolled in 2012 (compulsory course of the specialization)
- Branch Computer Science, Presented in Czech, Version for Students who Enrolled in 2012 (compulsory course of the specialization)