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

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

[elpa] externals/parser-generator 563cbdd 023/434: Passed FIRST tests fo


From: ELPA Syncer
Subject: [elpa] externals/parser-generator 563cbdd 023/434: Passed FIRST tests for semi-complex grammar
Date: Mon, 29 Nov 2021 15:59:00 -0500 (EST)

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

    Passed FIRST tests for semi-complex grammar
---
 parser.el           |  3 ++-
 test/parser-test.el | 10 +++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/parser.el b/parser.el
index 053720b..be01ce3 100644
--- a/parser.el
+++ b/parser.el
@@ -364,7 +364,8 @@
                  ((parser--valid-e-p rhs-element)
                   (setq rhs-type 'EMPTY))
                  ((parser--valid-terminal-p rhs-element)
-                  (setq rhs-type 'TERMINAL)))
+                  (setq rhs-type 'TERMINAL))
+                 (t (error (format "Invalid symbol %s" rhs-element))))
                 (parser--debug (message "rhs-type: %s" rhs-type))
 
                 (cond
diff --git a/test/parser-test.el b/test/parser-test.el
index 1c7ef74..2004fa3 100644
--- a/test/parser-test.el
+++ b/test/parser-test.el
@@ -70,24 +70,24 @@
     (parser--first 'S)))
   (message "Passed first 3 with intermediate grammar")
 
-  (parser--set-grammar '((S A B) ("c" "d") ((S A) (A B) (B c d)) S) 1)
+  (parser--set-grammar '((S A B) ("c" "d") ((S A) (A B) (B "c" "d")) S) 1)
   (should
    (equal
-    '((c) (d))
+    '(("d") ("c"))
     (parser--first 'S)))
   (message "Passed first 1 with semi-complex grammar")
 
-  (parser--set-grammar '((S A B) (a c d f) ((S A a) (A B) (B (c f) d)) S) 2)
+  (parser--set-grammar '((S A B) (a c d f) ((S (A a)) (A B) (B (c f) d)) S) 2)
   (should
    (equal
-    '((c f) (d a))
+    '((d a) (c f))
     (parser--first 'S)))
   (message "Passed first 2 with semi-complex grammar")
 
   (parser--set-grammar '((S A B) ("a" "c" "d" "m") ((S A) (A (B "a" "m")) (B 
"c" "d")) S) 3)
   (should
    (equal
-    '(("c" "a" "m") ("d" "a" "m"))
+    '(("d" "a" "m") ("c" "a" "m"))
     (parser--first 'S)))
   (message "Passed first 3 with semi-complex grammar")
 



reply via email to

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