CSC416 – Design and Construction of Compilers
3 Credit Hours
Instructor: Dr. Richard Burns, Assistant Professor of Computer Science
Text book, title, author, and year
Modern Compiler Implementation in Java, 2nd edition, Appel, Cambridge University Press, 2002.
Other Supplemental Materials
“Assemblers, Linkers, and the SPIM Simulator”, in Computer Organization and Design (Appendix A), Hennessy and Patterson, Morgan Kaufmann, 2013.
Specific course information
brief description of the content of the course (catalog description)
Design and construction of compilers including lexical analysis, parsing techniques such as LL(1), LR and LALR(1), code generation techniques. Error analysis and simple code optimizations will be introduced. Students will implement a large scale project consisting of developing a lexical analyzer, parser, abstract syntax tree, symbol table, intermediate and assembly code.
prerequisites or co-requisites
Prerequisite: CSC220 Foundations of Computer Science, CSC241 Data Structures and Algorithms, CSC242 Computer Organization.
indicate whether a required, elective, or selected elective course in the program
Selected elective (student must take one of: CSC417, CSC416, CSC496).
specific outcomes of instruction
explicitly indicate which of the student outcomes listed in Criterion 3 or any other
outcomes are addressed by the course.
Course addresses Student Outcomes (a), (i), (j), and (k).