Winter Semester 1998

CIS 474/CIS 561/IMSE 551 Compiler Construction

Objectives:

Textbook:
Aho, Alfred V., Ravi Sethi, and Jeffrey D. Ullman. 1986. [Reprinted 1988]. Compilers, Principles, Techniques, and Tools. Reading, Massachusetts: Addison-Wesley Publishing Company.

References:
Barrett, William A., Rodney M. Bates, David A. Gustafson, and John D. Couch. 1986. Compiler Construction Theory and Practice, 2nd edition. Chicago, Illinois: Science Research Associates, Incorporated.
Waite, William M., and Gerhard Goos. 1984. Compiler Construction. Berlin, Germany: Springer-Verlag, New York Incorporated.
Pyster, Arthur B. 1980. Compiler Design and Construction. New York, New York: Van Nostrand Reinhold Company.

Course Outline
"Space-station" view of a compilerChapter 1
"Aerial reconnaissance" view of a compilerChapter 2 (2.1-2.8)
"From the trenches" view of a compiler
Lexical analysis (phase 1)Chapter 3 (3.1-3.4, 3.6-3.7, 3.9)
Syntax analysis and its direction of translation (phases 2 & 3)Chapters 4 (4.1-4.8) and 5
Type checkingChapter 6
Run-time environmentsChapter 7 (7.1-7.8)
Intermediate code generation (phase 4)Chapter 8
Generation of executable code (phase 5)Chapter 9 (9.1-9.11)
Optimization of executable codeChapter 10
"From the boss's desk" view of a compiler
Workplace considerationsChapter 11

Administration:

Homework problem assignments 20%
(For graduate students, includes reading journal articles and writing essays concerning them.)
Compiler project 30%
For example file to compile, click Example
Midsemester examination 25%
Final examination 25%

Availability of help:
Office hours in Science Building microcomputer laboratory 3:30-4:30pm Tuesdays and Thursdays, and also 5-6pm Mondays.
Day telephone 313-592-2374.
PROFS id (if you're in Ford too) EWILLIA4.

Web Sites of Interest:
The Association of Computing Machinery, ACM.
The Institute of Electrical and Electronics Engineers, Incorporated Computer Society, IEEE.
Pointers to conferences and research papers concerning compiler theory and construction are available: conferences
papers

References on parallel computing:
This is an important topic in compiler research and improvement today--

Almasi, George S., and Allan Gottlieb. 1994. Highly Parallel Computing, 2nd edition. Redwood City, California: The Benjamin/Cummings Publishing Company, Incorporated.
Andrews, Gregory R. 1991. Concurrent Programming: Principles and Practice. Redwood City, California: The Benjamin/Cummings Publishing Company, Incorporated.
Kumar, Vipin, Ananth Grama, Anshal Gupta, and George Karypis. 1994. Introduction to Parallel Computing: Design and Analysis of Parallel Algorithms. Redwood City, California: The Benjamin/Cummings Publishing Company, Incorporated.