CMSC 430, Spring 2011

Introduction to Compilers

Schedule

Lectures & Discussions

Week of: Monday Lecture Wednesday Lecture Friday Lecture EaC Chapter
Jan 24 Introduction Snow Day
(Scanner Review, Parser Review)
LL(1) Predictive Parsing Chapter 1
Jan 31 Bottom-up Parsers LR(1) Shift-Reduce Parsing LR(1) Parsing (cont.) Chapter 3
Feb 7 Parsing Wrapup Context Sensitive Analysis Type Checking Chapter 4
Feb 14 Intermediate Representations Code Generation Code Generation (cont.) Chapter 5
Feb 21 Code Generation 2 Run-time Environment Code Generation 3 Chapter 6, 7, 11
Feb 28 Optimization Overview Review session (optional)
Midterm 1
Chapter 8
Mar 7 Classical Optimizations Global Optimizations Dataflow Analysis Chapter 8 & 10
Mar 14 Dataflow Analysis 2 Dataflow Analysis (cont.) No class, read
An Interview with Fran Allen
Chapter 9
Mar 21 Spring Break
Mar 28 Dataflow Analysis Frameworks Instruction Scheduling 1 Instruction Scheduling 2 Chapter 12
Apr 4
Midterm 2
Register Allocation Register Allocation (cont.) Chapter 13
Apr 11 Register Allocation (cont.) Compiling For High Performance High Performance (cont.)
Apr 18 High Performance (cont.) High Performance (cont.) Static Single Assigment (SSA) Chapter 9
Apr 25 Static Single Assigment (cont.) Value Numbering Advanced Topics Chapter 8
May 2
Midterm 3
Midterm 3 solutions Compiler Optimization Research
May 9 Review session (optional) No class No class
May 16 No class
Final Exam (Wed, May 18th)

Projects

  • Project 1 - Due Feb 17th
    • C-- Scanner & Parser
  • Project 2 - Due Mar 11th
    • C-- Type Checker & AST
  • Project 3 - Due Apr 15th
    • C-- Code Generator
  • Project 4 - Due May 9th
    • C-- Byte Code Analyzer

Practice problems

Tests

Valid HTML 4.01!