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

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

[elpa] externals/parser-generator 03a11c4369 14/82: Started test for LL(


From: Christian Johansson
Subject: [elpa] externals/parser-generator 03a11c4369 14/82: Started test for LL(k) parser-table generation
Date: Thu, 12 May 2022 13:28:13 -0400 (EDT)

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

    Started test for LL(k) parser-table generation
---
 parser-generator-ll.el           |  6 +++---
 test/parser-generator-ll-test.el | 34 ++++++++++++++++++++++++----------
 2 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/parser-generator-ll.el b/parser-generator-ll.el
index 6578d57639..e6b24069a8 100644
--- a/parser-generator-ll.el
+++ b/parser-generator-ll.el
@@ -223,9 +223,9 @@
 
 ;; TODO
 ;; Algorithm 5.3 p. 351
-(defun parser-generator-ll--generate-parsing-table ()
-  "A parsing table for an LL(k) grammar G.  Output M, a valid parsing table 
for G."
-  )
+(defun parser-generator-ll--generate-parsing-table (tables)
+  "Generate a parsing table for an LL(k) grammar G and TABLES.  Output M, a 
valid parsing table for G."
+  nil)
 
 
 ;; TODO
diff --git a/test/parser-generator-ll-test.el b/test/parser-generator-ll-test.el
index 3d2b8b9be3..9d8aeb7479 100644
--- a/test/parser-generator-ll-test.el
+++ b/test/parser-generator-ll-test.el
@@ -16,15 +16,7 @@
   "Test `parser-generator-ll--generate-tables'."
   (message "Started tests for (parser-generator-ll--generate-tables)")
 
-
-  (message "Passed tests for (parser-generator-ll--generate-tables)"))
-
-(defun parser-generator-ll-test--generate-parsing-table ()
-  "Test `parser-generator-ll--generate-parsing-table'."
-  (message "Started tests for (parser-generator-ll--generate-parsing-table)")
-
-  ;; TODO Example 5.14 p. 350 here
-
+  ;; Example 5.14 p. 350
   ;; Example 5.15 p. 351
   (parser-generator-set-e-identifier 'e)
   (parser-generator-set-look-ahead-number 2)
@@ -49,7 +41,29 @@
         (0 (((S) nil (a b) (a A a a)) ((S) nil (a a) (a A a a)) ((S) nil (b b) 
(b A b a))))
         (1 (((A) (a a) (a a) (e)) ((A) (a a) (b a) (b))))
         (2 (((A) (b a) (b b) (b)) ((A) (b a) (b a) (e))))
-        ))))
+        )))
+    tables
+    )
+
+  (message "Passed tests for (parser-generator-ll--generate-tables)"))
+
+(defun parser-generator-ll-test--generate-parsing-table ()
+  "Test `parser-generator-ll--generate-parsing-table'."
+  (message "Started tests for (parser-generator-ll--generate-parsing-table)")
+
+  (let* ((tables
+         '(
+           (0 (((S) nil (a b) (a A a a)) ((S) nil (a a) (a A a a)) ((S) nil (b 
b) (b A b a))))
+           (1 (((A) (a a) (a a) (e)) ((A) (a a) (b a) (b))))
+           (2 (((A) (b a) (b b) (b)) ((A) (b a) (b a) (e))))))
+         (parser-tables
+          (parser-generator-ll--generate-parsing-table
+           tables)))
+    (message "parser-tables: %S" parser-tables)
+
+    ;; TODO Add test here
+
+    )
 
   (message "Passed tests for (parser-generator-ll--generate-parsing-table)"))
 



reply via email to

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