CS4304          Compiler Design & Construction          Arthur

This course is a one semester course that focuses on the practical aspects of compiler design and implementation.  It is assumed that each student has a thorough working knowledge of block-structured language, familiarity with an assembly language, and has taken CS3204 (Operating Systems) and has passed it with a "C" or better.  The topics in this course will concentrate on lexical analysis, formal parsing methods, symbol table construction, code generation, type coercion and error recovery.  Additionally, formal language concepts will be presented that directly relate to compiler design and construction.  The final product will be a non-trivial compiler that generates code for a 3-address oriented machine.

 

Grading policy:

A complete and functional compiler IS a prerequisite for an "A" in this course!  If you do not satisfy the above condition, the maximum attainable grade will be a "B+".  With this exception, your grade will be determined as follows:

Projects                                                50%

Lexical Analyzer                                      16%

Recursive Descent Parser                         17%

Symbol Table & Code Generation               17%

 

Pop Quizes & Homework                           10%

Midterm Exam                                         20%

Final Exam                                              20%

 

Project Grading:

Internal Documentation, Program Structure, and Efficient Algorithms              25%

Correct Results                                                                                    75%

 

A project that is not complete will be graded on the first three items and the maximum possible grade attainable will be 25%.  It is not the grader's job to figure out "how close" the project is to being correct... either it works or it doesn’t!  I DO NOT ACCEPT LATE ASSIGNMENTS!

 

Grades are assigned on a 10 point scale (e.g. 90-100 is in the "A" range);  I do give "-" and "+" grades; I do NOT curve the final grade.

 

Ethics: 

        VPI & SU Honor Code is applicable.

 


Text:

        Compiler Construction: Principles and Practice By Kenneth C. Louden

 

Tentative Course Topics: