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.
3. An Interpreter with Type Checking (Sample Answer)
4. Denotational Semantics of Scope Resolution (Sample Answer)
Review your grades so far with the gradechecker.
Reference documents you might want to look at are: