PA008 Compiler Construction

Faculty of Informatics
Autumn 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
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/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Spring 2024, Spring 2025.
  • Enrolment Statistics (Autumn 2006, recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2006/PA008