P037 Compiler Project

Faculty of Informatics
Spring 2002
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. PhDr. Karel Pala, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics
Contact Person: doc. RNDr. Pavel Smrž, Ph.D.
Timetable
Wed 10:00–11:50 B410
Prerequisites
P008 Compilers
P008 Compilers
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
Syllabus
  • 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.
  • 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 1996, Spring 1997, Spring 1998, Spring 1999, Spring 2000, Spring 2001.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/spring2002/P037