PA008 Compiler Construction

Faculty of Informatics
Autumn 2003
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
Wed 14:00–16:50 B204
Prerequisites (in Czech)
! P008 Compilers
Předpokládá se znalost odpovídající rozsahu kursu IB005 a metod syntaktické analýzy LL, LR odpovídající 1.třetině kursu IA006.
Course Enrolment Limitations
The course is only offered to the students of the study fields 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. Online. Reading: Addison-Wesley Publishing Company, 1987. x, 796 s. ISBN 0-201-10088-6. [citováno 2024-04-23] info
  • APPEL, Andrew W. Modern compiler implementation in Java. Online. Cambridge: Cambridge University Press, 1998. x, 548. ISBN 0521583888. [citováno 2024-04-23] info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Online. Menlo Park: Benjamin/Cummings Publishing Company, 1988. 811 s. ISBN 0-8053-3201-4. [citováno 2024-04-23] info
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Online. Wokingham: Addison-Wesley Publishing Company, 1995. xv, 606 s. ISBN 0-201-42290-5. [citováno 2024-04-23] 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 2004, Autumn 2005, Autumn 2006, 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.
  • Enrolment Statistics (Autumn 2003, recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2003/PA008