Compiler Design
CSC 450
Spring 1999
Illinois College
Instructor: Albert L. Crawford
Office: Baxter 104C
Office Hours: To be determined
E-mail: crawford@hilltop.ic.edu
Web page: http://hilltop.ic.edu/~crawford

Text: "Compilers : Principles, Techniques, and Tools" by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman (Contributor). Addison-Wesley Pub Co, 1985.

The Course: This course is a study and application of the concepts underlying the implementation of high level programming languages. This includes using formal language theory to parse and implement language statements, control structures, and data structures.  The use of

Project: Each student will be required to write a compiler for a language that will be defined in class.  The project will have five phases.  Each phase will depend upon the completion of the previous phase.  Each phase of the project will be weighted at 40 points each.  These phases are as follows:

  1. The lexical analysis
  2. The parser
  3. A simple compiler
  4. Type checking, procedures, and functions
  5. Arrays and records


Quizzes: There will be 0 to 10 in class quizzes given throughout the semester. These will be weighted from 10 to 20 points each. These may be either announced or unannounced. No makeups will be given for quizzes.

Exams: There will be two regular hour exams during the semester. These exams will be weighted at 100 points each.

Final: The final examination will be weighted at 150 points and will cover the material from the entire course with the material from the last third of the course being given the most weight.

Makeup of work: Should an absence be known ahead of time the student should so inform the instructor and get his approval. Work that is due during such an absence should be turned in prior to the absence or sent to class with a classmate. If an exam is scheduled during such an absence the student may be required to take the exam early.

Makeups for missed regular exams will not be given unless the reason for the absence is determined by the instructor to be valid and necessary. It is the students responsibility to make the reason for the absence known to the instructor as soon as is reasonably possible.

Grades: All grades will be based on a 90, 80, 70, 60 percentage of all points for grades of A, B, C, and D. The exception to this is the requirement that to receive a satisfactory grade (A, B, or C) the first four phases of the project must be correctly completed and to receive a grade of A all five phases of the project must be completed.  Any "curves" that will be placed on the grades will be made on the individual tests and not at the end of the semester. Such curves are not likely. Final grades will not include a "+" or "-".

Cheating: I do not expect this paragraph to apply to anyone. However, in the very unlikely event that a student is caught cheating please see the student "blue book" for the penalties that the instructor has the authority to apply.

Attendance: Again, I do not expect this paragraph to apply to anyone. However, you are expected to attend class. Any unexcused absence is considered excessive. If such absences reaches three or more the student will receive a letter grade reduction in his/her semester grade and given a warning. Upon the next unexcused absence the student will be dropped from the class with a grade of F. Attendance will be taken at the beginning of each class.