- For example, if some rule expands symbol 5 into the sequence of
- symbols 8 3 20, the symbol 8 can be the beginning of the data for
- symbol 5, so the bit [8 - ntokens, 5 - ntokens] in firsts is
- set. */
+ for (i = ntokens; i < nsyms; i++)
+ {
+ fprintf (stderr, "\t%s derives\n", tags[i]);
+ for (j = 0; j <= nrules; j++)
+ if (BITISSET (FDERIVES (i), j))
+ {
+ short *rhsp;
+ fprintf (stderr, "\t\t%d:", j);
+ for (rhsp = ritem + rule_table[j].rhs; *rhsp > 0; ++rhsp)
+ fprintf (stderr, " %s", tags[*rhsp]);
+ fputc ('\n', stderr);
+ }
+ }
+ fprintf (stderr, "\n\n");
+}
+\f
+/*-------------------------------------------------------------------.
+| Set FIRSTS to be an NVARS by NVARS bit matrix indicating which |
+| items can represent the beginning of the input corresponding to |
+| which other items. |
+| |
+| For example, if some rule expands symbol 5 into the sequence of |
+| symbols 8 3 20, the symbol 8 can be the beginning of the data for |
+| symbol 5, so the bit [8 - ntokens, 5 - ntokens] in firsts is set. |
+`-------------------------------------------------------------------*/