[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 ()
- [elpa] externals/parser-generator 2ad866c 371/434: Context-sensitive attribute are now tested through specified comparison function, (continued)
- [elpa] externals/parser-generator 2ad866c 371/434: Context-sensitive attribute are now tested through specified comparison function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 9d5df0e 375/434: More working on trying to get the Infix example working, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 8fb8676 376/434: More work on Infix math example, passing another test, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 32e2c15 024/434: Fixed bug with e-production, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 26bf153 037/434: Setting look-ahead-number is now separated from setting grammar, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a54061c 055/434: Debugging of new algorithm, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 62d06a0 063/434: Passing unit test for V(Sa), ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 186d7bb 065/434: Renamed function lr-items to lr-items-for-prefix, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 9792eeb 069/434: Added TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 08b40cd 071/434: Updated header levels in README, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 5da1b28 079/434: Added TODO item,
ELPA Syncer <=
- [elpa] externals/parser-generator 79565f4 089/434: Fixed sorting of columns in GOTO-table, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 043e375 095/434: Refactored LR-parser into stand-alone file, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 4f81d98 107/434: Sorting each row in action-table, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 62f54f1 110/434: Added failing unit test for e-free-first function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ee0ef5d 115/434: Added failing unit test for Algorithm 5.7, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b0e9111 125/434: Started on lex-analyzer function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0416ca9 134/434: Added information about lex-analyzer in README, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b756e1a 135/434: Added example of parsing using LR algorithm, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator cee559d 139/434: Added separate document for lexical analysis documentation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator de0ed95 142/434: Updated README.md, ELPA Syncer, 2021/11/29