[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 4cba5aa 203/434: Made new TODO items
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 4cba5aa 203/434: Made new TODO items |
Date: |
Mon, 29 Nov 2021 15:59:41 -0500 (EST) |
branch: externals/parser-generator
commit 4cba5aa354dd4319b8f91f34f25c9a1c5e9a21af
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Made new TODO items
---
parser-generator-lex-analyzer.el | 2 +-
parser-generator-lr.el | 39 ++++++++++++++++++++++++++++-----------
2 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/parser-generator-lex-analyzer.el b/parser-generator-lex-analyzer.el
index be98fbe..5af5a62 100644
--- a/parser-generator-lex-analyzer.el
+++ b/parser-generator-lex-analyzer.el
@@ -87,7 +87,7 @@
(setq look-ahead-length (1+ look-ahead-length))
(setq index (1+ index)))))
(error (error
- "Lex-analyze failed to peek next look-ahead at %s, error: %s"
+ "Lex-analyze faxiled to peek next look-ahead at %s, error: %s"
index
(car (cdr error))))))
(nreverse look-ahead)))
diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index faec337..2e6c207 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -198,7 +198,8 @@
(parser-generator--debug
(message "symbol: %s" symbol))
- (let ((prefix-lr-items (parser-generator-lr--items-for-goto lr-items
symbol)))
+ (let ((prefix-lr-items
+ (parser-generator-lr--items-for-goto lr-items symbol)))
;; If a' = GOTO(a, X) is nonempty
(when prefix-lr-items
@@ -579,7 +580,8 @@
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))
+ (let ((look-ahead
+ (parser-generator-lex-analyzer--peek-next-look-ahead))
(look-ahead-full))
;; Save token stream indexes in separate variable if needed later
(setq look-ahead-full (nreverse look-ahead))
@@ -592,7 +594,8 @@
(push look-ahead-item look-ahead)))
(let ((table-index (car pushdown-list)))
- (let ((action-table (gethash table-index
parser-generator-lr--action-tables)))
+ (let ((action-table
+ (gethash table-index parser-generator-lr--action-tables)))
(let ((action-match nil)
(action-table-length (length action-table))
@@ -634,9 +637,13 @@
;; there is no next input symbol or g(a) is undefined, halt
;; and declare error.
+ ;; TODO a and a-full needs to all tokens of look-ahead
+
(let ((a (car look-ahead))
(a-full (car look-ahead-full)))
- (let ((goto-table (gethash table-index
parser-generator-lr--goto-tables)))
+ (let ((goto-table
+ (gethash table-index
+ parser-generator-lr--goto-tables)))
(let ((goto-table-length (length goto-table))
(goto-index 0)
(searching-match t)
@@ -679,11 +686,15 @@
;; the pushdown list and return to step (1)
(let ((production-number (car (cdr action-match))))
- (let ((production
(parser-generator--get-grammar-production-by-number production-number)))
+ (let ((production
+ (parser-generator--get-grammar-production-by-number
+ production-number)))
(let ((production-lhs (car production))
(production-rhs (car (cdr production)))
(popped-items-contents))
- (unless (equal production-rhs (list
parser-generator--e-identifier))
+ (unless (equal
+ production-rhs
+ (list parser-generator--e-identifier)) ;; TODO
Verify this
(let ((pop-items (* 2 (length production-rhs)))
(popped-items 0)
(popped-item))
@@ -720,8 +731,12 @@
(push part-translation translation))))))
(let ((new-table-index (car pushdown-list)))
- (let ((goto-table (gethash new-table-index
parser-generator-lr--goto-tables)))
- (let ((goto-table-length (length goto-table))
+ (let ((goto-table
+ (gethash
+ new-table-index
+ parser-generator-lr--goto-tables)))
+ (let ((goto-table-length
+ (length goto-table))
(goto-index 0)
(searching-match t)
(next-index))
@@ -750,10 +765,12 @@
(setq accept t))
- (t (error (format "Invalid action-match: %s!"
action-match)))))))))
+ (t (error
+ (format "Invalid action-match: %s!" action-match)))))))))
(unless accept
- (error "Parsed entire string without getting accepting! Output: %s"
- (reverse output)))
+ (error
+ "Parsed entire string without getting accepting! Output: %s"
+ (reverse output)))
(when translation
(setq translation (nreverse translation)))
(when history
- [elpa] externals/parser-generator be557ba 013/434: More work on refactor, (continued)
- [elpa] externals/parser-generator be557ba 013/434: More work on refactor, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fdbdff7 157/434: Added unit test for SDT in LR-parser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 2d56ab0 160/434: Made separate functions for parse and translate in LR-parser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 7cfdea2 165/434: Passing tests for incremental lexer, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b072fdd 175/434: Passed test for trailing e-identifier in EFF function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator d435e50 122/434: Passing unit test for LR-parse, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a31da28 173/434: Updated Parser WIP items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator aaec6fa 189/434: Work on e-free first tests, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 922033f 198/434: Various stuff, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fe10d4a 196/434: Passed tests for first 3 and first 4 of complex grammar, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 4cba5aa 203/434: Made new TODO items,
ELPA Syncer <=
- [elpa] externals/parser-generator ef60d96 204/434: Added failing test for new function the generates grammar prefixes, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 76e30f1 210/434: Sorted lines in test file, ELPA Syncer, 2021/11/29
- [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