[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 4404424 367/434: Added test for parsin
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 4404424 367/434: Added test for parsing context-sensitive attributes |
Date: |
Mon, 29 Nov 2021 16:00:17 -0500 (EST) |
branch: externals/parser-generator
commit 440442463cb50415c3aa4756380570102426510f
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added test for parsing context-sensitive attributes
---
parser-generator.el | 4 ++--
test/parser-generator-test.el | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/parser-generator.el b/parser-generator.el
index d8812e4..34a4b73 100644
--- a/parser-generator.el
+++ b/parser-generator.el
@@ -563,8 +563,8 @@
(progn
(when (=
sub-rhs-element-index
- (1- sub-rhs-element-length)
- (error "Expecting value for
context-sensitive attribute!")))
+ (1- sub-rhs-element-length))
+ (error "Expecting value for context-sensitive
attribute %S!" sub-rhs-element))
(let ((attribute-value
(nth
(1+ sub-rhs-element-index)
diff --git a/test/parser-generator-test.el b/test/parser-generator-test.el
index bc311e9..7e9a996 100644
--- a/test/parser-generator-test.el
+++ b/test/parser-generator-test.el
@@ -469,6 +469,42 @@
(message "Passed tests for (parser-generator--empty-free-first)"))
+(defun
parser-generator-test--get-grammar-context-sensitive-attributes-by-production-number
()
+ "Test
`parser-generator--get-grammar-context-sensitive-attributes-by-production-number'."
+ (message "Starting tests for
(parser-generator--get-grammar-context-sensitive-attributes-by-production-number)")
+ (setq
+ parser-generator--context-sensitive-attributes
+ '(%prec))
+ (parser-generator-set-grammar '((A B C) ("a" "b" "c") ((A ("a" %prec 1) ("b"
"c" %prec D))) A))
+ (parser-generator-process-grammar)
+
+ (should
+ (equal
+ '((%prec 1))
+
(parser-generator--get-grammar-context-sensitive-attributes-by-production-number
0)))
+ (should
+ (equal
+ '((A) ("a"))
+ (parser-generator--get-grammar-production-by-number 0)))
+ (should
+ (equal
+ '((%prec D))
+
(parser-generator--get-grammar-context-sensitive-attributes-by-production-number
1)))
+ (should
+ (equal
+ '((A) ("b" "c"))
+ (parser-generator--get-grammar-production-by-number 1)))
+ (should
+ (equal
+ nil
+
(parser-generator--get-grammar-context-sensitive-attributes-by-production-number
2)))
+ (should
+ (equal
+ nil
+ (parser-generator--get-grammar-production-by-number 2)))
+
+ (message "Passed tests for
(parser-generator--get-grammar-context-sensitive-attributes-by-production-number)"))
+
(defun parser-generator-test--valid-grammar-p ()
"Test function `parser-generator--valid-grammar-p'."
(message "Starting tests for (parser-generator--valid-grammar-p)")
@@ -917,6 +953,7 @@
(parser-generator-test--valid-context-sensitive-attribute-p)
(parser-generator-test--valid-context-sensitive-attributes-p)
(parser-generator-test--valid-grammar-p)
+
(parser-generator-test--get-grammar-context-sensitive-attributes-by-production-number)
(parser-generator-test--valid-look-ahead-number-p)
(parser-generator-test--valid-look-ahead-p)
(parser-generator-test--valid-non-terminal-p)
- [elpa] externals/parser-generator 989e79e 331/434: More debugging, (continued)
- [elpa] externals/parser-generator 989e79e 331/434: More debugging, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 8092c58 334/434: Added global declaration to unit test, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 778b96f 335/434: More work on global precedence declaration, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0523eeb 336/434: More work on global precedence, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0aed7b0 339/434: More work on global precedence in LR(k) parser, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b84ed5e 342/434: Fixed issue with infix calculator translation test, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator f449039 346/434: More debugging, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 34f95b3 351/434: More debugging infix calculator, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator bb82646 356/434: More debugging, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b040d9b 357/434: Tests for infix calculator working, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 4404424 367/434: Added test for parsing context-sensitive attributes,
ELPA Syncer <=
- [elpa] externals/parser-generator 2ad866c 371/434: Context-sensitive attribute are now tested through specified comparison function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 9d5df0e 375/434: More working on trying to get the Infix example working, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 8fb8676 376/434: More work on Infix math example, passing another test, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 32e2c15 024/434: Fixed bug with e-production, ELPA Syncer, 2021/11/29
- [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