CS3510: Compiler Theory and Practice


Credit Hours: 3.0
Terms Offered: Spring
Core Course


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.




The student will be able to:

  1. 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).

  2. Explain the fundamentals of top-down and bottom-up parsers, and trace their actions during a typical parse.

  3. Identify the purpose of semantic analysis and the data structures which support it.

  4. Explain the actions taken by the back-end of a compiler during code generation, optimization, scheduling, and register allocation.

  5. Apply compiler theory and the principles of object-oriented design (OOD) to create a working compiler for a minimal programming language.

  6. Review and summarize a paper selected from the technical compiler literature.

  7. Work effectively as a team member to complete assigned programming projects.

Please describe the bug that you encountered or tell us what you think. We will log your username, email address, and the time that the issue was submitted.