[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 236a124 322/434: More work on resolvin
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 236a124 322/434: More work on resolving conflicts |
Date: |
Mon, 29 Nov 2021 16:00:07 -0500 (EST) |
branch: externals/parser-generator
commit 236a124435b86a1187062ad93609878fc745a55f
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
More work on resolving conflicts
---
parser-generator-lr.el | 68 +++++++++++++++++++++++++-------------------------
1 file changed, 34 insertions(+), 34 deletions(-)
diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 8741f4e..09bc215 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -114,7 +114,8 @@
goto-index
table-lr-items)))
(let ((lr-items-length
- (length lr-items)))
+ (length lr-items))
+ (index-symbols))
;; Where u is in (T U e)*k
(dolist (state states)
@@ -168,8 +169,7 @@
(parser-generator--debug
(message
"eff-item: %s"
- eff-item
- ))
+ eff-item))
(if
(parser-generator--valid-look-ahead-p
eff-item)
@@ -183,21 +183,18 @@
(parser-generator--debug
(message
"Valid look-ahead: %s"
- eff-item
- ))
+ eff-item))
(if (gethash
hash-key
added-actions)
(parser-generator--debug
(message
"Duplicate action: %s"
- hash-key
- ))
+ hash-key))
(parser-generator--debug
(message
"New action: %s"
- hash-key
- ))
+ hash-key))
(puthash
hash-key
t
@@ -276,33 +273,36 @@
(push
(list nil 'reduce production-number)
action-table)
- (setq found-action t))))
+ (setq
+ found-action
+ t))))
(when (parser-generator--valid-look-ahead-p u)
- (let ((hash-key
- (format
- "%s-%s-%S"
- goto-index
- state
- u)))
- (unless
- (gethash
- hash-key
- added-actions)
- (puthash
- hash-key
- t
- added-actions)
- (let ((production (list A B)))
- (let
- ((production-number
-
(parser-generator--get-grammar-production-number
- production)))
- (unless production-number
- (error
- "Expecting production number for %s
from LR-item %s!"
- production
- lr-item))
+ (let ((production (list A B)))
+ (let
+ ((production-number
+
(parser-generator--get-grammar-production-number
+ production)))
+ (unless production-number
+ (error
+ "Expecting production number for %s from
LR-item %s!"
+ production
+ lr-item))
+ (let ((hash-key
+ (format
+ "%s-%s-%S-%s"
+ goto-index
+ state
+ u
+ production-number)))
+ (unless
+ (gethash
+ hash-key
+ added-actions)
+ (puthash
+ hash-key
+ t
+ added-actions)
(parser-generator--debug
(message "production: %s (%s)" production
production-number)
- [elpa] externals/parser-generator 412fd2a 273/434: Passing generation of GOTO-table for LR(0) grammar, (continued)
- [elpa] externals/parser-generator 412fd2a 273/434: Passing generation of GOTO-table for LR(0) grammar, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator bc23604 274/434: Fixed look-ahead, first and e-free-first with k = 0, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 1879cb0 271/434: Merge branch 'master' of git.cvj.se:/home/git/emacs-parser-generator, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 16bb2d8 262/434: Added translation example LRk parser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator d173c1e 281/434: More work on exporting parser as code function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator bd887ff 277/434: LR(0) Parser passing translation test, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 852f969 283/434: Merge branch 'master' of git.cvj.se:/home/git/emacs-parser-generator, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0d6d46d 294/434: Debugging incremental issue with exported translator, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator c4c68b2 302/434: Added progress-indicator to goto-table generation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 586789d 308/434: Added cache to first calculation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 236a124 322/434: More work on resolving conflicts,
ELPA Syncer <=
- [elpa] externals/parser-generator 04c360b 318/434: LR-items set validation now supports symbols with attributes, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ea02245 325/434: Improved debug output, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator e56bcff 324/434: Improved output of productions and action-tables, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fb29641 337/434: Passing old context-sensitive precedence example with new structure, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 928b31d 343/434: More work on infix calculator, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 6a4b353 344/434: More work on translations, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 85d1b49 345/434: Infix calculator translation passing some tests, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 08e9876 347/434: Fixed bug with associating a translation to multiple productions, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator c6d3ad2 352/434: Infix calculator working as expected without precedence rules, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 21948c8 358/434: Fixed lex-analyzer to infix calculator test to support white-space and floats, ELPA Syncer, 2021/11/29