Compiler Design Theory
CS 360
Fall 1996
- Instructor:
- Professor Dan Hyde
- Office:
- 324 Dana. 524-1281.
- Office Hours:
- Mondays and Wednesday 11:00 AM - Noon;
Thursday 11:00 AM - Noon.
- Electronic Address:
- hyde@bucknell.edu. This is a good way
to reach me.
- Lectures:
- MWF 2:00 - 3:00 PM in room 239 Dana
- Web Page:
- The course has a Web page at
http://www.eg.bucknell.edu/~cs360/
Resources for the course as well as copies of the handouts
will be available on the Web page.
- Texts:
- You are required to have a copy of each of the following
two texts. Both are available in the bookstore under CS360.
- Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman, Compilers:
Principles, Techniques, and Tools, Addison-Wesley, 1986. The
standard text in the field nicknamed ``The Dragon Book.''
- John R. Levine, Tony Mason and Doug Brown, lex & yacc,
O'Reilly & Associates, 2nd edition, 1992.
- 1996/97 Catalog Description:
- CS 360 (I; 3, 0; K)
Principles of compiler design including lexical, syntax and semantic
analysis, code optimization and code generation. Relationship of
automata theory to language translators. Design and construction of a small
compiler. Prerequisites: CS208 or permission of instructor.
- Goals of Course:
- Students study the techniques and issues in
construction of language processors. Students learn
that the study of theory is important in the design of complex
software. Students design and construct a small compiler.
- Prerequisite:
- CS 208 or permission of instructor.
- Attendance:
- Students are required to attend all classes.
- Reading:
- Students should complete the reading assignments by the
date indicated in the assignments handout. Students
should be prepared to discuss and raise questions concerning the
reading material.
- Homework:
- Written assignments will be assigned about once a
week to allow the students to practice the material. Also, I will
assign several programming tasks to prepare you for the project.
These will be graded by the instructor.
- Project:
- Each student will design and construct a small
compiler as a semester long project. The project will be performed in
four stages each with its own due date. Each stage will be graded
individually by the instructor. The project will be written in the
programming language C and will use the compiler construction tools
lex and yacc. The compiler will generate code for the
Java Virtual Machine.
- Late Assignment Policy:
- No late assignments will be accepted
without prior permission of the instructor. And you must
have a very good reason. Being busy is not enough.
- Quizzes:
- Every Friday we will have a 5 to 10 minute quiz. The
quizzes cover important material of the previous week which I think you
should have learned. The main purposes of the quizzes are to force you
to keep up with the material and to provide me with feedback on how
the class is learning. Quizzes count 10% of your grade.
- Exams:
- There will be a midterm exam and a comprehensive final.
The final examination will be given only at
the date and time scheduled by the University. If you are unable to
attend any of
the exams, you must notify me at least one week in advance. If
a grade needs to be adjusted, you must see me no later than two
weeks after the return of the assignment or exam.
- Grades:
- The course grade will be distributed as follows:
Homework | 10% |
Quizzes | 10% |
Project | 40% |
Class participation | 5% |
Midterm Exam | 15% |
Final Exam | 20% |
Dr. Daniel C. Hyde
Mon Sep 16 17:14:11 EDT 1996