Carleton University
Technical Report TR-07-20
October 19, 2007
ACL Specification
Dave Arnold
Abstract
The following document specifies the high-level contract specification language called Another Contract Language (ACL). The ACL is used to specify scenarios and checks that compose a contract. The ACL compiler targets an intermediate language known as the Contract Intermediate Language (CIL). The purpose of the CIL is to allow for multiple, possibly domain specific, highâlevel contract languages to be used within the contract evaluation framework. The ACL can be seen as a general purpose contract specification language, and as such it is not targeted towards a specific domain. The specification will begin with an overview of the language elements supported by the ACL. These elements will include comments, keywords, tokens, and types. Next, basic concepts required for creating a simple ACL contract are examined in detail. Once the basic concepts have been discussed, each type of section which may reside within a contract is explored. Throughout the document formal grammar sections will be presented. These sections specify the entirety of the ACL.