Computer Science 423

Language Processor Techniques

Spring 2005

Prerequisites: Computer Science 321 and 331.

Concepts behind the design and implementation of programming language processors such as compilers and interpreters. The design of a small compiler from a software engineering perspective.


Kenytt D. Avery, M.S.
Office: CS 542
Office Hours: Tuesday and Thursday, 5:30-6:45pm, Wednesday, 2:00-3:50pm, Friday 6:00-7:00pm
Phone: (714) 278-7275

Hours and Location

Section 3 meets Friday 7:00-9:45pm


Required: Parsons, T. W., Introduction to Compiler Construction, W. H. Freeman, 1992. ISBN 0-71-678261-8

Grading Policy

Late work will not be accepted. Make-up exams will not be given without a documented excuse. If you need to miss an exam, you must contact me prior to the exam in order to make other arrangements.

Your course grade will be calculated as follows:

Programming Assignments 30%
Midterm Exam 30%
Final Exam 40%

Grades will be assigned on the usual 90%-80%-70% scale, i.e. without plus or minus grades.


There will be a midterm exam on Friday, March 25. The midterm exam will cover the chapters listed in the course outline.

There will be a comprehensive final exam on Friday, May 27, 7:00-9:45pm.

Exams will consist of several short questions requiring a few written paragraphs, some calculations, or (in some cases) a diagram to be drawn.

Programming Assignments

There will be three programming assignments, spaced at approximately five-week intervals. Details for each assignment will be posted on the web at least three weeks prior to the due date.

You may work alone or with another student. If you choose to work with another student, both of you will receive the same grade on the assignment. Choosing a partner is not a semester-long commitment; you may choose to work with other students on subsequent projects.


You are not required to attend lectures except to take the Midterm Exam, but attendance is highly recommended.

Academic Dishonesty

The University Regulations (UPS 300.021) state:
Academic dishonesty includes such things as cheating, inventing false information or citation, plagiarism, and helping someone to commit an act of academic dishonesty. It usually involves an attempt by a student to show possession of a level of knowledge or skill which he/she in fact does not possess.

Cheating is defined as the act of obtaining or attempting to obtain credit for work by the use of any dishonest, deceptive, fraudulent, or unauthorized means. Examples of cheating include, but are not limited to, the following: using notes or aids or help of other students on tests and examinations in ways other than those expressly permitted by the instructor, plagiarism, as defined below, tampering with grading procedures, and collaborating with others on any assignment where such collaboration is expressly forbidden by an instructor. Violation of this prohibition on collaboration shall be deemed an offense for the persons collaborating on the work, in addition to the person submitting the work.

Plagiarism is defined as the act of taking the work of another and offering it as one's own without giving credit to that source. When sources are used in a paper, acknowledgment of the original author or source must be made through appropriate references and, if directly quoted, quotation marks or indentations must be used.

In a word, don't. You will receive an F in the course, and I won't even feel sorry for you. You have been warned.


The last day to drop the course without a grade of "W" is February 14.

The last day to drop with a grade of "W" for serious and compelling reasons is April 29.

Class Disruptions

Please turn off cell phones or pagers, or set them to vibrate.

Changes and Other Announcements

Changes to the class schedule or other announcements will be posted to If you wish, you may subscribe to the RSS feed.