Each unit declaration UNIT-DECL provides not only a unit
specification UNIT-SPEC but also a UNIT-NAME, which is used
for referring to the unit in the specification of the result unit.
The same unit may be used more than once in the composition. No
UNIT-NAME may be declared more than once in a particular
architectural specification.
UNIT-DECL ::= unit-decl UNIT-NAME UNIT-SPEC
UNIT-NAME ::= SIMPLE-ID
A unit specification definition UNIT-SPEC-DEFN provides a name
SPEC-NAME for a unit specification UNIT-SPEC, which is
either a UNIT-TYPE or the name SPEC-NAME of another unit
specification. A unit satisfies a UNIT-TYPE when it is a
persistent function that maps compatible tuples of models of the
argument specifications SPEC* to models of their extension by the
result specification SPEC. A UNIT-TYPE is well-formed only
when the signature of the union of the argument specifications is
included in the signature of the result.
UNIT-SPEC-DEFN ::= unit-spec-defn SPEC-NAME UNIT-SPEC
UNIT-SPEC ::= UNIT-TYPE | SPEC-NAME
UNIT-TYPE ::= unit-type SPEC* SPEC
CoFI Tentative Document: LanguageSummary --Version 0.95-- March 6, 1997.
Comments to cofi-language@brics.dk