branch: externals/parser-generator
commit f371e2d78eab2b5ff73b01bd7effdb1537281518
Author: Christian Johansson <[email protected]>
Commit: Christian Johansson <[email protected]>
Added failing test for conflict
---
parser-generator.el | 4 ++++
test/parser-generator-lr-test.el | 8 +++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/parser-generator.el b/parser-generator.el
index bf39c4b..b397aec 100644
--- a/parser-generator.el
+++ b/parser-generator.el
@@ -756,6 +756,10 @@
(error "Table for look-aheads is undefined!"))
(unless (listp symbol)
(setq symbol (list symbol)))
+ (setq
+ symbol
+ (parser-generator--get-symbols-without-attributes
+ symbol))
(gethash
symbol
parser-generator--table-look-aheads-p))
diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el
index fd38794..9aebd32 100644
--- a/test/parser-generator-lr-test.el
+++ b/test/parser-generator-lr-test.el
@@ -149,6 +149,8 @@
(let ((table-lr-items
(parser-generator-lr--generate-goto-tables)))
+
+ ;; TODO Should be a conflict in state 5
(message
"conflict-lr-items: %S"
table-lr-items)
@@ -158,7 +160,11 @@
(parser-generator-lr--generate-action-tables
table-lr-items)
(message
- "conflicted action-tables: %s"
(parser-generator-lr--get-expanded-action-tables)))
+ "conflict-action-tables: %s"
(parser-generator-lr--get-expanded-action-tables))
+ (should
+ (equal
+ '((0 (((a) shift))) (1 (((c) shift))) (2 ((($) reduce 2))) (3 ((($)
accept))) (4 (((b) shift))) (5 ((((c (%prec 1))) shift))) (6 ((($) reduce 1))))
+ (parser-generator-lr--get-expanded-action-tables))))
(message "Passed tests for (parser-generator-lr--generate-action-tables)"))