[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator 831a6e6 379/434: Made a commentary aud
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator 831a6e6 379/434: Made a commentary audit of parse according to GOTO and ACTION tables |
Date: |
Mon, 29 Nov 2021 16:00:20 -0500 (EST) |
branch: externals/parser-generator
commit 831a6e603a18889ad5291c5e06bdc2057268896a
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Made a commentary audit of parse according to GOTO and ACTION tables
---
test/parser-generator-lr-test.el | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el
index 61904bc..269d980 100644
--- a/test/parser-generator-lr-test.el
+++ b/test/parser-generator-lr-test.el
@@ -192,6 +192,19 @@
'((0 (((a) shift))) (1 (((c) shift))) (2 ((($) reduce 2))) (3 ((($)
accept))) (4 (((b) shift))) (5 (((c) shift))) (6 ((($) reduce 4))) (7 ((($)
reduce 1))))
(parser-generator-lr--get-expanded-action-tables)))
(message "Grammar not conflicting anymore solution #1")
+ ;; Example parse "a b c"
+ ;; stack: 0
+ ;; a -> action shift, goto 4
+ ;; stack: 0 a 4
+ ;; b -> action shift, goto 5
+ ;; stack: 0 a 4 b 5
+ ;; c -> shift, goto 6
+ ;; stack: 0 a 4 b 5 c 6
+ ;; $ -> reduce 4 -> pop 6, new-stack: 0 B, goto 2
+ ;; stack: 0 B 2
+ ;; $ -> reduce 2, pop 2, new-stack: 0 S, goto 3
+ ;; stack: 0 S 3
+ ;; $ -> accept
;; Make a new context-sensitive precedence that
;; makes production 1 take precedence over production 4
@@ -217,18 +230,18 @@
'((0 (((a) shift))) (1 (((c) shift))) (2 ((($) reduce 2))) (3 ((($)
accept))) (4 (((b) shift))) (5 (((c) reduce 3))) (6 ((($) reduce 4))) (7 ((($)
reduce 1))))
(parser-generator-lr--get-expanded-action-tables)))
(message "Grammar not conflicting anymore solution #2")
- ;; Parse "a b c"
- ;; stack 0
+ ;; Example parse "a b c"
+ ;; stack: 0
;; a -> action shift, goto 4
- ;; stack a 4
+ ;; stack: 0 a 4
;; b -> action shift, goto 5
- ;; stack a 4 b 5
- ;; c -> reduce 3 -> pop 4 = A, goto 1
- ;; stack 0 A 1
+ ;; stack: 0 a 4 b 5
+ ;; c -> reduce 3 -> pop 4, new-stack: 0, goto 1
+ ;; stack: 0 A 1
;; c -> shift, goto 7
- ;; stack 0 A 1 c 7
- ;; $ -> reduce 1 -> pop 4 = S, goto 3
- ;; stack 0 S 3
+ ;; stack: 0 A 1 c 7
+ ;; $ -> reduce 1 -> pop 4, new-stack: 0, goto 3
+ ;; stack: 0 S 3
;; $ -> accept
(message "Passed tests for (parser-generator-lr--generate-action-tables)"))
@@ -1387,7 +1400,7 @@
(parser-generator-lr-translate)))
(message "Passed translation k=2")
-
+
(kill-buffer))
- [elpa] externals/parser-generator 85d1b49 345/434: Infix calculator translation passing some tests, (continued)
- [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
- [elpa] externals/parser-generator 14711d4 363/434: Added more debug stuff, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator f0f2daa 364/434: Started refactor of context-sensitive attributes, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 7e1d2fb 368/434: Added TODO notes, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 5a1f09a 369/434: More work on adding support for production number related precedence, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator e4658d9 372/434: LR action-table generation is now using context-sensitive precedence resolution for reduce/reduce conflicts, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 6aff9d0 373/434: Made TODO notes, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 831a6e6 379/434: Made a commentary audit of parse according to GOTO and ACTION tables,
ELPA Syncer <=
- [elpa] externals/parser-generator bff0e63 380/434: Added TODO note, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 97b5e59 381/434: Comparing precedence of last symbol of production with look-ahead, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 5ff13d2 382/434: Improvements in test for precedence, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 9c30f34 385/434: More work on refactoring conflict resolution, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 53fb785 395/434: Verified examples in documentation, added infix notation calculator example, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator e447145 402/434: Added notes about setting to allow default conflict resolution, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 201bcb1 405/434: Improved notes, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator aad1a17 404/434: Removed unnecessary logic in LR(0) action-table generation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 1b2a150 403/434: Added failing test for e-identifier in the middle of a rule, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator aa8a2bf 391/434: Work on the tests for the exported lr-parser, ELPA Syncer, 2021/11/29