lalr: clarify the count of lookaheads

* src/lalr.c (state_lookahead_tokens_count): Remove wierd `+=` that is
actually an `=`.
This commit is contained in:
Akim Demaille
2019-02-27 19:15:28 +01:00
parent e062b9f70d
commit d57751d2fb

View File

@@ -352,9 +352,8 @@ compute_lookahead_tokens (void)
static int
state_lookahead_tokens_count (state *s, bool default_reduction_only_for_accept)
{
int n_lookahead_tokens = 0;
reductions *rp = s->reductions;
transitions *sp = s->transitions;
const reductions *rp = s->reductions;
const transitions *sp = s->transitions;
/* Transitions are only disabled during conflict resolution, and that
hasn't happened yet, so there should be no need to check that
@@ -371,15 +370,13 @@ state_lookahead_tokens_count (state *s, bool default_reduction_only_for_accept)
a lookahead token that makes sense there, and so no lookahead token
should be read) if the user has otherwise disabled default
reductions. */
if (rp->num > 1
s->consistent =
!(rp->num > 1
|| (rp->num == 1 && sp->num && TRANSITION_IS_SHIFT (sp, 0))
|| (rp->num == 1 && rp->rules[0]->number != 0
&& default_reduction_only_for_accept))
n_lookahead_tokens += rp->num;
else
s->consistent = true;
&& default_reduction_only_for_accept));
return n_lookahead_tokens;
return s->consistent ? 0 : rp->num;
}