Lecture Slides
This is the website for 6.110 in Spring 2024 and is out of date. Make sure you are viewing the correct website for this semester.
Lectures
Supplemental readings are listed under each lecture. You may find them useful. You are not responsible for the contents not covered in lecture.
- 02/05 — Introduction (6 slides/page)
- Cooper et al., Ch. 1 Overview of Compilation, p.p. 1-23 (2nd ed.), p.p. 1-26 (3rd ed.).
- 02/06–02/07 — Specifying Languages with Regular Expressions and Context-Free Grammars (6 slides/page)
- Cooper et al., Ch. 2 Scanners, p.p. 25-82 (2nd ed.), p.p. 27-84 (3rd ed.).
- Cooper et al., Ch. 3 Parsers, § 3.1-3.2, p.p. 83-95 (2nd ed.), p.p. 85-98 (3rd ed.).
- 02/08 — Top-down parsing (6 slides/page)
- Cooper et al., Ch. 3 Parsers, § 3.3 Top-Down-Parsing, p.p. 96-116 (2nd ed.), p.p. 99-118 (3rd ed.).
- 02/12 — Intermediate Formats (6 slides/page)
- Cooper et al., Ch. 5 Intermediate Representations, p.p. 221-268 (2nd ed.), Ch. 4, p.p. 159-207 (3rd ed.).
- Cooper et al., Ch. 6 The Procedure Abstraction, § 6.3 Name Spaces, p.p. 276-297 (2nd ed.).
- Cooper et al., Ch. 5 Syntax Driven Translation, § 5.4 Modeling the Naming Environment, p.p. 227-239 (3rd ed.).
- 02/14 — Semantic Analysis (6 slides/page)
- Cooper et al., Ch. 4 Context-Sensitive Analysis, § 4.2 Introduction to Type Systems, p.p. 164-181 (2nd ed.).
- Cooper et al., Ch. 5 Syntax Driven Translation, § 5.5 Type Information, p.p. 239-251 (3rd ed.).
- 02/20–02/21, 03/05–03/07 — Code Generation (6 slides/page)
- Cooper et al., Ch. 6 The Procedure Abstraction, p.p. 269-330 (2nd ed.).
- Cooper et al., Ch. 6 Implementing Procedures, p.p. 275-326 (3rd ed.).
- Cooper et al., Ch. 7 Code shape, p.p. 331-404 (2nd ed.), p.p. 327-378 (3rd ed.).
- 03/18 — Program Analysis and Optimization (6 slides/page)
- 03/20–03/21 — Dataflow Analysis (6 slides/page)
- 04/01 — Loop Optimizations (6 slides/page)
- 04/03 — Register Allocation (6 slides/page)
- 04/04 — Parallelization (6 slides/page)
- 04/08–04/10 — Foundations of Dataflow Analysis (6 slides/page)
Optional content
- Shift-Reduce Parsing (6 slides/page)
- This used to be covered in past semesters. The material is useful for understanding the internals of some parser generators.
- Cooper et al., Ch. 3 Parsers, § 3.4 Bottom-Up Parsing, p.p. 116-140 (2nd ed.), p.p. 118-142 (3rd ed.).
Recitations
- 02/05 — Course information
- 02/09 — Project overview, phase 1
- 02/16 — Scanner and parser demo: announcements, code
- 02/23 — Project phase 2: announcements, code
- 03/01 — x86 Introduction
- 03/08 — Project phase 3: announcements, code
- 03/22 — Introduction to SSA
- 04/05 — Project phase 4
- 04/19 — Project phase 5
Re-lectures
- 02/14 — Regular expressions, automata, grammars, parse trees (6 pages/slide)
- 02/21 — High-level IR, semantic checking (6 pages/slide)
- 03/06 — Code generation (6 pages/slide)
- 04/03 — Program analysis and optimization (6 pages/slide)
- 04/17 — Foundations of dataflow analysis (6 pages/slide)
- 04/24 — Register allocation, loop optimizations, parallelization: see lecture slides L09, L10, L11.
Quiz reviews
- 03/13 — Quiz 1 review: review slides, annotated Spring 2023 quiz
- 05/01 — Quiz 2 review: review slides, annotated Spring 2023 quiz
Recordings
All recitations and re-lectures are recorded and published on Panopto.