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

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

[elpa] externals/parser-generator 4da88bf 406/434: Added another test fo


From: ELPA Syncer
Subject: [elpa] externals/parser-generator 4da88bf 406/434: Added another test for e-identifier in middle of rule
Date: Mon, 29 Nov 2021 16:00:26 -0500 (EST)

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

    Added another test for e-identifier in middle of rule
---
 test/parser-generator-lr-test.el | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el
index 1f59be9..7779644 100644
--- a/test/parser-generator-lr-test.el
+++ b/test/parser-generator-lr-test.el
@@ -666,6 +666,29 @@
   (parser-generator-lr-generate-parser-tables)
   (message "Passed cyclical grammar")
 
+  ;; Test e-identifier in midst of grammar below
+  (setq
+   parser-generator--e-identifier
+   'e)
+  (parser-generator-set-grammar
+   '((Sp S E) (a b) ((Sp S) (S (S a E b)) (S e) (E e)) Sp))
+  (parser-generator-set-look-ahead-number 1)
+  (parser-generator-process-grammar)
+  (parser-generator-lr-generate-parser-tables)
+
+  (should
+   (equal
+    '(
+      (0 ((($) reduce 2) ((a) reduce 2)))
+      (1 ((($) accept) ((a) shift)))
+      (2 (((b) reduce 3)))
+      (3 (((b) shift)))
+      (4 ((($) reduce 1) ((a) reduce 1))))
+    (parser-generator-lr--get-expanded-action-tables)))
+  (message "Passed example with e-identifier in middle of rune")
+
+
+
   ;; Test with e-identifier inside rule here
   (setq
    parser-generator--e-identifier
@@ -684,7 +707,15 @@
      Sp))
   (parser-generator-set-look-ahead-number 1)
   (parser-generator-process-grammar)
-  (parser-generator-lr-generate-parser-tables)
+  (parser-generator-lr--generate-precedence-tables)
+
+  ;; TODO Make this work
+  (let ((table-lr-items
+         (parser-generator-lr--generate-goto-tables)))
+    (message "GOTO-tables: %S" (parser-generator-lr--get-expanded-goto-tables))
+    (message "table-lr-items: %S" (parser-generator--hash-to-list 
table-lr-items))
+    (parser-generator-lr--generate-action-tables
+     table-lr-items))
   (message "Passed grammar with e-identifier in middle of rule")
 
   (message "Passed tests for (parser-generator-lr--generate-action-tables)"))



reply via email to

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