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