TTh 9:30 am
This is a course on the construction and design of compilers and interpreters. We emphasize Lexical Analysis, Syntax Analysis, Syntax-Directed Translation, intermediate-code generation and code generation. The main project in this course will use the LL(1) parser generator Coco/R to generate our scanner and parser for a small language.
Several projects and homework will be given throughout the course including the development of a small compiler.
There will be three exams and a final. The three exams will be 30 % and the final is 20 %. Compiler Project and related homework 50 %. Exams will be open book so you will need the textbook.
Your programs are expected to be documented professionally (15% of your grade). This implies that each and every function (or class) be documented as to its purpose, I/O requirements and other interesting features. Include a general program heading at the top of your application that clearly defines the purpose of the program, method of execution, your name and project #. Please use *’s to delineate your comments.
Programs will be accepted late with an appropriate grade loss up until one week before the next due project, 10% per class day.The compiler project will be accepted late up to one week after the due date with a penalty of 5% per day
100% attendance is seriously suggested.