+
+/*---------------------------------------.
+| Output the lookaheads for each state. |
+`---------------------------------------*/
+
+static void
+lookaheads_print (FILE *out)
+{
+ int i, j, k;
+ fprintf (out, "Lookaheads: BEGIN\n");
+ for (i = 0; i < nstates; ++i)
+ {
+ fprintf (out, "State %d: %d lookaheads\n",
+ i, states[i]->nlookaheads);
+
+ for (j = 0; j < states[i]->nlookaheads; ++j)
+ for (k = 0; k < ntokens; ++k)
+ if (BITISSET (LA (states[i]->lookaheadsp + j), j))
+ fprintf (out, " on %d (%s) -> rule %d\n",
+ k, symbols[k]->tag,
+ -LAruleno[states[i]->lookaheadsp + j] - 1);
+ }
+ fprintf (out, "Lookaheads: END\n");
+}
+