The course covers all the details of a modern compiler including scanning, parsing, syntax and semantic analysis, code generation and optimization. The programming assignments will be based on the syntax of a (subset) programming language. Programming assignments can be done with C/C++ using the ACS Unix account, or Microsoft Visual Studio 6.0, or using Java. Practical examples using the compiler principles will be demonstrated.
The course grading will consist of homework problems (theory and programming), a mid term exam (open text), and a final exam (open text).
The course grade will be based on active class participation (10%), assignments (40%), mid term exam (25%), final exam (25%). Assignments are expected to be submitted by their respective due dates. Late submission grades will be scaled with respect to the minimum grade of those submitted on time. The Theory ones will be due the following week. The Programming ones will have two weeks time.
All course materials will be posted using BU's WebCT site. This requires all students to have an account with the BU computer system. Click here for instructions if you require an account.
Click here to enter WebCT site for this course.
Please review the academic conduct code
|3||2/1||...Scanning, LEX||HW2 (Programming)|
|5||2/15||...Parsing, YACC||HW4 (Programming)|
|7||3/1||Context Sensitive Analysis||HW5 (Theory)|
|3/8||Spring Recess (No Class)|
|8||3/15||Mid Term Exam|
|10||3/29||Code Shape||HW6 (Programming)|
|12||4/12||Code Optimization||HW7 (Theory)|
|4/19||Monday Schedule, No Class|