Hide menu

TDDD55 / TDDB44

Reading directions, Lectures, Slides


Reading directions

LectureContent Reading directions for the Aho, (Lam,) Sethi, Ullman book
1st edition 19862nd edition 2006
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

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 TDDA89 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 TDDA89 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 [PDF (updated 2013)]

Lecture 1 Introduction [PDF (updated 2011)]

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)]

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

Lecture 5 Syntax Analysis, Parsing [PDF]

Lecture 5 Addendum: Definition LL(k), Finite pushdown automaton, Context-free items, Predictive parser, FIRST and FOLLOW [PDF (updated 2011)]

Lectures 6/7 Bottom up Analysis [PDF]

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)]

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

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

Lecture 10 Intermediate Code Optimization [PDF (updated 2011)]

Lecture 11 Code Generation [PDF (updated 2011)]

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

Lecture 13 Error management. Exception handling implementation. [PDF (updated 2011)]
Interpreters [PDF (updated 2011)]

Lecture 14 Compiler frameworks [PDF (updated 2011)]


Page responsible: Sergiu Rafiliu
Last updated: 2013-11-04