[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator bbcb22f 182/434: Optimized memory usag
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator bbcb22f 182/434: Optimized memory usage for f-sets |
Date: |
Mon, 29 Nov 2021 15:59:37 -0500 (EST) |
branch: externals/parser-generator
commit bbcb22f06590e41118c50409c698d35bbe8eb5ce
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Optimized memory usage for f-sets
---
parser-generator.el | 23 ++++++-----------------
1 file changed, 6 insertions(+), 17 deletions(-)
diff --git a/parser-generator.el b/parser-generator.el
index bb77a76..b3da68e 100644
--- a/parser-generator.el
+++ b/parser-generator.el
@@ -30,18 +30,10 @@
nil
"Generated F-sets for grammar.")
-(defvar parser-generator--f-sets-max-index
- nil
- "Max index for generated F-sets for grammar.")
-
(defvar parser-generator--f-free-sets
nil
"Generated e-free F-sets for grammar.")
-(defvar parser-generator--f-free-sets-max-index
- nil
- "Max index for generated e-free F-sets for grammar.")
-
(defvar parser-generator--look-ahead-number
nil
"Current look-ahead number used.")
@@ -676,13 +668,10 @@
(puthash i f-set f-sets)
(setq i (+ i 1))))
(if disallow-e-first
- (progn
- (setq parser-generator--f-free-sets f-sets)
- (setq parser-generator--f-free-sets-max-index (1- i)))
- (setq parser-generator--f-sets f-sets)
- (setq parser-generator--f-sets-max-index (1- i))))))
- (parser-generator--debug
- (message "Generated F-sets")))))
+ (setq parser-generator--f-free-sets (gethash (1- i) f-sets))
+ (setq parser-generator--f-sets (gethash (1- i) f-sets)))))))
+ (parser-generator--debug
+ (message "Generated F-sets"))))
;; p. 357
(defun parser-generator--f-set (input-tape state stack)
@@ -921,8 +910,8 @@
(if (and
disallow-e-first
(= first-length 0))
- (setq symbol-f-set (gethash symbol (gethash
parser-generator--f-free-sets-max-index parser-generator--f-free-sets)))
- (setq symbol-f-set (gethash symbol (gethash
parser-generator--f-sets-max-index parser-generator--f-sets))))
+ (setq symbol-f-set (gethash symbol
parser-generator--f-free-sets))
+ (setq symbol-f-set (gethash symbol
parser-generator--f-sets)))
(parser-generator--debug
(message "symbol-f-set: %s" symbol-f-set))
(if (not symbol-f-set)
- [elpa] externals/parser-generator 5c8a7a5 147/434: Preparations for SDT support, (continued)
- [elpa] externals/parser-generator 5c8a7a5 147/434: Preparations for SDT support, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0e54a88 148/434: Optimized away one global variable, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 60e9c8a 153/434: Preparations for translation-support in LR-parser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 7ba32ff 154/434: Only save translation if it produces anything, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator f621e77 161/434: Preparations for testing incremental parse, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 944819d 163/434: More debugging incremental parsing, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 668e738 164/434: More work on tests for incremental parse, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ac7a9ab 168/434: Added TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a18a23d 172/434: Updated info about SDT and SA, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator d6afd0b 180/434: Added TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator bbcb22f 182/434: Optimized memory usage for f-sets,
ELPA Syncer <=
- [elpa] externals/parser-generator e2f4347 183/434: More work on f-set generation with e-identifiers, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 046e239 187/434: Passing first 3 complex tests for first, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 4811521 185/434: Various tweakings, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 7b6c1dc 186/434: First function passing first complex grammar test, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 7e96f9d 188/434: Passing all unit tests for first function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 7a90a75 190/434: Updated max interation count, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 796b41b 192/434: Passed unit tests for follow function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 33634dd 193/434: Passing all tests after refactor, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ba8e501 194/434: Added failing first test with complex case, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 71d213b 201/434: More work on Canonical LR(k) Parser, ELPA Syncer, 2021/11/29