Due to the ongoing COVID-19 pandemic, there are several important things to keep in mind. First, office hours have been changed to "virtual" in order to avoid in-person interaction in a small room. If you have an emergency need to meet in person, email me and we'll see if we can arrange something (perhaps in a larger room), but please consider this only for emergency situations. Second, the schedule and class structure is more uncertain that usual, and changes in the pandemic situation might require a rapid transition to online-only classes. Be prepared and stay on top of things!
For more information on UNCG and class policies regarding COVID-19, please see the class syllabus.
Catalog description: Basic techniques of compiler design and implementation: lexical analysis, parsing, code generation. Sizable programming project implementing a compiler for a block-structured language with strong typing. Pre-reqs: CSC 261 and CSC 330. CSC 452/652 helpful.
This class provides an introduction to how compilers and language translation systems work, including both the underlying theory and the practical implementation. This is a programming-intensive class, and by the end of the class each student is expected to have produced a fully-functional compiler, which will be thousands of lines of code. You must be comfortable and confident in your ability to crank out non-trivial amounts of code to succeed in this class.