       ** RESTRICTION GRAMMAR **
if
then
else
is
in
leftmost
first
second
last
after
above
otherwise
gets
marked
halfgets
lategets
completes
postmarked
begin
end
match
inherits
prepares
wREG
wREG2
tREG
pREG
assigned
defined
redefined
as
quote
from
with
appears
appear
does
noappears
already
preappears
nopreappears
JOINOF
FOREIGNOF
LMERGEOF
TCLOSUREOF
PDUPEOF
HASLACKOF
SHARETABLE
ONETOMANY1
ONETOMANY2
ONETOONE
NUMEROUS1
NUMEROUS2
TABLESIEVE
ADDRESSOF

* tf tokens *
<quoteOf>
<regContents>

<restriction> ==> <eval> .
<restriction> ==> [ Integer ] .
<eval> ==> ( <eval> or <eval> )
<eval> ==> ( <eval> and <eval> )
<eval> ==> ( <eval> iff <eval> )
<eval> ==> ( <eval> xor <eval> )
<eval> ==> not <eval>
<eval> ==> True_ <condition>
<eval> ==> not <condition>
<condition> ==> <gramcat> is <quality> in <stage>
<condition> ==> <gramcat> prepares <quality> in <stage>
<condition> ==> <gramcat> gets <quality> in <stage>
<condition> ==> <gramcat> halfgets <quality> in <stage>
<condition> ==> <gramcat> lategets <quality> in <stage>
<condition> ==> <gramcat> completes <quality> in <stage>
<condition> ==> <gramcat> match <quality> in <stage>
<condition> ==> <regContents> match <quality> in <stage>
<condition> ==> <stage> inherits <quality> in <stage>
<condition> ==> <register> assigned <lex_entry> in <stage>
<condition> ==> <gramcat> <defined> <register> in <stage>
<defined> ==> defined
<defined> ==> redefined
<bifunc> ==> JOINOF
<bifunc> ==> FOREIGNOF
<bifunc> ==> LMERGEOF
<bifunc> ==> TCLOSUREOF
<bifunc> ==> PDUPEOF
<bifunc> ==> HASLACKOF
<bifunc> ==> SHARETABLE
<bifunc> ==> ONETOMANY1
<bifunc> ==> ONETOMANY2
<bifunc> ==> ONETOONE
<bifunc> ==> NUMEROUS1
<bifunc> ==> NUMEROUS2
<bifunc> ==> TABLESIEVE
<bifunc> ==> ADDRESSOF
<bifunc> ==> wREG
<quality> ==> eqLHS
<quality> ==> eqRHS
<quality> ==> LHSrep
<quality> ==> RHSrep
<quality> ==> quoteLHS
<quality> ==> quoteRHS
<quality> ==> LHSptr
<quality> ==> RHSsearch
<quality> ==> RHSsearchback
<quality> ==> RHSpost <quality>
<quality> ==> LHSquoteback
<quality> ==> RHSquoteback
<quality> ==> RHSmatchback
<quality> ==> RHSxmatchback
<quality> ==> LHSreg
<quality> ==> RHSbival <bifunc>
<quality> ==> RHSbival2 <bifunc>
<quality> ==> RHSbiPREG <bifunc>
<quality> ==> RHSbiNoReg <bifunc>
<quality> ==> Constant
<quality> ==> not Constant
<quality> ==> Property_
<quality> ==> not Property_
<quality> ==> Terminal_
<quality> ==> not Terminal_
<quality> ==> Nonterminal_
<quality> ==> not Nonterminal_
<quality> ==> <quality> or <quality>!
<quality> ==> <quality> and <quality>!
<quality> ==> * <quality>
<quality> ==> ! <quality>
<gramcat> ==> Itself
<gramcat> ==> Terminal_ First
<gramcat> ==> Terminal_ Second
<gramcat> ==> Terminal_ Last
<gramcat> ==> Nonterminal_ First
<gramcat> ==> Nonterminal_ Second
<gramcat> ==> Nonterminal_ Last
<gramcat> ==> ? First
<gramcat> ==> ? Second
<gramcat> ==> ? Last
<gramcat> ==> * First
<gramcat> ==> * Second
<gramcat> ==> * Last
<gramcat> ==> Constant First
<gramcat> ==> Constant Second
<gramcat> ==> Constant Last
<gramcat> ==> $
<gramcat> ==> <gramcat> in <gramcat>!
<gramcat> ==> <gramcat> after <gramcat>!
<gramcat> ==> <gramcat> above <gramcat>!
<gramcat> ==> <gramcat> or <gramcat>!
<gramcat> ==> <gramcat> and <gramcat>!
<gramcat> ==> leftmost <gramcat>
<gramcat> ==> <gramcat> +
<stage> ==> Integer
<register> ==> wREG
<register> ==> wREG2
<register> ==> tREG
<register> ==> $
<lex_entry> ==> Property_
<lex_entry> ==> Property_ ( $ )
<lex_entry> ==> Property_ ( wREG )
<lex_entry> ==> Property_ ( wREG2 )
<lex_entry> ==> Terminal_
<lex_entry> ==> Nonterminal_
<lex_entry> ==> Constant
<lex_entry> ==> <quoteOf>


