The course will use material from Engineering a Compiler, 2nd Edition, or, see here. Students who do not already have a copy of EaC2e should be able to use the copies on reserve for the class in Fondren Library.
COMP 506 was designed to meet specific needs of new graduate students. It does not substitute for COMP 412 in the undergraduate curriculum. A student cannot take both COMP 412 and COMP 506 for credit.
Lecture notes are posted online, typically before class. The lecture notes often have material beyond what is covered in the lecture.
Time permitting, the course will have three programming assignments. Over the course of the semester, students will implement several components of a compiler. The first assignment is a scanner and parser for a simple language that we will call Demo. In the second assignment, students will add semantic elaboration routines that generate simple intermediate code for Demo programs. In the final assignment, students will optimize the code produced by their Demo compilers.
The course will have a midterm and a final. The exams will be closed-notes, closed-book exams of roughly two hours duration.