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

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

[elpa] externals/parser-generator 5da1b28 079/434: Added TODO item


From: ELPA Syncer
Subject: [elpa] externals/parser-generator 5da1b28 079/434: Added TODO item
Date: Mon, 29 Nov 2021 15:59:13 -0500 (EST)

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

    Added TODO item
---
 parser.el           |  1 +
 test/parser-test.el | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/parser.el b/parser.el
index a2a6811..e13a305 100644
--- a/parser.el
+++ b/parser.el
@@ -652,6 +652,7 @@
       (setq follow-set (parser--distinct follow-set)))
     follow-set))
 
+;; TODO Don't check for distincts prefixes but LR-items
 ;; Algorithm 5.9, p. 389
 (defun parser--lr-items-for-grammar ()
   "Calculate set of valid LR(k) items for grammar."
diff --git a/test/parser-test.el b/test/parser-test.el
index fe8d099..caed787 100644
--- a/test/parser-test.el
+++ b/test/parser-test.el
@@ -304,6 +304,41 @@
     (parser--lr-items-for-prefix '(S b))))
   (message "Passed V(Sb)")
 
+  ;; a3 p. 390
+  (should
+   (equal
+    '((S (S) (a S b) (a))
+      (S (S) (a S b) (b))
+      (S (S a S) (b) (a))
+      (S (S a S) (b) (e)))
+    (parser--lr-items-for-prefix '(S a S))))
+  (message "Passed V(SaS)")
+
+  (should
+   (equal
+    nil
+    (parser--lr-items-for-prefix '(S a a))))
+  (message "Passed V(Saa)")
+
+  (should
+   (equal
+    nil
+    (parser--lr-items-for-prefix '(S a b))))
+  (message "Passed V(Sab)")
+
+  ;; a4 p. 390
+  (should
+   (equal
+    '((S (S a) (S b) (a))
+      (S (S a) (S b) (e))
+      (S nil (S a S b) (a))
+      (S nil (S a S b) (b))
+      (S nil nil (a))
+      (S nil nil (e)))
+    (parser--lr-items-for-prefix '(S a S b))))
+  (message "Passed V(SaSb)")
+
+
   (message "Passed tests for (parser--lr-items-for-prefix)"))
 
 (defun parser-test--valid-grammar-p ()



reply via email to

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