Course DescriptionCS 327. Compiler Design
A study of compiler design including language definition, syntactic analysis, lexical analysis, storage allocation, error detection and recovery, code generation and optimization problems. Prerequisite: CS 226.
Recommended TextbookTitle: Compilers, Principles, Techniques, and Tools, 1986 Edition (The Red Dragon Book)
Authors: Aho, Sethi, Ullman
Publisher: Addison Wesley
Course ObjectivesStudents successfully completing this course will be able to:
- Specify the lexical and syntactic structures of languages using regular expressions and context-free grammars.
- Develop lexical analyzers and parsers with and without tools.
- Construct parse trees.
- Build type checkers.
- Build intermediate code generators.
- Write code generators that generate amd-64 assembly.
- Understand and implement basic optimization techniques.
|Homework and Projects||40%|
ProjectsProjects are due on the date assigned. Late projects will not be accepted. Projects that do not compile will not be graded.
Attendance is required. Every unexcused absence after 3 will result in a deduction of 1.0 from your final grade. Being late to class 3 times will be considered an unexcused absence.
Copying programs is not permitted. If an assignment is copied, your final grade will be reduced by 1.0. A second offense will result in a grade of 0 for the course.