branch: externals/parser-generator
commit 62d06a08305a08c50daaff013cb4afc81b7ffd2a
Author: Christian Johansson <[email protected]>
Commit: Christian Johansson <[email protected]>
Passing unit test for V(Sa)
---
parser.el | 7 +++----
test/parser-test.el | 12 ++++++------
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/parser.el b/parser.el
index fb09c89..9e9004d 100644
--- a/parser.el
+++ b/parser.el
@@ -726,11 +726,10 @@
(prefix-previous (gethash '(e) lr-items)))
(dolist (prefix γ)
(let ((lr-new-item))
- (setq prefix-acc (append prefix-acc prefix))
- (unless (listp prefix-acc)
- (setq prefix-acc (list prefix-acc)))
+ (setq prefix-acc (append prefix-acc (list prefix)))
(parser--debug
+ (message "prefix: %s" prefix)
(message "prefix-acc: %s" prefix-acc)
(message "prefix-previous: %s" prefix-previous))
@@ -782,7 +781,7 @@
(setq prefix-previous lr-new-item)
(parser--debug
- (message "V(%s) = %s" prefix-acc lr-new-item))
+ (message "V%s = %s" prefix-acc lr-new-item))
(puthash prefix-acc lr-new-item lr-items)))))
(parser--debug
diff --git a/test/parser-test.el b/test/parser-test.el
index 87189e1..5972483 100644
--- a/test/parser-test.el
+++ b/test/parser-test.el
@@ -251,12 +251,12 @@
(should
(equal
- '((S (S a) (S b) (e))
- (S (S a) (S b) (a))
- (S nil (S a S b) (a))
- (S nil (S a S b) (b))
- (S nil nil (a))
- (S nil nil (b)))
+ '((S nil (e) (a))
+ (S nil (S a S b) (a))
+ (S nil (e) (b))
+ (S nil (S a S b) (b))
+ (S (S a) (S b) (a))
+ (S (S a) (S b) (e)))
(parser--lr-items '(S a))))
(message "Passed V(Sa)")