branch: externals/phps-mode
commit c0e03fef95adb53496a02eddcc50983f8a79d3ac
Author: Christian Johansson <christ...@cvj.se>
Commit: Christian Johansson <christ...@cvj.se>

    Updated language production comments
---
 phps-mode-parser-sdt.el | 1051 ++++++++++++++++++++++++-----------------------
 1 file changed, 536 insertions(+), 515 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index d9f96ac2e9..aee7621480 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -6,7 +6,7 @@
 ;;; Commentary:
 
 
-;; Productions PHP 8.3 grammar:
+;; Productions PHP 8.4 grammar:
 
 ;; Production 0: ((start) (top_statement_list))
 ;; Production 1: ((reserved_non_modifiers) (T_INCLUDE))
@@ -79,520 +79,541 @@
 ;; Production 68: ((reserved_non_modifiers) (T_FN))
 ;; Production 69: ((reserved_non_modifiers) (T_MATCH))
 ;; Production 70: ((reserved_non_modifiers) (T_ENUM))
-;; Production 71: ((semi_reserved) (reserved_non_modifiers))
-;; Production 72: ((semi_reserved) (T_STATIC))
-;; Production 73: ((semi_reserved) (T_ABSTRACT))
-;; Production 74: ((semi_reserved) (T_FINAL))
-;; Production 75: ((semi_reserved) (T_PRIVATE))
-;; Production 76: ((semi_reserved) (T_PROTECTED))
-;; Production 77: ((semi_reserved) (T_PUBLIC))
-;; Production 78: ((semi_reserved) (T_READONLY))
-;; Production 79: ((ampersand) (T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG))
-;; Production 80: ((ampersand) (T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG))
-;; Production 81: ((identifier) (T_STRING))
-;; Production 82: ((identifier) (semi_reserved))
-;; Production 83: ((top_statement_list) (top_statement_list top_statement))
-;; Production 84: ((top_statement_list) (%empty))
-;; Production 85: ((namespace_declaration_name) (identifier))
-;; Production 86: ((namespace_declaration_name) (T_NAME_QUALIFIED))
-;; Production 87: ((namespace_name) (T_STRING))
-;; Production 88: ((namespace_name) (T_NAME_QUALIFIED))
-;; Production 89: ((legacy_namespace_name) (namespace_name))
-;; Production 90: ((legacy_namespace_name) (T_NAME_FULLY_QUALIFIED))
-;; Production 91: ((name) (T_STRING))
-;; Production 92: ((name) (T_NAME_QUALIFIED))
-;; Production 93: ((name) (T_NAME_FULLY_QUALIFIED))
-;; Production 94: ((name) (T_NAME_RELATIVE))
-;; Production 95: ((attribute_decl) (class_name))
-;; Production 96: ((attribute_decl) (class_name argument_list))
-;; Production 97: ((attribute_group) (attribute_decl))
-;; Production 98: ((attribute_group) (attribute_group "," attribute_decl))
-;; Production 99: ((attribute) (T_ATTRIBUTE attribute_group possible_comma 
"]"))
-;; Production 100: ((attributes) (attribute))
-;; Production 101: ((attributes) (attributes attribute))
-;; Production 102: ((attributed_statement) (function_declaration_statement))
-;; Production 103: ((attributed_statement) (class_declaration_statement))
-;; Production 104: ((attributed_statement) (trait_declaration_statement))
-;; Production 105: ((attributed_statement) (interface_declaration_statement))
-;; Production 106: ((attributed_statement) (enum_declaration_statement))
-;; Production 107: ((top_statement) (statement))
-;; Production 108: ((top_statement) (attributed_statement))
-;; Production 109: ((top_statement) (attributes attributed_statement))
-;; Production 110: ((top_statement) (T_HALT_COMPILER "(" ")" ";"))
-;; Production 111: ((top_statement) (T_NAMESPACE namespace_declaration_name 
";"))
-;; Production 112: ((top_statement) (T_NAMESPACE namespace_declaration_name 
"{" top_statement_list "}"))
-;; Production 113: ((top_statement) (T_NAMESPACE "{" top_statement_list "}"))
-;; Production 114: ((top_statement) (T_USE mixed_group_use_declaration ";"))
-;; Production 115: ((top_statement) (T_USE use_type group_use_declaration ";"))
-;; Production 116: ((top_statement) (T_USE use_declarations ";"))
-;; Production 117: ((top_statement) (T_USE use_type use_declarations ";"))
-;; Production 118: ((top_statement) (T_CONST const_list ";"))
-;; Production 119: ((use_type) (T_FUNCTION))
-;; Production 120: ((use_type) (T_CONST))
-;; Production 121: ((group_use_declaration) (legacy_namespace_name 
T_NS_SEPARATOR "{" unprefixed_use_declarations possible_comma "}"))
-;; Production 122: ((mixed_group_use_declaration) (legacy_namespace_name 
T_NS_SEPARATOR "{" inline_use_declarations possible_comma "}"))
-;; Production 123: ((possible_comma) (%empty))
-;; Production 124: ((possible_comma) (","))
-;; Production 125: ((inline_use_declarations) (inline_use_declarations "," 
inline_use_declaration))
-;; Production 126: ((inline_use_declarations) (inline_use_declaration))
-;; Production 127: ((unprefixed_use_declarations) (unprefixed_use_declarations 
"," unprefixed_use_declaration))
-;; Production 128: ((unprefixed_use_declarations) (unprefixed_use_declaration))
-;; Production 129: ((use_declarations) (use_declarations "," use_declaration))
-;; Production 130: ((use_declarations) (use_declaration))
-;; Production 131: ((inline_use_declaration) (unprefixed_use_declaration))
-;; Production 132: ((inline_use_declaration) (use_type 
unprefixed_use_declaration))
-;; Production 133: ((unprefixed_use_declaration) (namespace_name))
-;; Production 134: ((unprefixed_use_declaration) (namespace_name T_AS 
T_STRING))
-;; Production 135: ((use_declaration) (legacy_namespace_name))
-;; Production 136: ((use_declaration) (legacy_namespace_name T_AS T_STRING))
-;; Production 137: ((const_list) (const_list "," const_decl))
-;; Production 138: ((const_list) (const_decl))
-;; Production 139: ((inner_statement_list) (inner_statement_list 
inner_statement))
-;; Production 140: ((inner_statement_list) (%empty))
-;; Production 141: ((inner_statement) (statement))
-;; Production 142: ((inner_statement) (attributed_statement))
-;; Production 143: ((inner_statement) (attributes attributed_statement))
-;; Production 144: ((inner_statement) (T_HALT_COMPILER "(" ")" ";"))
-;; Production 145: ((statement) ("{" inner_statement_list "}"))
-;; Production 146: ((statement) (if_stmt))
-;; Production 147: ((statement) (alt_if_stmt))
-;; Production 148: ((statement) (T_WHILE "(" expr ")" while_statement))
-;; Production 149: ((statement) (T_DO statement T_WHILE "(" expr ")" ";"))
-;; Production 150: ((statement) (T_FOR "(" for_exprs ";" for_exprs ";" 
for_exprs ")" for_statement))
-;; Production 151: ((statement) (T_SWITCH "(" expr ")" switch_case_list))
-;; Production 152: ((statement) (T_BREAK optional_expr ";"))
-;; Production 153: ((statement) (T_CONTINUE optional_expr ";"))
-;; Production 154: ((statement) (T_RETURN optional_expr ";"))
-;; Production 155: ((statement) (T_GLOBAL global_var_list ";"))
-;; Production 156: ((statement) (T_STATIC static_var_list ";"))
-;; Production 157: ((statement) (T_ECHO echo_expr_list ";"))
-;; Production 158: ((statement) (T_INLINE_HTML))
-;; Production 159: ((statement) (expr ";"))
-;; Production 160: ((statement) (T_UNSET "(" unset_variables possible_comma 
")" ";"))
-;; Production 161: ((statement) (T_FOREACH "(" expr T_AS foreach_variable ")" 
foreach_statement))
-;; Production 162: ((statement) (T_FOREACH "(" expr T_AS foreach_variable 
T_DOUBLE_ARROW foreach_variable ")" foreach_statement))
-;; Production 163: ((statement) (T_DECLARE "(" const_list ")" 
declare_statement))
-;; Production 164: ((statement) (";"))
-;; Production 165: ((statement) (T_TRY "{" inner_statement_list "}" catch_list 
finally_statement))
-;; Production 166: ((statement) (T_GOTO T_STRING ";"))
-;; Production 167: ((statement) (T_STRING ":"))
-;; Production 168: ((catch_list) (%empty))
-;; Production 169: ((catch_list) (catch_list T_CATCH "(" catch_name_list 
optional_variable ")" "{" inner_statement_list "}"))
-;; Production 170: ((catch_name_list) (class_name))
-;; Production 171: ((catch_name_list) (catch_name_list "|" class_name))
-;; Production 172: ((optional_variable) (%empty))
-;; Production 173: ((optional_variable) (T_VARIABLE))
-;; Production 174: ((finally_statement) (%empty))
-;; Production 175: ((finally_statement) (T_FINALLY "{" inner_statement_list 
"}"))
-;; Production 176: ((unset_variables) (unset_variable))
-;; Production 177: ((unset_variables) (unset_variables "," unset_variable))
-;; Production 178: ((unset_variable) (variable))
-;; Production 179: ((function_name) (T_STRING))
-;; Production 180: ((function_name) (T_READONLY))
-;; Production 181: ((function_declaration_statement) (function returns_ref 
function_name backup_doc_comment "(" parameter_list ")" return_type 
backup_fn_flags "{" inner_statement_list "}" backup_fn_flags))
-;; Production 182: ((is_reference) (%empty))
-;; Production 183: ((is_reference) (T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG))
-;; Production 184: ((is_variadic) (%empty))
-;; Production 185: ((is_variadic) (T_ELLIPSIS))
-;; Production 186: ((class_declaration_statement) (class_modifiers T_CLASS 
T_STRING extends_from implements_list backup_doc_comment "{" 
class_statement_list "}"))
-;; Production 187: ((class_declaration_statement) (T_CLASS T_STRING 
extends_from implements_list backup_doc_comment "{" class_statement_list "}"))
-;; Production 188: ((class_modifiers) (class_modifier))
-;; Production 189: ((class_modifiers) (class_modifiers class_modifier))
-;; Production 190: ((anonymous_class_modifiers) (class_modifier))
-;; Production 191: ((anonymous_class_modifiers) (anonymous_class_modifiers 
class_modifier))
-;; Production 192: ((anonymous_class_modifiers_optional) (%empty))
-;; Production 193: ((anonymous_class_modifiers_optional) 
(anonymous_class_modifiers))
-;; Production 194: ((class_modifier) (T_ABSTRACT))
-;; Production 195: ((class_modifier) (T_FINAL))
-;; Production 196: ((class_modifier) (T_READONLY))
-;; Production 197: ((trait_declaration_statement) (T_TRAIT T_STRING 
backup_doc_comment "{" class_statement_list "}"))
-;; Production 198: ((interface_declaration_statement) (T_INTERFACE T_STRING 
interface_extends_list backup_doc_comment "{" class_statement_list "}"))
-;; Production 199: ((enum_declaration_statement) (T_ENUM T_STRING 
enum_backing_type implements_list backup_doc_comment "{" class_statement_list 
"}"))
-;; Production 200: ((enum_backing_type) (%empty))
-;; Production 201: ((enum_backing_type) (":" type_expr))
-;; Production 202: ((enum_case) (T_CASE backup_doc_comment identifier 
enum_case_expr ";"))
-;; Production 203: ((enum_case_expr) (%empty))
-;; Production 204: ((enum_case_expr) ("=" expr))
-;; Production 205: ((extends_from) (%empty))
-;; Production 206: ((extends_from) (T_EXTENDS class_name))
-;; Production 207: ((interface_extends_list) (%empty))
-;; Production 208: ((interface_extends_list) (T_EXTENDS class_name_list))
-;; Production 209: ((implements_list) (%empty))
-;; Production 210: ((implements_list) (T_IMPLEMENTS class_name_list))
-;; Production 211: ((foreach_variable) (variable))
-;; Production 212: ((foreach_variable) (ampersand variable))
-;; Production 213: ((foreach_variable) (T_LIST "(" array_pair_list ")"))
-;; Production 214: ((foreach_variable) ("[" array_pair_list "]"))
-;; Production 215: ((for_statement) (statement))
-;; Production 216: ((for_statement) (":" inner_statement_list T_ENDFOR ";"))
-;; Production 217: ((foreach_statement) (statement))
-;; Production 218: ((foreach_statement) (":" inner_statement_list T_ENDFOREACH 
";"))
-;; Production 219: ((declare_statement) (statement))
-;; Production 220: ((declare_statement) (":" inner_statement_list T_ENDDECLARE 
";"))
-;; Production 221: ((switch_case_list) ("{" case_list "}"))
-;; Production 222: ((switch_case_list) ("{" ";" case_list "}"))
-;; Production 223: ((switch_case_list) (":" case_list T_ENDSWITCH ";"))
-;; Production 224: ((switch_case_list) (":" ";" case_list T_ENDSWITCH ";"))
-;; Production 225: ((case_list) (%empty))
-;; Production 226: ((case_list) (case_list T_CASE expr case_separator 
inner_statement_list))
-;; Production 227: ((case_list) (case_list T_DEFAULT case_separator 
inner_statement_list))
-;; Production 228: ((case_separator) (":"))
-;; Production 229: ((case_separator) (";"))
-;; Production 230: ((match) (T_MATCH "(" expr ")" "{" match_arm_list "}"))
-;; Production 231: ((match_arm_list) (%empty))
-;; Production 232: ((match_arm_list) (non_empty_match_arm_list possible_comma))
-;; Production 233: ((non_empty_match_arm_list) (match_arm))
-;; Production 234: ((non_empty_match_arm_list) (non_empty_match_arm_list "," 
match_arm))
-;; Production 235: ((match_arm) (match_arm_cond_list possible_comma 
T_DOUBLE_ARROW expr))
-;; Production 236: ((match_arm) (T_DEFAULT possible_comma T_DOUBLE_ARROW expr))
-;; Production 237: ((match_arm_cond_list) (expr))
-;; Production 238: ((match_arm_cond_list) (match_arm_cond_list "," expr))
-;; Production 239: ((while_statement) (statement))
-;; Production 240: ((while_statement) (":" inner_statement_list T_ENDWHILE 
";"))
-;; Production 241: ((if_stmt_without_else) (T_IF "(" expr ")" statement))
-;; Production 242: ((if_stmt_without_else) (if_stmt_without_else T_ELSEIF "(" 
expr ")" statement))
-;; Production 243: ((if_stmt) (if_stmt_without_else))
-;; Production 244: ((if_stmt) (if_stmt_without_else T_ELSE statement))
-;; Production 245: ((alt_if_stmt_without_else) (T_IF "(" expr ")" ":" 
inner_statement_list))
-;; Production 246: ((alt_if_stmt_without_else) (alt_if_stmt_without_else 
T_ELSEIF "(" expr ")" ":" inner_statement_list))
-;; Production 247: ((alt_if_stmt) (alt_if_stmt_without_else T_ENDIF ";"))
-;; Production 248: ((alt_if_stmt) (alt_if_stmt_without_else T_ELSE ":" 
inner_statement_list T_ENDIF ";"))
-;; Production 249: ((parameter_list) (non_empty_parameter_list possible_comma))
-;; Production 250: ((parameter_list) (%empty))
-;; Production 251: ((non_empty_parameter_list) (attributed_parameter))
-;; Production 252: ((non_empty_parameter_list) (non_empty_parameter_list "," 
attributed_parameter))
-;; Production 253: ((attributed_parameter) (attributes parameter))
-;; Production 254: ((attributed_parameter) (parameter))
-;; Production 255: ((optional_cpp_modifiers) (%empty))
-;; Production 256: ((optional_cpp_modifiers) (non_empty_member_modifiers))
-;; Production 257: ((parameter) (optional_cpp_modifiers 
optional_type_without_static is_reference is_variadic T_VARIABLE 
backup_doc_comment))
-;; Production 258: ((parameter) (optional_cpp_modifiers 
optional_type_without_static is_reference is_variadic T_VARIABLE 
backup_doc_comment "=" expr))
-;; Production 259: ((optional_type_without_static) (%empty))
-;; Production 260: ((optional_type_without_static) (type_expr_without_static))
-;; Production 261: ((type_expr) (type))
-;; Production 262: ((type_expr) ("?" type))
-;; Production 263: ((type_expr) (union_type))
-;; Production 264: ((type_expr) (intersection_type))
-;; Production 265: ((type) (type_without_static))
-;; Production 266: ((type) (T_STATIC))
-;; Production 267: ((union_type_element) (type))
-;; Production 268: ((union_type_element) ("(" intersection_type ")"))
-;; Production 269: ((union_type) (union_type_element "|" union_type_element))
-;; Production 270: ((union_type) (union_type "|" union_type_element))
-;; Production 271: ((intersection_type) (type 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type))
-;; Production 272: ((intersection_type) (intersection_type 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type))
-;; Production 273: ((type_expr_without_static) (type_without_static))
-;; Production 274: ((type_expr_without_static) ("?" type_without_static))
-;; Production 275: ((type_expr_without_static) (union_type_without_static))
-;; Production 276: ((type_expr_without_static) 
(intersection_type_without_static))
-;; Production 277: ((type_without_static) (T_ARRAY))
-;; Production 278: ((type_without_static) (T_CALLABLE))
-;; Production 279: ((type_without_static) (name))
-;; Production 280: ((union_type_without_static_element) (type_without_static))
-;; Production 281: ((union_type_without_static_element) ("(" 
intersection_type_without_static ")"))
-;; Production 282: ((union_type_without_static) 
(union_type_without_static_element "|" union_type_without_static_element))
-;; Production 283: ((union_type_without_static) (union_type_without_static "|" 
union_type_without_static_element))
-;; Production 284: ((intersection_type_without_static) (type_without_static 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type_without_static))
-;; Production 285: ((intersection_type_without_static) 
(intersection_type_without_static T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG 
type_without_static))
-;; Production 286: ((return_type) (%empty))
-;; Production 287: ((return_type) (":" type_expr))
-;; Production 288: ((argument_list) ("(" ")"))
-;; Production 289: ((argument_list) ("(" non_empty_argument_list 
possible_comma ")"))
-;; Production 290: ((argument_list) ("(" T_ELLIPSIS ")"))
-;; Production 291: ((non_empty_argument_list) (argument))
-;; Production 292: ((non_empty_argument_list) (non_empty_argument_list "," 
argument))
-;; Production 293: ((argument) (expr))
-;; Production 294: ((argument) (identifier ":" expr))
-;; Production 295: ((argument) (T_ELLIPSIS expr))
-;; Production 296: ((global_var_list) (global_var_list "," global_var))
-;; Production 297: ((global_var_list) (global_var))
-;; Production 298: ((global_var) (simple_variable))
-;; Production 299: ((static_var_list) (static_var_list "," static_var))
-;; Production 300: ((static_var_list) (static_var))
-;; Production 301: ((static_var) (T_VARIABLE))
-;; Production 302: ((static_var) (T_VARIABLE "=" expr))
-;; Production 303: ((class_statement_list) (class_statement_list 
class_statement))
-;; Production 304: ((class_statement_list) (%empty))
-;; Production 305: ((attributed_class_statement) (property_modifiers 
optional_type_without_static property_list ";"))
-;; Production 306: ((attributed_class_statement) (class_const_modifiers 
T_CONST class_const_list ";"))
-;; Production 307: ((attributed_class_statement) (class_const_modifiers 
T_CONST type_expr class_const_list ";"))
-;; Production 308: ((attributed_class_statement) (method_modifiers function 
returns_ref identifier backup_doc_comment "(" parameter_list ")" return_type 
backup_fn_flags method_body backup_fn_flags))
-;; Production 309: ((attributed_class_statement) (enum_case))
-;; Production 310: ((class_statement) (attributed_class_statement))
-;; Production 311: ((class_statement) (attributes attributed_class_statement))
-;; Production 312: ((class_statement) (T_USE class_name_list 
trait_adaptations))
-;; Production 313: ((class_name_list) (class_name))
-;; Production 314: ((class_name_list) (class_name_list "," class_name))
-;; Production 315: ((trait_adaptations) (";"))
-;; Production 316: ((trait_adaptations) ("{" "}"))
-;; Production 317: ((trait_adaptations) ("{" trait_adaptation_list "}"))
-;; Production 318: ((trait_adaptation_list) (trait_adaptation))
-;; Production 319: ((trait_adaptation_list) (trait_adaptation_list 
trait_adaptation))
-;; Production 320: ((trait_adaptation) (trait_precedence ";"))
-;; Production 321: ((trait_adaptation) (trait_alias ";"))
-;; Production 322: ((trait_precedence) (absolute_trait_method_reference 
T_INSTEADOF class_name_list))
-;; Production 323: ((trait_alias) (trait_method_reference T_AS T_STRING))
-;; Production 324: ((trait_alias) (trait_method_reference T_AS 
reserved_non_modifiers))
-;; Production 325: ((trait_alias) (trait_method_reference T_AS member_modifier 
identifier))
-;; Production 326: ((trait_alias) (trait_method_reference T_AS 
member_modifier))
-;; Production 327: ((trait_method_reference) (identifier))
-;; Production 328: ((trait_method_reference) (absolute_trait_method_reference))
-;; Production 329: ((absolute_trait_method_reference) (class_name 
T_PAAMAYIM_NEKUDOTAYIM identifier))
-;; Production 330: ((method_body) (";"))
-;; Production 331: ((method_body) ("{" inner_statement_list "}"))
-;; Production 332: ((property_modifiers) (non_empty_member_modifiers))
-;; Production 333: ((property_modifiers) (T_VAR))
-;; Production 334: ((method_modifiers) (%empty))
-;; Production 335: ((method_modifiers) (non_empty_member_modifiers))
-;; Production 336: ((class_const_modifiers) (%empty))
-;; Production 337: ((class_const_modifiers) (non_empty_member_modifiers))
-;; Production 338: ((non_empty_member_modifiers) (member_modifier))
-;; Production 339: ((non_empty_member_modifiers) (non_empty_member_modifiers 
member_modifier))
-;; Production 340: ((member_modifier) (T_PUBLIC))
-;; Production 341: ((member_modifier) (T_PROTECTED))
-;; Production 342: ((member_modifier) (T_PRIVATE))
-;; Production 343: ((member_modifier) (T_STATIC))
-;; Production 344: ((member_modifier) (T_ABSTRACT))
-;; Production 345: ((member_modifier) (T_FINAL))
-;; Production 346: ((member_modifier) (T_READONLY))
-;; Production 347: ((property_list) (property_list "," property))
-;; Production 348: ((property_list) (property))
-;; Production 349: ((property) (T_VARIABLE backup_doc_comment))
-;; Production 350: ((property) (T_VARIABLE "=" expr backup_doc_comment))
-;; Production 351: ((class_const_list) (class_const_list "," class_const_decl))
-;; Production 352: ((class_const_list) (class_const_decl))
-;; Production 353: ((class_const_decl) (T_STRING "=" expr backup_doc_comment))
-;; Production 354: ((class_const_decl) (semi_reserved "=" expr 
backup_doc_comment))
-;; Production 355: ((const_decl) (T_STRING "=" expr backup_doc_comment))
-;; Production 356: ((echo_expr_list) (echo_expr_list "," echo_expr))
-;; Production 357: ((echo_expr_list) (echo_expr))
-;; Production 358: ((echo_expr) (expr))
-;; Production 359: ((for_exprs) (%empty))
-;; Production 360: ((for_exprs) (non_empty_for_exprs))
-;; Production 361: ((non_empty_for_exprs) (non_empty_for_exprs "," expr))
-;; Production 362: ((non_empty_for_exprs) (expr))
-;; Production 363: ((anonymous_class) (anonymous_class_modifiers_optional 
T_CLASS ctor_arguments extends_from implements_list backup_doc_comment "{" 
class_statement_list "}"))
-;; Production 364: ((new_expr) (T_NEW class_name_reference ctor_arguments))
-;; Production 365: ((new_expr) (T_NEW anonymous_class))
-;; Production 366: ((new_expr) (T_NEW attributes anonymous_class))
-;; Production 367: ((expr) (variable))
-;; Production 368: ((expr) (T_LIST "(" array_pair_list ")" "=" expr))
-;; Production 369: ((expr) ("[" array_pair_list "]" "=" expr))
-;; Production 370: ((expr) (variable "=" expr))
-;; Production 371: ((expr) (variable "=" ampersand variable))
-;; Production 372: ((expr) (T_CLONE expr))
-;; Production 373: ((expr) (variable T_PLUS_EQUAL expr))
-;; Production 374: ((expr) (variable T_MINUS_EQUAL expr))
-;; Production 375: ((expr) (variable T_MUL_EQUAL expr))
-;; Production 376: ((expr) (variable T_POW_EQUAL expr))
-;; Production 377: ((expr) (variable T_DIV_EQUAL expr))
-;; Production 378: ((expr) (variable T_CONCAT_EQUAL expr))
-;; Production 379: ((expr) (variable T_MOD_EQUAL expr))
-;; Production 380: ((expr) (variable T_AND_EQUAL expr))
-;; Production 381: ((expr) (variable T_OR_EQUAL expr))
-;; Production 382: ((expr) (variable T_XOR_EQUAL expr))
-;; Production 383: ((expr) (variable T_SL_EQUAL expr))
-;; Production 384: ((expr) (variable T_SR_EQUAL expr))
-;; Production 385: ((expr) (variable T_COALESCE_EQUAL expr))
-;; Production 386: ((expr) (variable T_INC))
-;; Production 387: ((expr) (T_INC variable))
-;; Production 388: ((expr) (variable T_DEC))
-;; Production 389: ((expr) (T_DEC variable))
-;; Production 390: ((expr) (expr T_BOOLEAN_OR expr))
-;; Production 391: ((expr) (expr T_BOOLEAN_AND expr))
-;; Production 392: ((expr) (expr T_LOGICAL_OR expr))
-;; Production 393: ((expr) (expr T_LOGICAL_AND expr))
-;; Production 394: ((expr) (expr T_LOGICAL_XOR expr))
-;; Production 395: ((expr) (expr "|" expr))
-;; Production 396: ((expr) (expr T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG 
expr))
-;; Production 397: ((expr) (expr T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG expr))
-;; Production 398: ((expr) (expr "^" expr))
-;; Production 399: ((expr) (expr "." expr))
-;; Production 400: ((expr) (expr "+" expr))
-;; Production 401: ((expr) (expr "-" expr))
-;; Production 402: ((expr) (expr "*" expr))
-;; Production 403: ((expr) (expr T_POW expr))
-;; Production 404: ((expr) (expr "/" expr))
-;; Production 405: ((expr) (expr "%" expr))
-;; Production 406: ((expr) (expr T_SL expr))
-;; Production 407: ((expr) (expr T_SR expr))
-;; Production 408: ((expr) ("+" expr))
-;; Production 409: ((expr) ("-" expr))
-;; Production 410: ((expr) ("!" expr))
-;; Production 411: ((expr) ("~" expr))
-;; Production 412: ((expr) (expr T_IS_IDENTICAL expr))
-;; Production 413: ((expr) (expr T_IS_NOT_IDENTICAL expr))
-;; Production 414: ((expr) (expr T_IS_EQUAL expr))
-;; Production 415: ((expr) (expr T_IS_NOT_EQUAL expr))
-;; Production 416: ((expr) (expr "<" expr))
-;; Production 417: ((expr) (expr T_IS_SMALLER_OR_EQUAL expr))
-;; Production 418: ((expr) (expr ">" expr))
-;; Production 419: ((expr) (expr T_IS_GREATER_OR_EQUAL expr))
-;; Production 420: ((expr) (expr T_SPACESHIP expr))
-;; Production 421: ((expr) (expr T_INSTANCEOF class_name_reference))
-;; Production 422: ((expr) ("(" expr ")"))
-;; Production 423: ((expr) (new_expr))
-;; Production 424: ((expr) (expr "?" expr ":" expr))
-;; Production 425: ((expr) (expr "?" ":" expr))
-;; Production 426: ((expr) (expr T_COALESCE expr))
-;; Production 427: ((expr) (internal_functions_in_yacc))
-;; Production 428: ((expr) (T_INT_CAST expr))
-;; Production 429: ((expr) (T_DOUBLE_CAST expr))
-;; Production 430: ((expr) (T_STRING_CAST expr))
-;; Production 431: ((expr) (T_ARRAY_CAST expr))
-;; Production 432: ((expr) (T_OBJECT_CAST expr))
-;; Production 433: ((expr) (T_BOOL_CAST expr))
-;; Production 434: ((expr) (T_UNSET_CAST expr))
-;; Production 435: ((expr) (T_EXIT exit_expr))
-;; Production 436: ((expr) ("@" expr))
-;; Production 437: ((expr) (scalar))
-;; Production 438: ((expr) ("`" backticks_expr "`"))
-;; Production 439: ((expr) (T_PRINT expr))
-;; Production 440: ((expr) (T_YIELD))
-;; Production 441: ((expr) (T_YIELD expr))
-;; Production 442: ((expr) (T_YIELD expr T_DOUBLE_ARROW expr))
-;; Production 443: ((expr) (T_YIELD_FROM expr))
-;; Production 444: ((expr) (T_THROW expr))
-;; Production 445: ((expr) (inline_function))
-;; Production 446: ((expr) (attributes inline_function))
-;; Production 447: ((expr) (T_STATIC inline_function))
-;; Production 448: ((expr) (attributes T_STATIC inline_function))
-;; Production 449: ((expr) (match))
-;; Production 450: ((inline_function) (function returns_ref backup_doc_comment 
"(" parameter_list ")" lexical_vars return_type backup_fn_flags "{" 
inner_statement_list "}" backup_fn_flags))
-;; Production 451: ((inline_function) (fn returns_ref backup_doc_comment "(" 
parameter_list ")" return_type T_DOUBLE_ARROW backup_fn_flags backup_lex_pos 
expr backup_fn_flags))
-;; Production 452: ((fn) (T_FN))
-;; Production 453: ((function) (T_FUNCTION))
-;; Production 454: ((backup_doc_comment) (%empty))
-;; Production 455: ((backup_fn_flags) (%empty))
-;; Production 456: ((backup_lex_pos) (%empty))
-;; Production 457: ((returns_ref) (%empty))
-;; Production 458: ((returns_ref) (ampersand))
-;; Production 459: ((lexical_vars) (%empty))
-;; Production 460: ((lexical_vars) (T_USE "(" lexical_var_list possible_comma 
")"))
-;; Production 461: ((lexical_var_list) (lexical_var_list "," lexical_var))
-;; Production 462: ((lexical_var_list) (lexical_var))
-;; Production 463: ((lexical_var) (T_VARIABLE))
-;; Production 464: ((lexical_var) (ampersand T_VARIABLE))
-;; Production 465: ((function_call) (name argument_list))
-;; Production 466: ((function_call) (T_READONLY argument_list))
-;; Production 467: ((function_call) (class_name T_PAAMAYIM_NEKUDOTAYIM 
member_name argument_list))
-;; Production 468: ((function_call) (variable_class_name 
T_PAAMAYIM_NEKUDOTAYIM member_name argument_list))
-;; Production 469: ((function_call) (callable_expr argument_list))
-;; Production 470: ((class_name) (T_STATIC))
-;; Production 471: ((class_name) (name))
-;; Production 472: ((class_name_reference) (class_name))
-;; Production 473: ((class_name_reference) (new_variable))
-;; Production 474: ((class_name_reference) ("(" expr ")"))
-;; Production 475: ((exit_expr) (%empty))
-;; Production 476: ((exit_expr) ("(" optional_expr ")"))
-;; Production 477: ((backticks_expr) (%empty))
-;; Production 478: ((backticks_expr) (T_ENCAPSED_AND_WHITESPACE))
-;; Production 479: ((backticks_expr) (encaps_list))
-;; Production 480: ((ctor_arguments) (%empty))
-;; Production 481: ((ctor_arguments) (argument_list))
-;; Production 482: ((dereferenceable_scalar) (T_ARRAY "(" array_pair_list ")"))
-;; Production 483: ((dereferenceable_scalar) ("[" array_pair_list "]"))
-;; Production 484: ((dereferenceable_scalar) (T_CONSTANT_ENCAPSED_STRING))
-;; Production 485: ((dereferenceable_scalar) ("\"" encaps_list "\""))
-;; Production 486: ((scalar) (T_LNUMBER))
-;; Production 487: ((scalar) (T_DNUMBER))
-;; Production 488: ((scalar) (T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE 
T_END_HEREDOC))
-;; Production 489: ((scalar) (T_START_HEREDOC T_END_HEREDOC))
-;; Production 490: ((scalar) (T_START_HEREDOC encaps_list T_END_HEREDOC))
-;; Production 491: ((scalar) (dereferenceable_scalar))
-;; Production 492: ((scalar) (constant))
-;; Production 493: ((scalar) (class_constant))
-;; Production 494: ((constant) (name))
-;; Production 495: ((constant) (T_LINE))
-;; Production 496: ((constant) (T_FILE))
-;; Production 497: ((constant) (T_DIR))
-;; Production 498: ((constant) (T_TRAIT_C))
-;; Production 499: ((constant) (T_METHOD_C))
-;; Production 500: ((constant) (T_FUNC_C))
-;; Production 501: ((constant) (T_NS_C))
-;; Production 502: ((constant) (T_CLASS_C))
-;; Production 503: ((class_constant) (class_name T_PAAMAYIM_NEKUDOTAYIM 
identifier))
-;; Production 504: ((class_constant) (variable_class_name 
T_PAAMAYIM_NEKUDOTAYIM identifier))
-;; Production 505: ((class_constant) (class_name T_PAAMAYIM_NEKUDOTAYIM "{" 
expr "}"))
-;; Production 506: ((class_constant) (variable_class_name 
T_PAAMAYIM_NEKUDOTAYIM "{" expr "}"))
-;; Production 507: ((optional_expr) (%empty))
-;; Production 508: ((optional_expr) (expr))
-;; Production 509: ((variable_class_name) (fully_dereferenceable))
-;; Production 510: ((fully_dereferenceable) (variable))
-;; Production 511: ((fully_dereferenceable) ("(" expr ")"))
-;; Production 512: ((fully_dereferenceable) (dereferenceable_scalar))
-;; Production 513: ((fully_dereferenceable) (class_constant))
-;; Production 514: ((array_object_dereferenceable) (fully_dereferenceable))
-;; Production 515: ((array_object_dereferenceable) (constant))
-;; Production 516: ((callable_expr) (callable_variable))
-;; Production 517: ((callable_expr) ("(" expr ")"))
-;; Production 518: ((callable_expr) (dereferenceable_scalar))
-;; Production 519: ((callable_variable) (simple_variable))
-;; Production 520: ((callable_variable) (array_object_dereferenceable "[" 
optional_expr "]"))
-;; Production 521: ((callable_variable) (array_object_dereferenceable "{" expr 
"}"))
-;; Production 522: ((callable_variable) (array_object_dereferenceable 
T_OBJECT_OPERATOR property_name argument_list))
-;; Production 523: ((callable_variable) (array_object_dereferenceable 
T_NULLSAFE_OBJECT_OPERATOR property_name argument_list))
-;; Production 524: ((callable_variable) (function_call))
-;; Production 525: ((variable) (callable_variable))
-;; Production 526: ((variable) (static_member))
-;; Production 527: ((variable) (array_object_dereferenceable T_OBJECT_OPERATOR 
property_name))
-;; Production 528: ((variable) (array_object_dereferenceable 
T_NULLSAFE_OBJECT_OPERATOR property_name))
-;; Production 529: ((simple_variable) (T_VARIABLE))
-;; Production 530: ((simple_variable) ("$" "{" expr "}"))
-;; Production 531: ((simple_variable) ("$" simple_variable))
-;; Production 532: ((static_member) (class_name T_PAAMAYIM_NEKUDOTAYIM 
simple_variable))
-;; Production 533: ((static_member) (variable_class_name 
T_PAAMAYIM_NEKUDOTAYIM simple_variable))
-;; Production 534: ((new_variable) (simple_variable))
-;; Production 535: ((new_variable) (new_variable "[" optional_expr "]"))
-;; Production 536: ((new_variable) (new_variable "{" expr "}"))
-;; Production 537: ((new_variable) (new_variable T_OBJECT_OPERATOR 
property_name))
-;; Production 538: ((new_variable) (new_variable T_NULLSAFE_OBJECT_OPERATOR 
property_name))
-;; Production 539: ((new_variable) (class_name T_PAAMAYIM_NEKUDOTAYIM 
simple_variable))
-;; Production 540: ((new_variable) (new_variable T_PAAMAYIM_NEKUDOTAYIM 
simple_variable))
-;; Production 541: ((member_name) (identifier))
-;; Production 542: ((member_name) ("{" expr "}"))
-;; Production 543: ((member_name) (simple_variable))
-;; Production 544: ((property_name) (T_STRING))
-;; Production 545: ((property_name) ("{" expr "}"))
-;; Production 546: ((property_name) (simple_variable))
-;; Production 547: ((array_pair_list) (non_empty_array_pair_list))
-;; Production 548: ((possible_array_pair) (%empty))
-;; Production 549: ((possible_array_pair) (array_pair))
-;; Production 550: ((non_empty_array_pair_list) (non_empty_array_pair_list "," 
possible_array_pair))
-;; Production 551: ((non_empty_array_pair_list) (possible_array_pair))
-;; Production 552: ((array_pair) (expr T_DOUBLE_ARROW expr))
-;; Production 553: ((array_pair) (expr))
-;; Production 554: ((array_pair) (expr T_DOUBLE_ARROW ampersand variable))
-;; Production 555: ((array_pair) (ampersand variable))
-;; Production 556: ((array_pair) (T_ELLIPSIS expr))
-;; Production 557: ((array_pair) (expr T_DOUBLE_ARROW T_LIST "(" 
array_pair_list ")"))
-;; Production 558: ((array_pair) (T_LIST "(" array_pair_list ")"))
-;; Production 559: ((encaps_list) (encaps_list encaps_var))
-;; Production 560: ((encaps_list) (encaps_list T_ENCAPSED_AND_WHITESPACE))
-;; Production 561: ((encaps_list) (encaps_var))
-;; Production 562: ((encaps_list) (T_ENCAPSED_AND_WHITESPACE encaps_var))
-;; Production 563: ((encaps_var) (T_VARIABLE))
-;; Production 564: ((encaps_var) (T_VARIABLE "[" encaps_var_offset "]"))
-;; Production 565: ((encaps_var) (T_VARIABLE T_OBJECT_OPERATOR T_STRING))
-;; Production 566: ((encaps_var) (T_VARIABLE T_NULLSAFE_OBJECT_OPERATOR 
T_STRING))
-;; Production 567: ((encaps_var) (T_DOLLAR_OPEN_CURLY_BRACES expr "}"))
-;; Production 568: ((encaps_var) (T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME 
"}"))
-;; Production 569: ((encaps_var) (T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME 
"[" expr "]" "}"))
-;; Production 570: ((encaps_var) (T_CURLY_OPEN variable "}"))
-;; Production 571: ((encaps_var_offset) (T_STRING))
-;; Production 572: ((encaps_var_offset) (T_NUM_STRING))
-;; Production 573: ((encaps_var_offset) ("-" T_NUM_STRING))
-;; Production 574: ((encaps_var_offset) (T_VARIABLE))
-;; Production 575: ((internal_functions_in_yacc) (T_ISSET "(" isset_variables 
possible_comma ")"))
-;; Production 576: ((internal_functions_in_yacc) (T_EMPTY "(" expr ")"))
-;; Production 577: ((internal_functions_in_yacc) (T_INCLUDE expr))
-;; Production 578: ((internal_functions_in_yacc) (T_INCLUDE_ONCE expr))
-;; Production 579: ((internal_functions_in_yacc) (T_EVAL "(" expr ")"))
-;; Production 580: ((internal_functions_in_yacc) (T_REQUIRE expr))
-;; Production 581: ((internal_functions_in_yacc) (T_REQUIRE_ONCE expr))
-;; Production 582: ((isset_variables) (isset_variable))
-;; Production 583: ((isset_variables) (isset_variables "," isset_variable))
-;; Production 584: ((isset_variable) (expr))
+;; Production 71: ((reserved_non_modifiers) (T_PROPERTY_C))
+;; Production 72: ((semi_reserved) (reserved_non_modifiers))
+;; Production 73: ((semi_reserved) (T_STATIC))
+;; Production 74: ((semi_reserved) (T_ABSTRACT))
+;; Production 75: ((semi_reserved) (T_FINAL))
+;; Production 76: ((semi_reserved) (T_PRIVATE))
+;; Production 77: ((semi_reserved) (T_PROTECTED))
+;; Production 78: ((semi_reserved) (T_PUBLIC))
+;; Production 79: ((semi_reserved) (T_READONLY))
+;; Production 80: ((ampersand) (T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG))
+;; Production 81: ((ampersand) (T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG))
+;; Production 82: ((identifier) (T_STRING))
+;; Production 83: ((identifier) (semi_reserved))
+;; Production 84: ((top_statement_list) (top_statement_list top_statement))
+;; Production 85: ((top_statement_list) (%empty))
+;; Production 86: ((namespace_declaration_name) (identifier))
+;; Production 87: ((namespace_declaration_name) (T_NAME_QUALIFIED))
+;; Production 88: ((namespace_name) (T_STRING))
+;; Production 89: ((namespace_name) (T_NAME_QUALIFIED))
+;; Production 90: ((legacy_namespace_name) (namespace_name))
+;; Production 91: ((legacy_namespace_name) (T_NAME_FULLY_QUALIFIED))
+;; Production 92: ((name) (T_STRING))
+;; Production 93: ((name) (T_NAME_QUALIFIED))
+;; Production 94: ((name) (T_NAME_FULLY_QUALIFIED))
+;; Production 95: ((name) (T_NAME_RELATIVE))
+;; Production 96: ((attribute_decl) (class_name))
+;; Production 97: ((attribute_decl) (class_name argument_list))
+;; Production 98: ((attribute_group) (attribute_decl))
+;; Production 99: ((attribute_group) (attribute_group "," attribute_decl))
+;; Production 100: ((attribute) (T_ATTRIBUTE attribute_group possible_comma 
"]"))
+;; Production 101: ((attributes) (attribute))
+;; Production 102: ((attributes) (attributes attribute))
+;; Production 103: ((attributed_statement) (function_declaration_statement))
+;; Production 104: ((attributed_statement) (class_declaration_statement))
+;; Production 105: ((attributed_statement) (trait_declaration_statement))
+;; Production 106: ((attributed_statement) (interface_declaration_statement))
+;; Production 107: ((attributed_statement) (enum_declaration_statement))
+;; Production 108: ((top_statement) (statement))
+;; Production 109: ((top_statement) (attributed_statement))
+;; Production 110: ((top_statement) (attributes attributed_statement))
+;; Production 111: ((top_statement) (T_HALT_COMPILER "(" ")" ";"))
+;; Production 112: ((top_statement) (T_NAMESPACE namespace_declaration_name 
";"))
+;; Production 113: ((top_statement) (T_NAMESPACE namespace_declaration_name 
"{" top_statement_list "}"))
+;; Production 114: ((top_statement) (T_NAMESPACE "{" top_statement_list "}"))
+;; Production 115: ((top_statement) (T_USE mixed_group_use_declaration ";"))
+;; Production 116: ((top_statement) (T_USE use_type group_use_declaration ";"))
+;; Production 117: ((top_statement) (T_USE use_declarations ";"))
+;; Production 118: ((top_statement) (T_USE use_type use_declarations ";"))
+;; Production 119: ((top_statement) (T_CONST const_list ";"))
+;; Production 120: ((use_type) (T_FUNCTION))
+;; Production 121: ((use_type) (T_CONST))
+;; Production 122: ((group_use_declaration) (legacy_namespace_name 
T_NS_SEPARATOR "{" unprefixed_use_declarations possible_comma "}"))
+;; Production 123: ((mixed_group_use_declaration) (legacy_namespace_name 
T_NS_SEPARATOR "{" inline_use_declarations possible_comma "}"))
+;; Production 124: ((possible_comma) (%empty))
+;; Production 125: ((possible_comma) (","))
+;; Production 126: ((inline_use_declarations) (inline_use_declarations "," 
inline_use_declaration))
+;; Production 127: ((inline_use_declarations) (inline_use_declaration))
+;; Production 128: ((unprefixed_use_declarations) (unprefixed_use_declarations 
"," unprefixed_use_declaration))
+;; Production 129: ((unprefixed_use_declarations) (unprefixed_use_declaration))
+;; Production 130: ((use_declarations) (use_declarations "," use_declaration))
+;; Production 131: ((use_declarations) (use_declaration))
+;; Production 132: ((inline_use_declaration) (unprefixed_use_declaration))
+;; Production 133: ((inline_use_declaration) (use_type 
unprefixed_use_declaration))
+;; Production 134: ((unprefixed_use_declaration) (namespace_name))
+;; Production 135: ((unprefixed_use_declaration) (namespace_name T_AS 
T_STRING))
+;; Production 136: ((use_declaration) (legacy_namespace_name))
+;; Production 137: ((use_declaration) (legacy_namespace_name T_AS T_STRING))
+;; Production 138: ((const_list) (const_list "," const_decl))
+;; Production 139: ((const_list) (const_decl))
+;; Production 140: ((inner_statement_list) (inner_statement_list 
inner_statement))
+;; Production 141: ((inner_statement_list) (%empty))
+;; Production 142: ((inner_statement) (statement))
+;; Production 143: ((inner_statement) (attributed_statement))
+;; Production 144: ((inner_statement) (attributes attributed_statement))
+;; Production 145: ((inner_statement) (T_HALT_COMPILER "(" ")" ";"))
+;; Production 146: ((statement) ("{" inner_statement_list "}"))
+;; Production 147: ((statement) (if_stmt))
+;; Production 148: ((statement) (alt_if_stmt))
+;; Production 149: ((statement) (T_WHILE "(" expr ")" while_statement))
+;; Production 150: ((statement) (T_DO statement T_WHILE "(" expr ")" ";"))
+;; Production 151: ((statement) (T_FOR "(" for_exprs ";" for_exprs ";" 
for_exprs ")" for_statement))
+;; Production 152: ((statement) (T_SWITCH "(" expr ")" switch_case_list))
+;; Production 153: ((statement) (T_BREAK optional_expr ";"))
+;; Production 154: ((statement) (T_CONTINUE optional_expr ";"))
+;; Production 155: ((statement) (T_RETURN optional_expr ";"))
+;; Production 156: ((statement) (T_GLOBAL global_var_list ";"))
+;; Production 157: ((statement) (T_STATIC static_var_list ";"))
+;; Production 158: ((statement) (T_ECHO echo_expr_list ";"))
+;; Production 159: ((statement) (T_INLINE_HTML))
+;; Production 160: ((statement) (expr ";"))
+;; Production 161: ((statement) (T_UNSET "(" unset_variables possible_comma 
")" ";"))
+;; Production 162: ((statement) (T_FOREACH "(" expr T_AS foreach_variable ")" 
foreach_statement))
+;; Production 163: ((statement) (T_FOREACH "(" expr T_AS foreach_variable 
T_DOUBLE_ARROW foreach_variable ")" foreach_statement))
+;; Production 164: ((statement) (T_DECLARE "(" const_list ")" 
declare_statement))
+;; Production 165: ((statement) (";"))
+;; Production 166: ((statement) (T_TRY "{" inner_statement_list "}" catch_list 
finally_statement))
+;; Production 167: ((statement) (T_GOTO T_STRING ";"))
+;; Production 168: ((statement) (T_STRING ":"))
+;; Production 169: ((catch_list) (%empty))
+;; Production 170: ((catch_list) (catch_list T_CATCH "(" catch_name_list 
optional_variable ")" "{" inner_statement_list "}"))
+;; Production 171: ((catch_name_list) (class_name))
+;; Production 172: ((catch_name_list) (catch_name_list "|" class_name))
+;; Production 173: ((optional_variable) (%empty))
+;; Production 174: ((optional_variable) (T_VARIABLE))
+;; Production 175: ((finally_statement) (%empty))
+;; Production 176: ((finally_statement) (T_FINALLY "{" inner_statement_list 
"}"))
+;; Production 177: ((unset_variables) (unset_variable))
+;; Production 178: ((unset_variables) (unset_variables "," unset_variable))
+;; Production 179: ((unset_variable) (variable))
+;; Production 180: ((function_name) (T_STRING))
+;; Production 181: ((function_name) (T_READONLY))
+;; Production 182: ((function_declaration_statement) (function returns_ref 
function_name backup_doc_comment "(" parameter_list ")" return_type 
backup_fn_flags "{" inner_statement_list "}" backup_fn_flags))
+;; Production 183: ((is_reference) (%empty))
+;; Production 184: ((is_reference) (T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG))
+;; Production 185: ((is_variadic) (%empty))
+;; Production 186: ((is_variadic) (T_ELLIPSIS))
+;; Production 187: ((class_declaration_statement) (class_modifiers T_CLASS 
T_STRING extends_from implements_list backup_doc_comment "{" 
class_statement_list "}"))
+;; Production 188: ((class_declaration_statement) (T_CLASS T_STRING 
extends_from implements_list backup_doc_comment "{" class_statement_list "}"))
+;; Production 189: ((class_modifiers) (class_modifier))
+;; Production 190: ((class_modifiers) (class_modifiers class_modifier))
+;; Production 191: ((anonymous_class_modifiers) (class_modifier))
+;; Production 192: ((anonymous_class_modifiers) (anonymous_class_modifiers 
class_modifier))
+;; Production 193: ((anonymous_class_modifiers_optional) (%empty))
+;; Production 194: ((anonymous_class_modifiers_optional) 
(anonymous_class_modifiers))
+;; Production 195: ((class_modifier) (T_ABSTRACT))
+;; Production 196: ((class_modifier) (T_FINAL))
+;; Production 197: ((class_modifier) (T_READONLY))
+;; Production 198: ((trait_declaration_statement) (T_TRAIT T_STRING 
backup_doc_comment "{" class_statement_list "}"))
+;; Production 199: ((interface_declaration_statement) (T_INTERFACE T_STRING 
interface_extends_list backup_doc_comment "{" class_statement_list "}"))
+;; Production 200: ((enum_declaration_statement) (T_ENUM T_STRING 
enum_backing_type implements_list backup_doc_comment "{" class_statement_list 
"}"))
+;; Production 201: ((enum_backing_type) (%empty))
+;; Production 202: ((enum_backing_type) (":" type_expr))
+;; Production 203: ((enum_case) (T_CASE backup_doc_comment identifier 
enum_case_expr ";"))
+;; Production 204: ((enum_case_expr) (%empty))
+;; Production 205: ((enum_case_expr) ("=" expr))
+;; Production 206: ((extends_from) (%empty))
+;; Production 207: ((extends_from) (T_EXTENDS class_name))
+;; Production 208: ((interface_extends_list) (%empty))
+;; Production 209: ((interface_extends_list) (T_EXTENDS class_name_list))
+;; Production 210: ((implements_list) (%empty))
+;; Production 211: ((implements_list) (T_IMPLEMENTS class_name_list))
+;; Production 212: ((foreach_variable) (variable))
+;; Production 213: ((foreach_variable) (ampersand variable))
+;; Production 214: ((foreach_variable) (T_LIST "(" array_pair_list ")"))
+;; Production 215: ((foreach_variable) ("[" array_pair_list "]"))
+;; Production 216: ((for_statement) (statement))
+;; Production 217: ((for_statement) (":" inner_statement_list T_ENDFOR ";"))
+;; Production 218: ((foreach_statement) (statement))
+;; Production 219: ((foreach_statement) (":" inner_statement_list T_ENDFOREACH 
";"))
+;; Production 220: ((declare_statement) (statement))
+;; Production 221: ((declare_statement) (":" inner_statement_list T_ENDDECLARE 
";"))
+;; Production 222: ((switch_case_list) ("{" case_list "}"))
+;; Production 223: ((switch_case_list) ("{" ";" case_list "}"))
+;; Production 224: ((switch_case_list) (":" case_list T_ENDSWITCH ";"))
+;; Production 225: ((switch_case_list) (":" ";" case_list T_ENDSWITCH ";"))
+;; Production 226: ((case_list) (%empty))
+;; Production 227: ((case_list) (case_list T_CASE expr case_separator 
inner_statement_list))
+;; Production 228: ((case_list) (case_list T_DEFAULT case_separator 
inner_statement_list))
+;; Production 229: ((case_separator) (":"))
+;; Production 230: ((case_separator) (";"))
+;; Production 231: ((match) (T_MATCH "(" expr ")" "{" match_arm_list "}"))
+;; Production 232: ((match_arm_list) (%empty))
+;; Production 233: ((match_arm_list) (non_empty_match_arm_list possible_comma))
+;; Production 234: ((non_empty_match_arm_list) (match_arm))
+;; Production 235: ((non_empty_match_arm_list) (non_empty_match_arm_list "," 
match_arm))
+;; Production 236: ((match_arm) (match_arm_cond_list possible_comma 
T_DOUBLE_ARROW expr))
+;; Production 237: ((match_arm) (T_DEFAULT possible_comma T_DOUBLE_ARROW expr))
+;; Production 238: ((match_arm_cond_list) (expr))
+;; Production 239: ((match_arm_cond_list) (match_arm_cond_list "," expr))
+;; Production 240: ((while_statement) (statement))
+;; Production 241: ((while_statement) (":" inner_statement_list T_ENDWHILE 
";"))
+;; Production 242: ((if_stmt_without_else) (T_IF "(" expr ")" statement))
+;; Production 243: ((if_stmt_without_else) (if_stmt_without_else T_ELSEIF "(" 
expr ")" statement))
+;; Production 244: ((if_stmt) (if_stmt_without_else))
+;; Production 245: ((if_stmt) (if_stmt_without_else T_ELSE statement))
+;; Production 246: ((alt_if_stmt_without_else) (T_IF "(" expr ")" ":" 
inner_statement_list))
+;; Production 247: ((alt_if_stmt_without_else) (alt_if_stmt_without_else 
T_ELSEIF "(" expr ")" ":" inner_statement_list))
+;; Production 248: ((alt_if_stmt) (alt_if_stmt_without_else T_ENDIF ";"))
+;; Production 249: ((alt_if_stmt) (alt_if_stmt_without_else T_ELSE ":" 
inner_statement_list T_ENDIF ";"))
+;; Production 250: ((parameter_list) (non_empty_parameter_list possible_comma))
+;; Production 251: ((parameter_list) (%empty))
+;; Production 252: ((non_empty_parameter_list) (attributed_parameter))
+;; Production 253: ((non_empty_parameter_list) (non_empty_parameter_list "," 
attributed_parameter))
+;; Production 254: ((attributed_parameter) (attributes parameter))
+;; Production 255: ((attributed_parameter) (parameter))
+;; Production 256: ((optional_cpp_modifiers) (%empty))
+;; Production 257: ((optional_cpp_modifiers) (non_empty_member_modifiers))
+;; Production 258: ((parameter) (optional_cpp_modifiers 
optional_type_without_static is_reference is_variadic T_VARIABLE 
backup_doc_comment optional_property_hook_list))
+;; Production 259: ((parameter) (optional_cpp_modifiers 
optional_type_without_static is_reference is_variadic T_VARIABLE 
backup_doc_comment "=" expr optional_property_hook_list))
+;; Production 260: ((optional_type_without_static) (%empty))
+;; Production 261: ((optional_type_without_static) (type_expr_without_static))
+;; Production 262: ((type_expr) (type))
+;; Production 263: ((type_expr) ("?" type))
+;; Production 264: ((type_expr) (union_type))
+;; Production 265: ((type_expr) (intersection_type))
+;; Production 266: ((type) (type_without_static))
+;; Production 267: ((type) (T_STATIC))
+;; Production 268: ((union_type_element) (type))
+;; Production 269: ((union_type_element) ("(" intersection_type ")"))
+;; Production 270: ((union_type) (union_type_element "|" union_type_element))
+;; Production 271: ((union_type) (union_type "|" union_type_element))
+;; Production 272: ((intersection_type) (type 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type))
+;; Production 273: ((intersection_type) (intersection_type 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type))
+;; Production 274: ((type_expr_without_static) (type_without_static))
+;; Production 275: ((type_expr_without_static) ("?" type_without_static))
+;; Production 276: ((type_expr_without_static) (union_type_without_static))
+;; Production 277: ((type_expr_without_static) 
(intersection_type_without_static))
+;; Production 278: ((type_without_static) (T_ARRAY))
+;; Production 279: ((type_without_static) (T_CALLABLE))
+;; Production 280: ((type_without_static) (name))
+;; Production 281: ((union_type_without_static_element) (type_without_static))
+;; Production 282: ((union_type_without_static_element) ("(" 
intersection_type_without_static ")"))
+;; Production 283: ((union_type_without_static) 
(union_type_without_static_element "|" union_type_without_static_element))
+;; Production 284: ((union_type_without_static) (union_type_without_static "|" 
union_type_without_static_element))
+;; Production 285: ((intersection_type_without_static) (type_without_static 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type_without_static))
+;; Production 286: ((intersection_type_without_static) 
(intersection_type_without_static T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG 
type_without_static))
+;; Production 287: ((return_type) (%empty))
+;; Production 288: ((return_type) (":" type_expr))
+;; Production 289: ((argument_list) ("(" ")"))
+;; Production 290: ((argument_list) ("(" non_empty_argument_list 
possible_comma ")"))
+;; Production 291: ((argument_list) ("(" T_ELLIPSIS ")"))
+;; Production 292: ((non_empty_argument_list) (argument))
+;; Production 293: ((non_empty_argument_list) (non_empty_argument_list "," 
argument))
+;; Production 294: ((argument) (expr))
+;; Production 295: ((argument) (identifier ":" expr))
+;; Production 296: ((argument) (T_ELLIPSIS expr))
+;; Production 297: ((global_var_list) (global_var_list "," global_var))
+;; Production 298: ((global_var_list) (global_var))
+;; Production 299: ((global_var) (simple_variable))
+;; Production 300: ((static_var_list) (static_var_list "," static_var))
+;; Production 301: ((static_var_list) (static_var))
+;; Production 302: ((static_var) (T_VARIABLE))
+;; Production 303: ((static_var) (T_VARIABLE "=" expr))
+;; Production 304: ((class_statement_list) (class_statement_list 
class_statement))
+;; Production 305: ((class_statement_list) (%empty))
+;; Production 306: ((attributed_class_statement) (property_modifiers 
optional_type_without_static property_list ";"))
+;; Production 307: ((attributed_class_statement) (property_modifiers 
optional_type_without_static hooked_property))
+;; Production 308: ((attributed_class_statement) (class_const_modifiers 
T_CONST class_const_list ";"))
+;; Production 309: ((attributed_class_statement) (class_const_modifiers 
T_CONST type_expr class_const_list ";"))
+;; Production 310: ((attributed_class_statement) (method_modifiers function 
returns_ref identifier backup_doc_comment "(" parameter_list ")" return_type 
backup_fn_flags method_body backup_fn_flags))
+;; Production 311: ((attributed_class_statement) (enum_case))
+;; Production 312: ((class_statement) (attributed_class_statement))
+;; Production 313: ((class_statement) (attributes attributed_class_statement))
+;; Production 314: ((class_statement) (T_USE class_name_list 
trait_adaptations))
+;; Production 315: ((class_name_list) (class_name))
+;; Production 316: ((class_name_list) (class_name_list "," class_name))
+;; Production 317: ((trait_adaptations) (";"))
+;; Production 318: ((trait_adaptations) ("{" "}"))
+;; Production 319: ((trait_adaptations) ("{" trait_adaptation_list "}"))
+;; Production 320: ((trait_adaptation_list) (trait_adaptation))
+;; Production 321: ((trait_adaptation_list) (trait_adaptation_list 
trait_adaptation))
+;; Production 322: ((trait_adaptation) (trait_precedence ";"))
+;; Production 323: ((trait_adaptation) (trait_alias ";"))
+;; Production 324: ((trait_precedence) (absolute_trait_method_reference 
T_INSTEADOF class_name_list))
+;; Production 325: ((trait_alias) (trait_method_reference T_AS T_STRING))
+;; Production 326: ((trait_alias) (trait_method_reference T_AS 
reserved_non_modifiers))
+;; Production 327: ((trait_alias) (trait_method_reference T_AS member_modifier 
identifier))
+;; Production 328: ((trait_alias) (trait_method_reference T_AS 
member_modifier))
+;; Production 329: ((trait_method_reference) (identifier))
+;; Production 330: ((trait_method_reference) (absolute_trait_method_reference))
+;; Production 331: ((absolute_trait_method_reference) (class_name 
T_PAAMAYIM_NEKUDOTAYIM identifier))
+;; Production 332: ((method_body) (";"))
+;; Production 333: ((method_body) ("{" inner_statement_list "}"))
+;; Production 334: ((property_modifiers) (non_empty_member_modifiers))
+;; Production 335: ((property_modifiers) (T_VAR))
+;; Production 336: ((method_modifiers) (%empty))
+;; Production 337: ((method_modifiers) (non_empty_member_modifiers))
+;; Production 338: ((class_const_modifiers) (%empty))
+;; Production 339: ((class_const_modifiers) (non_empty_member_modifiers))
+;; Production 340: ((non_empty_member_modifiers) (member_modifier))
+;; Production 341: ((non_empty_member_modifiers) (non_empty_member_modifiers 
member_modifier))
+;; Production 342: ((member_modifier) (T_PUBLIC))
+;; Production 343: ((member_modifier) (T_PROTECTED))
+;; Production 344: ((member_modifier) (T_PRIVATE))
+;; Production 345: ((member_modifier) (T_PUBLIC_SET))
+;; Production 346: ((member_modifier) (T_PROTECTED_SET))
+;; Production 347: ((member_modifier) (T_PRIVATE_SET))
+;; Production 348: ((member_modifier) (T_STATIC))
+;; Production 349: ((member_modifier) (T_ABSTRACT))
+;; Production 350: ((member_modifier) (T_FINAL))
+;; Production 351: ((member_modifier) (T_READONLY))
+;; Production 352: ((property_list) (property_list "," property))
+;; Production 353: ((property_list) (property))
+;; Production 354: ((property) (T_VARIABLE backup_doc_comment))
+;; Production 355: ((property) (T_VARIABLE "=" expr backup_doc_comment))
+;; Production 356: ((hooked_property) (T_VARIABLE backup_doc_comment "{" 
property_hook_list "}"))
+;; Production 357: ((hooked_property) (T_VARIABLE "=" expr backup_doc_comment 
"{" property_hook_list "}"))
+;; Production 358: ((property_hook_list) (%empty))
+;; Production 359: ((property_hook_list) (property_hook_list property_hook))
+;; Production 360: ((property_hook_list) (property_hook_list attributes 
property_hook))
+;; Production 361: ((optional_property_hook_list) (%empty))
+;; Production 362: ((optional_property_hook_list) ("{" property_hook_list "}"))
+;; Production 363: ((property_hook_modifiers) (%empty))
+;; Production 364: ((property_hook_modifiers) (non_empty_member_modifiers))
+;; Production 365: ((property_hook) (property_hook_modifiers returns_ref 
T_STRING backup_doc_comment optional_parameter_list backup_fn_flags 
property_hook_body backup_fn_flags))
+;; Production 366: ((property_hook_body) (";"))
+;; Production 367: ((property_hook_body) ("{" inner_statement_list "}"))
+;; Production 368: ((property_hook_body) (T_DOUBLE_ARROW expr ";"))
+;; Production 369: ((optional_parameter_list) (%empty))
+;; Production 370: ((optional_parameter_list) ("(" parameter_list ")"))
+;; Production 371: ((class_const_list) (class_const_list "," class_const_decl))
+;; Production 372: ((class_const_list) (class_const_decl))
+;; Production 373: ((class_const_decl) (T_STRING "=" expr backup_doc_comment))
+;; Production 374: ((class_const_decl) (semi_reserved "=" expr 
backup_doc_comment))
+;; Production 375: ((const_decl) (T_STRING "=" expr backup_doc_comment))
+;; Production 376: ((echo_expr_list) (echo_expr_list "," echo_expr))
+;; Production 377: ((echo_expr_list) (echo_expr))
+;; Production 378: ((echo_expr) (expr))
+;; Production 379: ((for_exprs) (%empty))
+;; Production 380: ((for_exprs) (non_empty_for_exprs))
+;; Production 381: ((non_empty_for_exprs) (non_empty_for_exprs "," expr))
+;; Production 382: ((non_empty_for_exprs) (expr))
+;; Production 383: ((anonymous_class) (anonymous_class_modifiers_optional 
T_CLASS ctor_arguments extends_from implements_list backup_doc_comment "{" 
class_statement_list "}"))
+;; Production 384: ((new_dereferenceable) (T_NEW class_name_reference 
argument_list))
+;; Production 385: ((new_dereferenceable) (T_NEW anonymous_class))
+;; Production 386: ((new_dereferenceable) (T_NEW attributes anonymous_class))
+;; Production 387: ((new_non_dereferenceable) (T_NEW class_name_reference))
+;; Production 388: ((expr) (variable))
+;; Production 389: ((expr) (T_LIST "(" array_pair_list ")" "=" expr))
+;; Production 390: ((expr) ("[" array_pair_list "]" "=" expr))
+;; Production 391: ((expr) (variable "=" expr))
+;; Production 392: ((expr) (variable "=" ampersand variable))
+;; Production 393: ((expr) (T_CLONE expr))
+;; Production 394: ((expr) (variable T_PLUS_EQUAL expr))
+;; Production 395: ((expr) (variable T_MINUS_EQUAL expr))
+;; Production 396: ((expr) (variable T_MUL_EQUAL expr))
+;; Production 397: ((expr) (variable T_POW_EQUAL expr))
+;; Production 398: ((expr) (variable T_DIV_EQUAL expr))
+;; Production 399: ((expr) (variable T_CONCAT_EQUAL expr))
+;; Production 400: ((expr) (variable T_MOD_EQUAL expr))
+;; Production 401: ((expr) (variable T_AND_EQUAL expr))
+;; Production 402: ((expr) (variable T_OR_EQUAL expr))
+;; Production 403: ((expr) (variable T_XOR_EQUAL expr))
+;; Production 404: ((expr) (variable T_SL_EQUAL expr))
+;; Production 405: ((expr) (variable T_SR_EQUAL expr))
+;; Production 406: ((expr) (variable T_COALESCE_EQUAL expr))
+;; Production 407: ((expr) (variable T_INC))
+;; Production 408: ((expr) (T_INC variable))
+;; Production 409: ((expr) (variable T_DEC))
+;; Production 410: ((expr) (T_DEC variable))
+;; Production 411: ((expr) (expr T_BOOLEAN_OR expr))
+;; Production 412: ((expr) (expr T_BOOLEAN_AND expr))
+;; Production 413: ((expr) (expr T_LOGICAL_OR expr))
+;; Production 414: ((expr) (expr T_LOGICAL_AND expr))
+;; Production 415: ((expr) (expr T_LOGICAL_XOR expr))
+;; Production 416: ((expr) (expr "|" expr))
+;; Production 417: ((expr) (expr T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG 
expr))
+;; Production 418: ((expr) (expr T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG expr))
+;; Production 419: ((expr) (expr "^" expr))
+;; Production 420: ((expr) (expr "." expr))
+;; Production 421: ((expr) (expr "+" expr))
+;; Production 422: ((expr) (expr "-" expr))
+;; Production 423: ((expr) (expr "*" expr))
+;; Production 424: ((expr) (expr T_POW expr))
+;; Production 425: ((expr) (expr "/" expr))
+;; Production 426: ((expr) (expr "%" expr))
+;; Production 427: ((expr) (expr T_SL expr))
+;; Production 428: ((expr) (expr T_SR expr))
+;; Production 429: ((expr) ("+" expr))
+;; Production 430: ((expr) ("-" expr))
+;; Production 431: ((expr) ("!" expr))
+;; Production 432: ((expr) ("~" expr))
+;; Production 433: ((expr) (expr T_IS_IDENTICAL expr))
+;; Production 434: ((expr) (expr T_IS_NOT_IDENTICAL expr))
+;; Production 435: ((expr) (expr T_IS_EQUAL expr))
+;; Production 436: ((expr) (expr T_IS_NOT_EQUAL expr))
+;; Production 437: ((expr) (expr "<" expr))
+;; Production 438: ((expr) (expr T_IS_SMALLER_OR_EQUAL expr))
+;; Production 439: ((expr) (expr ">" expr))
+;; Production 440: ((expr) (expr T_IS_GREATER_OR_EQUAL expr))
+;; Production 441: ((expr) (expr T_SPACESHIP expr))
+;; Production 442: ((expr) (expr T_INSTANCEOF class_name_reference))
+;; Production 443: ((expr) ("(" expr ")"))
+;; Production 444: ((expr) (new_dereferenceable))
+;; Production 445: ((expr) (new_non_dereferenceable))
+;; Production 446: ((expr) (expr "?" expr ":" expr))
+;; Production 447: ((expr) (expr "?" ":" expr))
+;; Production 448: ((expr) (expr T_COALESCE expr))
+;; Production 449: ((expr) (internal_functions_in_yacc))
+;; Production 450: ((expr) (T_INT_CAST expr))
+;; Production 451: ((expr) (T_DOUBLE_CAST expr))
+;; Production 452: ((expr) (T_STRING_CAST expr))
+;; Production 453: ((expr) (T_ARRAY_CAST expr))
+;; Production 454: ((expr) (T_OBJECT_CAST expr))
+;; Production 455: ((expr) (T_BOOL_CAST expr))
+;; Production 456: ((expr) (T_UNSET_CAST expr))
+;; Production 457: ((expr) (T_EXIT ctor_arguments))
+;; Production 458: ((expr) ("@" expr))
+;; Production 459: ((expr) (scalar))
+;; Production 460: ((expr) ("`" backticks_expr "`"))
+;; Production 461: ((expr) (T_PRINT expr))
+;; Production 462: ((expr) (T_YIELD))
+;; Production 463: ((expr) (T_YIELD expr))
+;; Production 464: ((expr) (T_YIELD expr T_DOUBLE_ARROW expr))
+;; Production 465: ((expr) (T_YIELD_FROM expr))
+;; Production 466: ((expr) (T_THROW expr))
+;; Production 467: ((expr) (inline_function))
+;; Production 468: ((expr) (attributes inline_function))
+;; Production 469: ((expr) (T_STATIC inline_function))
+;; Production 470: ((expr) (attributes T_STATIC inline_function))
+;; Production 471: ((expr) (match))
+;; Production 472: ((inline_function) (function returns_ref backup_doc_comment 
"(" parameter_list ")" lexical_vars return_type backup_fn_flags "{" 
inner_statement_list "}" backup_fn_flags))
+;; Production 473: ((inline_function) (fn returns_ref backup_doc_comment "(" 
parameter_list ")" return_type T_DOUBLE_ARROW backup_fn_flags backup_lex_pos 
expr backup_fn_flags))
+;; Production 474: ((fn) (T_FN))
+;; Production 475: ((function) (T_FUNCTION))
+;; Production 476: ((backup_doc_comment) (%empty))
+;; Production 477: ((backup_fn_flags) (%empty))
+;; Production 478: ((backup_lex_pos) (%empty))
+;; Production 479: ((returns_ref) (%empty))
+;; Production 480: ((returns_ref) (ampersand))
+;; Production 481: ((lexical_vars) (%empty))
+;; Production 482: ((lexical_vars) (T_USE "(" lexical_var_list possible_comma 
")"))
+;; Production 483: ((lexical_var_list) (lexical_var_list "," lexical_var))
+;; Production 484: ((lexical_var_list) (lexical_var))
+;; Production 485: ((lexical_var) (T_VARIABLE))
+;; Production 486: ((lexical_var) (ampersand T_VARIABLE))
+;; Production 487: ((function_call) (name argument_list))
+;; Production 488: ((function_call) (T_READONLY argument_list))
+;; Production 489: ((function_call) (class_name T_PAAMAYIM_NEKUDOTAYIM 
member_name argument_list))
+;; Production 490: ((function_call) (variable_class_name 
T_PAAMAYIM_NEKUDOTAYIM member_name argument_list))
+;; Production 491: ((function_call) (callable_expr argument_list))
+;; Production 492: ((class_name) (T_STATIC))
+;; Production 493: ((class_name) (name))
+;; Production 494: ((class_name_reference) (class_name))
+;; Production 495: ((class_name_reference) (new_variable))
+;; Production 496: ((class_name_reference) ("(" expr ")"))
+;; Production 497: ((backticks_expr) (%empty))
+;; Production 498: ((backticks_expr) (T_ENCAPSED_AND_WHITESPACE))
+;; Production 499: ((backticks_expr) (encaps_list))
+;; Production 500: ((ctor_arguments) (%empty))
+;; Production 501: ((ctor_arguments) (argument_list))
+;; Production 502: ((dereferenceable_scalar) (T_ARRAY "(" array_pair_list ")"))
+;; Production 503: ((dereferenceable_scalar) ("[" array_pair_list "]"))
+;; Production 504: ((dereferenceable_scalar) (T_CONSTANT_ENCAPSED_STRING))
+;; Production 505: ((dereferenceable_scalar) ("\"" encaps_list "\""))
+;; Production 506: ((scalar) (T_LNUMBER))
+;; Production 507: ((scalar) (T_DNUMBER))
+;; Production 508: ((scalar) (T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE 
T_END_HEREDOC))
+;; Production 509: ((scalar) (T_START_HEREDOC T_END_HEREDOC))
+;; Production 510: ((scalar) (T_START_HEREDOC encaps_list T_END_HEREDOC))
+;; Production 511: ((scalar) (dereferenceable_scalar))
+;; Production 512: ((scalar) (constant))
+;; Production 513: ((scalar) (class_constant))
+;; Production 514: ((constant) (name))
+;; Production 515: ((constant) (T_LINE))
+;; Production 516: ((constant) (T_FILE))
+;; Production 517: ((constant) (T_DIR))
+;; Production 518: ((constant) (T_TRAIT_C))
+;; Production 519: ((constant) (T_METHOD_C))
+;; Production 520: ((constant) (T_FUNC_C))
+;; Production 521: ((constant) (T_PROPERTY_C))
+;; Production 522: ((constant) (T_NS_C))
+;; Production 523: ((constant) (T_CLASS_C))
+;; Production 524: ((class_constant) (class_name T_PAAMAYIM_NEKUDOTAYIM 
identifier))
+;; Production 525: ((class_constant) (variable_class_name 
T_PAAMAYIM_NEKUDOTAYIM identifier))
+;; Production 526: ((class_constant) (class_name T_PAAMAYIM_NEKUDOTAYIM "{" 
expr "}"))
+;; Production 527: ((class_constant) (variable_class_name 
T_PAAMAYIM_NEKUDOTAYIM "{" expr "}"))
+;; Production 528: ((optional_expr) (%empty))
+;; Production 529: ((optional_expr) (expr))
+;; Production 530: ((variable_class_name) (fully_dereferenceable))
+;; Production 531: ((fully_dereferenceable) (variable))
+;; Production 532: ((fully_dereferenceable) ("(" expr ")"))
+;; Production 533: ((fully_dereferenceable) (dereferenceable_scalar))
+;; Production 534: ((fully_dereferenceable) (class_constant))
+;; Production 535: ((fully_dereferenceable) (new_dereferenceable))
+;; Production 536: ((array_object_dereferenceable) (fully_dereferenceable))
+;; Production 537: ((array_object_dereferenceable) (constant))
+;; Production 538: ((callable_expr) (callable_variable))
+;; Production 539: ((callable_expr) ("(" expr ")"))
+;; Production 540: ((callable_expr) (dereferenceable_scalar))
+;; Production 541: ((callable_expr) (new_dereferenceable))
+;; Production 542: ((callable_variable) (simple_variable))
+;; Production 543: ((callable_variable) (array_object_dereferenceable "[" 
optional_expr "]"))
+;; Production 544: ((callable_variable) (array_object_dereferenceable 
T_OBJECT_OPERATOR property_name argument_list))
+;; Production 545: ((callable_variable) (array_object_dereferenceable 
T_NULLSAFE_OBJECT_OPERATOR property_name argument_list))
+;; Production 546: ((callable_variable) (function_call))
+;; Production 547: ((variable) (callable_variable))
+;; Production 548: ((variable) (static_member))
+;; Production 549: ((variable) (array_object_dereferenceable T_OBJECT_OPERATOR 
property_name))
+;; Production 550: ((variable) (array_object_dereferenceable 
T_NULLSAFE_OBJECT_OPERATOR property_name))
+;; Production 551: ((simple_variable) (T_VARIABLE))
+;; Production 552: ((simple_variable) ("$" "{" expr "}"))
+;; Production 553: ((simple_variable) ("$" simple_variable))
+;; Production 554: ((static_member) (class_name T_PAAMAYIM_NEKUDOTAYIM 
simple_variable))
+;; Production 555: ((static_member) (variable_class_name 
T_PAAMAYIM_NEKUDOTAYIM simple_variable))
+;; Production 556: ((new_variable) (simple_variable))
+;; Production 557: ((new_variable) (new_variable "[" optional_expr "]"))
+;; Production 558: ((new_variable) (new_variable T_OBJECT_OPERATOR 
property_name))
+;; Production 559: ((new_variable) (new_variable T_NULLSAFE_OBJECT_OPERATOR 
property_name))
+;; Production 560: ((new_variable) (class_name T_PAAMAYIM_NEKUDOTAYIM 
simple_variable))
+;; Production 561: ((new_variable) (new_variable T_PAAMAYIM_NEKUDOTAYIM 
simple_variable))
+;; Production 562: ((member_name) (identifier))
+;; Production 563: ((member_name) ("{" expr "}"))
+;; Production 564: ((member_name) (simple_variable))
+;; Production 565: ((property_name) (T_STRING))
+;; Production 566: ((property_name) ("{" expr "}"))
+;; Production 567: ((property_name) (simple_variable))
+;; Production 568: ((array_pair_list) (non_empty_array_pair_list))
+;; Production 569: ((possible_array_pair) (%empty))
+;; Production 570: ((possible_array_pair) (array_pair))
+;; Production 571: ((non_empty_array_pair_list) (non_empty_array_pair_list "," 
possible_array_pair))
+;; Production 572: ((non_empty_array_pair_list) (possible_array_pair))
+;; Production 573: ((array_pair) (expr T_DOUBLE_ARROW expr))
+;; Production 574: ((array_pair) (expr))
+;; Production 575: ((array_pair) (expr T_DOUBLE_ARROW ampersand variable))
+;; Production 576: ((array_pair) (ampersand variable))
+;; Production 577: ((array_pair) (T_ELLIPSIS expr))
+;; Production 578: ((array_pair) (expr T_DOUBLE_ARROW T_LIST "(" 
array_pair_list ")"))
+;; Production 579: ((array_pair) (T_LIST "(" array_pair_list ")"))
+;; Production 580: ((encaps_list) (encaps_list encaps_var))
+;; Production 581: ((encaps_list) (encaps_list T_ENCAPSED_AND_WHITESPACE))
+;; Production 582: ((encaps_list) (encaps_var))
+;; Production 583: ((encaps_list) (T_ENCAPSED_AND_WHITESPACE encaps_var))
+;; Production 584: ((encaps_var) (T_VARIABLE))
+;; Production 585: ((encaps_var) (T_VARIABLE "[" encaps_var_offset "]"))
+;; Production 586: ((encaps_var) (T_VARIABLE T_OBJECT_OPERATOR T_STRING))
+;; Production 587: ((encaps_var) (T_VARIABLE T_NULLSAFE_OBJECT_OPERATOR 
T_STRING))
+;; Production 588: ((encaps_var) (T_DOLLAR_OPEN_CURLY_BRACES expr "}"))
+;; Production 589: ((encaps_var) (T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME 
"}"))
+;; Production 590: ((encaps_var) (T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME 
"[" expr "]" "}"))
+;; Production 591: ((encaps_var) (T_CURLY_OPEN variable "}"))
+;; Production 592: ((encaps_var_offset) (T_STRING))
+;; Production 593: ((encaps_var_offset) (T_NUM_STRING))
+;; Production 594: ((encaps_var_offset) ("-" T_NUM_STRING))
+;; Production 595: ((encaps_var_offset) (T_VARIABLE))
+;; Production 596: ((internal_functions_in_yacc) (T_ISSET "(" isset_variables 
possible_comma ")"))
+;; Production 597: ((internal_functions_in_yacc) (T_EMPTY "(" expr ")"))
+;; Production 598: ((internal_functions_in_yacc) (T_INCLUDE expr))
+;; Production 599: ((internal_functions_in_yacc) (T_INCLUDE_ONCE expr))
+;; Production 600: ((internal_functions_in_yacc) (T_EVAL "(" expr ")"))
+;; Production 601: ((internal_functions_in_yacc) (T_REQUIRE expr))
+;; Production 602: ((internal_functions_in_yacc) (T_REQUIRE_ONCE expr))
+;; Production 603: ((isset_variables) (isset_variable))
+;; Production 604: ((isset_variables) (isset_variables "," isset_variable))
+;; Production 605: ((isset_variable) (expr))
 
 ;;; Code:
 

Reply via email to