[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 62f54f1 110/434: Added failing unit te
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 62f54f1 110/434: Added failing unit test for e-free-first function |
Date: |
Mon, 29 Nov 2021 15:59:20 -0500 (EST) |
branch: externals/parser-generator
commit 62f54f1c9df42925235a0c80108dadac5f5edd02
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added failing unit test for e-free-first function
---
parser.el | 16 +++++++++-------
test/parser-test.el | 9 +++++++++
2 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/parser.el b/parser.el
index f025db9..0121699 100644
--- a/parser.el
+++ b/parser.el
@@ -665,11 +665,13 @@
(let ((i-max (length productions)))
;; Generate F-sets only once per grammar
- (unless (or
- (and (not disallow-e-first)
- parser--f-sets)
- (and disallow-e-first
- parser--f-free-sets))
+ (when (or
+ (and
+ (not disallow-e-first)
+ (not parser--f-sets))
+ (and
+ disallow-e-first
+ (not parser--f-free-sets)))
(let ((f-sets (make-hash-table :test 'equal))
(i 0))
(while (< i i-max)
@@ -706,8 +708,8 @@
(puthash i f-set f-sets)
(setq i (+ i 1))))
(if disallow-e-first
- (setq parser--f-free-sets f-sets))
- (setq parser--f-sets f-sets)))
+ (setq parser--f-free-sets f-sets)
+ (setq parser--f-sets f-sets))))
(parser--debug
(message "Generated F-sets"))
diff --git a/test/parser-test.el b/test/parser-test.el
index 681709c..1ebe13b 100644
--- a/test/parser-test.el
+++ b/test/parser-test.el
@@ -321,6 +321,15 @@
(parser--e-free-first '(S b a))))
(message "Passed empty-free-first 1 with complex grammar")
+ (parser--set-grammar '((Sp S) (a b) ((Sp S) (S (S a S b)) (S e)) Sp))
+ (parser--set-look-ahead-number 1)
+ (parser--process-grammar)
+ (should
+ (equal
+ nil
+ (parser--e-free-first '(S b a))))
+ (message "Passed empty-free-first 1 with complex grammar 2")
+
(message "Passed tests for (parser--empty-free-first)"))
(defun parser-test--valid-grammar-p ()
- [elpa] externals/parser-generator 26bf153 037/434: Setting look-ahead-number is now separated from setting grammar, (continued)
- [elpa] externals/parser-generator 26bf153 037/434: Setting look-ahead-number is now separated from setting grammar, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a54061c 055/434: Debugging of new algorithm, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 62d06a0 063/434: Passing unit test for V(Sa), ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 186d7bb 065/434: Renamed function lr-items to lr-items-for-prefix, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 9792eeb 069/434: Added TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 08b40cd 071/434: Updated header levels in README, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 5da1b28 079/434: Added TODO item, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 79565f4 089/434: Fixed sorting of columns in GOTO-table, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 043e375 095/434: Refactored LR-parser into stand-alone file, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 4f81d98 107/434: Sorting each row in action-table, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 62f54f1 110/434: Added failing unit test for e-free-first function,
ELPA Syncer <=
- [elpa] externals/parser-generator ee0ef5d 115/434: Added failing unit test for Algorithm 5.7, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b0e9111 125/434: Started on lex-analyzer function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0416ca9 134/434: Added information about lex-analyzer in README, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b756e1a 135/434: Added example of parsing using LR algorithm, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator cee559d 139/434: Added separate document for lexical analysis documentation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator de0ed95 142/434: Updated README.md, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator fa7089e 144/434: Re-factored lex analyzer function to not use length argument, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 7eb9a4a 156/434: Fixed issue with indexing productions when they have SDT, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 19667b3 158/434: Added failing unit test for translation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a8a4e7f 166/434: Minor fix, ELPA Syncer, 2021/11/29