[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator ca85ef4 068/434: Created TODO items
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator ca85ef4 068/434: Created TODO items |
Date: |
Mon, 29 Nov 2021 15:59:10 -0500 (EST) |
branch: externals/parser-generator
commit ca85ef40d1767da30a0537c2d023bf9c00d45842
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Created TODO items
---
parser.el | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/parser.el b/parser.el
index c14f199..10f3db6 100644
--- a/parser.el
+++ b/parser.el
@@ -646,9 +646,28 @@
;; Algorithm 5.9, p. 389
(defun parser-test--lr-items-for-grammar ()
"Calculate set of valid LR(k) items for grammar."
- (let ((lr-items))
+ (let ((S)
+ (marked-sets (make-hash-table :test 'equal))
+ (symbols (append (parser--get-grammar-non-terminals)
(parser--get-grammar-terminals))))
+ (let ((e-set (parser--lr-items-for-prefix 'e)))
+ ;; TODO (1) Place V(e) in S. The set V(e) is initially unmarked.
+ )
+ (let ((found-unmarked t))
+ (while found-unmarked
+ (setq found-unmarked t)
+ ;; TODO (2) If a set of items a in S is unmarked, mark a by computing
+ ;; for each X in N u E, GOTO (a, X). (Algorithm 5.8 can be used here.)
+ ;; If a' = GOTO(a, X) is nonempty and is not already in S,
+ ;; then add a' to S as an unmarked set of items
+
+ ;; TODO (3) Repeat step (2) until all sets of items in S are marked.
+ ))
+
+ ;; Place V(e) in S
+
+
;; TODO Implement this
- lr-items))
+ S))
;; Algorithm 5.8, p. 386
(defun parser--lr-items-for-prefix (γ)
- [elpa] externals/parser-generator afa7cb9 050/434: Added unit tests for retrieving grammar RHS, (continued)
- [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, 2021/11/29
- [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 <=
- [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
- [elpa] externals/parser-generator 51cab75 061/434: More debugging, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator f940be9 033/434: Added list of functions and usage examples, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b8d6476 038/434: Setting look-ahead-number clears cache storage, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 2829d36 039/434: More work on FOLLOW, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0f8b422 043/434: Added another unit test for follow function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator f8f5fe2 046/434: Started on function to calculate lk-items for a viable prefix, ELPA Syncer, 2021/11/29