Course Description:This course investigates theoretical and practical issues in the design and construction of modern compilers. Topics covered include lexical and syntactic analysis, syntax-directed translation, type checking, intermediate representation, code generation, and runtime systems. A major portion of the course involves implementing a compiler from scratch for a C-like programming language.
- C or higher in CS 3358: Data Structures
|Knowledge of compiler organization and design.|
|Experience with the application of theory, specifically automata theory, to software design.|
|Improved C programming skills and experience with a semester-long software project.|
Lecture/Lab Hours: 3 hours lecture, 0 hours lab
Offered: Frequently (typically once a year).