Week by week 2023/2024

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 (Aug 28 - Sep 1)

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

Lecture 11: Code generation.

Lab sessions.

Assignment 5. Interpreter and static analysis


Week 6

Lecture 12: Object-oriented languages, Runtime Optimization.

Lecture 13: Guest lecture: Tuesday, Oct 3, 13:15-14:30, E:B

Lab sessions.

Assignment 6. Code generation


Week 7

Lecture 14: Course review before exam.

No lecture on Tuesday, Oct 10

Lab sessions.

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