Compilers (CS362 2002F)

CS362 2002F At A Glance

This is an abbreviated course syllabus. Like everything else in this course, it is likely to change.

Week 1: Introduction
Wednesday, August 28, 2002
Preregistration
(01) Friday, August 30, 2002
Getting Started
Assignments: Fill out the introductory survey. Read Chaper 1 of ASU.
(02) Monday, September 2, 2002
Compilation Steps
Assignments: Write a few small Pascal programs that we can use for testing. Fill out the introductory survey. Scan chapter 2 of ASU. Read chapter 3 of ASU.
Tuesday, September 3, 2002
Lab: Exploring Compilation
(03) Wednesday, September 4, 2002
Introduction to Lexical Analysis and Regular Expressions
Due: Sample Pascal programs. Sections 3.1-3.4 of ASU.
(04) Friday, September 6, 2002
Regular Expressions, Continued
Week 2: Lexical Analysis with Finite Automata
(05) Monday, September 9, 2002
Finite Automata
Due: Regular expression for strings that are not 'if' (or strings that are not 'while') (or strings that are neither 'if' nor 'while').
Tuesday, September 10, 2002
Lab: Regular Expressions
(06) Wednesday, September 11, 2002
From Specification to Optimal DFA Assignments: Do Homework 1 (Due Wednesday, September 17, 2002)
(07) Friday, September 13, 2002
From Specification to Optimal DFA, Continued
Week 3: Syntactic Analysis
(08) Monday, September 16, 2002
Introduction to Grammars and Parsing
Assignments: Project Phase 1: Lexical Analyzer
Tuesday, September 17, 2002
Lab: Using Lexical-Analyzer Generators
(09) Wednesday, September 17, 2002
Context-Free and Context-Sensistive Grammars Due: Homework 1.
(10) Friday, September 20, 2002
Ambiguous Grammars
Week 4: Syntactic Analysis
(11) Monday, September 23, 2002
Parsing Expressions
Tuesday, September 24, 2002
Lab: Tokenizing with java.io.StreamTokenizer
(12) Wednesday, September 25, 2002
Predictive Parsing
(13) Friday, September 27, 2002
Predictive Parsing, Continued
Due: Project, Phase 1. Assignments: Homework 2: Grammars and Parsing
Week 5: Syntactic Analysis, Continued
(14) Monday, September 30, 2002
Even More Predictive Parsing
Tuesday, October 1, 2002
Lab: Parsing Expressions
(15) Wednesday, October 2, 2002
Predictive Parsing, Concluded
(16) Friday, October 4, 2002
Shift-Reduce Parsing
Due: Homework 2.
Week 6: From Parsing to Type Checking
(17) Monday, October 7, 2002
Shift-Reduce Parsing, Continued
Assignments: Project, Phase 2: Syntactic Analysis
Tuesday, October 8, 2002
Lab: Parser Generators
(18) Wednesday, October 9, 2002
Shift-Reduce Parsing, Concluded
Assignments: Project, Phase 2: Parser.
(19) Friday, October 11, 2002
Semantic Actions
Week 7: Type Checking
(20) Monday, October 14, 2002
Introduction to Type Checking
Tuesday, October 15, 2002
Lab: Type Checking
(21) Wednesday, October 16, 2002
Type Equivalence
(22) Friday, October 18, 2002
Type Checking, Concluded
Break
Week 8: Stack Frames
(23) Monday, October 28, 2002
Coding Style
Tuesday, October 29, 2002
Lab: Type Checking a Simple Language
(24) Wednesday, October 30, 2002
Stack Frames
(25) Friday, November 1, 2002
More Stack Frames
Week 9: Generating Code
(26) Monday, November 4, 2002
Symbol Tables
Tuesday, November 5, 2002
Lab: No Lab This Week
(27) Wednesday, November 6, 2002
Symbol Tables, Continued
(28) Friday, November 8, 2002
Translating Declarations and Expressions
Week 10: Generating Code, Continued
(29) Monday, November 11, 2002
Translating Conditionals
Tuesday, November 12, 2002
Lab: Stack Frames
(30) Wednesday, November 13, 2002
Translating Loops
(31) Friday, November 15, 2002
Translating Procedure Calls
Week 11: Putting it Together
(32) Monday, November 18, 2002
Liveness Analysis
Tuesday, November 19, 2002
Lab: Abstract Assembly Language
(33) Wednesday, November 20, 2002
Register Allocation
(34) Friday, November 22, 2002
Class Canceleld
Week 12: Assembly Language Programming
(35) Monday, November 25, 2002
Steps in Compilation, Revisited
Tuesday, November 26, 2002
Lab: Testing Sample Programs
(36) Wednesday, November 27, 2002
Steps in Compilation, Continued
Thursday, November 28, 2002
Thanksgiving Break
Week 13: Code Improvement
(37) Monday, December 2, 2002
General Improvement Techniques
Tuesday, December 3, 2002
Lab: Code Improvement
(38) Wednesday, December 4, 2002
Additional Improvement Techniques
(39) Friday, December 6, 2002
Student Presentations (1)
Week 14: Wrapup
(40) Monday, December 9, 2002
Student Presentations (2)
Tuesday, December 10, 2002
Lab: No Lab This Week
(41) Wednesday, December 11, 2002
Student Presentations (3)
(42) Friday, December 13, 2002
Evaluation

 

History

Friday, 12 January 2001

Monday, 8 July 2002

Monday, 2 September 2002

 

Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Fri Nov 15 10:30:09 2002.
The source to the document was last modified on Mon Sep 2 08:44:30 2002.
This document may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS362/2002F/Handouts/glance.html.

You may wish to validate this document's HTML ; Valid CSS! ; Check with Bobby

Glimmer Labs: The Grinnell Laboratory for Interactive Multimedia Experimentation & Research
glimmer@grinnell.edu