CS126: Introduction to Compilers (and Program Analaysis)

(SPRING 2012)

About CS126

The class this year is going to concentrate both on compilers per se and on program analysis. We will look at compilers from the inside out, starting with intermediate representations and what you can do with them. This will lead naturally to a variety of program analysis, semantic processing, and compiler optimizations. As the course progresses we will look at translating between intermediate representations (including machine code) and generating intermediate representations (i.e. parsing).

Class

    Meets in CIT room 506. T/Th 9-10:20am.

Handouts

The syllabus is available on-line here.

DECAF syntax and semantics documents.

Assignment

The course will be project-based with the students working individually or in small teams on either a compiler or a particular program analysis of interest to them. The project ideas will be developed over the first few weeks of the course.

Lecture Notes

Lecture 1.

Links

TBD.

Software

TBD.

Texts

At this point no text is recommended, although students might want to have one of the "standard" compiler texts available for reference. These would include Appel, Cooper & Torczon, Aho, Sethi & Ullman, or Grune, et. al. There will probably be readings from other texts as the course progresses.

Staff

    Instructor: Prof. Steve Reiss (office hours by appt.)