[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 16f6586 242/434: Fixed bug in lr-item
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 16f6586 242/434: Fixed bug in lr-item generation were look-ahead was disregarded |
Date: |
Mon, 29 Nov 2021 15:59:49 -0500 (EST) |
branch: externals/parser-generator
commit 16f6586e4efff8be2d9a638361151d704fe6ce9d
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Fixed bug in lr-item generation were look-ahead was disregarded
---
parser-generator-lr.el | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 886f3eb..c132c73 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -501,7 +501,8 @@
rhs-first)
(let ((rhs-rest (append (cdr rhs) suffix)))
(let ((rhs-rest-first
- (parser-generator--first rhs-rest)))
+ (parser-generator--first
+ rhs-rest)))
(parser-generator--debug
(message "is non-terminal")
(message "rhs-rest: %s from %s + %s" rhs-rest
(cdr rhs) suffix)
@@ -664,7 +665,15 @@
(let ((lr-item-suffix-first
(car lr-item-suffix))
(lr-item-suffix-rest
- (cdr lr-item-suffix)))
+ (append
+ (cdr lr-item-suffix)
+ (nth 3 lr-item))))
+ (parser-generator--debug
+ (message
+ "lr-item-suffix-rest: %s from %s + %s"
+ lr-item-suffix-rest
+ (cdr lr-item-suffix)
+ (nth 3 lr-item)))
;; (b) If [A -> a . Bb, u] has been placed in V(X1,...,Xi)
;; and B -> D is in P
@@ -680,6 +689,7 @@
"lr-item-suffix-rest-first (before): %s"
lr-item-suffix-rest-first))
+ ;; EOF-markers are always a possible look-ahead
(unless lr-item-suffix-rest-first
(setq
lr-item-suffix-rest-first
- [elpa] externals/parser-generator 7584880 298/434: Added failing unit test for calculating FIRST in grammar with cycles, (continued)
- [elpa] externals/parser-generator 7584880 298/434: Added failing unit test for calculating FIRST in grammar with cycles, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator f338734 303/434: Improved output of progress, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 98c9d94 213/434: Debugging parse with look-ahead > 1, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 2b0d5b8 215/434: More debugging, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 640feed 216/434: Passing all tests for canonical LRk Parser with k = 1, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator e5aa179 218/434: Some fixes for LRk parser k > 1, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 2a9a23e 219/434: More debugging, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ddd5967 221/434: Passed test for nested translations, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator bc817d1 224/434: Passing all tests for k=1 again, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b2f1d7a 236/434: More debugging k > 1, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 16f6586 242/434: Fixed bug in lr-item generation were look-ahead was disregarded,
ELPA Syncer <=
- [elpa] externals/parser-generator 36701c0 238/434: Optimized closure algorithm to only use possible next-symbols instead of iterating all symbols, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 3e096f7 258/434: Improved translation handling for each production, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 96cd5de 259/434: Improved validation of grammar structure, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator bbdbd18 269/434: Started on test for LR Parse k=0, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 56363c1 263/434: Fixed last TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 175a579 275/434: Passed test for generation action-table LR(0) grammar, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ecbbf21 290/434: Added test for exported translator, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator cecf8fd 287/434: More TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 688e685 291/434: Lex-analyzer index is now buffer-local variable, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0702765 293/434: Added incremental unit test for exported parser/translator, ELPA Syncer, 2021/11/29