+ RULES[R].line -- the line where R was defined.
+
+ RULES[R].useful -- TRUE iff the rule is used (i.e., FALSE if thrown
+ away by reduce).
+
+ The right hand side is stored as symbol numbers in a portion of
+ RITEM.
+
+ The length of the portion is one greater than the number of symbols
+ in the rule's right hand side. The last element in the portion
+ contains minus R, which identifies it as the end of a portion and
+ says which rule it is for.
+
+ The portions of RITEM come in order of increasing rule number.
+ NRITEMS is the total length of RITEM. Each element of RITEM is
+ called an "item" and its index in RITEM is an item number.
+
+ Item numbers are used in the finite state machine to represent
+ places that parsing can get to.
+
+ SYMBOLS[I]->prec records the precedence level of each symbol.
+
+ Precedence levels are assigned in increasing order starting with 1
+ so that numerically higher precedence values mean tighter binding
+ as they ought to. Zero as a symbol or rule's precedence means none
+ is assigned.
+
+ Associativities are recorded similarly in SYMBOLS[I]->assoc. */
+
+#include "symtab.h"