Readings and problem sets to prepare in advance of meetings on the listed date.

Regular Expressions and Finite Automata

← Monday, 1 February

Lexers, Grammars, Top-Down Parsing

← Monday, 8 February - Friday, 12 February

Bottom-Up Parsing

← Tuesday, 16 February

Abstract Syntax Trees and Symbol Tables

← Monday, 22 February

Scope and Types

← Monday, 29 February

Objects, Subtyping, Information Flow

← Monday, 7 March

Intermediate Code and Object Representation

← Monday, 14 March

Code Generation

← Tuesday, 29 March

This week, we will discuss code generation and x86-64 assembly in class. These slides, exercises, and reading accompany the class activities. See also the resources on the project page.

Optimization and Data-Flow Analysis

← Friday, 1 April - Monday, 4 April

This set of reading and exercises is a little larger than usual, since we did not have meetings this week. Please try the reading up through about local optimizations and exercises 1, 2, and (optionally) 3 for class on Friday. You do not need to write solutions. We will discuss some of these examples together in class on Friday and (if time) lay some groundwork for your exploration of data-flow analysis in preparation for tutorial meetings.

Data-Flow Framework

← Monday, 11 April

We will get a head start a bit in class on Friday. No prep required by then.

More Optimization

← Tuesday, 19 April

Runtime Systems

← Monday, 25 April