CS471 Programming Language Structure I
Fall 2002

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 SH113

Office hours: by appointment only

TA: Xinxia An, 646-3198. Science Hall room 147 (email xan@cs.nmsu.edu.) Office hours TTh, 10:20 - 11:20.

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 link 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 C

2. Abstract Syntax Trees in Rigal (notes on using Rigal) Sample Answers

3. Denotational Semantics Sample Answer

4. Type compatibility

5. Object-oriented analysis and design

6. Functional Programming

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

Reference documents you might want to look at are: