Lecturer(s)
|
|
Course content
|
1) Basic terms of language theory, definitions and classifications of grammatics 2) Regular grammatics, regular expressions 3) Deterministic and not derministic finite automata, transformations 4) Realization of finite automata 5) Finite automata with output, stack automata 6) LL grammatics, decomposition table, syntactical analyse, transformations of grammatics 7) Lexical analysator and its realization 8) Formal translations, grammatics for translations 9) Automata and grammatics for translations 10) Attribute translation grammatics 11) Enumeration of parameters of attribute grammars 12) Syntactical analysator realization 13) Syntactical analysator realization 14) Abstract syntactical three, output generating
|
Learning activities and teaching methods
|
Monologic (reading, lecture, briefing)
- Preparation for classes
- 10 hours per semester
- Preparation for exam
- 40 hours per semester
- Preparation for credit
- 30 hours per semester
- Class attendance
- 40 hours per semester
- Semestral paper
- 20 hours per semester
|
Learning outcomes
|
Students will in principle understand the principles used in the creation of modern compilers - ie regular grammars, finite state machines, formal translation, LL (k), and attribute grammars.
|
Prerequisites
|
Knowledge at the level of the course Theoretical Informatics and active knowledge of concepts in the field of programming are assumed.
|
Assessment methods and criteria
|
Oral examination, Test
Writing a semester test with a success rate of over 50% and elaboration of a semester work.
|
Recommended literature
|
-
Bořivoj Melichar. Jazyky a překlady. Praha, 1996. ISBN 80-01-01511-4.
-
Karel Muller. Programovací jazyky. Praha, 2002. ISBN 80-01-02458-X.
|