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