MET CS 568 -- Introduction to Language Theory and Compilers, Spring
2005
(Tuesday, Main Campus, SMG 326, 595 Comm Ave, 6:00-9:00 PM)
Suresh Kalathur, Ph.D.
Assistant Professor
Boston University MET College, CS Dept.
E-mail: kalathur@bu.edu URL: http://people.bu.edu/kalathur
Course Web Site
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 (webct.bu.edu) to enter WebCT site for this
course.
Suggested Textbooks
-
Engineering a Compiler, Keith Cooper and Linda Torczon, Morgan Kaufmann,
2003. ISBN: 1-55860-698-X (Required)
-
Compilers, Principles, Techniques, and Tools ,
A.V. Aho, R. Sethi, and J.D. Ullman,
Addison Wesley, 1986. ISBN: 0-201-10088-6 (Reference)
-
Lex & Yacc ,
J. R. Levine, T. Mason, and D. Brown,
O'Reily, 1992. (Reference)
Course Description
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 using the ACS Unix account, or
Microsoft Visual Studio 6.0, or using Java. Practical examples using the
compiler principles will be demonstrated.
| Week |
Date |
Lecture |
Notes |
| 1 | 1/18 |
Introduction
|
- |
| 2 | 1/25 |
Scanning
|
HW1 (Theory) |
| 3 | 2/1 |
... Scanning, LEX
|
HW2 (Programming) |
| 4 | 2/8 |
Parsing
|
HW3 (Theory) |
| 5 | 2/15 |
... Parsing, YACC
|
HW4 (Programming) |
| 6 | 3/1 |
... Parsing
|
|
| | 3/8 |
Spring Recess (No Class)
|
|
| 7 | 3/15 |
Context-Sensitive Analysis
|
HW5 (Theory) |
| 8 | 3/22 |
Mid Term Exam
|
Open text book |
| 9 | 3/29 |
Intermediate Representations,
Procedure
Abstraction
|
- |
| 10 | 4/5 |
Code Shape
|
HW6 (Programming) |
| 11 | 4/12 |
Code Generation
|
HW7 (Theory) |
| 12 | 4/19 |
Code Optimization
|
HW8(Programming) |
| 13 | 4/26 |
Data-Flow Analysis
|
- |
| 14 | 5/3 |
Final Exam
|
- |
Grading
The actual grade will be determined based on the performance in the home
works, mid term, and the final exam. The percentage of
each component relative to the total grade is shown in the table below:
| Home works | 50% |
| Mid Term | 25% |
| Final Exam | 25% |