[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator a65b652 307/434: Added TODO-items
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator a65b652 307/434: Added TODO-items |
Date: |
Mon, 29 Nov 2021 16:00:04 -0500 (EST) |
branch: externals/parser-generator
commit a65b65274d149ce49b405823f43b7356444bddae
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added TODO-items
---
parser-generator-lr.el | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 037b077..9a4168c 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -86,7 +86,8 @@
(when Cv
(let
((eff
- (parser-generator--e-free-first Cv)))
+ (parser-generator--e-free-first
+ Cv)))
(parser-generator--debug
(message
"E-FREE-FIRST %s = %s"
@@ -312,7 +313,8 @@
(setq
lr-item-set-new-index
(1+ lr-item-set-new-index))
- (let ((e-set-hash-key (format "%s" e-set)))
+ (let ((e-set-hash-key
+ (format "%S" e-set)))
;; Mark the initial set
(puthash
e-set-hash-key
@@ -576,7 +578,8 @@
(append b-suffix b-follow))
(setq
b-suffix-follow-eff
- (parser-generator--e-free-first b-suffix-follow))
+ (parser-generator--e-free-first
+ b-suffix-follow))
(parser-generator--debug
(message "b-suffix: %s" b-suffix)
@@ -796,12 +799,15 @@
(defun parser-generator-lr--items-for-goto (previous-lr-item x)
"Calculate LR-items for GOTO(PREVIOUS-LR-ITEM, X)."
(let ((lr-new-item)
- (lr-item-exists (make-hash-table :test 'equal))
- (eof-list (parser-generator--generate-list-of-symbol
- parser-generator--look-ahead-number
- parser-generator--eof-identifier)))
+ (lr-item-exists
+ (make-hash-table :test 'equal))
+ (eof-list
+ (parser-generator--generate-list-of-symbol
+ parser-generator--look-ahead-number
+ parser-generator--eof-identifier)))
(parser-generator--debug (message "x: %s" x))
+ ;; TODO Use caches to optimize this loop
(dolist (lr-item previous-lr-item)
(let ((lr-item-lhs (nth 0 lr-item))
(lr-item-prefix (nth 1 lr-item))
@@ -836,7 +842,10 @@
lr-item-prefix
(list x))))
(let ((lr-new-item-1))
- (if (= parser-generator--look-ahead-number 0)
+ (if
+ (=
+ parser-generator--look-ahead-number
+ 0)
;; Only k >= 1 needs dot look-ahead
(progn
(setq
@@ -863,6 +872,8 @@
(let ((added-new t))
(while added-new
(setq added-new nil)
+
+ ;; TODO Use caches to optimize this loop
(dolist (lr-item lr-new-item)
(let ((lr-item-suffix (nth 2 lr-item)))
(let ((lr-item-suffix-first
@@ -928,7 +939,9 @@
`(,(list lr-item-suffix-first) nil ,sub-rhs
,f)))
;; Only k >= 1 needs dot a look-ahead
(when
- (= parser-generator--look-ahead-number 0)
+ (=
+ parser-generator--look-ahead-number
+ 0)
(setq
lr-item-to-add
`(,(list lr-item-suffix-first) nil ,sub-rhs)))
@@ -958,7 +971,7 @@
lr-new-item
(sort
lr-new-item
- 'parser-generator--sort-list))) ;; TODO Optimize this
+ 'parser-generator--sort-list))) ;; TODO Optimize this?
lr-new-item))
- [elpa] externals/parser-generator 9e8b89b 392/434: More work on exporting LR-parser, (continued)
- [elpa] externals/parser-generator 9e8b89b 392/434: More work on exporting LR-parser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fc48311 409/434: Added test for FIRST calculation of multiple symbols and e-identifiers, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 6733b57 415/434: Added feature to move lex-analyzer forward, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 9eca533 410/434: Added test and implementation of calculating FIRST on multiple symbols were first is a non-terminal that expands into an e-identifier, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ca21bcd 412/434: Shortened doc-string, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0a3f5f5 426/434: Added test for LR(1) PHP 8.0 match grammar, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator c9906f7 420/434: Move order of export of LR lex-analyzer, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a4c5d9f 429/434: Syntax-directed translations now have access to terminal data if any is available, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 428207c 432/434: Fixed bug with exported lr-parser with partial translation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fa43f05 301/434: More cpu optimizations, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a65b652 307/434: Added TODO-items,
ELPA Syncer <=
- [elpa] externals/parser-generator ac7207a 292/434: Passed translate test on exported parser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 63bd6c0 423/434: LR-parser now has SDT as optional feature to speed up plain parses, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 9c41807 424/434: Code-styling fix, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 231bf85 422/434: Using (signal) instead of (error) in LR-parser and exported LR-parser when encountering syntax error, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 48f109c 417/434: Fixed typo in exported LR parser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator da14fbd 431/434: Passing more metadata about terminals to SDT, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator af9ad94 418/434: Move lexer flag now affecting global state, ELPA Syncer, 2021/11/29