branch: externals/parser-generator
commit cf01b59289e861ed28848c7c2fa4e21ac2a3b68f
Author: Christian Johansson <[email protected]>
Commit: Christian Johansson <[email protected]>
Fixed action-table generation with symbols with context-sensitive attributes
---
parser-generator-lr.el | 4 ++++
test/parser-generator-lr-test.el | 9 ++-------
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 5163b2d..79373f4 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -191,6 +191,10 @@
C
v))
(when Cv
+ (setq
+ Cv
+ (parser-generator--get-symbols-without-attributes
+ Cv))
(let
((eff
(parser-generator--e-free-first
diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el
index 73a0fc4..65a8dc8 100644
--- a/test/parser-generator-lr-test.el
+++ b/test/parser-generator-lr-test.el
@@ -640,13 +640,7 @@
start))
(parser-generator-process-grammar)
- ;; TODO Should work now
- (parser-generator-lr--prepare-global-declaration)
- (let ((table-lr-items
- (parser-generator-lr--generate-goto-tables)))
- (message "table-lr-items(4): %S" (gethash 4 table-lr-items))
- (parser-generator-lr--generate-action-tables
- table-lr-items))
+ (parser-generator-lr-generate-parser-tables)
(message "Grammar now passes thanks to precedence rules")
;; TODO Test functionality here (then move to translate test)
@@ -654,6 +648,7 @@
(switch-to-buffer buffer)
(kill-region (point-min) (point-max))
(insert "5+5\n")
+ (parser-generator-lr-translate)
(should
(equal
10