Navigation

MS1PP2 - Compiler Construction 2

Course specification
Course title Compiler Construction 2
Acronym MS1PP2
Study programme Electrical Engineering and Computing
Module Software Engineering
Type of study master academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status elective
Condition Passed exam: Compiler construction 1
The goal Students should gain better understanding of the following topics: a variety of parsing techniques; error detection and recovery; intermediate code generation; code optimization; memory management; code generation
The outcome It is expected that upon completion of the course a student is able to: Demonstrate understanding, critical analysis and application of existing theories, models and techniques in the field of construction of software translators. To be able to apply advanced tools for construction compilers and other language processors.
Contents
Contents of lectures Advanced techniques in lexical and syntactic analysis GLR. Error recovery in parsing. Advanced intermediate representations SSA. Runtime Environments: Strategies allocating and freeing memory, virtual machines. Advanced code generators. Optimization for classical architecture: local and global. Advanced tools for construction and other LLVM compiler.
Contents of exercises Auditory exercises illustrating some of the concepts and techniques discussed in class. Student practical projects - implementation of a given algorithm design in the field of compiler construction​​.
Literature
  1. Modern Compiler Implementation in Java 2nd Ed, A. W. Appel, Cambridge University Press, 2002 (Original title)
  2. Compilers/Principles, Techniques and Tools, 2ed, A. Aho, M. Lam, R. Sethi, J. Ullman, 2006. (Original title)
  3. Advanced Compiler Design & Implementation, S. Muchnick, Morgan Kaufmann, 2003. (Original title)
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching Lectures, exercises, individual work on the project
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 60
Practical lessons 0 Oral examination 0
Projects 40
Colloquia 0
Seminars 0