6.035 | Spring 2010 | Undergraduate

Computer Language Engineering

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.

SES # TOPICS LECTURE NOTES
1 Introduction (PDF)
2 Specifying languages with regular expressions and context-free grammars (PDF)
3

Introduction to shift-reduce parsing

Parse table construction

(PDF)

(PDF)

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 (PDF - 2.5MB)
19 Putting it all together  
20 Discussion of research projects in compilers  

Course Info

Learning Resource Types
Exams with Solutions
Lecture Notes
Projects