ARCH-SPEC-DEFN ::= arch-spec-defn ARCH-SPEC-NAME ARCH-SPEC
ARCH-SPEC ::= BASIC-ARCH-SPEC | ARCH-SPEC-NAME
BASIC-ARCH-SPEC ::= basic-arch-spec UNIT-DECL-DEFN+ RESULT-UNIT
UNIT-DECL-DEFN ::= UNIT-DECL | UNIT-DEFN
UNIT-DECL ::= unit-decl UNIT-NAME UNIT-SPEC UNIT-IMPORTED
UNIT-IMPORTED ::= unit-imported UNIT-TERM*
UNIT-DEFN ::= unit-defn UNIT-NAME UNIT-EXPRESSION
UNIT-SPEC-DEFN ::= unit-spec-defn SPEC-NAME UNIT-SPEC
UNIT-SPEC ::= UNIT-TYPE | SPEC-NAME | ARCH-UNIT-SPEC
| CLOSED-UNIT-SPEC
ARCH-UNIT-SPEC ::= arch-unit-spec ARCH-SPEC
CLOSED-UNIT-SPEC ::= closed-unit-spec UNIT-SPEC
UNIT-TYPE ::= unit-type SPEC* SPEC
RESULT-UNIT ::= result-unit UNIT-EXPRESSION
UNIT-EXPRESSION ::= unit-expression UNIT-BINDING* UNIT-TERM
UNIT-BINDING ::= unit-binding UNIT-NAME UNIT-SPEC
UNIT-TERM ::= UNIT-REDUCTION | UNIT-TRANSLATION | AMALGAMATION
| LOCAL-UNIT | UNIT-APPL
UNIT-TRANSLATION ::= unit-translation UNIT-TERM RENAMING
UNIT-REDUCTION ::= unit-reduction UNIT-TERM RESTRICTION
AMALGAMATION ::= amalgamation UNIT-TERM+
LOCAL-UNIT ::= local-unit UNIT-DEFN+ UNIT-TERM
UNIT-APPL ::= unit-appl UNIT-NAME FIT-ARG-UNIT*
FIT-ARG-UNIT ::= fit-arg-unit UNIT-TERM SYMB-MAP-ITEMS*
ARCH-SPEC-NAME ::= SIMPLE-ID
UNIT-NAME ::= SIMPLE-ID