branch: externals/parser-generator commit cf01b59289e861ed28848c7c2fa4e21ac2a3b68f Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
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