CSE401: Winter 2014: Introduction to Compiler Construction
Robert R. Henry
Administrative
- CSE401 Administration
- GoPost Discussion Board
- Course Dropbox
Lecture and Section Material
-
Lecture Syllabus written after the fact at the end of the quarter.
-
Today's Electic Excitement, updated daily
Readings
- Text Book Readings
Old Exams
- CSE401 2001 Midterm Questions
- CSE401 2001 Midterm Answers
Mechanics
- Project Setup and Git
Assignments
- Main Programming Project
- Assignment 1: Refresh your memory on Unit Conversion
- Assignment 2: Write Mini Java Test Programs
- Assignment 3: Scanner for Mini Java
- Assignment 4: Parser and AST Builder for Mini Java
- Assignment 5: Expressions and Function Calls
- Assignment 6: Symbol Gathering (Classes, Methods and Variables)
- Assignment 7: Type Checking
- Assignment 8: Storage and Dispatch
- Assignment 9: Statement Counting
- Assignment 10: Doubles
- Assignment 11: Face to Face and Project writeup
The Tera/Cray MTA executing DGEMV,
compared to Brand X super computer MTA-DGEMV.pdf.
Which machine uses a CPU-side data cache?
An Inefficient Program, shown as an example of something that could be optimized CSE401-Inefficient-Program.pdf.
A computation (expression) tree and a bunch of instruction patterns for use with the example
of Buttom Up Rewrite System (BURS),
instruction selection and dynamic programming codegentrees.pdf.
When I finished my Master's and PhD some years ago, I wrote up a bunch of questions about what I wanted in a job
in the tech industry. These musings have been passed around before at UW CSE,
so here they are again.
I'm happy to provide advice, (ir)relevant as it maybe!
Please visit
here for basic course information and links to the webs
for earlier quarters.