Course: Compilers

« Back
Course title Compilers
Course code KST/INKOM
Organizational form of instruction Lecture + Tutorial
Level of course Master
Year of study not specified
Semester Summer
Number of ECTS credits 5
Language of instruction Czech
Status of course Compulsory
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Benedikovič Miroslav, RNDr.
Course content
Concept of language and grammar. Chomsky classifying of grammar and language hierarchy . Finite automaton and regular grammar - relations. Facilities of regular languages. Regular expression. Searching of lexem, using of symbol table (binary tree, hashing) Syntax tree. Finite status automaton, building of scanner. Context-free grammar and stack automata - relations. Facilities of context-free languages. Syntax Tree derivation. Single precedential grammar. LL and LR languages and their facilities. LL(1) language, elimination of straight left recursion and left factorization. Account of set FIRST and FOLLOW. Deterministic stack automata. Building of parser. Parsing of declaration, expression, program and routine. Semantic analysis. Target language, interpreting, creating of target code.

Learning activities and teaching methods
Monologic (reading, lecture, briefing), Dialogic (discussion, interview, brainstorming), Methods of individual activities, Demonstration
Learning outcomes
Goal is an explanation foundations theory languages and grammars for students. This theory is used for making compilers and text analyzers writed in source code. Another goal is explaining methodics of creation compiler by construction concrete simple analyzer.
Student will learn to make compilers and analyzer of text writed in source code.
Prerequisites
Assumption is base knowledge of operating system Microsoft Windows, and algorithmization, and programming in some programming language.

Assessment methods and criteria
Oral examination, Home assignment evaluation, Didactic test

Condition to assignment approves is active job on exercises, vindication of practical work (programm) and successful make finishing test.
Recommended literature
  • Aho, A. V., Sethi, R., Ullmann, J. D. Compilers, Principles, Techniques, and Tools. Berkley: Addison-Wesley Publishing Company, 2006. ISBN 0-201-10088-6.
  • Benedikovič, M. Učební texty: Gramatiky, jazyky a kompilátory .
  • Hopcroft, J. E., Ullmann, J. D. Formální jazyky a automaty. ALFA, Bratislava, 1978. ISBN 63-096-78.
  • Louden, Keneth C. Compiler Construction - Principles and Praktice. Boston, PWS Publishing Comp., 1997.
  • Mak, R. Writing Compilers & Interpreters. New York, John Wiley & Sons, 1991.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Electrical Engineering and Informatics Study plan (Version): Information Technology (2015) Category: Informatics courses 2 Recommended year of study:2, Recommended semester: Summer
Faculty: Faculty of Electrical Engineering and Informatics Study plan (Version): Information Technology (2014) Category: Informatics courses 2 Recommended year of study:2, Recommended semester: Summer
Faculty: Faculty of Electrical Engineering and Informatics Study plan (Version): Information Technology (2016) Category: Informatics courses 2 Recommended year of study:2, Recommended semester: Summer