CS 488/588 – Principles of

Compiler Construction

 

 Syllabus Fall 2007

 

Bar

Name:

Larry Wilson

Office:

E & CS 3107

ODU Phone:

757-683-3084 * 

Fax Number:

757-683-4900

Meeting Time: 
Place

TR 11-12:15

Gornto and TTN sites

Office Hours:

Wed 9:30-10:45am

Wed 2:30-4pm

Electronic Mail:

wilson@cs.odu.edu

* If I am not in or the line is busy, you will be transferred to an automated phone system.  Enter a 0 at any time to speak to a live person and leave a message.

 

Bar

Course Text

 

Compilers: Principles, Techniques and Tools

Second Edition

 

by Aho, Lam, Sethi, and Ullman

 

 Bar

Prerequisite: CS 361

Bar

Course Objectives

 

The successful student will understand and be able to apply the principles and concepts used in compiler construction.  These concepts provide useful tools for a variety of practical programming situations such as the development of translators, language processors and user interfaces.  

Bar

Grading Issues

 

Grade Percentages

Project 

35% 

Tests (2) 

40% 

Final 

25% 

 

 

 

 

 

 

 

 

 


 
 
The honor code will be strictly enforced. For the project you may discuss and confer with others but each of you must create his/her individual code as well as the originals of all documents submitted for credit.  You may discuss the project with others, giving and receiving advice about concepts, designs and debugging.   You may collaborate on homework but each student must create the originals of any submissions for credit as well as understanding the content of what is submitted.


 
Attendance: You are not required to attend. You are responsible for the materials covered in class. In the case of an excused absence, I will attempt to help you make up the material. You are responsible for the lectures, reading assignments and homework.   If you miss a class without an excuse please do not ask me what was covered or what assignment was made.  If this is a TTN offering you may view previous lectures on VCR tape at your respective sites.

Bar

Course Topics.

 

The course will cover the concepts used to develop a compiler.  For the front end of a compiler we will be concerned with lexical, syntactic, and semantic analysis.  Lexical analysis involves regular expressions, syntactic analysis uses context free grammars and semantic analysis will produce intermediate code for an abstract machine.  The back end of a compiler uses the intermediate code to produce object code for the target system.  The materials covered will include chapters 1 and 2 and selected topics from chapters 3-10.

 

Project:  The course involves a substantial programming project, which will be assigned in three phases during the semester.   You will build a compiler for a subset of Pascal.   Your compiler will be used to compile several programs that will then be executed to test the quality of your compiler.  This project requires a final summary paper.

 

Graduate students:   (CS 588) work will be expected be of higher quality and will be graded against a higher standard.  Also graduate students will have the additional task of describing what would need to be done in order to turn their project compiler into a full-blown Pascal compiler as a part of the project summary.

Bar

 

Tentative Schedule— Schedule is partially complete.

Video Stream URLs  The URLs should appear within 48 hours after the class has met.  Last spring they actually were available later the same day.

Project—Phase 3 is available for access.