[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator dced2e199f 22/29: Sorting LR-action ta
From: |
Christian Johansson |
Subject: |
[elpa] externals/parser-generator dced2e199f 22/29: Sorting LR-action tables before outputting them in messages |
Date: |
Sat, 12 Feb 2022 02:24:45 -0500 (EST) |
branch: externals/parser-generator
commit dced2e199ff1da3724538d1385b32b3d0c7e006e
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@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
'(
- [elpa] externals/parser-generator a7a321ca93 28/29: Added link to TODO document, (continued)
- [elpa] externals/parser-generator a7a321ca93 28/29: Added link to TODO document, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator e1f3fb4042 18/29: More work on FIRST, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 0e1fbf9cef 07/29: More debugging of edge case, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 653b8edece 17/29: Added failing test for generate-f-sets, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 4c34af706f 29/29: Improved documentation, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator a175c1317a 08/29: Started on refactor of e-free-first function to properly handle a edge case, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 94fa7c3732 06/29: Cleaning up of e-free-first test, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator d2227ad65e 13/29: More wrestling with FIRST and E-FREE-FIRST calculation, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator d85a3ae246 16/29: Passing more tests, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator e2e464bb17 26/29: Updated version, date and TODO, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator dced2e199f 22/29: Sorting LR-action tables before outputting them in messages,
Christian Johansson <=
- [elpa] externals/parser-generator 69fc89898e 19/29: Passing all tests for FIRST and E-FREE-FIRST with new algorithm, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 6726c5231e 24/29: Fixed conflict, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 98dc561880 23/29: FIRST() and E-FREE-FIRST() passing LR-test for k=0, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 432e3732f2 20/29: Fixed some byte-compilation warnings, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator ba2bda38da 25/29: Added use of default conflict resolution flag in action-table generation, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 536198eb0a 27/29: Fixed typo in comment, Christian Johansson, 2022/02/12
- [elpa] externals/parser-generator 58548b8e10 21/29: Passing test for LR-parse with k=2 again, Christian Johansson, 2022/02/12