CS 536 is an introduction to compiling, including some aspects of language design (and their impact on compiler design). Subjects to be covered include scanning and regular expressions, context-free grammars and parsing, syntax-directed translation, abstract syntax trees, scoping, symbol tables, code-generation, and optimization. A variety of tools, including Make, JLex, and JavaCUP, will be used over the course of the semester.
Graded components of the course consist of exams, programming assignments, and written homework assignments. The (tentative) breakdown for grading is as follows: