CPSC460/560
Introduction to Compilers
Spring 2008
| Instructor | Dr. Lynn Lambert
|
| Email | lambert@pcs.cnu.edu
|
| Office | Gosnold 225
|
| Phone | 594-7826
|
| Office Hours |
Monday 2:00-3:00;
Tuesday 1:30-2:30;
Friday 11:00-noon
|
| Text | Compilers: Principles, Techniques, and Tools
by Aho, Lam, Sethi, and Ullman, second edition, 2007.
|
| Prerequisite | CPSC310 and CPSC330
|
| Final Exam |
Monday, May 5, 8:00-10:30PM
|
Grading
| ITEM | WEIGHT for CPS460 | for CPSC560
|
|---|
| Quizzes, Homework | 25% | 20%
|
| Project | 30% | 25%
|
| Exam I | 20% | 15%
|
| Final | 25% | 20%
|
|
Paper and Presentation | 0 | 20%
|
| AVERAGE | GRADE | AVERAGE | GRADE | AVERAGE | GRADE
|
|---|
| 92 - 100: | A | 80 - 81: | B- | 68 - 69: | D+
|
| 90 - 91: | A- | 78 - 79: | C+ | 62 - 67: | D
|
| 88 - 89: | B+ | 72 - 77: | C | 60 - 61: | D-
|
| 82 - 87: | B | 70 - 71: | C- | 0 - 59: | F |
Spring 08 Schedule
(subject to change)
`| Date | Week | Subject | Chapter in text
|
|---|
| Jan 21 | 1 | Compiler
Organization
| 1
|
| 28 | 2 | An overview of a
Compiler/Lexical Analysis |
2
|
| Feb 4 | 3 |
Lexical Analysis | 3
|
| Feb 11 | 4
| Parsing | 4
|
| 18 | 5
| Parsing | 4
|
| 25 | 6
| Parsing | 4
|
| Mar 3 | 7 |
Parsing | 4
|
| Mar 5 | |
TEST I | Chapters 1-4
|
| March 10, 12 |
| SPRING BREAK -- NO CLASS
|
| 17 | 8
| Syntax-Directed Translation | 5
|
| 24 | 9
| Type Checking | 6
|
| 31 | 10
| Code Generation | 8
|
| Apr 7 | 11
| Code Generation | 8
|
| 11 | 12
| Code Generation and Optimization | 9, 10
|
| 18 | 13
| Oral Projects |  
|
| 25 | 14
| Oral Projects, Review |
|
| May 5 | | COMPREHENSIVE FINAL EXAM, 8:00-10:30PM
|
Catalog Description
A study of the problems of translating procedure oriented languages;
lexicographic analysis; syntax checking, code generation and
optimization, error detection and diagnostics.
Computer Usage
This course is project based.
You will have one project (given in incremental assignments)
and several homeworks.
Most of these will be programming assignments for UNIX machines.
Goals of this Course
The goal of this course is to give you an appreciation for some of the
issues in compiler design, some of the theoretical background, and
some hands-on practice using compiler design tools and developing
some compiler parts.
Disabilities
If you believe that you have a disability, you should make an
appointment to see me to discuss your needs. In order to receive an
accommodation, your disability must be on record in Disability Services
located in the Academic Advising Center, Room 125, Administration
Building (Telephone 594-8763).
Honor Code
You must do your own work. You may work with others on programs and
homework,
but you may not copy anybody else's work.
You may discuss problems with other students or with me, but the actual
design, coding, and testing of every program and every answer in
every homework must
be your own.
You may not copy part or all of another person's solution.
You may not allow another person to copy your file, and you may not
copy anybody else's file.
Written examinations are closed book, closed neighbor.
All written work must be your own.
If you have any questions about the honor code, please consult
your student handbook.
YOU MAY NOT COPY WITHOUT ATTRIBUTION.
Attendance
The best way that you can help yourself is
to attend class regularly and be on time, but
I do not take attendance.
You are responsible for any material that you missed regardless of the
circumstances of your absence.
Please respect your peers and do not come in late or leave early.
Entering or exiting the classroom is extremely disruptive no matter
how quiet you think that you are being.
Exams
Exams will be based on concepts;
they will not involve the use of the
computer.
They will be mostly short answer and problem-solving.
You will be asked to
write code segments and to explain concepts using words
and drawings.
Tests must be taken
during class on the day that they are scheduled unless arrangements
are made IN ADVANCE.
Makeup exams will not be allowed unless you call IN ADVANCE
.
Please call (594-7826) or send me email (lambert@pcs.cnu.edu)
AS SOON AS you know that you will not be able to make up an exam.
If you do not contact me before an exam and you miss the exam, you
will receive a 0 for that exam.
Unless unforeseen circumstances arise,
I will not change the date of any exam, so please make sure
now that you arrange your schedule so that you can
attend the exams as they are scheduled.
The Final exam will be comprehensive,
concentrating on the chapters on which you have not yet been tested.
Submission Policy
It is in your best interest to turn in all assignments on time.
However, given that it is not always possible to turn every program
on time, I do have a late policy for projects only.
Projects may be turned in up to 2 business days late
with no penalty.
On the third day, there will be a 10 point reduction in your grade for
the next two days, and a
5 point reduction for every week after that.
Homework will not be accepted late except under the most extenuating
circumstances.
All information about this course will be on the CPSC460/560 home page.
Please check this regularly.
The address of our home page is:
http://www.pcs.cnu.edu/~lambert/Classes/Spring08/460/460.html
Academic Success in this class
We want you to succeed at CNU; therefore I may notify the Academic
Advising Center if you seem to be having problems with this course.
Someone may contact you to help you determine what help you need to
succeed. You will be sent a copy of the referral form. I invite you
to see me at any time that I can be of assistance in helping you with
course material.
Getting Help
Especially because this course involves learning a lot on your own,
if you are having difficulties about anything related
to the course, I
encourage you to come talk to me as soon as possible.
If you cannot come during my office hours, I will be happy to arrange an
appointment whenever it is convenient for you.