+ rule_number_t ruleno;
+ symbol_number_t *s1;
+ symbol_number_t *s2;
+ rule_list_t *p;
+
+ symbol_number_t *squeue = XCALLOC (symbol_number_t, nvars);
+ short *rcount = XCALLOC (short, nrules);
+ /* RITEM contains all the rules, including useless productions.
+ Hence we must allocate room for useless nonterminals too. */
+ rule_list_t **rsets = XCALLOC (rule_list_t *, nvars) - ntokens;
+ /* This is said to be more elements than we actually use.
+ Supposedly NRITEMS - NRULES is enough. But why take the risk? */
+ rule_list_t *relts = XCALLOC (rule_list_t, nritems + nvars + 1);