[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lalr: clarify the count of lookaheads
From: |
Akim Demaille |
Subject: |
lalr: clarify the count of lookaheads |
Date: |
Fri, 1 Mar 2019 18:38:11 +0100 |
commit d57751d2fb8856f7dfc8eecc801844ef0f3f2355
Author: Akim Demaille <address@hidden>
Date: Wed Feb 27 19:15:28 2019 +0100
lalr: clarify the count of lookaheads
* src/lalr.c (state_lookahead_tokens_count): Remove wierd `+=` that is
actually an `=`.
diff --git a/src/lalr.c b/src/lalr.c
index 035bf5c0..40fcaf16 100644
--- a/src/lalr.c
+++ b/src/lalr.c
@@ -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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- lalr: clarify the count of lookaheads,
Akim Demaille <=