STATE UNIVERSITY OF NEW YORK AT OSWEGO
Computer Science Department
I. COURSE NUMBER AND CREDIT:
CSC 444 - 3 S. H.
II. COURSE TITLE:
Compiler Construction
III. COURSE DESCRIPTION:
Formal definition of programming languages including
specification of syntax and semantics. Structure of
compilers. Data structures used in compilation and
code generation.
IV. PREREQUISITES:
CSC 241 or permission.
V. JUSTIFICATION:
VI. COURSE OBJECTIVES:
This course is designed to acquaint students with
both theory and the practical problems encountered in
language definition and compiler writing. The
objective is to provide students with a knowledge of
compiler construction, parsing, and formal language
definitions.
VII. COURSE OUTLINE:
A. Review
1. Data Structures
2. Assembly techniques
3. Symbol table techniques
B. Formal Lanugage Definition
1. Notation
2. Chomskey Classification
3. Parsing
4. Recursion
C. Lexical Analysis
D. Syntax Analysis
1. Procedure grammars
2. Operator procedure grammar
3. Top-down Analysis
4. Bottom-up Analysis
5. Implementation
E. Code generation
1. Arithmetic statements
2. Tree structure
3. Temporaries
4. Optimization
F. Storage Allocation
1. Variable allocation
2. Arrays
3. Subroutines
G. Compiler Organization
1. Phases of a compiler
2. Diagnostics
VIII. METHODS OF INSTRUCTION:
A. Lectures
B. Programming Exercises
C. Examinations
IX. COURSE REQUIREMENTS:
X. MEANS OF EVALUATION:
A. Examinations
B. Programming Exercises
XI. RESOURCES:
XII. BIBLIOGRAPHY:
Aho, A. & Ullman, J. D. Principles of Compiler
Design, Addison-Wesley, 1979.
Aho, A. & Ullman, J. D. The Theory of Palsing,
Translation, and Compiling (Vol. I, palsing)
Prentice-Hall, 1972.
Aho, A. & Ullman, J. D. The Theory of Palsing,
Translation, and Compiling (Vol. II, compiling)
Prentice-Hall, 1972.
Barrett, W. A. & Couch, J. D. Compiler Construction:
Theory and Practice, SRA, 1979.
Gries, D. Compiler Construction for Digital
Computers, Wiley, 1971.
Pyster, A. B. Compiler Design and Construction,
Van Nostrand Reinhold, 1980.
Last Updated: 7/9/07