PA037 Compiler Project

Faculty of Informatics
Spring 2007
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Thu 14:00–15:50 B411
Prerequisites
P008 Compilers
PA008 Compiler Construction
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 6 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge concerning the structure of programming languages and compilers. To pass this seminar, students have to implement a compiler of a simple programming language. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to this number.
Syllabus
  • The logical structure of a compiler. Formalisms used for specification of individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler. Cooperation between modules.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. The relationship with operating system. Unix and C.
  • I386 assembler, conventions of C.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.
  • Enrolment Statistics (Spring 2007, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2007/PA037