[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 944819d 163/434: More debugging increm
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 944819d 163/434: More debugging incremental parsing |
Date: |
Mon, 29 Nov 2021 15:59:32 -0500 (EST) |
branch: externals/parser-generator
commit 944819dff1918d627d9b2c4008c8fc347457758c
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
More debugging incremental parsing
---
parser-generator-lr.el | 20 ++++++++++++++------
test/parser-generator-lr-test.el | 1 +
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 4ad5cf1..91d0aab 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -533,10 +533,22 @@
(unless parser-generator-lr--goto-tables
(error "Missing GOTO-tables for grammar!"))
- (let ((accept))
+ (let ((accept)
+ (pre-index 0))
(while (and
(not accept))
+ ;; Save history when index has changed
+ (when
+ (>
+ parser-generator-lex-analyzer--index
+ pre-index)
+ (push
+ `(,parser-generator-lex-analyzer--index ,pushdown-list ,output
,translation)
+ history)
+ (setq pre-index
+ parser-generator-lex-analyzer--index))
+
;; (1) The lookahead string u, consisting of the next k input symbols,
is determined.
(let ((look-ahead (parser-generator-lex-analyzer--peek-next-look-ahead))
(look-ahead-full))
@@ -700,11 +712,7 @@
(when next-index
(push production-lhs pushdown-list)
- (push next-index pushdown-list)
-
- (push
- `(,parser-generator-lex-analyzer--index
,pushdown-list ,output ,translation)
- history)))))))))
+ (push next-index pushdown-list)))))))))
((equal action-match '(accept))
;; (d) If f(u) = accept, we halt and declare the string
diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el
index 49581ac..3f31e40 100644
--- a/test/parser-generator-lr-test.el
+++ b/test/parser-generator-lr-test.el
@@ -347,6 +347,7 @@
(while (< (car (car history)) input-tape-index)
(push (car history) history-list)
(pop history))
+ ;; (setq history (nreverse history))
(message "input-tape-index: %s" input-tape-index)
(message "pushdown-list: %s" pushdown-list)
(message "output: %s" output)
- [elpa] externals/parser-generator c667e18 121/434: Work on shift action in parsing algorithm, (continued)
- [elpa] externals/parser-generator c667e18 121/434: Work on shift action in parsing algorithm, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fab7e46 128/434: Fixed link to LRk grammar, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator bd06863 132/434: LR-parser now uses lex-analyzer for parsing, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator d14d427 140/434: Moved more about lex-analysis to separate document, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 1613e89 146/434: Added lex-analyzer get function, ELPA Syncer, 2021/11/29
- [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 <=
- [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, 2021/11/29
- [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