Compiler Construction
Course in Theoretical CS, Summer 2014
News
- 21.02.2014: page set up
Schedule
Type | Day | Time | Place | Start | Lecturer |
V3 | Mon | 14:15-15:45 | AH 6 | 7 April | |
Wed | 10:15-11:45 | AH 6 | 9 April | ||
Ü2 | Fri | 08:15-09:45 | AH 2 | 11 April | NN |
Contents
The goal of this course is to introduce foundational methods and techniques for implementing compilers for high-level (procedural) programming languages. The following topics will be discussed:
- Lexical analysis of programs (Scanner)
- Syntactic analysis of programs (Parser)
- Semantic analysis of programs
- Code generation
- Tools for compiler construction
Prerequisites
Basic knowledge of the relevant undergraduate courses of the first two years is required:
- Programming (essential concepts of imperative and object-oriented programming languages and elementary programming techniques)
- Data structures and algorithms (lists, stacks, queues, trees and associated algorithms)
- Formal languages and automata theory (regular and context-free languages, finite and pushdown automata)
Slides
No. | Date | Subject | Slides | Handout |
1 | 7 April | Introduction | ![]() | ![]() |
2 | 9 April | |||
3 | 14 April | |||
4 | 16 April | [Exercise class] | ||
5 | 23 April | |||
6 | 28 April | |||
7 | 30 April | |||
8 | 12 May | |||
9 | 14 May | |||
10 | 19 May | |||
11 | 21 May | |||
12 | 26 May | |||
13 | 28 May | |||
14 | 2 June | [Itestra] | ||
15 | 4 June | [Itestra] | ||
16 | 16 June | |||
17 | 18 June | |||
18 | 23 June | |||
19 | 25 June | |||
20 | 30 June | |||
21 | 2 July | |||
7 July | ||||
22 | 9 July | |||
23 | 14 July | |||
24 | 16 July |
Exam
- First exam: TBD
- Review of first exam: TBD
- Second exam: TBD
- Review of second exam: TBD
Evaluation results
- Lecture (TBD)
- Exercises (TBD)
Further information
- The course will entirely be given in German. The slides and other course material will be in English. There are no lecture notes (yet); the course material will consist of slides.
- The form of the exam (oral/written) will be announced in the beginning of the course.
Additional background literature
- A. Aho, M.S. Lam, R. Sethi, J.D. Ullman: Compilers – Principles, Techniques, and Tools; 2nd ed. Addison-Wesley, 2007.
A.W. Appel, J. Palsberg: Modern Compiler Implementation in Java. Cambridge University Press, 2002.
D. Grune, H.E. Bal, C.J.H. Jacobs, K.G. Langendoen: Modern Compiler Design. Wiley & Sons, 2000.
R. Wilhelm, D. Maurer: Übersetzerbau, 2. Auflage. Springer, 1997.
Interesting links
- General:
- Wikipedia: Compiler [in German]
- The Catalog of Compiler Construction Tools [outdated]
- Lexical Analysis:
- Syntactic Analysis:



