Week by week 2024/2025

Links will work after the corresponding lecture. Before that, they may give a Not Found or 404 error.
Meanwhile, if you would like to take a look at last year's slides, etc., they are available here.
Note that the information below is preliminary and might be updated.

Go to: Week 1, Week 2, Week 3, Week 4, Week 5, Week 6, Week 7, Week 8, Exam,

Week 1 (Sep 2 - Sep 6)

Register formally in LADOK

Sign up on Moodle

Lecture 1: Introduction

Sign up for lab sessions

Lecture 2: Regular Expressions, Scanning. Tuesday 13-15, E:B

Get a git repo for the assignments

See information about this in Moodle

Assignment 0. Java, Unix, Gradle, and Git.

Lecture 3: Context-free grammars. Recursive-descent parsing. Thursday, Sept 1, E:B

Assignment 1. Scanning and simple parsing.


Week 2

Lecture 4: Ambiguities. LL problems. Monday.

Lecture 5: LL parsing. Abstract Syntax Trees. Tuesday.

Lab sessions. Wednesday and Thursday

Assignment 2. LR parsing and AST building


Week 3

Lecture 6: LR parsing. Visitors.

Lecture 7: Aspects. Attribute Grammars.

Lab sessions.

Assignment 3. Visitors, Aspects, and Attribute Grammars.


Week 4

Lecture 8: Reference attributes, Semantic Analysis.

Lecture 9: Circular attribute grammars. Interpreters.

Lab sessions.

Assignment 4. Semantic analysis using reference attribute grammars.


Week 5

Lecture 10: Runtime Systems (Monday)

Tuesday: No lecture

Optional extra assignment on JastAdd Bridge

Lab sessions.

Assignment 5. Interpreter and static analysis


Week 6

Monday: No lecture (lecturer sick)

Lecture 11: Code generation. (Tuesday) Lecturer sick. Watch 2021 Youtube lecture instead.

Lab sessions.

Extra catch-up lab session.

Assignment 6. Code generation


Week 7

Lecture 12: Object-oriented languages, Runtime Optimization. (Monday)

Lecture 13: Course review before exam. (Tuesday)

Lab sessions.

Extra catch-up lab session.

Sign up for exam.

Sign up for the exam. You will get an automatic email about this.


Week 8

Catch-up lab session.

Study old exams


Exam

At the exam, you may use the following documents. Copies of them will be available at the exam. You do not need to bring your own.

You may also use a dictionary from English to your native language.

Regular exam

Retake of exam