bison-patches
[Top][All Lists]
Advanced

[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;
 }
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]