CS461/561 --- Introduction to Compilers


Amr Sabry, DES 313, x6-4411, sabry@cs.uoregon.edu

Office hours:

Tuesday 11-12, Tuesday 3-4, Wednesday 2-3.
I will also spend some time in the computer lab DES 100.


A. Appel, Modern Compiler Implementation in ML. Preliminary edition (Chapters 1-3) CIS 461/561 Packet. Full edition to be published by Cambridge University Press sometime in early 1997.

Other Material:

J. Ullman, Elements of ML Programming, Prentice Hall.

A Gentle Introduction to ML

The Standard ML Basis Library, http://www.research.att.com/~jhr/sml/basis/sml-std-basis.html

The ML-Lex Manual, /local/apps/sml/doc/lex-manual.ps

The ML-Yacc Manual, /local/apps/sml/doc/yacc-manual.ps

The Compilation Manager Manual, /local/apps/sml/doc/cm-manual.ps

Notes on the SPARC assembly language, SPARC.txt

Grading Policy:

Your grade will be calculated as follows:
  • programming assignments and final project: 50%
  • midterm exam and quizzes: 50%
These weights are subject to minor variation.


There will be about 6 programming assignments that constitute a compiler project. These assignments are described in Modern Compiler Implementation in ML chapters 1-9. The due dates for the assignments are firm: there will be no extensions.

Getting Help:

You can get help with the assignments by sending me mail or coming to my office. Ask for help when you need it!

You are encouraged to work on the assignments in groups of 2. (You may work by yourself if you prefer.) You are also encouraged to discuss the programming assignments with your friends. However, do not, under any circumstances, copy somebody else's code.

The directory /cs/classes/cis461/wi97 contains source code useful for the programming assignments. Copy whatever files you need from there. Also look at the web page (http://www.cs.uoregon.edu/classes/cis461/) for announcements.

Tentative Schedule

Amr A Sabry
Mon Dec 30 12:54:52 PST 1996