CS3510: Compiler Theory and Practice
Credit Hours: 3.0
Terms Offered: Spring
Introduction to the foundational technology of modern compilers, with emphasis on underlying theory and practical techniques for implementing a compiler by applying object-oriented and appropriate data structures.
- Dr. Dave Gallagher, Professor of Computer Science
The student will be able to:
Apply finite automata theory to solve problems using regular expressions (RE), context-free grammars (CFGs), and deterministic and non-deterministic finite automatas (DFAs and NFAs).
Explain the fundamentals of top-down and bottom-up parsers, and trace their actions during a typical parse.
Identify the purpose of semantic analysis and the data structures which support it.
Explain the actions taken by the back-end of a compiler during code generation, optimization, scheduling, and register allocation.
Apply compiler theory and the principles of object-oriented design (OOD) to create a working compiler for a minimal programming language.
Review and summarize a paper selected from the technical compiler literature.
Work effectively as a team member to complete assigned programming projects.