Course details
Formal Languages and Compilers
IFJ Acad. year 2003/2004 Winter semester 5 credits
This course discusses formal languages and their models. Based on these models, it explains the construction of compilers. The lectures are organized as follows: (I) Basic notions: formal languages and their models, grammars, automata; compilers. (II) Regular languages and lexical analysis: regular languages and expressions, finite automata and transducers, lexical analyzer; Lex; symbol table. (III) Context-free languages and syntax analysis: context-free grammars, pushdown automata and transducers, deterministic top-down syntax analysis (recursive descent), the essence of deterministic bottom-up syntax analysis; Yacc. (IV) Semantic analysis and code generation: intermediate code generation, optimization, code generation.
Guarantor
Language of instruction
Completion
Time span
Department
Subject specific learning outcomes and competences
Fundamental familiarity with the theory of formal languages. Ability of a compiler construction.
Learning objectives
Familiarity with formal languages and their models. Grasp of compiler construction.
Recommended prerequisites
- Discrete Mathematics (IDM)
Course inclusion in study plans
- Programme IT-BC-3, field BIT, 2nd year of study, Compulsory
- Programme IT-BC-3 (in English), field BIT, 2nd year of study, Compulsory