Mar 14, 2025  
2024-25 Catalog 
    
2024-25 Catalog
Add to Portfolio (opens a new window)

CSCI 394 - Principles of Compiler Design


An in-depth look at the design and construction of programming language compilers, covering the basic phases of the compilation process, including syntactic analysis and parsing, semantic analysis, intermediate representations of code, dataflow analysis, register allocation, code generation, and other optimizations. Students will develop a working compiler and run-time system for a programming language. Time permitting, the course surveys advanced techniques such as compilation of functional programming languages or compilation for high-performance hardware.

Unit(s): 1
Group Distribution Requirement(s): Distribution Group III
Prerequisite(s): CSCI 389  
Instructional Method: Lecture-conference
Grading Mode: Letter grading (A-F)
Not offered: 2024-25
Group Distribution Learning Outcome(s):
  • Use and evaluate quantitative data or modeling, or use logical/mathematical reasoning to evaluate, test or prove statements.
  • Given a problem or question, formulate a hypothesis or conjecture, and design an experiment, collect data, or use mathematical reasoning to test or validate it.



Add to Portfolio (opens a new window)