PA008 Compiler Construction

Faculty of Informatics
Autumn 2008
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–17:50 B204
Prerequisites
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
there are 18 fields of study the course is directly associated with, display
Course objectives
Main objectives can be summarized as follows: to understand 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. x, 796 s. ISBN 0-201-10088-6. 1987. info
  • APPEL, Andrew W. Modern compiler implementation in Java. Cambridge: Cambridge University Press. x, 548. ISBN 0521583888. 1998. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company. 811 s. ISBN 0-8053-3201-4. 1988. info
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company. xv, 606 s. ISBN 0-201-42290-5. 1995. info
  • Melichar, Bořivoj. Konstrukce překladačů. 1.a 2. část. Praha : ČVUT, 1999.
Assessment methods
Lectures and home readings, written final exam without any reading materials (closed book).
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 2006, Autumn 2007, 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.
  • Enrolment Statistics (Autumn 2008, recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2008/PA008