Prev Up Next
Go backward to A.2 Basic Specifications with Subsorts
Go up to A Abstract Syntax
Go forward to A.4 Architectural Specifications

A.3 Structured Specifications

  SPEC             ::= BASIC-SPEC | TRANSLATION | REDUCTION
                     | UNION | EXTENSION | FREE-SPEC | LOCAL-SPEC
                     | CLOSED-SPEC | SPEC-INST 

  TRANSLATION      ::= translation SPEC RENAMING
  RENAMING         ::= renaming  SYMB-MAP-ITEMS+

  REDUCTION        ::= reduction SPEC RESTRICTION 
  RESTRICTION      ::= HIDE | REVEAL 
  HIDE             ::= hide   SYMB-ITEMS+
  REVEAL           ::= reveal SYMB-MAP-ITEMS+

  UNION            ::= union SPEC+
  EXTENSION        ::= extension SPEC+
  FREE-SPEC        ::= free-spec SPEC
  LOCAL-SPEC       ::= local-spec SPEC SPEC
  CLOSED-SPEC      ::= closed-spec SPEC

  SPEC-DEFN        ::= spec-defn SPEC-NAME GENERICITY SPEC
  GENERICITY       ::= genericity PARAMS IMPORTS
  PARAMS           ::= params SPEC*
  IMPORTS          ::= imports SPEC*

  SPEC-INST        ::= spec-inst SPEC-NAME FIT-ARG*

  FIT-ARG          ::= FIT-SPEC | FIT-VIEW
  FIT-SPEC         ::= fit-spec SPEC SYMB-MAP-ITEMS* 
  FIT-VIEW         ::= fit-view VIEW-NAME FIT-ARG*

  VIEW-DEFN        ::= view-defn VIEW-NAME GENERICITY VIEW-TYPE 
                                 SYMB-MAP-ITEMS*
  VIEW-TYPE        ::= view-type SPEC SPEC

  SYMB-ITEMS       ::= symb-items     SYMB-KIND SYMB+
  SYMB-MAP-ITEMS   ::= symb-map-items SYMB-KIND SYMB-OR-MAP+
  SYMB-KIND        ::= implicit | sorts | ops | preds

! SYMB             ::= ID | QUAL-ID
! QUAL-ID          ::= qual-id ID TYPE
! TYPE             ::= OP-TYPE | PRED-TYPE | SORT
  SYMB-MAP         ::= symb-map SYMB SYMB
  SYMB-OR-MAP      ::= SYMB | SYMB-MAP

  SPEC-NAME        ::= SIMPLE-ID
  VIEW-NAME        ::= SIMPLE-ID

  TOKEN-ID         ::= ... | COMP-TOKEN-ID
  MIXFIX-ID        ::= ... | COMP-MIXFIX-ID
  COMP-TOKEN-ID    ::= comp-token-id TOKEN ID+
  COMP-MIXFIX-ID   ::= comp-mixfix-id TOKEN-PLACES ID+   

CoFI Document: CASL/Summary-v1.0 -- Version: 1.0 -- 22 October 1998.
Comments to cofi-language@brics.dk

Prev Up Next