News
| Jan 17 | No lab on Jan 19 |
| Jan 19 | First half of the project is now online. |
| Feb 1 | Extension granted to the 8:th for homework 3. |
| Feb 7 | Further extension granted to the 10:th for homework 3. |
| Feb 8 | Step 3 of the project is now online. |
| Feb 22 | Step 4 of the project is now online. |
| Mar 6 | Today was the last lecture. Remaining scheduled lectures are cancelled!. |
| Mar 6 | Schedule time for the lab-presentation! |
The goal of this course is to provide practically useful knowledge in how compilers translate programs
in a high-level language into executable machine code. In addition, the course aims to give skills in using
theoretical as well as concrete tools for compiler construction, and also to provide a comprehension for the
interplay between language design and implementation techniques for modern programming languages.
Official description in the course catalog.
Johan Nordlander
E-mail: nordland@csee.ltu.se
Room: A2306 (part-time in Skellefteå)
Phone: 0920 - 49 21 56, alt. 0910 - 58 53 18
Peter A. Jonsson
E-mail:
Room: A2306 (Due to change)
Viktor Leijon
E-mail:
Room: A2310
Andrew W. Appel with Jens Palsberg
Modern compiler implementation in Java.
Cambridge University Press, 2nd edition, 2002.
ISBN: 0-521-82060-X.
View the on-line schedule information.
Written exam: March 16 (5 hours)
| Lecture |
Contents |
Slides |
Book
chapter |
| 1 |
Introduction |
lecture1.pdf |
1 |
| 2 3 |
Lexical
analysis and finite automata Lexer generators |
lecture2.pdf lecture3.pdf |
2 2 |
| 4 5 6 (pre) |
Introduction
to parsing Bottom-up parsing Parser generators and abstract syntax |
lecture4.pdf lecture5.pdf lecture6.pdf |
3 3 3,4 |
| 7 (pre) 8 |
Semantic analysis Introduction to code generation |
lecture7.pdf lecture8.pdf |
5 6,7 |
| 9 10 |
Implementing
functions and objects Continuing code generation |
lecture9.pdf lecture10.pdf |
6,7 (,14) 6,7 |
| 11 12 |
Introduction
to optimization Garbage Collection |
lecture11.pdf lecture12.pdf |
7,8 (,18) 13 |
| 13 14 |
Instruction
selection Homework recapitulation |
lecture13.pdf - |
9 - |
| 15 16 |
Polymorhic
types Buffer / repetition |
lecture15.pdf - |
16 – |
- All assignments are carried out individually, and are mandatory for final grading.
- Assignments will be handed out after the first lecture each week.
- Homework solutions must be turned in by email before first lecture the following week.
- Graded homeworks (U,G,VG) will be returned yet another week later.
- Each homework grading affects the final course grading as follows:
- VG – 1 bonus mark on the final exam (plus the extra encouragement!)
- G – 1 bonus mark (plus hints about where you can improve!)
- U – 0 bonus marks (plus a warning that you must improve!)
- Note: All homeworks assignments must be handed in, or you will automatically fail the final
examination (i.e., the 3p written exam part).
Assignment 1
Assignment 2
Assignment 3
Assignment 4
Assignment 5
Assignment 6
Description