The Revised Report on the Co Programming Language

The programming assignments in this course will all be components of a single major project. The ultimate goal of this project will be to construct a complete compiler for a simple programming language. Co ( pronounced "C diminished") is one of the languages you may implement as a project for this course.

Co is a not very general purpose programming language whose syntax derives largely from C. Co is, however, semantically more similar to Pascal than C. In designing Co, I have attempted to eliminate as many unnecessary details as possible while retaining enough features to ensure that the construction of a Co compiler will expose you to many of the major issues one must address when constructing a compiler for a real language.

This document includes a formal description of the syntax of Co and an informal discussion of its semantics. You may either download a complete copy of the description of Co in PDF form or click on the following links to read the contents of this document in your web browser.


Computer Science 434
Department of Computer Science
Williams College