[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode f805d35 52/62: Added global declaration, glob
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode f805d35 52/62: Added global declaration, global attributes of grammar |
Date: |
Tue, 20 Apr 2021 10:56:22 -0400 (EDT) |
branch: externals/phps-mode
commit f805d35a0e435f88c273330da3e7c5f9797c364b
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added global declaration, global attributes of grammar
---
admin/phps-mode-automation-grammar.el | 56 ++++++++++++++++++++++++++++++++---
admin/phps-mode-automation.el | 12 ++++++++
2 files changed, 64 insertions(+), 4 deletions(-)
diff --git a/admin/phps-mode-automation-grammar.el
b/admin/phps-mode-automation-grammar.el
index dc89990..ce47cbf 100644
--- a/admin/phps-mode-automation-grammar.el
+++ b/admin/phps-mode-automation-grammar.el
@@ -8,6 +8,54 @@
(require 'phps-mode-lexer)
(defconst
+ phps-mode-automation-grammar-context-sensitive-attributes
+ '(%prec)
+ "List of context-sensitive attributes.")
+
+(defconst
+ phps-mode-automation-grammar-global-attributes
+ '(%precedence %left %right %nonassoc)
+ "List of valid global attributes.")
+
+(defconst
+ phps-mode-automation-grammar-global-declaration
+ '(
+ (%precedence T_THROW)
+ (%precedence PREC_ARROW_FUNCTION)
+ (%precedence T_INCLUDE T_INCLUDE_ONCE T_REQUIRE T_REQUIRE_ONCE)
+ (%left T_LOGICAL_OR)
+ (%left T_LOGICAL_XOR)
+ (%left T_LOGICAL_AND)
+ (%precedence T_PRINT)
+ (%precedence T_YIELD)
+ (%precedence T_DOUBLE_ARROW)
+ (%precedence T_YIELD_FROM)
+ (%precedence "=" T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL
T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL
T_SR_EQUAL T_POW_EQUAL T_COALESCE_EQUAL)
+ (%left "?" ":")
+ (%right T_COALESCE)
+ (%left T_BOOLEAN_OR)
+ (%left T_BOOLEAN_AND)
+ (%left "|")
+ (%left "^")
+ (%left "&")
+ (%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL
T_SPACESHIP)
+ (%nonassoc "<" T_IS_SMALLER_OR_EQUAL ">" T_IS_GREATER_OR_EQUAL)
+ (%left ".")
+ (%left T_SL T_SR)
+ (%left "+" "-")
+ (%left "*" "/" "%")
+ (%precedence "!")
+ (%precedence T_INSTANCEOF)
+ (%precendece "~" T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST
T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST "@" )
+ (%right T_POW)
+ (%precedence T_CLONE)
+ (%precedence T_NOELSE)
+ (%precedence T_ELSEIF)
+ (%precedence T_ELSE)
+ )
+ "Declaration for grammar.")
+
+(defconst
phps-mode-automation-grammar-non-terminals
'(
absolute_trait_method_reference
@@ -798,7 +846,7 @@
)
(if_stmt
- (if_stmt_without_else (T_NOELSE (%prec 1)))
+ (if_stmt_without_else (%prec T_NOELSE))
(if_stmt_without_else T_ELSE statement)
)
@@ -1060,8 +1108,8 @@
(expr "%" expr)
(expr T_SL expr)
(expr T_SR expr)
- ("+" expr ("~" (%prec 1)))
- ("-" expr ("~" (%prec 1)))
+ ("+" (expr (%prec "~")))
+ ("-" (expr (%prec "~")))
("!" expr)
("~" expr)
(expr T_IS_IDENTICAL expr)
@@ -1119,7 +1167,7 @@
%empty)
(backup_fn_flags
- ((PREC_ARROW_FUNCTION (%prec 1)) %empty))
+ (%empty (%prec PREC_ARROW_FUNCTION)))
(backup_lex_pos
%empty)
diff --git a/admin/phps-mode-automation.el b/admin/phps-mode-automation.el
index 39ce0ff..013b11f 100644
--- a/admin/phps-mode-automation.el
+++ b/admin/phps-mode-automation.el
@@ -77,6 +77,18 @@
(setq
parser-generator-lr--precedence-comparison-function
phps-mode-automation-grammar-precedence-comparison-function))
+ (when (boundp 'parser-generator--global-declaration)
+ (setq
+ parser-generator--global-declaration
+ phps-mode-automation-grammar-global-declaration))
+ (when (boundp 'parser-generator--context-sensitive-attributes)
+ (setq
+ parser-generator--context-sensitive-attributes
+ phps-mode-automation-grammar-context-sensitive-attributes))
+ (when (boundp 'parser-generator--global-attributes)
+ (setq
+ parser-generator--global-attributes
+ phps-mode-automation-grammar-global-declaration))
(when (fboundp 'parser-generator-process-grammar)
(parser-generator-process-grammar))
(when (fboundp 'parser-generator-lr-generate-parser-tables)
- [elpa] externals/phps-mode c56268f 13/62: Implement new lex-analyzer function, (continued)
- [elpa] externals/phps-mode c56268f 13/62: Implement new lex-analyzer function, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 11313cc 15/62: Removed unnecessary code, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode cd7ebb7 17/62: Removed unnecessary comment, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 09d0bca 18/62: Passing old unit tests for lexer simple tokens, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode ae7a460 21/62: Added another new test for PHP 8.0 lex analysis, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode d8ac01b 24/62: Removed verbose errors on integration-test, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode ad3e37b 28/62: Passed lexer and integration unit tests, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 08329be 30/62: Fixed support for bookkeeping of superglobals $GLOBALS and $_ENV, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 9172bf2 35/62: Improved incremental lex-analyzer, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 490826c 45/62: Implemented the YACC grammar, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode f805d35 52/62: Added global declaration, global attributes of grammar,
Christian Johansson <=
- [elpa] externals/phps-mode a8242c8 23/62: Passed all unit tests for lexer, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode c4f1335 34/62: Updated version and modified date, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 6ffce34 42/62: More work on implementing grammar, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode fa61295 41/62: More work on grammar, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 9a9c296 44/62: More grammar implementation, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 9e291dc 47/62: Excluded admin-files from compilation, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 9011c85 32/62: Updated copyright years, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 85ed75d 46/62: More work on automated parser generation, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode aeec1d2 55/62: Removed comment, Christian Johansson, 2021/04/20
- [elpa] externals/phps-mode 62e7617 61/62: Merged GitHub, Christian Johansson, 2021/04/20