ARCH-SPEC-DEFN ::= arch spec ARCH-SPEC-NAME = ARCH-SPEC end/ ! ARCH-SPEC ::= BASIC-ARCH-SPEC | GROUP-ARCH-SPEC ! GROUP-ARCH-SPEC ::= { ARCH-SPEC } | ARCH-SPEC-NAME BASIC-ARCH-SPEC ::= unit/units UNIT-DECL-DEFN ;...; UNIT-DECL-DEFN ;/ result UNIT-EXPRESSION ;/ UNIT-DECL-DEFN ::= UNIT-DECL | UNIT-DEFN UNIT-DECL ::= UNIT-NAME : UNIT-SPEC ! given GROUP-UNIT-TERM ,..., GROUP-UNIT-TERM | UNIT-NAME : UNIT-SPEC UNIT-DEFN ::= UNIT-NAME = UNIT-EXPRESSION ! UNIT-SPEC-DEFN ::= unit spec SPEC-NAME = UNIT-SPEC end/ ! UNIT-SPEC ::= GROUP-SPEC ! | GROUP-SPEC *...* GROUP-SPEC -> GROUP-SPEC ! | arch spec GROUP-ARCH-SPEC ! | closed UNIT-SPEC UNIT-EXPRESSION ::= lambda UNIT-BINDING ;...; UNIT-BINDING "." UNIT-TERM | UNIT-TERM UNIT-BINDING ::= UNIT-NAME : UNIT-SPEC UNIT-TERM ::= UNIT-TERM RENAMING | UNIT-TERM RESTRICTION | UNIT-TERM and...and UNIT-TERM | local UNIT-DEFN ;...; UNIT-DEFN ;/ within UNIT-TERM ! | GROUP-UNIT-TERM ! GROUP-UNIT-TERM ::= { UNIT-TERM } | UNIT-NAME | UNIT-NAME [ FIT-ARG-UNIT ]...[ FIT-ARG-UNIT ] FIT-ARG-UNIT ::= UNIT-TERM | UNIT-TERM fit SYMB-MAP-ITEMS ,..., SYMB-MAP-ITEMS ARCH-SPEC-NAME ::= SIMPLE-ID UNIT-NAME ::= SIMPLE-ID