+ bitset_or (LA[i], LA[i], F[sp->value]);
+
+ /* Free LOOKBACK. */
+ for (i = 0; i < nLA; i++)
+ LIST_FREE (goto_list, lookback[i]);
+
+ free (lookback);
+ bitsetv_free (F);
+}
+
+
+/*-----------------------------------------------------.
+| Count the number of look-ahead tokens required for S |
+| (N_LOOK_AHEAD_TOKENS member). |
+`-----------------------------------------------------*/
+
+static int
+state_look_ahead_tokens_count (state *s)
+{
+ int k;
+ int n_look_ahead_tokens = 0;
+ reductions *rp = s->reductions;
+ transitions *sp = s->transitions;
+
+ /* We need a look-ahead either to distinguish different
+ reductions (i.e., there are two or more), or to distinguish a
+ reduction from a shift. Otherwise, it is straightforward,
+ and the state is `consistent'. */
+ if (rp->num > 1
+ || (rp->num == 1 && sp->num &&
+ !TRANSITION_IS_DISABLED (sp, 0) && TRANSITION_IS_SHIFT (sp, 0)))
+ n_look_ahead_tokens += rp->num;
+ else
+ s->consistent = 1;
+
+ for (k = 0; k < sp->num; k++)
+ if (!TRANSITION_IS_DISABLED (sp, k) && TRANSITION_IS_ERROR (sp, k))