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

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

[elpa] externals/parser-generator 04eb4d066c 27/82: Started on test for


From: Christian Johansson
Subject: [elpa] externals/parser-generator 04eb4d066c 27/82: Started on test for Example 5.17
Date: Thu, 12 May 2022 13:28:14 -0400 (EDT)

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

    Started on test for Example 5.17
---
 test/parser-generator-ll-test.el | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/test/parser-generator-ll-test.el b/test/parser-generator-ll-test.el
index 4c96e023a9..3558dbacd1 100644
--- a/test/parser-generator-ll-test.el
+++ b/test/parser-generator-ll-test.el
@@ -151,6 +151,42 @@
          )
         )
       parser-tables)))
+  (message "Passed Example 5.16")
+
+  ;; TODO Test Example 5.17 here
+  (parser-generator-set-eof-identifier '$)
+  (parser-generator-set-e-identifier 'e)
+  (parser-generator-set-look-ahead-number 2)
+  (parser-generator-set-grammar
+   '(
+     (S A)
+     (a b)
+     (
+      (S e (a b A))
+      (A (S a a) b)
+      )
+     S
+     )
+   )
+  (parser-generator-process-grammar)
+  (let* ((tables
+          (parser-generator-ll--generate-tables))
+         (parser-tables
+          (parser-generator-ll--generate-parsing-table
+           tables)))
+    (message "tables: %S" tables)
+    (message "parser-tables: %S" parser-tables)
+    (should
+     (equal
+      '(
+        (
+         ((S) nil)
+         (
+          ((a b) reduce ()
+         )
+        )
+      parser-tables)))))
+  (message "Passed example 5.17")
 
   (message "Passed tests for (parser-generator-ll--generate-parsing-table)"))
 
@@ -200,6 +236,8 @@
     nil))
   (message "Passed second valid test")
 
+  ;; TODO Example 5.19
+
   (message "Passed tests for (parser-generator-ll--valid-grammar-p)"))
 
 



reply via email to

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