Lecturer(s)
|
-
Kosková Třísková Lenka, Ing. Ph.D.
|
Course content
|
Lecturec: 1. Compilation types, internal compilator structure 2. Toolchains 3. Language definitions 4. Lexical analysis 5. Syntactical analysis 6. Semantical analysis, symbol table 7. Intermediate languages 8. Output code syntesis 9. Optimization 10. Cross compilation, toolchains usage demonstration Practical lessons: 1. Machine code, assembler - practical demonstration 2. Toolchains 3. Language definition 4. - 5. Lexical analyzator construction 6 - 7. Syntactical analyzator construction 8. Code optimization - practical lessons 9. - 10. Compiler construction
|
Learning activities and teaching methods
|
Monological explanation (lecture, presentation,briefing)
- Class attendance
- 40 hours per semester
|
Learning outcomes
|
This course discusses internal mechanisms of compilers and interpreters of programing languages. Explain basic principles of compilation, structure of a compiler and steps of compilation. Lexical analysis, parsing techniques, syntactical and semantic analysis. Deterministic languages, LL a LR languages. Symbol table and their organisation. Memory management during the compilation and run time. Error recovery. Compilation of program constructs, code generation and optimisation. YACC and Lex program.
Students will acquire understanding of compiler principles and its design. Will be able effectively use it with supplementary utilities.
|
Prerequisites
|
Unspecified
|
Assessment methods and criteria
|
Combined examination
Requirements for getting a credit are activity at the practicals /seminars and successful passing the tests. Examination is of the written and oral forms.
|
Recommended literature
|
-
Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J.H. Jacobs, Koen Langendoen. Modern Compiler Design. Springer Science+Business Media New York. 2012.
-
Torben AEgidius Mogensen. Introduction to Compiler Design. Springer-Verlag London Limited. 2011.
|