FI:PA008 Compiler Construction - Course Information
PA008 Compiler Construction
Faculty of InformaticsAutumn 2006
- Extent and Intensity
- 3/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
- Teacher(s)
- prof. RNDr. Mojmír Křetínský, CSc. (lecturer)
- Guaranteed by
- prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Mojmír Křetínský, CSc. - Timetable
- Thu 14:00–16:50 B410
- Prerequisites
- ! P008 Compilers
Finite automata and regular languages (see IB005); pushdown automata and context-free languages, especially the parsing methods of deterministic context-free languages (LL and LR techniques) - see IA006. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Applied Informatics (programme FI, N-AP)
- Informatics (programme FI, M-IN)
- Informatics (programme FI, N-IN)
- Upper Secondary School Teacher Training in Informatics (programme FI, M-SS)
- Upper Secondary School Teacher Training in Informatics (programme FI, M-TV)
- Upper Secondary School Teacher Training in Informatics (programme FI, N-SS)
- Course objectives
- This course presents principles, methods, and techniques used in design and implementation of compilers programming languages and the related systems based on analysis of an input text and synthesis of the corresponding output. The principles and techniques of compiler writing are so pervasive that the ideas presented will be used many times in the career of a computer scientist and/or practitioner.
- Syllabus
- Tasks of compiling, phases of a compiler, compiler structure.
- The role of lexical analysis. Structure, modules and interfaces. Construction.
- Parsing. The role of parser, interfaces and imlementation.
- Attribute grammars (AG) and syntax directed translation. Description of language properties via AGs.
- Semantic analysis, its tasks and implementation. Name and scope analysis, type checking.
- Run-time enviroments, storage organization and allocation, stack and heap.
- One-pass and multi-pass compiling. Intermediate code generation
- Code generation. register allocation.
- Error recovery.
- Local optimization. Flow analyses, global optimization.
- Compiler generators, techniques and tools.
- Literature
- AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
- APPEL, Andrew W. Modern compiler implementation in Java. Cambridge: Cambridge University Press, 1998, x, 548. ISBN 0521583888. info
- FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
- WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
- Melichar, Bořivoj. Konstrukce překladačů. 1.a 2. část. Praha : ČVUT, 1999.
- Assessment methods (in Czech)
- závěrečná písemná zkouška bez pomocných materiálů.
- Language of instruction
- Czech
- Further Comments
- The course is taught annually.
- Teacher's information
- http://www.fi.muni.cz/usr/kretinsky/
- Enrolment Statistics (Autumn 2006, recent)
- Permalink: https://is.muni.cz/course/fi/autumn2006/PA008