[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 490826c 45/62: Implemented the YACC grammar
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode 490826c 45/62: Implemented the YACC grammar |
Date: |
Tue, 20 Apr 2021 10:56:21 -0400 (EDT) |
branch: externals/phps-mode
commit 490826cf2b0b6234925baa1789f76906e5a77c88
Author: Christian Johansson <christian@mediastrategi.se>
Commit: Christian Johansson <christian@mediastrategi.se>
Implemented the YACC grammar
---
admin/phps-mode-automation-grammar.el | 175 +++++++++++++++++++++++++++++++++-
1 file changed, 173 insertions(+), 2 deletions(-)
diff --git a/admin/phps-mode-automation-grammar.el
b/admin/phps-mode-automation-grammar.el
index 1920275..31915f1 100644
--- a/admin/phps-mode-automation-grammar.el
+++ b/admin/phps-mode-automation-grammar.el
@@ -477,8 +477,8 @@
(attribute
(T_ATTRIBUTE
- attribute_group
- possible_comma "]")
+ attribute_group
+ possible_comma "]")
)
(attributes
@@ -1139,6 +1139,177 @@
("\"" encaps_list "\"")
)
+ (scalar
+ T_LNUMBER
+ T_DNUMBER
+ (T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC)
+ (T_START_HEREDOC T_END_HEREDOC)
+ (T_START_HEREDOC encaps_list T_END_HEREDOC)
+ dereferencable_scalar
+ constant
+ class_constant
+ )
+
+ (constant
+ name
+ T_LINE
+ T_FILE
+ T_DIR
+ T_TRAIT_C
+ T_METHOD_C
+ T_FUNC_C
+ T_NS_C
+ T_CLASS_C
+ )
+
+ (class_constant
+ (class_name T_PAAMAYIM_NEKUDOTAYIM identifier)
+ (variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier)
+ )
+
+ (optional_expr
+ %empty
+ expr
+ )
+
+ (variable_class_name
+ fully_dereferencable)
+
+ (fully_dereferencable
+ variable
+ ("(" expr ")")
+ dereferencable_scalar
+ class_constant
+ )
+
+ (array_object_dereferencable
+ fully_dereferencable
+ constant
+ )
+
+ (callable_expr
+ callable_variable
+ ("(" expr ")")
+ dereferencable_scalar
+ )
+
+ (callable_variable
+ simple_variable
+ (array_object_dereferencable "[" optional_expr "]")
+ (array_object_dereferencable "{" expr "}")
+ (array_object_dereferencable T_OBJECT_OPERATOR property_name
argument_list)
+ (array_object_dereferencable T_NULLSAFE_OBJECT_OPERATOR property_name
argument_list)
+ function_call
+ )
+
+ (variable
+ callable_variable
+ static_member
+ (array_object_dereferencable T_OBJECT_OPERATOR property_name)
+ (array_object_dereferencable T_NULLSAFE_OBJECT_OPERATOR property_name)
+ )
+
+ (simple_variable
+ T_VARIABLE
+ ("$" "{" expr "}")
+ ("$" simple_variable)
+ )
+
+ (static_member
+ (class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable)
+ (variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable)
+ )
+
+ (new_variable
+ simple_variable
+ (new_variable "[" optional_expr "]")
+ (new_variable "{" expr "}")
+ (new_variable T_OBJECT_OPERATOR property_name)
+ (new_variable T_NULLSAFE_OBJECT_OPERATOR property_name)
+ (class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable)
+ (new_variable T_PAAMAYIM_NEKUDOTAYIM simple_variable)
+ )
+
+ (member_name
+ identifier
+ ("{" expr "}")
+ simple_variable
+ )
+
+ (property_name
+ T_STRING
+ ("{" expr "}")
+ simple_variable
+ )
+
+ (array_pair_list
+ non_empty_array_pair_list
+ )
+
+ (possible_array_pair
+ %empty
+ array_pair
+ )
+
+ (non_empty_array_pair_list
+ (non_empty_array_pair_list "," possible_array_pair)
+ possible_array_pair
+ )
+
+ (array_pair
+ (expr T_DOUBLE_ARROW expr)
+ expr
+ (expr T_DOUBLE_ARROW "&" variable)
+ ("&" variable)
+ (T_ELLIPSIS expr)
+ (expr T_DOUBLE_ARROW T_LIST "(" array_pair_list ")")
+ (T_LIST "(" array_pair_list ")")
+ )
+
+ (encaps_list
+ (encaps_list encaps_var)
+ (encaps_list T_ENCAPSED_AND_WHITESPACE)
+ encaps_var
+ (T_ENCAPSED_AND_WHITESPACE encaps_var)
+ )
+
+ (encaps_var
+ T_VARIABLE
+ (T_VARIABLE "[" encaps_var_offset "]")
+ (T_VARIABLE T_OBJECT_OPERATOR T_STRING)
+ (T_VARIABLE T_NULLSAFE_OBJECT_OPERATOR T_STRING)
+ (T_DOLLAR_OPEN_CURLY_BRACES expr "}")
+ (T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME "}")
+ (T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME "[" expr "]" "}")
+ (T_CURLY_OPEN variable "}")
+ )
+
+ (encaps_var_offset
+ T_STRING
+ T_NUM_STRING
+ ("-" T_NUM_STRING)
+ T_VARIABLE
+ )
+
+ (internal_functions_in_yacc
+ (T_ISSET "(" isset_variables possible_comma ")")
+ (T_EMPTY "(" expr ")")
+ (T_INCLUDE expr)
+ (T_INCLUDE_ONCE expr)
+ (T_EVAL "(" expr ")")
+ (T_REQUIRE expr)
+ (T_REQUIRE_ONCE expr)
+ )
+
+ (isset_variables
+ isset_variable
+ (isset_variables "," isset_variable)
+ )
+
+ (isset_variable
+ expr
+ )
+
)
"The productions of grammar.")
- [elpa] externals/phps-mode 04d0065 08/62: Added syntax coloring for new tokens, (continued)
- [elpa] externals/phps-mode 04d0065 08/62: Added syntax coloring for new tokens, Christian Johansson, 2021/04/20
- [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 <=
- [elpa] externals/phps-mode f805d35 52/62: Added global declaration, global attributes of grammar, Christian Johansson, 2021/04/20
- [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