[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode b0ad204 44/96: Improved YACC grammar parser f
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode b0ad204 44/96: Improved YACC grammar parser for productions |
Date: |
Fri, 29 Oct 2021 11:14:43 -0400 (EDT) |
branch: externals/phps-mode
commit b0ad20421cfce9e5f688645d4333d7eb8ed04bb0
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Improved YACC grammar parser for productions
---
admin/phps-mode-grammar-parser-generator.el | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/admin/phps-mode-grammar-parser-generator.el
b/admin/phps-mode-grammar-parser-generator.el
index 8c94476..0ae4a1c 100644
--- a/admin/phps-mode-grammar-parser-generator.el
+++ b/admin/phps-mode-grammar-parser-generator.el
@@ -48,7 +48,7 @@
nil)
(parser-generator-set-grammar
'(
- (Start Productions-Block Productions-Delimiter Productions Productions
Production Production-End LHS RHSS RHS RHS-Symbol Comment Logic Symbol)
+ (Start Productions-Block Productions-Delimiter Productions Productions
Production Production-End LHS RHSS RHS RHS-Symbol RHS-Symbols Comment Logic
Symbol)
(productions-delimiter ":" "|" ";" comment logic symbol literal)
(
(Start
@@ -89,9 +89,25 @@
(RHS
(RHS-Symbol
(lambda(args) (format "%s" args)))
+ (RHS-Symbols
+ (lambda(args)
+ (if (string-match-p " " args)
+ (format "(%s)" args)
+ (format "%s" args))))
+ )
+ (RHS-Symbols
+ (RHS-Symbol
+ RHS-Symbols
+ (lambda (args)
+ (if (string= (nth 1 args) "")
+ (format "%s" (nth 0 args))
+ (format "%s %s" (nth 0 args) (nth 1 args)))))
(RHS-Symbol
- RHS
- (lambda (args) (format "%s %s" (nth 0 args) (nth 1 args))))
+ RHS-Symbol
+ (lambda (args)
+ (if (string= (nth 1 args) "")
+ (format "%s" (nth 0 args))
+ (format "%s %s" (nth 0 args) (nth 1 args)))))
)
(RHS-Symbol
Comment
- [elpa] externals/phps-mode fb9905f 19/96: Added basic translation test, (continued)
- [elpa] externals/phps-mode fb9905f 19/96: Added basic translation test, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode ec18c1e 22/96: Using parser to be able to implement incremental parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 1ee3094 28/96: More refactoring of the parsers lex-analyzer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 2ceb6e5 23/96: Added potential support for incremental parsing, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode e59d30e 26/96: Improvements in lex-analyzer for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode c62ec64 27/96: Started refactor of parsers lex-analyzer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 9acda54 33/96: Added more passing tests for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode c470e37 38/96: More work on grammar parser generator, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 6b9c1a4 40/96: More pasing of grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 3fa1b13 41/96: Translation of productions now working, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode b0ad204 44/96: Improved YACC grammar parser for productions,
Christian Johansson <=
- [elpa] externals/phps-mode 3824d7d 46/96: More work on automatically parsing YACC grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 42c4e0e 48/96: Work on automatically generating terminals, non-terminals and start from YACC grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode f56ba64 49/96: Terminals, non-terminals and start is automatically generated from YACC, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 7323416 31/96: Added failing test for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 7c66145 30/96: Refactor of parsers lex-analyzer complete, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 0e89b6e 35/96: Fixed bug in automation grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 65152f4 36/96: Added TODO item, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode add17a7 24/96: T_COMMENT and T_DOC_COMMENT are excluded from parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode f46b98f 25/96: More work on integrating parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 6b3a298 29/96: More work on parsers lex-analyzer refactor, Christian Johansson, 2021/10/29