The Revised2 Report on the JACCL 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 the programming language JACCL (Just Another Compiler Course Language). JACCL is a not very general purpose programming language whose features derive largely from Pascal. JACCL is, however, much simpler than Pascal. In designing JACCL, I have attempted to eliminate as many unnecessary details as possible while retaining enough features to ensure that the construction of a JACCL compiler will expose you to most 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 JACCL and an informal discussion of its semantics. In describing the semantics I will depend somewhat on your familiarity with the very similar semantics of Pascal.

  • Lexical Issues
  • Program Structure
  • Types
  • Variable Declarations
  • Procedures and Functions
  • Statements
  • Variables
  • Expressions
  • Input/Output

  • Computer Science 434
    Department of Computer Science
    Williams College