FI:P037 Compiler Project - Course Information
P037 Compiler Project
Faculty of InformaticsSpring 2000
- Extent and Intensity
- 0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
- Teacher(s)
- doc. RNDr. Pavel Smrž, 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. - 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
- Informatics (programme FI, B-IN)
- Informatics (programme FI, M-IN)
- Upper Secondary School Teacher Training in Informatics (programme FI, M-IN)
- Upper Secondary School Teacher Training in Informatics (programme FI, M-SS)
- Information Technology (programme FI, B-IN)
- 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 taught: every week.
- Enrolment Statistics (Spring 2000, recent)
- Permalink: https://is.muni.cz/course/fi/spring2000/P037