CS 488/588 Principles of Compiler Construction

Objectives:

This course covers the organization of compilers and translators for a wide variety of computer-processed languages. Students completing this course should gain a solid understanding of the components that make up a compiler and should be able to use those components in the development of the translators, language processing tools, and user interfaces that arise in a variety of practical programming situations.

Required Text: Aho, Sethi, &Ullman, Principles of Compiler Construction, 1987

Prerequisites: CS 361 (Data Structures)

Students are presumed to be familiar with a variety of programming languages (commensurate with Senior-level status in a computer science degree program.)

Programming Projects: The course does involve a substantial programming assignment, which will be assigned in pieces over the course of the semester.

Course Outline (tentative)


 	 	 	 
 	  Topic 	 
I. 	 Overview 	 
II. 	 Lexical Analysis
III. 	 Grammars 	 
IV. 	 LR Parsing 	 
V. 	 Semantic Processing Fundamentals
VI. 	 Symbol Tables
VII. 	 Storage Management
VIII. 	 Semantic Processing 	 	 
  A. 	 Expressions 	 
  B. 	 Control Flow 	 
  C. 	 Records and Arrays
  D. 	 Procedures and Functions
  E. 	 Pointers and Packages 	 
IX. 	 Code Generation and Local Optimization
X. 	 Global Optimization
XI. 	 Recursive Descent and LL(1) Parsing
XII. 	 Attribute Grammars


wahab@duke.ncsl.nist.gov
Tue Apr 23 10:50:19 EDT 1996