UIINK28 Compilers

Faculty of Philosophy and Science in Opava
Winter 2019
Extent and Intensity
12/0/0. 6 credit(s). Type of Completion: zk (examination).
Teacher(s)
RNDr. Šárka Vavrečková, Ph.D. (lecturer)
Guaranteed by
RNDr. Šárka Vavrečková, Ph.D.
Institute of Computer Science – Faculty of Philosophy and Science in Opava
Prerequisites (in Czech)
TYP_STUDIA ( B )&& UIINK08 Algorithms and Programming II && UIINK11 TLA I
Course Enrolment Limitations
The course is offered to students of any study field.
Course objectives
The course Compilers is about practical usage of theoretical informatics in programming with a view to the compilation of text strings including files. Knowledge of theoretical informatics (formal languages, finite and pushdown automata) and programming is required. Students create the own simple compiler (interpreter) of an arbitrary language, inclusive of mathematical expressions, as their project in this course.
Learning outcomes
Students will be able to:
- describe basic procedures of presentation of the lexical and syntactic structure of programming language using some types of formal grammars,
- analyze the programming of the lexical and syntactic parser according to these structures,
- identify and describe other phases of compiler programming.
Syllabus
  • 1. Structure of compilers.
  • 2. Lexical analysis. Methods and their implementation.
  • 3. Syntactic analysis, parsing. LL(1), strong LL(k) and strong LR(k) grammars and their implementation.
  • 4. Semantic analysis. Processing of variables. Intermediary code.
  • 5. Syntax-controlled processing.
  • 6. Attributive interpretation.
  • 7. Programming of the advanced language constructions.
Literature
    required literature
  • VAVREČKOVÁ, Š. Programování překladačů. Opava: Slezská univerzita v Opavě, 2008. ISBN 978-80-7248-493-5. info
    recommended literature
  • COOPER, Keith D. a Linda TORCZON. Engineering a compiler. 2nd ed. Boston: Elsevier/Morgan Kaufmann, 2012. ISBN 978-0-12-088478-0. info
  • GYUNGHO LEE a Pen-Chung YEW (eds). Interaction between compilers and computer architectures. New York: Springer, 2011. ISBN 978-144-1948-960. info
  • MOZGOVOY, Maxim. Algorithms, languages, automata, and compilers: a practical approach. Sudbury, Mass.: Jones and Bartlett Publishers, 2010. ISBN 978-0-7637-7627-5. info
  • SAFONOV, V. O. Trustworthy compilers. Hoboken, N.J.: John Wiley, 2010. ISBN 978-047-0500-958. info
  • GUNDERLOY, Mike. Z kodéra vývojářem: nástroje a techniky pro opravdové programátory. Brno: Computer Press, 2007. ISBN 978-80-251-1517-6. info
  • MELICHAR, B. - ČEŠKA, M. - JEŽEK, K. - RICHTA, K. Konstrukce překladačů I, II. Praha: ČVUT, 1999. info
Teaching methods
Interactive lecture
Lecture supplemented with a discussion
Assessment methods
Credit:
- Compulsory attendance at seminars min. 75%.
- Two tests, min. 50% points from each.
- Programming lexical analysis of simple compiler.
Test:
- Written, a list of questions is on the subject's web.
- Programming your own simple interpreter in the selected programming language.
Language of instruction
Czech
Further comments (probably available only in Czech)
The course can also be completed outside the examination period.
Information on the extent and intensity of the course: Přednáška 12 HOD/SEM.
The course is also listed under the following terms Winter 2020, Winter 2021, Winter 2022, Winter 2023.
  • Enrolment Statistics (Winter 2019, recent)
  • Permalink: https://is.slu.cz/course/fpf/winter2019/UIINK28