Concrete Syntax for CASL

Michel Bidoit
Christine Choppy
Bernd Krieg-Brückner
Peter D. Mosses
Frédéric Voisin

17 February 1998

This document is available by FTP in various formats. It was converted to HTML using Hyperlatex 2.2.

Abstract

The concrete syntax given in this document is intended to be the final version for basic and structured specifications--taking into account the comments on the previous proposal (23 January 1998) that were sent to the cofi-language mailing list. As indicated in Appendix A, the remaining issues (apart from a late-breaking reconsideration of precedence and associativity of logical connectives) concern only architectural specifications and views (named morphisms).

Any comments on this document should be sent to the CoFI Language Design mailing list, cofi-language@brics.dk.

See Appendix B for details of previously-discussed and resolved points.

See Appendix C for a list of the main changes from the previous public proposal.

The relation between the concrete syntax and the corresponding abstract syntax [LD98] is rather straightforward--except that mapping the use of mixfix notation in a concrete ATOM to an abstract ATOM depends on the declared operation and predicate symbols (although not on their profiles). Currently, the mapping is merely suggested by the use of the same nonterminal symbols in the concrete and abstract grammars.

Examples of specifications illustrating the proposed concrete syntax are available as a separate document [BCKB+98]. Readers are encouraged to test the proposal on their own specifications. A prototype parser for CASL using ASF+SDF, developed by Mark van den Brand and Bjarke Wedemeijer, and (tested) examples of CASL specifications in input syntax are available by FTP.

Contents

  • 1 Introduction
  • 2 Input Syntax
  • 2.1 Basic Specifications
  • 2.2 Structured and Named Specifications
  • 2.3 Generic Specifications
  • 2.4 Architectural Specifications
  • 2.5 Specification Libraries
  • 3 Disambiguation
  • 4 Lexical Syntax
  • 5 Display Format
  • 6 Comments and Annotations
  • 6.1 Comments
  • 6.2 Annotations
  • 6.2.1 Label Annotations
  • 6.2.2 Display Annotations
  • 6.2.3 Parsing Annotations
  • Appendices:
  • Appendix A: Remaining Issues for Discussion
  • Appendix B: Previous Issues for Discussion
  • Appendix C: Changes
  • References
  • Footnotes

  • CoFI Document: CASL/SyntaxIssues --Version 0.99-- 17 February 1998.
    Comments to cofi-language@brics.dk