CMPS 450, Compiler Construction
Course Description
Computer Science Department
California State University, Bakersfield
V1, 5/9/2003
Catalog Description: |
Introduction to programming language implementation. Implementation strategies such as compilation, interpretation, and translation. Major compilation phases such as lexical analysis, semantic analysis, optimization, and code generation. |
Prerequisite: |
CMPS 223, 350 Prerequisites by Topic
|
Units: |
5 |
Coordinator: |
Jim Moloney |
Goals: |
Goal: To provide the student with a basic knowledge of the compilation process; to prepare the student for advanced study in compilation. Objectives:
|
Current Text: |
Aho, Sethi, Ullman, Compiler Construction: Principles, Theory, and Practice, Addison-Wesley, 1986 |
Topics: |
(1)
Overview of compilation (2 hrs) (2) Lexical analysis (10 hrs) (3) Symbol table management (3 hrs) (4) Theory of parsing (4 hrs) (5) Recursive descent parsing (4 hrs) (6) Non-recursive predictive parsing (10 hrs) (7) Syntax directed translation (6 hrs) (8) Intermediate code generation (8 hrs) (9) Tests (3 hrs) (10) Labs (25 hrs) |
Laboratory: |
(1) Students will work on the implementation of a compiler for a small language. Code generated will run on a simulated computer architecture. |
ACM/CSAB Category Content: |
Estimated CSAB Category Content:
|
Oral and Written Communication: |
Oral presentations are given by students during the project reviews. A final project report containing the deliverables described in the laboratory section above will be required of all students. |
Social and Ethical Issues: |
None |
Problem Analysis and Design: |
Students are required to develop an understanding of the structure of programming languages, requirements for parsing and implementation of a language. Development of a compiler for a small language is the final project. |
Version & Date |
Version 1, 5/9/2003 |
Comments |
The first draft based on ACM curricula 2001 in the format of ABET sample course description. |