bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 12/17] todo: more


From: Akim Demaille
Subject: [PATCH 12/17] todo: more
Date: Sun, 20 Sep 2020 10:37:44 +0200

---
 TODO | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/TODO b/TODO
index 018247c4..b7221d69 100644
--- a/TODO
+++ b/TODO
@@ -679,6 +679,25 @@ participate in the count.
 Do we want to disallow terminal start symbols?  The limitation is not
 technical.  Can it be useful to someone to "parse" a token?
 
+*** Fix default_reduction_only_for_accept
+In src/lalr.c:
+
+  /* We need a lookahead 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'.  However, do not treat a state with any reductions as
+     consistent unless it is the accepting state (because there is never
+     a lookahead token that makes sense there, and so no lookahead token
+     should be read) if the user has otherwise disabled default
+     reductions.  */
+  s->consistent =
+    !(reds->num > 1
+      || (reds->num == 1 && trans->num && TRANSITION_IS_SHIFT (trans, 0))
+      || (reds->num == 1 && reds->rules[0]->number != 0
+          && default_reduction_only_for_accept));
+
+We should have a test for "is accepting rule".
+
 ** %include
 This is a popular demand.  We already made many changes in the parser that
 should make this reasonably easy to implement.
-- 
2.28.0




reply via email to

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