| Instructor: Dr. Deborah Whitfield | Voice Mail/ Phone: (724) 738-2935 |
| Office Hours: MWF 10:00 – 11:40 | E-Mail: deborah.whitfield@sru.edu |
| Office: Maltby 106A | http://granite.sru.edu/~whit |
Required Text: Crafting a Compiler with C by Charles Fischer and Richard LeBlanc, Jr.
Suggested Text: A text on C or C++. New C Primer Plus by Waite and Prata
Course Objectives: To understand the principles of compiler design.
This goal will be achieved by introducing compiler design and
implementation techniques and theory, reading current compiler development
literature, and discussing the design and implementation of
components of a compiler. This course will emphasize the implementation of
a compiler through the development of a large, complex, well-structured
software system that implements phases of a compiler such as the scanner,
parser, and code generator. An interpreter will be implemented to test the
compiler and simulate the run-time environment. Additionally, students will
be able to describe the design of a compiler including its phases and
components, describe current developments in compiler design and
implementation, identify similarities and differences among various
parsing techniques, and transform grammars into parsable forms.
Prerequisites: CpSc 374, 376, 378 (3 credits)
The departmental learning outcomes that a student
will acquire from this course are Problem Solving,
Communication, and Critical Thinking.
| Assignment 1: | 30 |
| Exam 1: | 50 |
| Exam 2: | 100 |
| Exam 3 : | 100 |
| Project | 250 |
| Quizzes, ... | 30 |
Attendance: You are expected to attend every minute of every class session.
If you miss a class or portion of a class it is your responsibility to determine
what was missed.
There are no makeups given for exams or quizzes unless a valid documented
absence is provided. Please note that the health center will not provide excuses.
If you are seen at the health center, they will tell you if your illness
necessitates missing class. With your permission, the health center will report
their recommendation to me when I call.
Course Project: The course project will consist of the implementation of a compiler. The project will consist of 4 phases and be completed by teams of students. Each team will hand in the completed project along with a description of each team member's contribution.
Exam 3:
The third exam is scheduled during finals week: Wednesday, May 4th from 2:00-4:00 pm.
Office hours
are on a first come first serve basis. If you have problems getting in to see
me, you may make an appointment with me. I prefer not to make
appointments during office hours with the exception of during registration.
If at anytime through the semester you need to make an appointment with me,
please call me or send me e-mail (with your available times).