emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/parser-generator 3e02435 028/434: Passing complex 2 tes


From: ELPA Syncer
Subject: [elpa] externals/parser-generator 3e02435 028/434: Passing complex 2 test
Date: Mon, 29 Nov 2021 15:59:02 -0500 (EST)

branch: externals/parser-generator
commit 3e0243533912bae8091cae97801934c1b01ec910
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>

    Passing complex 2 test
---
 parser.el           |  4 ++--
 test/parser-test.el | 11 +++++++++--
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/parser.el b/parser.el
index 1d2dab2..b153d84 100644
--- a/parser.el
+++ b/parser.el
@@ -404,8 +404,8 @@
                                             (parser--debug (message 
"sub-rhs-leading-terminals: %s" sub-rhs-leading-terminals))
                                             (when (> (length 
sub-rhs-leading-terminals) k)
                                               (setq sub-rhs-leading-terminals 
(butlast sub-rhs-leading-terminals (- (length sub-rhs-leading-terminals) k))))
-                                            (push `(,sub-rhs-leading-terminals 
,alternative-all-leading-terminals-p ,(1+ input-tape-index)) stack)))
-                                        (setq sub-terminal-index (1+ 
sub-terminal-index))))))
+                                            (push `(,sub-rhs-leading-terminals 
,alternative-all-leading-terminals-p ,(1+ input-tape-index)) stack))))
+                                        (setq sub-terminal-index (1+ 
sub-terminal-index)))))
 
                                 (parser--debug (message "Sub-terminal-set: %s" 
sub-terminal-set))
                                 (when (or
diff --git a/test/parser-test.el b/test/parser-test.el
index ac865e8..1a2b2fc 100644
--- a/test/parser-test.el
+++ b/test/parser-test.el
@@ -35,6 +35,12 @@
     (parser--first 'S)))
   (message "Passed first 1 with rudimentary grammar")
 
+  ;; (should
+  ;;  (equal
+  ;;   '((a a))
+  ;;   (parser--first '(S a))))
+  ;; (message "Passed first 1b with rudimentary grammar")
+
   (parser--set-grammar '((S) ("a" "b" "c") ((S ("a" "b" "c"))) S) 2)
   (should
    (equal
@@ -106,10 +112,11 @@
     (parser--first 'S)))
   (message "Passed first 2 with complex grammar")
 
-  (parser--set-grammar '((S A B C) ("a" "b" "c") ((S A B) (A (B "a") e) (B (C 
"b") C) (C "c" e)) S) 3)
+  (parser--set-grammar '((S A B C) (a b c) ((S A B) (A (B a) e) (B (C b) C) (C 
c e)) S) 3)
+  (message "FIRST = %s" (parser--first 'S))
   (should
    (equal
-    '(("a") ("a" "b") ("a" "c") ("a" "c" "b") ("b") ("b" "a") ("b" "a" "b") 
("b" "a" "c") "c" ("c" "a") ("c" "a" "b") ("c" "a" "c") ("c" "b") ("c" "b" "a") 
(e))
+    '((a) (a b) (a c) (a c b) (b) (b a) (b a b) (b a c) c (c a) (c a b) (c a 
c) (c b) (c b a) (e))
     (parser--first 'S)))
   (message "Passed first 3 with complex grammar")
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]