May 18, 2024  
2017-2018 University Catalog 
    
2017-2018 University Catalog [ARCHIVED CATALOG]

CS 35200 - Compilers: Principles And Practice


Credit Hours: 3.00. Should not be taken concurrently with CS 35400 . The theory and practice of programming language translation, compilation, and run-time systems, organized around a significant programming project to build a compiler for a simple but nontrivial programming language. Modules, interfaces, tools. Data structures for tree languages. Lexical analysis, syntax analysis, abstract syntax. Symbol tables, semantic analysis. Translation, intermediate code, basic blocks, traces. Instruction selection, CISC and RISC machines. Liveness analysis, graph coloring register allocation. Supplemental material drawn from garbage collection, object-oriented languages, higher-order languages, dataflow analysis, optimization, polymorphism, scheduling and pipelining, memory hierarchies. Typically offered Fall Spring.