<bidirectional-covering> ::= <phi> <--> <field-or-region> <bidirectional-matching> ::= <phi> <==> <field-or-region> <compaction-rule> ::= compacts(<phi-list>) <condition> ::= <local-covers> | <local-matches> | <precedence> | <immediate-precedence> | <local-compaction> | <inequation> <conditions> ::= <condition> | (<conditions>, <conditions>) | (<conditions>; <conditions>) <covered-by-rule> ::= <field-or-region> covered_by <phi> | <field-or-region> covered_by (<phis>) <covers-rule> ::= <phi> covers <field-or-region> | <phi> covers (<fields-or-regions>) <entry> ::= <lexical-item> ---> <tecto-category> <field> ::= <prolog-atom> | matrix <field-or-region> ::= <field> | <region> <fields-or-regions> ::= <field-or-region> | <fields-or-regions> ; <fields-or-regions> <fields> ::= <field> | <fields> ; <fields> <immediate-precedence> ::= <non-zero-index> << <non-zero-index> <lexical-entry> ::= <entry> | <morph-rule> <lexical-item> ::= <prolog-atom> | <prolog-variable> <linking-rule> ::= <region> <<-- <field> | <region> <<-- (<fields>) | <field> -->> <region> | <field> -->> (<regions>) <local-compaction> ::= compacts(<index>) <local-covers> ::= <non-zero-index> covers <field-or-region> <local-matches> ::= <non-zero-index> matches <field-or-region> <matched-by-rule> ::= <field-or-region> matched_by <phi> | <field-or-region> matched_by (<phis>) <matches-rule> ::= <phi> matches <field-or-region> | <phi> matches (<fields-or-regions>) | (<phi> matches <field-or-region>) :- <prolog-goals> <morph-rule> ::= (<entry>) :- <prolog-goals> <phi> ::= <prolog-atom> | <prolog-variable> <phi-conj> ::= <phi> | <phi-conj>, <phi-conj> <phis> ::= <phi> | <phis> ; <phis> <precedence> ::= <non-zero-index> < <non-zero-index> <region> ::= <prolog-atom> <regions> ::= <region> | <regions> ; <regions> <tecto-rule> ::= <phi> *--> [<phi-conj>] | <phi> *--> [<phi-conj>, {<conditions>}] <topo-rule> ::= <region> topo <field-descriptor-list>