Announcements

Programming Assignment 3 Released!
April 29, 2015

Programming Assignment 3 is now up and is due May 19, 2015 at 11:59 PM.

Two sample midterms are released!
April 26, 2015

Two sample midterms are released under Handouts. Semantic actions won't be on our exam, so we won't have something like problem 1(c) on the second midterm.

PA2 and WA2 Released!
April 16, 2015

Programming Assignment 2 is now up and is due April 28, 2015. Written Assignment 2 is also now up and is due April 23, 2015.

Notes on parsing are Released!
April 15, 2015

The notes on Parsing are highly recommended before doing WA2.

Written Assignment 1 Released!
April 9, 2015

Written Assignment 1 is now up and is due April 16, 2015 at 11:00 AM on Scoryst. A LaTeX solution template can be downloaded here.

Programming Assignment 1 Released!
April 7, 2015

Programming Assignment 1 is now up and is due April 16, 2015 at 11:59 PM.

Welcome to CS143!
March 30, 2015

Welcome to CS143, an introduction to compilers!

More Information

Schedule/Syllabus
Course Information
Honor code guidelines
Late policy

Handouts

1. Notes: Introduction to compilers and lexical analysis
(full size)
2. Review of regular languages
(full size and 4 to page)
3. Notes on parsing (last update 10:17 PM 4/21/2015)
4. Sample midterm 1 (solution)
5. Sample midterm 2 (solution)

Assignments

1. Programming Assignment 1

2. Written Assignment 1
2a. WA1 Solutions

3. Programming Assignment 2

4. Written Assignment 2
4a. WA2 Solutions

5. Programming Assignment 3

Resources

Scoryst
Piazza
Flex Online Manual
Bison Online Manual
Jlex Online Manual
COOL Manual
A Tour of the Cool Support Code
SPIM Simulator Documentation
Java CUP User's Manual
Java CUP Overview
Cool Trees

Lectures

1. Course Overview
2. Cool: The Course Project(4-to-page)
3. Lexical Analysis
4. Parsing I
5. Parsing II
6. Parsing III (slides fixed 10PM 4/16/2015)
7. Parsing IV
8. Parsing V
9. Parsing VI