[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode e3d973d 43/96: Improved support for semi-colo
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode e3d973d 43/96: Improved support for semi-colon in grammar delimiter |
Date: |
Fri, 29 Oct 2021 11:14:43 -0400 (EDT) |
branch: externals/phps-mode
commit e3d973d664f16775c4d7feb8cd98b3e863e2e610
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Improved support for semi-colon in grammar delimiter
---
admin/phps-mode-grammar-parser-generator.el | 21 +-
phps-mode-automation-grammar.el | 676 +++++++++++++++-------------
2 files changed, 372 insertions(+), 325 deletions(-)
diff --git a/admin/phps-mode-grammar-parser-generator.el
b/admin/phps-mode-grammar-parser-generator.el
index a641a05..8c94476 100644
--- a/admin/phps-mode-grammar-parser-generator.el
+++ b/admin/phps-mode-grammar-parser-generator.el
@@ -33,7 +33,7 @@
1)
(setq
parser-generator--e-identifier
- '%empty)
+ nil)
(setq
parser-generator--global-attributes
nil)
@@ -48,7 +48,7 @@
nil)
(parser-generator-set-grammar
'(
- (Start Productions-Block Productions-Delimiter Productions Productions
Production LHS RHSS RHS RHS-Symbol Comment Logic Symbol)
+ (Start Productions-Block Productions-Delimiter Productions Productions
Production Production-End LHS RHSS RHS RHS-Symbol Comment Logic Symbol)
(productions-delimiter ":" "|" ";" comment logic symbol literal)
(
(Start
@@ -70,25 +70,28 @@
(Production
(Comment Production
(lambda(args) (format "%s" (nth 1 args))))
- (LHS ":" RHSS ";"
+ (LHS ":" RHSS Production-End
(lambda(args) (format " (%s\n %s\n )" (nth 0 args) (nth 2 args))))
)
+ (Production-End
+ ";"
+ (";" ";"))
(LHS
(Symbol
(lambda(args) (format "%s" args)))
)
(RHSS
(RHS
- (lambda(args) (format "(%s)" args)))
+ (lambda(args) (format "%s" args)))
(RHSS "|" RHS
- (lambda(args) (format "%s\n (%s)" (nth 0 args) (nth 2 args))))
+ (lambda(args) (format "%s\n %s" (nth 0 args) (nth 2 args))))
)
(RHS
(RHS-Symbol
(lambda(args) (format "%s" args)))
- (RHS
- 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
+ RHS
+ (lambda (args) (format "%s %s" (nth 0 args) (nth 1 args))))
)
(RHS-Symbol
Comment
@@ -175,8 +178,6 @@
(1- nesting-stack))
(when
(= nesting-stack 0)
- (when (looking-at ";")
- (forward-char 1))
(setq
logic-end
(point))))
diff --git a/phps-mode-automation-grammar.el b/phps-mode-automation-grammar.el
index b52b393..1e5f7ab 100644
--- a/phps-mode-automation-grammar.el
+++ b/phps-mode-automation-grammar.el
@@ -481,161 +481,157 @@
'(
(start
- top_statement_list
+ (top_statement_list)
)
(reserved_non_modifiers
- T_INCLUDE
- T_INCLUDE_ONCE
- T_EVAL
- T_REQUIRE
- T_REQUIRE_ONCE
- T_LOGICAL_OR
- T_LOGICAL_XOR
- T_LOGICAL_AND
- T_INSTANCEOF
- T_NEW
- T_CLONE
- T_EXIT
- T_IF
- T_ELSEIF
- T_ELSE
- T_ENDIF
- T_ECHO
- T_DO
- T_WHILE
- T_ENDWHILE
- T_FOR
- T_ENDFOR
- T_FOREACH
- T_ENDFOREACH
- T_DECLARE
- T_ENDDECLARE
- T_AS
- T_TRY
- T_CATCH
- T_FINALLY
- T_THROW
- T_USE
- T_INSTEADOF
- T_GLOBAL
- T_VAR
- T_UNSET
- T_ISSET
- T_EMPTY
- T_CONTINUE
- T_GOTO
- T_FUNCTION
- T_CONST
- T_RETURN
- T_PRINT
- T_YIELD
- T_LIST
- T_SWITCH
- T_ENDSWITCH
- T_CASE
- T_DEFAULT
- T_BREAK
- T_ARRAY
- T_CALLABLE
- T_EXTENDS
- T_IMPLEMENTS
- T_NAMESPACE
- T_TRAIT
- T_INTERFACE
- T_CLASS
- T_CLASS_C
- T_TRAIT_C
- T_FUNC_C
- T_METHOD_C
- T_LINE
- T_FILE
- T_DIR
- T_NS_C
- T_FN
- T_MATCH
+ (T_INCLUDE)
+ (T_INCLUDE_ONCE)
+ (T_EVAL)
+ (T_REQUIRE)
+ (T_REQUIRE_ONCE)
+ (T_LOGICAL_OR)
+ (T_LOGICAL_XOR)
+ (T_LOGICAL_AND)
+ (T_INSTANCEOF)
+ (T_NEW)
+ (T_CLONE)
+ (T_EXIT)
+ (T_IF)
+ (T_ELSEIF)
+ (T_ELSE)
+ (T_ENDIF)
+ (T_ECHO)
+ (T_DO)
+ (T_WHILE)
+ (T_ENDWHILE)
+ (T_FOR)
+ (T_ENDFOR)
+ (T_FOREACH)
+ (T_ENDFOREACH)
+ (T_DECLARE)
+ (T_ENDDECLARE)
+ (T_AS)
+ (T_TRY)
+ (T_CATCH)
+ (T_FINALLY)
+ (T_THROW)
+ (T_USE)
+ (T_INSTEADOF)
+ (T_GLOBAL)
+ (T_VAR)
+ (T_UNSET)
+ (T_ISSET)
+ (T_EMPTY)
+ (T_CONTINUE)
+ (T_GOTO)
+ (T_FUNCTION)
+ (T_CONST)
+ (T_RETURN)
+ (T_PRINT)
+ (T_YIELD)
+ (T_LIST)
+ (T_SWITCH)
+ (T_ENDSWITCH)
+ (T_CASE)
+ (T_DEFAULT)
+ (T_BREAK)
+ (T_ARRAY)
+ (T_CALLABLE)
+ (T_EXTENDS)
+ (T_IMPLEMENTS)
+ (T_NAMESPACE)
+ (T_TRAIT)
+ (T_INTERFACE)
+ (T_CLASS)
+ (T_CLASS_C)
+ (T_TRAIT_C)
+ (T_FUNC_C)
+ (T_METHOD_C)
+ (T_LINE)
+ (T_FILE)
+ (T_DIR)
+ (T_NS_C)
+ (T_FN)
+ (T_MATCH)
)
(semi_reserved
- reserved_non_modifiers
- T_STATIC
- T_ABSTRACT
- T_FINAL
- T_PRIVATE
- T_PROTECTED
- T_PUBLIC
+ (reserved_non_modifiers)
+ (T_STATIC)
+ (T_ABSTRACT)
+ (T_FINAL)
+ (T_PRIVATE)
+ (T_PROTECTED)
+ (T_PUBLIC)
)
(identifier
- T_STRING
- semi_reserved
+ (T_STRING)
+ (semi_reserved)
)
(top_statement_list
(top_statement_list top_statement)
- %empty
+ (%empty)
)
(namespace_declaration_name
- identifier
- T_NAME_QUALIFIED
+ (identifier)
+ (T_NAME_QUALIFIED)
)
(namespace_name
- T_STRING
- T_NAME_QUALIFIED
+ (T_STRING)
+ (T_NAME_QUALIFIED)
)
(legacy_namespace_name
- namespace_name
- T_NAME_FULLY_QUALIFIED
+ (namespace_name)
+ (T_NAME_FULLY_QUALIFIED)
)
(name
- T_STRING
- T_NAME_QUALIFIED
- T_NAME_FULLY_QUALIFIED
- T_NAME_RELATIVE
+ (T_STRING)
+ (T_NAME_QUALIFIED)
+ (T_NAME_FULLY_QUALIFIED)
+ (T_NAME_RELATIVE)
)
(attribute_decl
- class_name
+ (class_name)
(class_name argument_list)
)
(attribute_group
- attribute_decl
+ (attribute_decl)
(attribute_group "," attribute_decl)
)
(attribute
- (T_ATTRIBUTE
- attribute_group
- possible_comma "]")
+ (T_ATTRIBUTE attribute_group possible_comma "]")
)
(attributes
- attribute
+ (attribute)
(attributes attribute)
)
(attributed_statement
- function_declaration_statement
- class_declaration_statement
- trait_declaration_statement
- interface_declaration_statement
+ (function_declaration_statement)
+ (class_declaration_statement)
+ (trait_declaration_statement)
+ (interface_declaration_statement)
)
(top_statement
- statement
- attributed_statement
- attributes
- attributed_statement
+ (statement)
+ (attributed_statement)
+ (attributes attributed_statement)
(T_HALT_COMPILER "(" ")" ";")
(T_NAMESPACE namespace_declaration_name ";")
- (T_NAMESPACE namespace_declaration_name)
- ("{" top_statement_list "}")
- T_NAMESPACE
+ (T_NAMESPACE namespace_declaration_name "{" top_statement_list "}")
+ (T_NAMESPACE "{" top_statement_list "}")
(T_USE mixed_group_use_declaration ";")
(T_USE use_type group_use_declaration ";")
(T_USE use_declarations ";")
@@ -644,8 +640,8 @@
)
(use_type
- T_FUNCTION
- T_CONST
+ (T_FUNCTION)
+ (T_CONST)
)
(group_use_declaration
@@ -657,61 +653,61 @@
)
(possible_comma
- %empty
- ","
+ (%empty)
+ (",")
)
(inline_use_declarations
(inline_use_declarations "," inline_use_declaration)
- inline_use_declaration
+ (inline_use_declaration)
)
(unprefixed_use_declarations
(unprefixed_use_declarations "," unprefixed_use_declaration)
- unprefixed_use_declaration
+ (unprefixed_use_declaration)
)
(use_declarations
(use_declarations "," use_declaration)
- use_declaration
+ (use_declaration)
)
(inline_use_declaration
- unprefixed_use_declaration
+ (unprefixed_use_declaration)
(use_type unprefixed_use_declaration)
)
(unprefixed_use_declaration
- namespace_name
+ (namespace_name)
(namespace_name T_AS T_STRING)
)
(use_declaration
- legacy_namespace_name
+ (legacy_namespace_name)
(legacy_namespace_name T_AS T_STRING)
)
(const_list
(const_list "," const_decl)
- const_decl
+ (const_decl)
)
(inner_statement_list
(inner_statement_list inner_statement)
- %empty
+ (%empty)
)
(inner_statement
- statement
- attributed_statement
+ (statement)
+ (attributed_statement)
(attributes attributed_statement)
(T_HALT_COMPILER "(" ")" ";")
)
(statement
("{" inner_statement_list "}")
- if_stmt
- alt_if_stmt
+ (if_stmt)
+ (alt_if_stmt)
(T_WHILE "(" expr ")" while_statement)
(T_DO statement T_WHILE "(" expr ")" ";")
(T_FOR "(" for_exprs ";" for_exprs ";" for_exprs ")" for_statement)
@@ -722,119 +718,118 @@
(T_GLOBAL global_var_list ";")
(T_STATIC static_var_list ";")
(T_ECHO echo_expr_list ";")
- T_INLINE_HTML
+ (T_INLINE_HTML)
(expr ";")
- (T_UNSET "(" unset_variables possible_comma ")" ";" )
+ (T_UNSET "(" unset_variables possible_comma ")" ";")
(T_FOREACH "(" expr T_AS foreach_variable ")" foreach_statement)
(T_FOREACH "(" expr T_AS foreach_variable T_DOUBLE_ARROW foreach_variable
")" foreach_statement)
- (T_DECLARE "(" const_list ")" declare_statement ";")
+ (T_DECLARE "(" const_list ")" declare_statement)
+ (";")
(T_TRY "{" inner_statement_list "}" catch_list finally_statement)
(T_GOTO T_STRING ";")
- T_STRING
+ (T_STRING ":")
)
(catch_list
- %empty
+ (%empty)
(catch_list T_CATCH "(" catch_name_list optional_variable ")" "{"
inner_statement_list "}")
)
(catch_name_list
- class_name
+ (class_name)
(catch_name_list "|" class_name)
)
(optional_variable
- %empty
- T_VARIABLE)
+ (%empty)
+ (T_VARIABLE)
+ )
(finally_statement
- %empty
+ (%empty)
(T_FINALLY "{" inner_statement_list "}")
)
(unset_variables
- unset_variable
+ (unset_variable)
(unset_variables "," unset_variable)
)
(unset_variable
- variable)
+ (variable)
+ )
(function_declaration_statement
(function returns_ref T_STRING backup_doc_comment "(" parameter_list ")"
return_type backup_fn_flags "{" inner_statement_list "}" backup_fn_flags)
)
(is_reference
- %empty
- "&"
+ (%empty)
+ ("&")
)
(is_variadic
- %empty
- T_ELLIPSIS
+ (%empty)
+ (T_ELLIPSIS)
)
(class_declaration_statement
- (class_modifiers T_CLASS)
- (T_STRING extends_from implements_list backup_doc_comment "{"
class_statement_list "}")
- T_CLASS
- (T_STRING extends_from implements_list backup_doc_comment "{"
class_statement_list "}")
+ (class_modifiers T_CLASS T_STRING extends_from implements_list
backup_doc_comment "{" class_statement_list "}")
+ (T_CLASS T_STRING extends_from implements_list backup_doc_comment "{"
class_statement_list "}")
)
(class_modifiers
- class_modifier
+ (class_modifier)
(class_modifiers class_modifier)
)
(class_modifier
- T_ABSTRACT
- T_FINAL
+ (T_ABSTRACT)
+ (T_FINAL)
)
(trait_declaration_statement
- T_TRAIT
- (T_STRING backup_doc_comment "{" class_statement_list "}")
+ (T_TRAIT T_STRING backup_doc_comment "{" class_statement_list "}")
)
(interface_declaration_statement
- T_INTERFACE
- (T_STRING interface_extends_list backup_doc_comment "{"
class_statement_list "}")
+ (T_INTERFACE T_STRING interface_extends_list backup_doc_comment "{"
class_statement_list "}")
)
(extends_from
- %empty
+ (%empty)
(T_EXTENDS class_name)
)
(interface_extends_list
- %empty
+ (%empty)
(T_EXTENDS class_name_list)
)
(implements_list
- %empty
+ (%empty)
(T_IMPLEMENTS class_name_list)
)
(foreach_variable
- variable
+ (variable)
("&" variable)
(T_LIST "(" array_pair_list ")")
("[" array_pair_list "]")
)
(for_statement
- statement
+ (statement)
(":" inner_statement_list T_ENDFOR ";")
)
(foreach_statement
- statement
+ (statement)
(":" inner_statement_list T_ENDFOREACH ";")
)
(declare_statement
- statement
+ (statement)
(":" inner_statement_list T_ENDDECLARE ";")
)
@@ -846,14 +841,14 @@
)
(case_list
- %empty
+ (%empty)
(case_list T_CASE expr case_separator inner_statement_list)
(case_list T_DEFAULT case_separator inner_statement_list)
)
(case_separator
- ":"
- ";"
+ (":")
+ (";")
)
(match
@@ -861,12 +856,12 @@
)
(match_arm_list
- %empty
+ (%empty)
(non_empty_match_arm_list possible_comma)
)
(non_empty_match_arm_list
- match_arm
+ (match_arm)
(non_empty_match_arm_list "," match_arm)
)
@@ -876,12 +871,12 @@
)
(match_arm_cond_list
- expr
+ (expr)
(match_arm_cond_list "," expr)
)
(while_statement
- statement
+ (statement)
(":" inner_statement_list T_ENDWHILE ";")
)
@@ -907,46 +902,45 @@
(parameter_list
(non_empty_parameter_list possible_comma)
- %empty
+ (%empty)
)
(non_empty_parameter_list
- attributed_parameter
+ (attributed_parameter)
(non_empty_parameter_list "," attributed_parameter)
)
(attributed_parameter
(attributes parameter)
- parameter
+ (parameter)
)
(optional_visibility_modifier
- %empty
- T_PUBLIC
- T_PROTECTED
- T_PRIVATE
+ (%empty)
+ (T_PUBLIC)
+ (T_PROTECTED)
+ (T_PRIVATE)
)
(parameter
(optional_visibility_modifier optional_type_without_static is_reference
is_variadic T_VARIABLE backup_doc_comment)
- (is_reference is_variadic T_VARIABLE backup_doc_comment)
(optional_visibility_modifier optional_type_without_static is_reference
is_variadic T_VARIABLE backup_doc_comment "=" expr)
)
(optional_type_without_static
- %empty
- type_expr_without_static
+ (%empty)
+ (type_expr_without_static)
)
(type_expr
- type
+ (type)
("?" type)
- union_type
+ (union_type)
)
(type
- type_without_static
- T_STATIC
+ (type_without_static)
+ (T_STATIC)
)
(union_type
@@ -955,165 +949,203 @@
)
(type_expr_without_static
- type_without_static
+ (type_without_static)
("?" type_without_static)
- union_type_without_static)
+ (union_type_without_static)
+ )
(type_without_static
- T_ARRAY
- T_CALLABLE
- name)
+ (T_ARRAY)
+ (T_CALLABLE)
+ (name)
+ )
(union_type_without_static
(type_without_static "|" type_without_static)
- (union_type_without_static "|" type_without_static))
+ (union_type_without_static "|" type_without_static)
+ )
(return_type
- %empty
- (":" type_expr))
+ (%empty)
+ (":" type_expr)
+ )
(argument_list
("(" ")")
- ("(" non_empty_argument_list possible_comma ")"))
+ ("(" non_empty_argument_list possible_comma ")")
+ )
(non_empty_argument_list
- argument
- (non_empty_argument_list "," argument))
+ (argument)
+ (non_empty_argument_list "," argument)
+ )
(argument
- expr
+ (expr)
(identifier ":" expr)
- (T_ELLIPSIS expr))
+ (T_ELLIPSIS expr)
+ )
(global_var_list
(global_var_list "," global_var)
- global_var)
+ (global_var)
+ )
(global_var
- simple_variable)
+ (simple_variable)
+ )
(static_var_list
(static_var_list "," static_var)
- static_var)
+ (static_var)
+ )
(static_var
- T_VARIABLE
- (T_VARIABLE "=" expr))
+ (T_VARIABLE)
+ (T_VARIABLE "=" expr)
+ )
(class_statement_list
(class_statement_list class_statement)
- %empty)
+ (%empty)
+ )
(attributed_class_statement
(variable_modifiers optional_type_without_static property_list ";")
(method_modifiers T_CONST class_const_list ";")
- (method_modifiers function returns_ref identifier backup_doc_comment "("
parameter_list ")" return_type backup_fn_flags method_body backup_fn_flags))
+ (method_modifiers function returns_ref identifier backup_doc_comment "("
parameter_list ")" return_type backup_fn_flags method_body backup_fn_flags)
+ )
(class_statement
- attributed_class_statement
+ (attributed_class_statement)
(attributes attributed_class_statement)
- (T_USE class_name_list trait_adaptations))
+ (T_USE class_name_list trait_adaptations)
+ )
(class_name_list
- class_name
- (class_name_list "," class_name))
+ (class_name)
+ (class_name_list "," class_name)
+ )
(trait_adaptations
- ";"
+ (";")
("{" "}")
- ("{" trait_adaptation_list "}"))
+ ("{" trait_adaptation_list "}")
+ )
(trait_adaptation_list
- trait_adaptation
- (trait_adaptation_list trait_adaptation))
+ (trait_adaptation)
+ (trait_adaptation_list trait_adaptation)
+ )
(trait_adaptation
(trait_precedence ";")
- (trait_alias ";"))
+ (trait_alias ";")
+ )
(trait_precedence
- (absolute_trait_method_reference T_INSTEADOF class_name_list))
+ (absolute_trait_method_reference T_INSTEADOF class_name_list)
+ )
(trait_alias
(trait_method_reference T_AS T_STRING)
(trait_method_reference T_AS reserved_non_modifiers)
(trait_method_reference T_AS member_modifier identifier)
- (trait_method_reference T_AS member_modifier))
+ (trait_method_reference T_AS member_modifier)
+ )
(trait_method_reference
- identifier
- absolute_trait_method_reference)
+ (identifier)
+ (absolute_trait_method_reference)
+ )
(absolute_trait_method_reference
- (class_name T_PAAMAYIM_NEKUDOTAYIM identifier))
+ (class_name T_PAAMAYIM_NEKUDOTAYIM identifier)
+ )
(method_body
- ";"
- "{" inner_statement_list "}")
+ (";")
+ ("{" inner_statement_list "}")
+ )
(variable_modifiers
- non_empty_member_modifiers
- T_VAR)
+ (non_empty_member_modifiers)
+ (T_VAR)
+ )
(method_modifiers
- %empty
- non_empty_member_modifiers)
+ (%empty)
+ (non_empty_member_modifiers)
+ )
(non_empty_member_modifiers
- member_modifier
- (non_empty_member_modifiers member_modifier))
+ (member_modifier)
+ (non_empty_member_modifiers member_modifier)
+ )
(member_modifier
- T_PUBLIC
- T_PROTECTED
- T_PRIVATE
- T_STATIC
- T_ABSTRACT
- T_FINAL)
+ (T_PUBLIC)
+ (T_PROTECTED)
+ (T_PRIVATE)
+ (T_STATIC)
+ (T_ABSTRACT)
+ (T_FINAL)
+ )
(property_list
(property_list "," property)
- property)
+ (property)
+ )
(property
(T_VARIABLE backup_doc_comment)
- (T_VARIABLE "=" expr backup_doc_comment))
+ (T_VARIABLE "=" expr backup_doc_comment)
+ )
(class_const_list
(class_const_list "," class_const_decl)
- class_const_decl)
+ (class_const_decl)
+ )
(class_const_decl
- (identifier "=" expr backup_doc_comment))
+ (identifier "=" expr backup_doc_comment)
+ )
(const_decl
- (T_STRING "=" expr backup_doc_comment))
+ (T_STRING "=" expr backup_doc_comment)
+ )
(echo_expr_list
(echo_expr_list "," echo_expr)
- echo_expr)
+ (echo_expr)
+ )
(echo_expr
- expr)
+ (expr)
+ )
(for_exprs
- %empty
- non_empty_for_exprs)
+ (%empty)
+ (non_empty_for_exprs)
+ )
(non_empty_for_exprs
(non_empty_for_exprs "," expr)
- expr)
+ (expr)
+ )
(anonymous_class
- (T_CLASS ctor_arguments extends_from implements_list backup_doc_comment
"{" class_statement_list "}"))
+ (T_CLASS ctor_arguments extends_from implements_list backup_doc_comment
"{" class_statement_list "}")
+ )
(new_expr
(T_NEW class_name_reference ctor_arguments)
(T_NEW anonymous_class)
- (T_NEW attributes anonymous_class))
+ (T_NEW attributes anonymous_class)
+ )
(expr
- variable
+ (variable)
(T_LIST "(" array_pair_list ")" "=" expr)
("[" array_pair_list "]" "=" expr)
(variable "=" expr)
@@ -1168,11 +1200,11 @@
(expr T_SPACESHIP expr)
(expr T_INSTANCEOF class_name_reference)
("(" expr ")")
- new_expr
+ (new_expr)
(expr "?" expr ":" expr)
(expr "?" ":" expr)
(expr T_COALESCE expr)
- internal_functions_in_yacc
+ (internal_functions_in_yacc)
(T_INT_CAST expr)
(T_DOUBLE_CAST expr)
(T_STRING_CAST expr)
@@ -1182,19 +1214,19 @@
(T_UNSET_CAST expr)
(T_EXIT exit_expr)
("@" expr)
- scalar
+ (scalar)
("`" backticks_expr "`")
(T_PRINT expr)
- T_YIELD
+ (T_YIELD)
(T_YIELD expr)
(T_YIELD expr T_DOUBLE_ARROW expr)
(T_YIELD_FROM expr)
(T_THROW expr)
- inline_function
+ (inline_function)
(attributes inline_function)
(T_STATIC inline_function)
(attributes T_STATIC inline_function)
- match
+ (match)
)
(inline_function
@@ -1203,94 +1235,107 @@
)
(fn
- T_FN)
+ (T_FN)
+ )
(function
- T_FUNCTION)
+ (T_FUNCTION)
+ )
(backup_doc_comment
- %empty)
+ (%empty)
+ )
(backup_fn_flags
- (%empty %prec PREC_ARROW_FUNCTION))
+ (%prec PREC_ARROW_FUNCTION %empty)
+ )
(backup_lex_pos
- %empty)
+ (%empty)
+ )
(returns_ref
- %empty
- "&")
+ (%empty)
+ ("&")
+ )
(lexical_vars
- %empty
+ (%empty)
(T_USE "(" lexical_var_list possible_comma ")")
)
(lexical_var_list
(lexical_var_list "," lexical_var)
- lexical_var
+ (lexical_var)
)
(lexical_var
- T_VARIABLE
- ("&" T_VARIABLE))
+ (T_VARIABLE)
+ ("&" T_VARIABLE)
+ )
(function_call
(name argument_list)
(class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list)
(variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list)
- (callable_expr argument_list))
+ (callable_expr argument_list)
+ )
(class_name
- T_STATIC
- name)
+ (T_STATIC)
+ (name)
+ )
(class_name_reference
- class_name
- new_variable
- "(" expr ")")
+ (class_name)
+ (new_variable)
+ ("(" expr ")")
+ )
(exit_expr
- %empty
- ("(" optional_expr ")"))
+ (%empty)
+ ("(" optional_expr ")")
+ )
(backticks_expr
- %empty
- T_ENCAPSED_AND_WHITESPACE
- encaps_list)
+ (%empty)
+ (T_ENCAPSED_AND_WHITESPACE)
+ (encaps_list)
+ )
(ctor_arguments
- %empty
- argument_list)
+ (%empty)
+ (argument_list)
+ )
(dereferencable_scalar
(T_ARRAY "(" array_pair_list ")")
("[" array_pair_list "]")
- T_CONSTANT_ENCAPSED_STRING
+ (T_CONSTANT_ENCAPSED_STRING)
("\"" encaps_list "\"")
)
(scalar
- T_LNUMBER
- T_DNUMBER
+ (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
+ (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
+ (name)
+ (T_LINE)
+ (T_FILE)
+ (T_DIR)
+ (T_TRAIT_C)
+ (T_METHOD_C)
+ (T_FUNC_C)
+ (T_NS_C)
+ (T_CLASS_C)
)
(class_constant
@@ -1299,49 +1344,50 @@
)
(optional_expr
- %empty
- expr
+ (%empty)
+ (expr)
)
(variable_class_name
- fully_dereferencable)
+ (fully_dereferencable)
+ )
(fully_dereferencable
- variable
+ (variable)
("(" expr ")")
- dereferencable_scalar
- class_constant
+ (dereferencable_scalar)
+ (class_constant)
)
(array_object_dereferencable
- fully_dereferencable
- constant
+ (fully_dereferencable)
+ (constant)
)
(callable_expr
- callable_variable
+ (callable_variable)
("(" expr ")")
- dereferencable_scalar
+ (dereferencable_scalar)
)
(callable_variable
- simple_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
+ (function_call)
)
(variable
- callable_variable
- static_member
+ (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
+ (T_VARIABLE)
("$" "{" expr "}")
("$" simple_variable)
)
@@ -1352,7 +1398,7 @@
)
(new_variable
- simple_variable
+ (simple_variable)
(new_variable "[" optional_expr "]")
(new_variable "{" expr "}")
(new_variable T_OBJECT_OPERATOR property_name)
@@ -1362,34 +1408,34 @@
)
(member_name
- identifier
+ (identifier)
("{" expr "}")
- simple_variable
+ (simple_variable)
)
(property_name
- T_STRING
+ (T_STRING)
("{" expr "}")
- simple_variable
+ (simple_variable)
)
(array_pair_list
- non_empty_array_pair_list
+ (non_empty_array_pair_list)
)
(possible_array_pair
- %empty
- array_pair
+ (%empty)
+ (array_pair)
)
(non_empty_array_pair_list
(non_empty_array_pair_list "," possible_array_pair)
- possible_array_pair
+ (possible_array_pair)
)
(array_pair
(expr T_DOUBLE_ARROW expr)
- expr
+ (expr)
(expr T_DOUBLE_ARROW "&" variable)
("&" variable)
(T_ELLIPSIS expr)
@@ -1400,12 +1446,12 @@
(encaps_list
(encaps_list encaps_var)
(encaps_list T_ENCAPSED_AND_WHITESPACE)
- encaps_var
+ (encaps_var)
(T_ENCAPSED_AND_WHITESPACE encaps_var)
)
(encaps_var
- T_VARIABLE
+ (T_VARIABLE)
(T_VARIABLE "[" encaps_var_offset "]")
(T_VARIABLE T_OBJECT_OPERATOR T_STRING)
(T_VARIABLE T_NULLSAFE_OBJECT_OPERATOR T_STRING)
@@ -1416,10 +1462,10 @@
)
(encaps_var_offset
- T_STRING
- T_NUM_STRING
+ (T_STRING)
+ (T_NUM_STRING)
("-" T_NUM_STRING)
- T_VARIABLE
+ (T_VARIABLE)
)
(internal_functions_in_yacc
@@ -1433,12 +1479,12 @@
)
(isset_variables
- isset_variable
+ (isset_variable)
(isset_variables "," isset_variable)
)
(isset_variable
- expr
+ (expr)
)
)
- [elpa] externals/phps-mode 0e89b6e 35/96: Fixed bug in automation grammar, (continued)
- [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
- [elpa] externals/phps-mode 45508e1 32/96: Reverted integration of parser into other files due to immaturity, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 37dda7a 34/96: Added another failing test for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 339e39b 37/96: Started on YACC grammar parser generator, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 244a62b 39/96: Parser generator now can parse PHP YACC productions, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode a449b5b 42/96: Improved formatting of generated productions, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode e3d973d 43/96: Improved support for semi-colon in grammar delimiter,
Christian Johansson <=
- [elpa] externals/phps-mode 962e7c8 52/96: Context-sensitive precedence attribute is automatically parsed from YACC, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode b94cbbf 58/96: Set GB collection in automation, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode bb4858b 61/96: Defined lex-analyzer reset function for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 22f0a47 62/96: Parser generator passing byte-compilation, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 751bece 50/96: Removed terminals, non-terminals and start from automation grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 4dbd9a2 54/96: Automatically parsing of global declaration from YACC, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 024e8d4 55/96: Setting up context-sensitive attributes automatically, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 605b76c 57/96: Removed note, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 20ad000 68/96: Added another TODO item, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode a6c5db1 45/96: Updated grammar productions based on automatically parsed grammar from YACC, Christian Johansson, 2021/10/29