[an error occurred while processing this directive]

Reading directions, Lectures, Slides


Reading directions

LectureContent Reading directions for the Aho, (Lam,) Sethi, Ullman book
1st edition 19862nd edition 2006/2013
1Introduction1.1-1.5, chapter 12 1.1-1.2
2
3
[TDDD55 only] Short introduction to formal languages and automata 3.3, 3.6-3.9, 4.2 3.3, 3.6-3.9, 4.2
4Lexical Analysis 2.6, 3.1, 3.4, 3.6 (to p. 116), p.121-131, p. 132-133 2.6, 3.1, 3.4, 3.6 (to p. 151), p.152-166, p. 170-172
 Symbol table 2.7, 7.6, 8.2 2.7, 1.6
5Parsing 2.4, p. 160, 4.3 2.4, 4.1.1, 4.3
 Top-Down Parsing 4.4 4.4
6Bottom-Up Parsing I
7Bottom-Up Parsing II 4.5 4.8-4.9 [TDDB44 only] 4.7 to p. 230 remaining 4.7 4.5, 4.8-4.9 [TDDB44 only] 4.6
   
8Semantic Analysis and Internal Form 2.3, 2.5, 2.8, 5.1-5.3, 8.1, 5.4-5.5, 8.2-8.4 2.3, 2.5, 2.8 5.1, 5.3, 5.4.1, 5.4.2, 6, 6.1.1, 6.2, 6.2.1, 6.2.2, 6.2.3, 6.3, 6.4
 Syntax-Directed Translation 7.1-7.5 5.1, 5.3, 5.4.1, 5.4.2, 6, 6.1.1, 6.2, 6.2.1, 6.2.2, 6.2.3
9Memory Management and Run-time Organisation 10.1-10.3, 9.9 7.1, 7.2
10Intermediate Code Optimization 9.1-9.2, 9.4, 9.8, 9.9, p. 561-565 1.2.5, 8.4, 8.7, 9.1
11Code generation 9.5-9.8, 9.12 8, 8.1, 8.2, 8.3, 6.6, 8.10
12[TDDB44 only:] Code generation for RISC and instruction-level parallel processors 9.7 + slides 8.8.4, 10, 10.1, 10.2.1, 10.2.2, 10.2.4, 10.3 + slides
13Error Managementp. 88, 160-165, 254-257, 264-266 + slides 3.1.4, 4.1.3, 4.1.4, 4.8.3, 4.9.4, 4.9.5 + slides
14Interpreters and JIT compilers p.3 + slides8.1.2 + slides
 Compiler FrameworksSlides only Slides only
 Table of Contents Single A4 TOC (PDF).

Remarks:

Lectures 2 and 3 give an introduction to formal languages and automata theory as far as needed for the remainder of the course. They are mandatory for all who have not taken the course TDDD14 Formal Languages and Automata or equivalent course before.

Lectures 6 and 7 take up Bottom-up parsing, which has already been covered at some degree in the course TDDD14 Formal Languages and Automata. If you have taken that course, you can consider these lectures as an optional repetition opportunity. For TDDD55 construction of LR(0), LR(1), etc. set of items and parse tables from these sets is not part of the course.

(Bootstrapping, rehosting and T-diagrams are no longer part of the course.)

Lecture Slides

(The following lecture notes material may be subject to updating during the course without explicit notice.)

Lecture 1 Information & Introduction [PDF & PDF] [recording] (updated 2023-10-31)

Lecture 2 Formal Languages [PDF (updated 2011)]

Lecture 3 Formal Languages [PDF (updated 2011)]

Lecture 3 Addendum: Finite automata [PDF (updated 2011)]

Lecture 4a Lexical Analysis [PDF (updated 2011) or PDF (updated 2019)]

Lecture 4b Symbol Tables [PDF (updated 2011)]

Lecture 5 Syntax Analysis, Parsing [PDF (updated 2011)]

Lectures 6/7 Bottom up Analysis [PDF (updated 2008, replaced by L6+L7 below)]

Lecture 6 LR-Parsing part1 Addendum: Pushdown automaton for LR-parsing, Handle, Viable Prefix, Using a parser generator. Parse tree construction. [PDF (updated 2011)]

Lecture 7 LR-Parsing part2 Addendum: Characteristic finite automaton Closure, GOTO graph, Table construction. Conflict handling. SLR(1), LALR(1), LR(1). [PDF (updated 2011)] [Example animation]

Lecture 8 Semantic Analysis, Intermediate Representation, and Attribute Grammars [PDF (updated 2022)] [recording]

Lecture 9 Memory Management and Run-time Systems [PDF (updated 2023)] [recording]

Lecture 10 Intermediate Code Optimization [PDF (updated 2023)] [recording]

Lecture 11 Code Generation [PDF (updated 2023)] [recording]

Lecture 12 Code Generation for RISC and instruction-level parallel processors: Instruction scheduling, Register allocation, Phase ordering problems, Integrated Code Generation. [PDF (updated 2023)] [recording]

Lecture 13 Error management. Exception handling implementation and Interpreters [PDF (updated 2023)] [recording]

Lecture 14 Compiler Frameworks and Bootstrapping [PDF (updated 2023)] [recording]

Some lectures have recorded videos in LISAM available to the registered participants of the course.

[an error occurred while processing this directive]