[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator fe05328 250/434: Passed unit tests for
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator fe05328 250/434: Passed unit tests for LRk parser k=2 |
Date: |
Mon, 29 Nov 2021 15:59:51 -0500 (EST) |
branch: externals/parser-generator
commit fe05328dd2184e53ed93045d6e15c543d51a8479
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Passed unit tests for LRk parser k=2
---
parser-generator-lr.el | 51 +++++++++++++++++++++++++++++++++++++-------------
parser-generator.el | 2 +-
2 files changed, 39 insertions(+), 14 deletions(-)
diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 7cc030e..09732a4 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -90,32 +90,57 @@
;; in that case save in action table a shift
action here
(let ((eff-index 0)
(eff-item)
- (eff-length (length eff))
- (searching-match t))
- (while (and
- searching-match
- (< eff-index eff-length))
+ (eff-length (length eff)))
+ (while (< eff-index eff-length)
(setq
eff-item
(parser-generator--first-to-lookahead
(nth eff-index eff)))
+ (parser-generator--debug
+ (message
+ "eff-item: %s"
+ eff-item
+ ))
(if
(parser-generator--valid-look-ahead-p
eff-item)
(let ((hash-key
(format "%s-%s-%s" goto-index
state eff-item)))
- (unless (gethash hash-key
added-actions)
- (puthash hash-key t
added-actions)
- (setq searching-match nil)))
+ (parser-generator--debug
+ (message
+ "Valid look-ahead: %s"
+ eff-item
+ ))
+ (if (gethash hash-key
added-actions)
+ (parser-generator--debug
+ (message
+ "Duplicate action: %s"
+ hash-key
+ ))
+ (parser-generator--debug
+ (message
+ "New action: %s"
+ hash-key
+ ))
+ (puthash
+ hash-key
+ t
+ added-actions)
+ (push
+ (list
+ eff-item
+ 'shift
+ )
+ action-table)
+ (setq
+ found-action
+ t)
+ ))
(parser-generator--debug
(message
"Not valid look-ahead: %s"
eff-item)))
- (setq eff-index (1+ eff-index)))
-
- (unless searching-match
- (push (list eff-item 'shift)
action-table)
- (setq found-action t)))
+ (setq eff-index (1+ eff-index))))
(parser-generator--debug
(message "E-FREE-FIRST is empty for %s"
Cv)))))))))
diff --git a/parser-generator.el b/parser-generator.el
index 9ab4716..b400336 100644
--- a/parser-generator.el
+++ b/parser-generator.el
@@ -11,7 +11,7 @@
(defvar parser-generator--debug
- t
+ nil
"Whether to print debug messages or not.")
(defvar parser-generator--e-identifier
- [elpa] externals/parser-generator c0310bf 169/434: Added error-handling to lexical analyser, (continued)
- [elpa] externals/parser-generator c0310bf 169/434: Added error-handling to lexical analyser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator dfbd97f 184/434: More tweaking of f-set generation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 13d76ae 207/434: Passed tests for generating list permutations of length k, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 06f8d37 211/434: More work on debugging LRk parser with k > 1, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 069bf34 209/434: Added test for new helper function list of symbol, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator c8c130e 226/434: Improved error messages, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 80f99cf 241/434: Added failing unit test for lr-items set k=2, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 5032a77 233/434: Fixed typo in Lex Analyzer error, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 07320b9 249/434: Updated test-case k=2, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator d49f74f 244/434: Added failing test for action-tables LRk parser k=2, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fe05328 250/434: Passed unit tests for LRk parser k=2,
ELPA Syncer <=
- [elpa] externals/parser-generator d1f4682 248/434: Added a function that converts a FIRST-item to a look-ahead item, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 6845262 243/434: Passed GOTO-tables k=2, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 3a0d4cd 255/434: Added translation test for LRk=2, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 03ca2e9 247/434: Look-ahead generation now supports EOF symbol, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 3563720 266/434: Updated docs about lexical analysis, ELPA Syncer, 2021/11/29
- [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