|Level, degree of commitment in original study programme||Advanced module, compulsory elective module|
|Forms of teaching and learning,
|Lecture (4 SWS), recitation class (2 SWS), |
270 hours (90 h attendance, 180 h private study)
Course requirement: Successful completion of at least 50 percent of the points from the weekly exercises as well as at least 2 presentations of the tasks.
Examination type: Oral or written examination
|German,The grading is done with 0 to 15 points according to the examination regulations for study course M.Sc. Computer Sciences.|
|Original study programme||M.Sc. Informatik / Vertiefungsbereich Informatik|
|One semester, |
Regelmäßig alle 3 bis 4 Semester
|Person in charge of the module's outline||Prof. Dr. Christoph Bockisch|
Compilers translate programs from high-level programming languages into executable machine code. The module presents and compares concepts and methods developed for the different phases of compilers:
- lexical analysis: regular expressions, finite automata, first-longest-match principle, scanner generators
- Syntactic analysis: Context-free grammars, recursive descent parsing with LL(k) grammars, shift reduce parsing with LR(k) grammars, precedent-controlled parsers, parser generators;
- Semantic analysis with attribute grammars
- Intermediate code generation
- code optimization
- Differentiation of different aspects of programming languages (lexical grammar, syntax, semantics, pragmatics),
- Knowledge of the structure of compilers, compiler phases, bootstrapping,
- Understand, create and use compiler generation tools,
- Basic principles of code generation, denotational semantics and abstract machines,
- Programming individual parts of a compiler,
- Practice of scientific working methods (recognition, formulation, solving problems, training of abstraction skills),
- Training of oral communication skills in the exercises by practicing free speech in front of an audience and during discussion.
None. The competences taught in the following module are recommended: Theoretical Computer Science.
- Drachenbuch: Aho/Sethi/Ullman: Compilers — Principles, Techniques, and Tools, Addison-Wesley 1986; Waite/Goos: Compiler Construction, Springer Verlag 1994; Wilhelm/Maurer: Übersetzerbau: Theorie, Konstruktion, Generierung, Springer Verlag 1992; Appel: Modern Compiler Implementation in ML/Java/C++, Addison-Wesley 1998.
This page describes a module according to the latest valid module guide in Wintersemester 2020/21. Most rules valid for a module are not covered by the examination regulations and can therefore be updated on a semesterly basis. The following versions are available in the online module guide:
- WiSe 2016/17 (no corresponding element)
- SoSe 2018 (no corresponding element)
- WiSe 2018/19
- WiSe 2019/20
- WiSe 2020/21
- SoSe 2021
- WiSe 2021/22
- WiSe 2022/23
The module guide contains all modules, independent of the current event offer. Please compare the current course catalogue in Marvin.
The information in this online module guide was created automatically. Legally binding is only the information in the examination regulations (Prüfungsordnung). If you notice any discrepancies or errors, we would be grateful for any advice.