[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 00ffcde 052/434: Added TODO items
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 00ffcde 052/434: Added TODO items |
Date: |
Mon, 29 Nov 2021 15:59:07 -0500 (EST) |
branch: externals/parser-generator
commit 00ffcde76a7d97f07d3c25871203dc2f887f0f7d
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added TODO items
---
parser.el | 34 +++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/parser.el b/parser.el
index 043e661..c0e7f77 100644
--- a/parser.el
+++ b/parser.el
@@ -701,18 +701,30 @@
(puthash 'e lr-items-e lr-items))
- ;; 2 Suppose that we have constructed V(X1,X2,...,Xi-1)
+ ;; TODO 2 Suppose that we have constructed V(X1,X2,...,Xi-1)
;; we construct V(X1,X2,...,Xi) as follows:
-
- ;; (a) If [A -> a . XiB, u] is in V(X1,...,Xi-1)
- ;; add [A -> aXi . B, u] to V(X1,...,Xi)
-
- ;; (b) If [A -> a . Bb, u] has been placed in V(X1,...,Xi)
- ;; and B -> D is in P
- ;; then add [B -> . D, x] to V(X1,...,Xi) for each x in FIRST(bu)
- ;; provided it is not already there
-
- ;; (c) Repeat step (2b) until no more new items can be added to
V(X1,...,Xi)
+ (let ((prefix-acc)
+ (prefix-new)
+ (prefix-previous (gethash 'e lr-items)))
+ (dolist (prefix γ)
+ (setq prefix-acc (append prefix-acc prefix))
+
+ (dolist (lr-item prefix-previous)
+ ;; TODO (a) If [A -> a . XiB, u] is in V(X1,...,Xi-1)
+ ;; add [A -> aXi . B, u] to V(X1,...,Xi)
+ )
+
+ ;; TODO (c) Repeat step (2b) until no more new items can be added to
V(X1,...,Xi)
+ (let ((added-new t))
+ (while added-new
+ (setq added-new nil)
+ (dolist (lr-item prefix-new)
+ ;; TODO (b) If [A -> a . Bb, u] has been placed in V(X1,...,Xi)
+ ;; and B -> D is in P then add [B -> . D, x] to V(X1,...,Xi)
for each x in FIRST(bu)
+ ;; provided it is not already there
+ )))
+
+ (setq prefix-previous prefix-acc)))
lr-items)))
- [elpa] externals/parser-generator 563cbdd 023/434: Passed FIRST tests for semi-complex grammar, (continued)
- [elpa] externals/parser-generator 563cbdd 023/434: Passed FIRST tests for semi-complex grammar, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator dc78de7 025/434: Fixed page comment reference, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 3e02435 028/434: Passing complex 2 test, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 8e99d0c 035/434: Fixed typo, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator bc1ec12 036/434: Improved documentation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fe94691 048/434: Added hash-table for production RHS, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator afa7cb9 050/434: Added unit tests for retrieving grammar RHS, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 603df44 040/434: Added failing unit tests for (parser--sort-list), ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator aadb31a 042/434: Updated README.md about FOLLOW-sets, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 586a38e 047/434: More work on algorithm 5.8, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 00ffcde 052/434: Added TODO items,
ELPA Syncer <=
- [elpa] externals/parser-generator 7e051d3 054/434: Algorithm 5.8 completed but not tested, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 8e436df 056/434: More tweaking, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a60952c 057/434: More debugging of new algorithm, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ab0559d 060/434: More work, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator d7f43d7 066/434: Sorting lr-items for prefix before return, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ca85ef4 068/434: Created TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b73c4ed 072/434: Made e-symbol customizable, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 55bf9a9 073/434: Removed references to 'e, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 01df803 051/434: Improved documentation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 3e1f2b6 058/434: Passed first for calculating valid LR-sets for viable prefix γ, ELPA Syncer, 2021/11/29