[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 60e9c8a 153/434: Preparations for tran
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 60e9c8a 153/434: Preparations for translation-support in LR-parser |
Date: |
Mon, 29 Nov 2021 15:59:30 -0500 (EST) |
branch: externals/parser-generator
commit 60e9c8ad5a145511ff07a5bd622c992ec8be2310
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Preparations for translation-support in LR-parser
---
parser-generator-lr.el | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index e12b139..7409c30 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -617,9 +617,29 @@
(setq popped-items (1+ popped-items)))))
(push production-number output)
- (when
(parser-generator--get-grammar-translation-by-number production-number)
- ;; TODO Perform translation here
- (message "Popped-items: %s" popped-items-contents))
+ ;; Perform translation at reduction if specified
+ (when
+ (parser-generator--get-grammar-translation-by-number
+ production-number)
+ (let ((popped-items-meta-contents))
+ (dolist (popped-item popped-items-contents)
+ (push
+ (parser-generator-lex-analyzer--get-function
+ popped-item)
+ popped-items-meta-contents))
+ (setq
+ popped-items-meta-contents
+ (nreverse popped-items-meta-contents))
+ (message "Popped-items: %s" popped-items-contents)
+ (message "Popped-items-meta-contents: %s"
popped-items-meta-contents)
+
+ (let ((partial-translation
+ (funcall
+
(parser-generator--get-grammar-translation-by-number
+ production-number)
+ popped-items-meta-contents)))
+ (message "Partial-translation: %s"
partial-translation)
+ (push partial-translation translation))))
(let ((new-table-index (car pushdown-list)))
(let ((goto-table (gethash new-table-index
parser-generator-lr--goto-tables)))
- [elpa] externals/parser-generator e88abf0 117/434: More work on parser, added error-handling, (continued)
- [elpa] externals/parser-generator e88abf0 117/434: More work on parser, added error-handling, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 8328ab3 130/434: Added unit test for failing LRk Grammar Parse, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator e89a740 138/434: Fixed bug with goto-table generation were tokens were strings, ELPA Syncer, 2021/11/29
- [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 <=
- [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, 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