News
- 13.10.2009: written exam scheduled for Wed February 3, 10:00-11:30 (in place of exercise class)
- 30.09.2009: start of lecture moved to Oct. 15 (from Oct. 13)
- 11.09.2009: page set up
Schedule
Type | Day | Time | Place | Start | Lecturer |
V3/4 | Tue | 14:00-15:30 | AH 2 | Oct 20 | |
Thu | 13:30-15:00 | AH 1 | Oct 15 | ||
Ü2 | Wed | 10:00-11:30 | AH 2 | Oct 28 |
Contents
The goal of this course is to introduce foundational methods and techniques for implementing compilers for high-level (procedural) programming languages. The following issues will be discussed:
- Lexical analysis of programs (Scanner)
- Syntactic analysis of programs (Parser)
- Semantic analysis of programs
- Code generation
- Tools for compiler construction (lex, yacc)
Prerequisites
Basic knowledge of the relevant undergraduate courses of the first two years (Vordiplom/Bachelor) 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
(also have a look at http://videoag.fsmpi.rwth-aachen.de/ for live video recordings)
Lecture | Date | BSc/MSc/Diplom | Subject | Slides | Handout |
1 | Thu Oct 15 | B/M/D | Introduction | ||
2 | Tue Oct 20 | B/M/D | Lexical Analysis I
(Simple Matching Problem) | ||
3 | Thu Oct 22 | B/M/D | Lexical Analysis II
(First-Longest-Match Analysis) | ||
4 | Tue Oct 27 | B/M/D | Lexical Analysis III
(Practical Aspects) | ||
5 | Thu Oct 29 | B/M/D | Syntactic Analysis I
(Introduction) | ||
6 | Tue Nov 3 | B/M/D | Syntactic Anlysis II
(LL(k) Grammars) | ||
7 | Thu Nov 5 | B/M/D | Syntactic Analysis III
(LL(1) Grammars) | ||
8 | Tue Nov 10 | B/M/D | Syntactic Analysis IV
(LL(1) Parsing) | ||
9 | Thu Nov 12 | B/M/D | Syntactic Analysis V
(LR(k) Grammars) | ||
10 | Tue Nov 17 | B/M/D | Syntactic Analysis VI
(LR(0) Parsing) | ||
11 | Thu Nov 19 | B/M/D | Syntactic Analysis VII
([S]LR(1) Parsing) | ||
12 | Tue Nov 24 | ||||
13 | Thu Nov 26 | ||||
14 | Tue Dec 1 | ||||
15 | Thu Dec 3 | ||||
16 | Tue Dec 8 | ||||
17 | Thu Dec 10 | ||||
18 | Tue Dec 15 | ||||
19 | Thu Dec 17 | ||||
20 | Thu Jan 7 | ||||
21 | Tue Jan 12 | ||||
22 | Thu Jan 14 | ||||
23 | Tue Jan 19 | ||||
24 | Thu Jan 21 | ||||
25 | Tue Jan 26 | ||||
26 | Thu Jan 28 | ||||
27 | Tue Feb 2 |
Exercise sheets
(to follow)
See www.infostudium.de for a discussion forum for computer science students of the RWTH.
Further information
- The course will be entirely 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 announce 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.

