Lecture Notes

This section contains selected lecture notes.  Audio and video lectures from a previous semester can be found in the 6.035 Fall 2005 Lecture Notes section.

1 Introduction (PDF)
2 Specifying languages with regular expressions and context-free grammars (PDF)

Introduction to shift-reduce parsing

Parse table construction



4 Top-down parsing (PDF)
5 Intermediate formats (PDF)
6 Semantic analysis (PDF)
7 Unoptimized code generation (PDF)
8 Unoptimized code generation (cont.) (PDF)
9 Introduction to program analysis and optimization (PDF)
10 Introduction to dataflow analysis (PDF)
11-12 Foundations of dataflow analysis (PDF)
13 Introduction to code optimization: instruction scheduling (PDF)
14 Loop optimizations: instruction scheduling (PDF)
15 More loop optimizations (PDF)
16 Register allocation (PDF)
17 Parallelization (PDF)
18 Memory optimization (This resource may not render correctly in a screen reader.PDF - 2.5MB)
19 Putting it all together  
20 Discussion of research projects in compilers