Course Schedule

Ipt

Schedule, lectures & presentations

From the available slots (18 in total), not all opportunities for lectures will be used, the schedule will probably be slightly adapted during the course. I will announce changes on the news.

I will attach pdf files of my lectures to the schedule. At the moment the pdf files from last year are attached to the schedule. Some of these files will change. If I upload a new file I will announce this on the news.

Apart from an exam, the course requires you to participate in and submit 3 lab exercises. The goal of the first lab is familiarize yourself with the tools used during this course, the second lab focusses on code generation and the third lab on type systems. Deadlines and references to required tools and starting material are included in the following table. Combisessions usually will be split in a part where one of the relevant paper-only exercises (exercise nr in italic font) is worked out in detail, and a part which will be spent on the current lab exercise.

Preliminary schedule:

Date Day Lecture Combisessions, exercises (for associated lectures), material needed
13/11/2006 Mon Overview (pdf), A very simple compiler (pdf) (code) No combisession
15/11/2006 Wed Parser Combinators (pdf) 2.1-2.2, 2.3-2.4
20/11/2006 Mon Syntax Directed Translation + AG intro (+repmin) (pdf), See also Why attribute grammars matter 3.1, 4.1
22/11/2006 Wed AG examples and expressie 'interpreters' (conditionals, type checking) pdf 4.1, 4.4, (4.2), lab
27/11/2006 Mon Guest lecture by Bastiaan Heeren (pdf) 4.1, 4.4, lab
29/11/2006 Wed _ lab
1/12/2006 Fri Deadline lab exercise 1 (tuples) appendix A.4, page 147 of the lecture notes and CourseSoftware.
Goal is to refresh knowledge about parsercombinators and become familiar with the AG system.
4/12/2006 Mon Doaitse Swierstra: The Ehrfurt Attribute Grammars tutorial -
6/12/2006 Wed Code generation (pdf) 6.2, 6.3
11/12/2006 Mon Code generation for functions (pdf) 6.6
13/12/2006 Wed - 6.9, 6.10
18/12/2006 Mon - 6.14, 6.12
20/12/2006 Wed - cont'd
22/12/2006 Fri deadline lab exercise 2 (static link optimisation) appendix A.5, page 148 of the lecture notes and CourseSoftware.
Goal is to learn how the stackmachine and codegeneration works (by changing a small part of the code generation).
Christmas      
8/1/2007 Mon Type inference (pdf). (For background, see also Proofs are Programs: 19th Century Logic and 21st Century Computing) 7.2, 7.3
10/1/2007 Wed Jur Hage: Program analysis (pdf) 7.3, 7.5-6
15/1/2007 Mon AG implementation of type inferencing (from lab exercise) (pdf) 7.5, 7.9, lab
17/1/2007 Wed Lex Augusteijn (Silicon Hive/Philips): backends exercises continued, lab
22/1/2007 Mon Karel Thönissen (Garabit): aspects of compilers in software development lab
24/1/2007 Wed Conclusions (pdf). Guest lecture by Atze Dijkstra (pdf) lab
26/1/2007 Fri deadline lab exercise 3 (type inference explanation) appendix A.8, page 150 of the lecture notes and CourseSoftware.
Goal is to learn how how type inferencing works (by incorporating explanation generation for it in the type inferencer).
31/1/2007 - Exam -


Topic attachments
I Attachment Action Size Date Who Comment
pdfpdf 030-Prelude.pdf manage 54.0 K 21 Nov 2005 - 09:52 JohanJeuring  
pdfpdf 030-SyntaxDirTransl.pdf manage 218.6 K 17 Nov 2005 - 15:16 JohanJeuring  
pdfpdf 040-AGExpr.pdf manage 143.7 K 23 Nov 2005 - 11:35 JohanJeuring  
pdfpdf 050-CodeGen-basic.ppt.pdf manage 169.3 K 08 Dec 2005 - 12:47 JohanJeuring  
pdfpdf 20060125-slides-overview.pdf manage 406.6 K 25 Jan 2006 - 12:44 JohanJeuring  
pdfpdf IPT-42bastiaan.pdf manage 120.9 K 02 Dec 2005 - 17:04 BastiaanHeeren  
elselhs Replace.lhs manage 14.1 K 16 Nov 2005 - 14:17 JohanJeuring  
pdfpdf TypeInfer.pdf manage 238.4 K 16 Jan 2006 - 11:01 JohanJeuring