FPF:UIMOIBP016 Compilers - Course Information
UIMOIBP016 Compilers
Faculty of Philosophy and Science in OpavaWinter 2024
- Extent and Intensity
- 2/2/0. 6 credit(s). Type of Completion: zk (examination).
- Teacher(s)
- RNDr. Šárka Vavrečková, Ph.D. (lecturer)
RNDr. Šárka Vavrečková, Ph.D. (seminar tutor) - Guaranteed by
- RNDr. Šárka Vavrečková, Ph.D.
Institute of Computer Science – Faculty of Philosophy and Science in Opava - Timetable
- Wed 9:45–11:20 LEI
- Timetable of Seminar Groups:
- Prerequisites
- Algorithms and Programming II
Theory of languages and automata I - 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
- Information and communication technologies (programme FPF, MOI)
- Course objectives
- This subject concentrates on practical usage of theoretical computer science in programming with a focus on the compilation of text strings, including files. Knowledge of theory of computing (formal languages, finite and pushdown automata) and programming is required. Students learn basic methods of representation of the lexical and syntactic structure of a programming language using some types of formal grammars, programming lexical and syntactic analyzer according to these structures, and continue with the other phases of compiler programming. Students create the own simple compiler (interpreter) of an arbitrary language, involving working with mathematical expressions.
- Learning outcomes
- Students will be able to:
- describe basic procedures for creating of the lexical and syntactic structure of a programming language using some types of formal grammars,
- design the lexical analyzer and syntactic parser according to these structures,
- program the own simple compiler. - Syllabus
- 1. Compiler structure.
- 2. Lexical analysis. Methods of lexical analysis and their implementation.
- 3.–5. Syntactic analysis, LL(1), strong LL(k) grammars, their use and implementation.
- 6.–7. Syntactic analysis using strong LR(k) grammars, implementation.
- 8. Semantic analysis. Symbol table and its implementation. Intermediate code.
- 9.–10. Syntax-Directed Compilation.
- 11.–12. Attribute-directed compilation and its implementation.
- 13. Programming more advanced language constructs.
- Teaching methods
- Interactive lecture
Lecture with a discussion
Exercises
Project - Assessment methods
- Credit:
- Compulsory attendance at seminars min. 75 %.
- Two tests, min. 50 % points from each.
- Programming: lexical analysis of simple compiler.
Exam:
- Written, a list of questions is on the web of the subject.
- Programming own interpreter in the selected programming language. - Language of instruction
- Czech
- Further Comments
- The course can also be completed outside the examination period.
- Enrolment Statistics (Winter 2024, recent)
- Permalink: https://is.slu.cz/course/fpf/winter2024/UIMOIBP016