Prev Up Next
Go backward to 2.1 Basic Specifications
Go up to 2 Input Syntax
Go forward to 2.3 Generic Specifications

2.2 Structured and Named Specifications

  SPEC-DEFN        ::= spec SPEC-NAME = SPEC end/
  SPEC             ::= BASIC-SPEC 
                     | SPEC RENAMING
                     | SPEC RESTRICTION
                     | SPEC and SPEC and...and SPEC
                     | SPEC then SPEC then...then SPEC
!                    | free GROUPED-SPEC
                     | local SPEC within SPEC
!                    | GROUPED-SPEC
! GROUPED-SPEC     ::= SPEC-NAME | { SPEC }

! RENAMING         ::= rename  SYMB-MAP-ITEMS,...,SYMB-MAP-ITEMS
!                    | require SYMB-ITEMS,...,SYMB-ITEMS
! RESTRICTION      ::= hide    SYMB-ITEMS,...,SYMB-ITEMS
!                    | reveal  SYMB-OR-MAP-ITEMS,...,SYMB-OR-MAP-ITEMS

! SYMB-ITEMS       ::= SYMB | SOME-SYMB-KIND SYMB,...,SYMB
! SYMB-MAP-ITEMS   ::= SYMB-MAP | SOME-SYMB-KIND SYMB-MAP,...,SYMB-MAP
! SYMB-OR-MAP-ITEMS::= SYMB-OR-MAP | SOME-SYMB-KIND SYMB-OR-MAP,...,SYMB-OR-MAP
! SOME-SYMB-KIND   ::= sort/sorts | op/ops | pred/preds

! SYMB             ::= ID | QUAL-PRED-NAME | QUAL-OP-NAME  
  SYMB-MAP         ::= SYMB "|->" SYMB                             
  SYMB-OR-MAP      ::= SYMB | SYMB-MAP

  SPEC-NAME        ::= SIMPLE-ID

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

Prev Up Next