CSC 412 - Compiler Construction

Catalog Description:
The course will concentrate on the theory and practice of compiler-writing. Topics to be covered will include techniques for parsing, code generation, and optimization. Furthermore, the theoretical underpinnings of compilers such as LR parsing will be covered. Finally, the students will be exposed to compiler construction tools, and will obtain hands-on experience in building a compiler for a small programming language. Besides the listed prerequisite courses, other helpful courses include CSC 253, CSC 224, CSC 234, and MA 121.
Contact Hours: Prerequisites: CSC 316 and CSC 333
Co-requisites: None
Restrictions: None
Coordinator: Dr. Xipeng Shen
Textbook: Engineering a Compiler

Course Outcomes:
 By the end of this course students will be able to:

  1. design and implement algorithms for scanners, parsers, semantic analyzers, and code generators;
  2. critique different implementation choices and analysis approaches;
  3. understand the fundamental theory on regular expression, DFA, NFA, context-free and context-sensitive grammars;
  4. reiterate basic algorithms for register allocation, instruction scheduling, instruction selection;
  5. explain several common techniques used in code optimizations and the major challenges in static code optimizations;


Topics:

See Course Listings

See Course Coordinators