Course codes: Chalmers TIN321, GU INN130
30/3 Exam feed-back meeting ("tentagranskning"): 17 April at 10.00-11.00 in room 6103a (EDIT house, floor 6), just outside teachers' corridor.
9/3 Final deadline for all labs: Friday 16/3 at 12.00. This is the last time to submit a correct lab and get it accepted. Returns after this are not possible.
5/3 The lab 3 test suite is now available.
4/3 Updated lab 2 test suite to fix non-ASCII path name issue and the issue where the test suite would hang for some students.
27/2 Training Exam, to be explained in the last lecture 9/3.
25/2 Exam time changed: 8.30-12.30 on 12/3 in V.
25/2 Lab 3 now available.
23/2 Example type checker and interpreter in both Haskell and Java. These can be extended to full Lab2 and Lab3 code.
19/2 Lab 2 test suite now available. Some corrections in the Java code in lecture 8.
12/2 Lab 2 now available.
8/2 New laboration times (in addition to the old ones): Mon 10-12 and Fri 13-15. The times start already on 9 February.
2/2 Fire and test suite for Laboration 1.
25/1 One of Wednesday's exercise classes changed to Thursday 10-12.
25/1 Lab 1 now available.
24/1 There is now a course FAQ: Frequently Asked Questions.
10/1 Times for lectures, exercises, and laborations.
18/12 Some changes in schedule. From 2 to 3 labs.
14/12/2006 First version of this page. Changes expectable.
| Date | Time | Place | Event | material | |
|---|---|---|---|---|---|
| Tue 23/1 | 13-15 | HB1 | Introduction | lecture 1 | |
| -- | - | - | no exercise 24/1 | - | |
| Fri 26/1 | 10-12 | HB2 | Abstract and concrete syntax | lecture 2 | |
| Tue 30/1 | 13-15 | HB1 | The BNF converter (by Björn Bringert) | lecture 3 | |
| Wed 31/1 | 15-17 | ES51-2 | Exercise (also 1/2 10-12 in ES61) | exercises 1 solutions | |
| Fri 2/2 | 10-12 | HB2 | Regular expressions and finite automata | lecture 4 | |
| Tue 6/2 | 13-15 | HB1 | Parsing algorithms | lecture 5 | |
| Wed 7/2 | 15-17 | ES51-2 | Exercise (also 8/2 10-12 in ES61) | exercises 2 solutions | |
| Fri 9/2 | 10-12 | HB2 | Syntax-directed translation | lecture 6 | |
| Mon 12/2 | 23 | - | LAB 1 deadline | PM test suite | |
| Tue 13/2 | 13-15 | HB1 | Type systems | lecture 7 | |
| -- | - | - | no exercise 14/2 (CHARM day) | - | |
| Fri 16/2 | 10-12 | HB2 | Type checkers | lecture 8 | |
| Tue 20/2 | 13-15 | HB1 | Operational semantics (by Kuchi Prasad) | lecture 9 | |
| Wed 21/2 | 15-17 | ES51-2 | Exercise (also 22/2 10-12 in ES61) | exercises 3 solutions | |
| Fri 23/2 | 10-12 | HB2 | Interpreters | lecture 10 | |
| Mon 26/2 | 23 | - | LAB 2 deadline | PM test suite | |
| Tue 27/2 | 13-15 | HB1 | Code generation | lecture 11 | |
| Wed 28/2 | 15-17 | ES51-2 | Exercise (also 1/3 10-12 in ES61) | exercises 4 solutions | |
| Fri 2/3 | 10-12 | HB2 | Functional vs. imperative languages | lecture 12 | |
| Tue 6/3 | 13-15 | HB1 | Programming language design and development | lecture 13 | |
| Wed 7/3 | 15-17 | ES51-2 | Exercise (also 8/3 10-12 in ES61) | exercises 5 solutions | |
| Fri 9/3 | 10-12 | HB2 | Advice for exam and further studies on programming languages | Training Exam | |
| Mon 12/3 | 8.30-12.30 | V | Exam (starts 8.30) | Training Exam | |
| Mon 12/3 | 23 | - | LAB 3 deadline | PM | |
| Fri 16/3 | 12 | - | all labs final deadline | - | |
The aim of the course is to give understanding of how programming languages are designed, documented, and implemented. The course covers the basic techniques and tools needed to write interpreters, and gives a summary introduction to compilation as well. Those who have passed the course should be able to
Aarne Ranta, course responsible.
All laborations are in 6225a,b. The labs are booked and supervision is available from the second week of the course (29/1). The times are
Aho, Lam, Sethi & Ullman: Compilers Principles, Techniques & Tools Second edition, Pearson/Addison Wesley 2007
Make sure to get the second edition! The book is already available at web bookshops and will be sold at Cremona.
There will be three laborations, written individually or (preferably) in pairs.
The lab PM will be published before the course starts.
Reporting will be done via Fire. Before reporting, you must run your program through a test suite.
There are two classes on Wednesdays - one in Swedish and one in English - and one class on Thursdays, in Swedish. The schedule is as follows:
Exercises give bonus points for the exam: 0.4 points per exercise, the sum rounded to the nearest integer. To claim bonus points, mark the ones you have done in a list in the beginning of the class. Marking an exercise means that you are prepared to present its solution on the blackboard.
Exercises are divided to three parallel classes, one in English and two in Swedish. To make sure that all your bonus points are counted, you should always go to the same teacher's class.
Written exam, usual grading scales. Extra points will be given for exercises.
Date: Mon 12/3 at 8.30-12.30 in V.