CS471 Programming Language Structure I
Spring 2003

This page will contain links to assignments and other relevant information concerning the course. You should visit here regularly to get this information.

Instructor: Roger Hartley, SH123

When and where: MWF 10:30-11:20 in SH115

Office hours: by appointment only

The textbook for the course is "Concepts of Programming Languages" (5th. edition) by Robert Sebesta, published by Addison Wesley.

This semester there will be assignments centered around the idea of providing the semantics of a language through another computer language. This is essentially a job of defining a virtual machine for the language in terms of the constructs of another language and then providing a definition of the language as an interpreter. Thus the semantics of language S are displayed using an interpreter for S written in a language T. Hopefully T is a "simpler" language than S, although this usually means a low-level language, such as an assembler, and interpreters then become very difficult to write correctly. Instead we will use the language RIGAL (see links below) that provides nice facilities for analyzing trees and lists while having a straightforward set of commands and control structures.

Assignments

1. The Origins of Pascal

2. Practice with Rigal

3. An Interpreter with Type Checking (Sample Answer)

4. Denotational Semantics of Scope Resolution (Sample Answer)

5. O-O methods in C++

Exams

Midterm

Final

Review your grades so far with the gradechecker.


You can view the materials for previous semesters by following the links below.


Reference documents you might want to look at are: