Compilers (CSC-362 98F)


Course Syllabus

Week One: Introduction

Class 01 (Friday, August 28, 1998) Introduction

Class 02 (Monday, August 31, 1998) Introduction, continued

Class 03 (Wednesday, September 2, 1998) Debate on C vs. Java as implementation language

Class 04 (Friday, September 4, 1998) Debate on Tiger vs. our own language as implemented language

Week Two: Lexical Analysis

Read Chapters 1 and 2 of Appel

Class 05 (Monday, September 7, 1998) Introduction to lexical analysis and regular expressions

Class 06 (Wednesday, September 9, 1998) Introduction to finite automata

Class 07 (Friday, September 11, 1998) From regular expression to finite automaton

Week Three: Syntactic Analysis

Read Chapters 3 and 4 of Appel

Class 08 (Monday, September 14, 1998) Introduction to Grammars and Parsing Introduction to grammars and parsing

Tuesday, September 15, 1998

Class 09 (Wednesday, September 16, 1998) Grammars and parsing, continued

Class 10 (Friday, September 18, 1998) An Expression Grammar

Week Four: Grammars and Parsing, Continued

Class 11 (Monday, September 21, 1998) Predictive parsing

Tuesday, September 22, 1998

Class 12 (Wednesday, September 23, 1998) Predictive parsing, continued

Sam and a number of students will be at a conference in Michigan on Friday, September 25.

Week Five: Parsing, Continued

Read Chapter 5 of Appel

Class 13 (Monday, September 28, 1998) Shift-reduce parsing

Class 14 (Wednesday, September 30, 1998) Parsing, concluded

Class 15 (Friday, October 2, 1998) Semantic actions

Week Six: Grammars, Continued

Read Chapter 5 of Appel

Class 16 (Monday, October 5, 1998) Abstract parse trees

Class 17 (Wednesday, October 7, 1998) Digression on proving grammars equivalent

Class 18 (Friday, October 9, 1998) Introduction to type checking

Week Seven: Type Checking

Class 19 (Monday, October 12, 1998) Type checking, continued

Class 20 (Wednesday, October 14, 1998) Type checking, continued

Class 21 (Friday, October 16, 1998) Type checking declarations

Fall Break

Fall Break runs from 5 pm Friday, October 16, to 8 am Monday, October 26.

Week Eight: Stack Frames

Read Chapter 6 of Appel

Class 22 (Monday, October 26, 1998) Stack frames

Class 23 (Wednesday, October 28, 1998) Discussion of midterm

Class 24 (Friday, October 30, 1998) Abstracting stack frames

Week Nine: Intermediate Representation Trees

Class 25 (Monday, November 2, 1998) Intermediate representation trees

Class 26 (Wednesday, November 4, 1998) Detour: Type checking field variables

Class 27 (Friday, November 6, 1998) Translating variables and data

Week Ten: Intensive Coding

I will be at the Webnet World Conference on the Internet the first two days of this week. I may ask Mr. Walker to give optional lectures on computer architecture for those of you who have not yet had an architecture course. Or, I may simply give you the day off.

Class 28 (Friday, November 13, 1998) Translating control structures

Week Eleven: Intermediate Representation Trees, Continued

Class 29 (Monday, November 16, 1998) More control structures

Class 30 (Wednesday, November 18, 1998) Canonical trees

Class 31 (Friday, November 20, 1998) Canonicalizing trees, continued

Week Twelve: Intermediate Representation Trees, Concluded

Class 32 (Monday, November 23, 1998) Intermediate code, concluded

Class 33 (Wednesday, November 25, 1998) Special topic: Interpreting IRTs

No class on Friday, November 27, as it is Thanksgiving Break.

Week Thirteen: Completing the Compiler

Class 34 (Monday, November 30, 1998) Generating assembly code

Class 35 (Wednesday, December 2, 1998) Liveness analysis

Class 36 (Friday, December 4, 1998) Register Allocation

Week Fourteen: Wrapup

Class 37 (Monday, December 7, 1998) Student presentations

Class 38 (Wednesday, December 9, 1998) Student presentations

Class 39 (Friday, December 11, 1998) Wrapup

Final

The final examination will be due at 9:00 am on Thursday, December 17, 1998.


Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

Source text last modified Wed Dec 2 10:18:41 1998.

This page generated on Thu Dec 3 09:27:13 1998 by SiteWeaver.

Contact our webmaster at rebelsky@math.grin.edu