branch: externals/parser-generator commit dced2e199ff1da3724538d1385b32b3d0c7e006e Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Sorting LR-action tables before outputting them in messages --- parser-generator-lr.el | 11 +++++++++-- test/parser-generator-lr-test.el | 5 +++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/parser-generator-lr.el b/parser-generator-lr.el index 3718857c28..1f72ae7dd9 100644 --- a/parser-generator-lr.el +++ b/parser-generator-lr.el @@ -682,6 +682,11 @@ (parser-generator--debug (message "%s actions %s" goto-index action-table)) (when action-table + (setq + action-table + (sort + action-table + 'parser-generator--sort-list)) (message "ACTION-TABLE (%d): %S\n" goto-index @@ -689,11 +694,13 @@ (push (list goto-index - (sort action-table 'parser-generator--sort-list)) + action-table) action-tables)))) (unless found-accept (error "Failed to find an accept action in the generated action-tables!")) - (setq action-tables (nreverse action-tables)) + (setq + action-tables + (nreverse action-tables)) (setq parser-generator-lr--action-tables (make-hash-table :test 'equal)) diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el index 3ec3b50fa2..f8bc3d8f30 100644 --- a/test/parser-generator-lr-test.el +++ b/test/parser-generator-lr-test.el @@ -1165,7 +1165,7 @@ (message "Passed test PHP 8.0 match grammar 2") )) - ;; TODO Test another left-recursive grammar from PHP 8.0 here + ;; Test another left-recursive grammar from PHP 8.0 here (parser-generator-set-look-ahead-number 1) (parser-generator-set-e-identifier '%empty) (parser-generator-set-grammar @@ -1735,7 +1735,7 @@ (7 nil) (8 nil)) (parser-generator-lr--get-expanded-goto-tables))) - (message "Passed GOTO-tables k = 2") + (message "Passed GOTO-tables k = 0") ;; * + 0 1 $ ;; 0 s1 s2 @@ -1755,6 +1755,7 @@ "Action-tables k = 0: %s" (parser-generator-lr--get-expanded-action-tables))) + ;; TODO Make this work (should (equal '(