MOON
Server: Apache
System: Linux ip-208-109-13-31.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els4.x86_64 #1 SMP Sat Aug 31 06:58:57 UTC 2024 x86_64
User: durgeshpandey215 (1013)
PHP: 8.1.29
Disabled: NONE
Upload Files
File: //php-8.2.0/Zend/zend_language_parser.output
Terminals unused in grammar

    "comment"
    "doc comment"
    "open tag"
    "'<?='"
    "'?>'"
    "whitespace"
    "invalid character"
    T_ERROR


Grammar

    0 $accept: start "end of file"

    1 start: top_statement_list

    2 reserved_non_modifiers: "'include'"
    3                       | "'include_once'"
    4                       | "'eval'"
    5                       | "'require'"
    6                       | "'require_once'"
    7                       | "'or'"
    8                       | "'xor'"
    9                       | "'and'"
   10                       | "'instanceof'"
   11                       | "'new'"
   12                       | "'clone'"
   13                       | "'exit'"
   14                       | "'if'"
   15                       | "'elseif'"
   16                       | "'else'"
   17                       | "'endif'"
   18                       | "'echo'"
   19                       | "'do'"
   20                       | "'while'"
   21                       | "'endwhile'"
   22                       | "'for'"
   23                       | "'endfor'"
   24                       | "'foreach'"
   25                       | "'endforeach'"
   26                       | "'declare'"
   27                       | "'enddeclare'"
   28                       | "'as'"
   29                       | "'try'"
   30                       | "'catch'"
   31                       | "'finally'"
   32                       | "'throw'"
   33                       | "'use'"
   34                       | "'insteadof'"
   35                       | "'global'"
   36                       | "'var'"
   37                       | "'unset'"
   38                       | "'isset'"
   39                       | "'empty'"
   40                       | "'continue'"
   41                       | "'goto'"
   42                       | "'function'"
   43                       | "'const'"
   44                       | "'return'"
   45                       | "'print'"
   46                       | "'yield'"
   47                       | "'list'"
   48                       | "'switch'"
   49                       | "'endswitch'"
   50                       | "'case'"
   51                       | "'default'"
   52                       | "'break'"
   53                       | "'array'"
   54                       | "'callable'"
   55                       | "'extends'"
   56                       | "'implements'"
   57                       | "'namespace'"
   58                       | "'trait'"
   59                       | "'interface'"
   60                       | "'class'"
   61                       | "'__CLASS__'"
   62                       | "'__TRAIT__'"
   63                       | "'__FUNCTION__'"
   64                       | "'__METHOD__'"
   65                       | "'__LINE__'"
   66                       | "'__FILE__'"
   67                       | "'__DIR__'"
   68                       | "'__NAMESPACE__'"
   69                       | "'fn'"
   70                       | "'match'"
   71                       | "'enum'"

   72 semi_reserved: reserved_non_modifiers
   73              | "'static'"
   74              | "'abstract'"
   75              | "'final'"
   76              | "'private'"
   77              | "'protected'"
   78              | "'public'"
   79              | "'readonly'"

   80 ampersand: "'&'"
   81          | "amp"

   82 identifier: "identifier"
   83           | semi_reserved

   84 top_statement_list: top_statement_list top_statement
   85                   | ε

   86 namespace_declaration_name: identifier
   87                           | "namespaced name"

   88 namespace_name: "identifier"
   89               | "namespaced name"

   90 legacy_namespace_name: namespace_name
   91                      | "fully qualified name"

   92 name: "identifier"
   93     | "namespaced name"
   94     | "fully qualified name"
   95     | "namespace-relative name"

   96 attribute_decl: class_name
   97               | class_name argument_list

   98 attribute_group: attribute_decl
   99                | attribute_group ',' attribute_decl

  100 attribute: "'#['" attribute_group possible_comma ']'

  101 attributes: attribute
  102           | attributes attribute

  103 attributed_statement: function_declaration_statement
  104                     | class_declaration_statement
  105                     | trait_declaration_statement
  106                     | interface_declaration_statement
  107                     | enum_declaration_statement

  108 top_statement: statement
  109              | attributed_statement
  110              | attributes attributed_statement
  111              | "'__halt_compiler'" '(' ')' ';'
  112              | "'namespace'" namespace_declaration_name ';'

  113 $@1: ε

  114 top_statement: "'namespace'" namespace_declaration_name $@1 '{' top_statement_list '}'

  115 $@2: ε

  116 top_statement: "'namespace'" $@2 '{' top_statement_list '}'
  117              | "'use'" mixed_group_use_declaration ';'
  118              | "'use'" use_type group_use_declaration ';'
  119              | "'use'" use_declarations ';'
  120              | "'use'" use_type use_declarations ';'
  121              | "'const'" const_list ';'

  122 use_type: "'function'"
  123         | "'const'"

  124 group_use_declaration: legacy_namespace_name "'\\'" '{' unprefixed_use_declarations possible_comma '}'

  125 mixed_group_use_declaration: legacy_namespace_name "'\\'" '{' inline_use_declarations possible_comma '}'

  126 possible_comma: ε
  127               | ','

  128 inline_use_declarations: inline_use_declarations ',' inline_use_declaration
  129                        | inline_use_declaration

  130 unprefixed_use_declarations: unprefixed_use_declarations ',' unprefixed_use_declaration
  131                            | unprefixed_use_declaration

  132 use_declarations: use_declarations ',' use_declaration
  133                 | use_declaration

  134 inline_use_declaration: unprefixed_use_declaration
  135                       | use_type unprefixed_use_declaration

  136 unprefixed_use_declaration: namespace_name
  137                           | namespace_name "'as'" "identifier"

  138 use_declaration: legacy_namespace_name
  139                | legacy_namespace_name "'as'" "identifier"

  140 const_list: const_list ',' const_decl
  141           | const_decl

  142 inner_statement_list: inner_statement_list inner_statement
  143                     | ε

  144 inner_statement: statement
  145                | attributed_statement
  146                | attributes attributed_statement
  147                | "'__halt_compiler'" '(' ')' ';'

  148 statement: '{' inner_statement_list '}'
  149          | if_stmt
  150          | alt_if_stmt
  151          | "'while'" '(' expr ')' while_statement
  152          | "'do'" statement "'while'" '(' expr ')' ';'
  153          | "'for'" '(' for_exprs ';' for_exprs ';' for_exprs ')' for_statement
  154          | "'switch'" '(' expr ')' switch_case_list
  155          | "'break'" optional_expr ';'
  156          | "'continue'" optional_expr ';'
  157          | "'return'" optional_expr ';'
  158          | "'global'" global_var_list ';'
  159          | "'static'" static_var_list ';'
  160          | "'echo'" echo_expr_list ';'
  161          | T_INLINE_HTML
  162          | expr ';'
  163          | "'unset'" '(' unset_variables possible_comma ')' ';'
  164          | "'foreach'" '(' expr "'as'" foreach_variable ')' foreach_statement
  165          | "'foreach'" '(' expr "'as'" foreach_variable "'=>'" foreach_variable ')' foreach_statement

  166 $@3: ε

  167 statement: "'declare'" '(' const_list ')' $@3 declare_statement
  168          | ';'
  169          | "'try'" '{' inner_statement_list '}' catch_list finally_statement
  170          | "'goto'" "identifier" ';'
  171          | "identifier" ':'

  172 catch_list: ε
  173           | catch_list "'catch'" '(' catch_name_list optional_variable ')' '{' inner_statement_list '}'

  174 catch_name_list: class_name
  175                | catch_name_list '|' class_name

  176 optional_variable: ε
  177                  | "variable"

  178 finally_statement: ε
  179                  | "'finally'" '{' inner_statement_list '}'

  180 unset_variables: unset_variable
  181                | unset_variables ',' unset_variable

  182 unset_variable: variable

  183 function_name: "identifier"
  184              | "'readonly'"

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

  186 is_reference: ε
  187             | "'&'"

  188 is_variadic: ε
  189            | "'...'"

  190 @4: ε

  191 class_declaration_statement: class_modifiers "'class'" @4 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'

  192 @5: ε

  193 class_declaration_statement: "'class'" @5 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'

  194 class_modifiers: class_modifier
  195                | class_modifiers class_modifier

  196 class_modifier: "'abstract'"
  197               | "'final'"
  198               | "'readonly'"

  199 @6: ε

  200 trait_declaration_statement: "'trait'" @6 "identifier" backup_doc_comment '{' class_statement_list '}'

  201 @7: ε

  202 interface_declaration_statement: "'interface'" @7 "identifier" interface_extends_list backup_doc_comment '{' class_statement_list '}'

  203 @8: ε

  204 enum_declaration_statement: "'enum'" @8 "identifier" enum_backing_type implements_list backup_doc_comment '{' class_statement_list '}'

  205 enum_backing_type: ε
  206                  | ':' type_expr

  207 enum_case: "'case'" backup_doc_comment identifier enum_case_expr ';'

  208 enum_case_expr: ε
  209               | '=' expr

  210 extends_from: ε
  211             | "'extends'" class_name

  212 interface_extends_list: ε
  213                       | "'extends'" class_name_list

  214 implements_list: ε
  215                | "'implements'" class_name_list

  216 foreach_variable: variable
  217                 | ampersand variable
  218                 | "'list'" '(' array_pair_list ')'
  219                 | '[' array_pair_list ']'

  220 for_statement: statement
  221              | ':' inner_statement_list "'endfor'" ';'

  222 foreach_statement: statement
  223                  | ':' inner_statement_list "'endforeach'" ';'

  224 declare_statement: statement
  225                  | ':' inner_statement_list "'enddeclare'" ';'

  226 switch_case_list: '{' case_list '}'
  227                 | '{' ';' case_list '}'
  228                 | ':' case_list "'endswitch'" ';'
  229                 | ':' ';' case_list "'endswitch'" ';'

  230 case_list: ε
  231          | case_list "'case'" expr case_separator inner_statement_list
  232          | case_list "'default'" case_separator inner_statement_list

  233 case_separator: ':'
  234               | ';'

  235 match: "'match'" '(' expr ')' '{' match_arm_list '}'

  236 match_arm_list: ε
  237               | non_empty_match_arm_list possible_comma

  238 non_empty_match_arm_list: match_arm
  239                         | non_empty_match_arm_list ',' match_arm

  240 match_arm: match_arm_cond_list possible_comma "'=>'" expr
  241          | "'default'" possible_comma "'=>'" expr

  242 match_arm_cond_list: expr
  243                    | match_arm_cond_list ',' expr

  244 while_statement: statement
  245                | ':' inner_statement_list "'endwhile'" ';'

  246 if_stmt_without_else: "'if'" '(' expr ')' statement
  247                     | if_stmt_without_else "'elseif'" '(' expr ')' statement

  248 if_stmt: if_stmt_without_else
  249        | if_stmt_without_else "'else'" statement

  250 alt_if_stmt_without_else: "'if'" '(' expr ')' ':' inner_statement_list
  251                         | alt_if_stmt_without_else "'elseif'" '(' expr ')' ':' inner_statement_list

  252 alt_if_stmt: alt_if_stmt_without_else "'endif'" ';'
  253            | alt_if_stmt_without_else "'else'" ':' inner_statement_list "'endif'" ';'

  254 parameter_list: non_empty_parameter_list possible_comma
  255               | ε

  256 non_empty_parameter_list: attributed_parameter
  257                         | non_empty_parameter_list ',' attributed_parameter

  258 attributed_parameter: attributes parameter
  259                     | parameter

  260 optional_property_modifiers: ε
  261                            | optional_property_modifiers property_modifier

  262 property_modifier: "'public'"
  263                  | "'protected'"
  264                  | "'private'"
  265                  | "'readonly'"

  266 parameter: optional_property_modifiers optional_type_without_static is_reference is_variadic "variable" backup_doc_comment
  267          | optional_property_modifiers optional_type_without_static is_reference is_variadic "variable" backup_doc_comment '=' expr

  268 optional_type_without_static: ε
  269                             | type_expr_without_static

  270 type_expr: type
  271          | '?' type
  272          | union_type
  273          | intersection_type

  274 type: type_without_static
  275     | "'static'"

  276 union_type_element: type
  277                   | '(' intersection_type ')'

  278 union_type: union_type_element '|' union_type_element
  279           | union_type '|' union_type_element

  280 intersection_type: type "amp" type
  281                  | intersection_type "amp" type

  282 type_expr_without_static: type_without_static
  283                         | '?' type_without_static
  284                         | union_type_without_static
  285                         | intersection_type_without_static

  286 type_without_static: "'array'"
  287                    | "'callable'"
  288                    | name

  289 union_type_without_static_element: type_without_static
  290                                  | '(' intersection_type_without_static ')'

  291 union_type_without_static: union_type_without_static_element '|' union_type_without_static_element
  292                          | union_type_without_static '|' union_type_without_static_element

  293 intersection_type_without_static: type_without_static "amp" type_without_static
  294                                 | intersection_type_without_static "amp" type_without_static

  295 return_type: ε
  296            | ':' type_expr

  297 argument_list: '(' ')'
  298              | '(' non_empty_argument_list possible_comma ')'
  299              | '(' "'...'" ')'

  300 non_empty_argument_list: argument
  301                        | non_empty_argument_list ',' argument

  302 argument: expr
  303         | identifier ':' expr
  304         | "'...'" expr

  305 global_var_list: global_var_list ',' global_var
  306                | global_var

  307 global_var: simple_variable

  308 static_var_list: static_var_list ',' static_var
  309                | static_var

  310 static_var: "variable"
  311           | "variable" '=' expr

  312 class_statement_list: class_statement_list class_statement
  313                     | ε

  314 attributed_class_statement: variable_modifiers optional_type_without_static property_list ';'
  315                           | method_modifiers "'const'" class_const_list ';'
  316                           | method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags
  317                           | enum_case

  318 class_statement: attributed_class_statement
  319                | attributes attributed_class_statement
  320                | "'use'" class_name_list trait_adaptations

  321 class_name_list: class_name
  322                | class_name_list ',' class_name

  323 trait_adaptations: ';'
  324                  | '{' '}'
  325                  | '{' trait_adaptation_list '}'

  326 trait_adaptation_list: trait_adaptation
  327                      | trait_adaptation_list trait_adaptation

  328 trait_adaptation: trait_precedence ';'
  329                 | trait_alias ';'

  330 trait_precedence: absolute_trait_method_reference "'insteadof'" class_name_list

  331 trait_alias: trait_method_reference "'as'" "identifier"
  332            | trait_method_reference "'as'" reserved_non_modifiers
  333            | trait_method_reference "'as'" member_modifier identifier
  334            | trait_method_reference "'as'" member_modifier

  335 trait_method_reference: identifier
  336                       | absolute_trait_method_reference

  337 absolute_trait_method_reference: class_name "'::'" identifier

  338 method_body: ';'
  339            | '{' inner_statement_list '}'

  340 variable_modifiers: non_empty_member_modifiers
  341                   | "'var'"

  342 method_modifiers: ε
  343                 | non_empty_member_modifiers

  344 non_empty_member_modifiers: member_modifier
  345                           | non_empty_member_modifiers member_modifier

  346 member_modifier: "'public'"
  347                | "'protected'"
  348                | "'private'"
  349                | "'static'"
  350                | "'abstract'"
  351                | "'final'"
  352                | "'readonly'"

  353 property_list: property_list ',' property
  354              | property

  355 property: "variable" backup_doc_comment
  356         | "variable" '=' expr backup_doc_comment

  357 class_const_list: class_const_list ',' class_const_decl
  358                 | class_const_decl

  359 class_const_decl: identifier '=' expr backup_doc_comment

  360 const_decl: "identifier" '=' expr backup_doc_comment

  361 echo_expr_list: echo_expr_list ',' echo_expr
  362               | echo_expr

  363 echo_expr: expr

  364 for_exprs: ε
  365          | non_empty_for_exprs

  366 non_empty_for_exprs: non_empty_for_exprs ',' expr
  367                    | expr

  368 @9: ε

  369 anonymous_class: "'class'" @9 ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}'

  370 new_expr: "'new'" class_name_reference ctor_arguments
  371         | "'new'" anonymous_class
  372         | "'new'" attributes anonymous_class

  373 expr: variable
  374     | "'list'" '(' array_pair_list ')' '=' expr
  375     | '[' array_pair_list ']' '=' expr
  376     | variable '=' expr
  377     | variable '=' ampersand variable
  378     | "'clone'" expr
  379     | variable "'+='" expr
  380     | variable "'-='" expr
  381     | variable "'*='" expr
  382     | variable "'**='" expr
  383     | variable "'/='" expr
  384     | variable "'.='" expr
  385     | variable "'%='" expr
  386     | variable "'&='" expr
  387     | variable "'|='" expr
  388     | variable "'^='" expr
  389     | variable "'<<='" expr
  390     | variable "'>>='" expr
  391     | variable "'??='" expr
  392     | variable "'++'"
  393     | "'++'" variable
  394     | variable "'--'"
  395     | "'--'" variable
  396     | expr "'||'" expr
  397     | expr "'&&'" expr
  398     | expr "'or'" expr
  399     | expr "'and'" expr
  400     | expr "'xor'" expr
  401     | expr '|' expr
  402     | expr "amp" expr
  403     | expr "'&'" expr
  404     | expr '^' expr
  405     | expr '.' expr
  406     | expr '+' expr
  407     | expr '-' expr
  408     | expr '*' expr
  409     | expr "'**'" expr
  410     | expr '/' expr
  411     | expr '%' expr
  412     | expr "'<<'" expr
  413     | expr "'>>'" expr
  414     | '+' expr
  415     | '-' expr
  416     | '!' expr
  417     | '~' expr
  418     | expr "'==='" expr
  419     | expr "'!=='" expr
  420     | expr "'=='" expr
  421     | expr "'!='" expr
  422     | expr '<' expr
  423     | expr "'<='" expr
  424     | expr '>' expr
  425     | expr "'>='" expr
  426     | expr "'<=>'" expr
  427     | expr "'instanceof'" class_name_reference
  428     | '(' expr ')'
  429     | new_expr
  430     | expr '?' expr ':' expr
  431     | expr '?' ':' expr
  432     | expr "'??'" expr
  433     | internal_functions_in_yacc
  434     | "'(int)'" expr
  435     | "'(double)'" expr
  436     | "'(string)'" expr
  437     | "'(array)'" expr
  438     | "'(object)'" expr
  439     | "'(bool)'" expr
  440     | "'(unset)'" expr
  441     | "'exit'" exit_expr
  442     | '@' expr
  443     | scalar
  444     | '`' backticks_expr '`'
  445     | "'print'" expr
  446     | "'yield'"
  447     | "'yield'" expr
  448     | "'yield'" expr "'=>'" expr
  449     | "'yield from'" expr
  450     | "'throw'" expr
  451     | inline_function
  452     | attributes inline_function
  453     | "'static'" inline_function
  454     | attributes "'static'" inline_function
  455     | match

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags
  457                | fn returns_ref backup_doc_comment '(' parameter_list ')' return_type "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags

  458 fn: "'fn'"

  459 function: "'function'"

  460 backup_doc_comment: ε

  461 backup_fn_flags: ε

  462 backup_lex_pos: ε

  463 returns_ref: ε
  464            | ampersand

  465 lexical_vars: ε
  466             | "'use'" '(' lexical_var_list possible_comma ')'

  467 lexical_var_list: lexical_var_list ',' lexical_var
  468                 | lexical_var

  469 lexical_var: "variable"
  470            | ampersand "variable"

  471 function_call: name argument_list
  472              | "'readonly'" argument_list
  473              | class_name "'::'" member_name argument_list
  474              | variable_class_name "'::'" member_name argument_list

  475 @10: ε

  476 function_call: callable_expr @10 argument_list

  477 class_name: "'static'"
  478           | name

  479 class_name_reference: class_name
  480                     | new_variable
  481                     | '(' expr ')'

  482 exit_expr: ε
  483          | '(' optional_expr ')'

  484 backticks_expr: ε
  485               | "string content"
  486               | encaps_list

  487 ctor_arguments: ε
  488               | argument_list

  489 dereferenceable_scalar: "'array'" '(' array_pair_list ')'
  490                       | '[' array_pair_list ']'
  491                       | "quoted string"
  492                       | '"' encaps_list '"'

  493 scalar: "integer"
  494       | "floating-point number"
  495       | "heredoc start" "string content" "heredoc end"
  496       | "heredoc start" "heredoc end"
  497       | "heredoc start" encaps_list "heredoc end"
  498       | dereferenceable_scalar
  499       | constant
  500       | class_constant

  501 constant: name
  502         | "'__LINE__'"
  503         | "'__FILE__'"
  504         | "'__DIR__'"
  505         | "'__TRAIT__'"
  506         | "'__METHOD__'"
  507         | "'__FUNCTION__'"
  508         | "'__NAMESPACE__'"
  509         | "'__CLASS__'"

  510 class_constant: class_name "'::'" identifier
  511               | variable_class_name "'::'" identifier

  512 optional_expr: ε
  513              | expr

  514 variable_class_name: fully_dereferenceable

  515 fully_dereferenceable: variable
  516                      | '(' expr ')'
  517                      | dereferenceable_scalar
  518                      | class_constant

  519 array_object_dereferenceable: fully_dereferenceable
  520                             | constant

  521 callable_expr: callable_variable
  522              | '(' expr ')'
  523              | dereferenceable_scalar

  524 callable_variable: simple_variable
  525                  | array_object_dereferenceable '[' optional_expr ']'
  526                  | array_object_dereferenceable '{' expr '}'
  527                  | array_object_dereferenceable "'->'" property_name argument_list
  528                  | array_object_dereferenceable "'?->'" property_name argument_list
  529                  | function_call

  530 variable: callable_variable
  531         | static_member
  532         | array_object_dereferenceable "'->'" property_name
  533         | array_object_dereferenceable "'?->'" property_name

  534 simple_variable: "variable"
  535                | '$' '{' expr '}'
  536                | '$' simple_variable

  537 static_member: class_name "'::'" simple_variable
  538              | variable_class_name "'::'" simple_variable

  539 new_variable: simple_variable
  540             | new_variable '[' optional_expr ']'
  541             | new_variable '{' expr '}'
  542             | new_variable "'->'" property_name
  543             | new_variable "'?->'" property_name
  544             | class_name "'::'" simple_variable
  545             | new_variable "'::'" simple_variable

  546 member_name: identifier
  547            | '{' expr '}'
  548            | simple_variable

  549 property_name: "identifier"
  550              | '{' expr '}'
  551              | simple_variable

  552 array_pair_list: non_empty_array_pair_list

  553 possible_array_pair: ε
  554                    | array_pair

  555 non_empty_array_pair_list: non_empty_array_pair_list ',' possible_array_pair
  556                          | possible_array_pair

  557 array_pair: expr "'=>'" expr
  558           | expr
  559           | expr "'=>'" ampersand variable
  560           | ampersand variable
  561           | "'...'" expr
  562           | expr "'=>'" "'list'" '(' array_pair_list ')'
  563           | "'list'" '(' array_pair_list ')'

  564 encaps_list: encaps_list encaps_var
  565            | encaps_list "string content"
  566            | encaps_var
  567            | "string content" encaps_var

  568 encaps_var: "variable"
  569           | "variable" '[' encaps_var_offset ']'
  570           | "variable" "'->'" "identifier"
  571           | "variable" "'?->'" "identifier"
  572           | "'${'" expr '}'
  573           | "'${'" "variable name" '}'
  574           | "'${'" "variable name" '[' expr ']' '}'
  575           | "'{$'" variable '}'

  576 encaps_var_offset: "identifier"
  577                  | "number"
  578                  | '-' "number"
  579                  | "variable"

  580 internal_functions_in_yacc: "'isset'" '(' isset_variables possible_comma ')'
  581                           | "'empty'" '(' expr ')'
  582                           | "'include'" expr
  583                           | "'include_once'" expr
  584                           | "'eval'" '(' expr ')'
  585                           | "'require'" expr
  586                           | "'require_once'" expr

  587 isset_variables: isset_variable
  588                | isset_variables ',' isset_variable

  589 isset_variable: expr


Terminals, with rules where they appear

    "end of file" (0) 0
    '!' (33) 416
    '"' (34) 492
    '$' (36) 535 536
    '%' (37) 411
    '(' (40) 111 147 151 152 153 154 163 164 165 167 173 185 218 235 246 247 250 251 277 290 297 298 299 316 374 428 456 457 466 481 483 489 516 522 562 563 580 581 584
    ')' (41) 111 147 151 152 153 154 163 164 165 167 173 185 218 235 246 247 250 251 277 290 297 298 299 316 374 428 456 457 466 481 483 489 516 522 562 563 580 581 584
    '*' (42) 408
    '+' (43) 406 414
    ',' (44) 99 127 128 130 132 140 181 239 243 257 301 305 308 322 353 357 361 366 467 555 588
    '-' (45) 407 415 578
    '.' (46) 405
    '/' (47) 410
    ':' (58) 171 206 221 223 225 228 229 233 245 250 251 253 296 303 430 431
    ';' (59) 111 112 117 118 119 120 121 147 152 153 155 156 157 158 159 160 162 163 168 170 207 221 223 225 227 228 229 234 245 252 253 314 315 323 328 329 338
    '<' (60) 422
    '=' (61) 209 267 311 356 359 360 374 375 376 377
    '>' (62) 424
    '?' (63) 271 283 430 431
    '@' (64) 442
    '[' (91) 219 375 490 525 540 569 574
    ']' (93) 100 219 375 490 525 540 569 574
    '^' (94) 404
    '`' (96) 444
    '{' (123) 114 116 124 125 148 169 173 179 185 191 193 200 202 204 226 227 235 324 325 339 369 456 526 535 541 547 550
    '|' (124) 175 278 279 291 292 401
    '}' (125) 114 116 124 125 148 169 173 179 185 191 193 200 202 204 226 227 235 324 325 339 369 456 526 535 541 547 550 572 573 574 575
    '~' (126) 417
    error (256)
    PREC_ARROW_FUNCTION (258)
    T_NOELSE (259)
    "integer" <ast> (260) 493
    "floating-point number" <ast> (261) 494
    "identifier" <ast> (262) 82 88 92 137 139 170 171 183 191 193 200 202 204 331 360 549 570 571 576
    "fully qualified name" <ast> (263) 91 94
    "namespace-relative name" <ast> (264) 95
    "namespaced name" <ast> (265) 87 89 93
    "variable" <ast> (266) 177 266 267 310 311 355 356 469 470 534 568 569 570 571 579
    T_INLINE_HTML <ast> (267) 161
    "string content" <ast> (268) 485 495 565 567
    "quoted string" <ast> (269) 491
    "variable name" <ast> (270) 573 574
    "number" <ast> (271) 577 578
    "'include'" <ident> (272) 2 582
    "'include_once'" <ident> (273) 3 583
    "'eval'" <ident> (274) 4 584
    "'require'" <ident> (275) 5 585
    "'require_once'" <ident> (276) 6 586
    "'or'" <ident> (277) 7 398
    "'xor'" <ident> (278) 8 400
    "'and'" <ident> (279) 9 399
    "'print'" <ident> (280) 45 445
    "'yield'" <ident> (281) 46 446 447 448
    "'yield from'" <ident> (282) 449
    "'instanceof'" <ident> (283) 10 427
    "'new'" <ident> (284) 11 370 371 372
    "'clone'" <ident> (285) 12 378
    "'exit'" <ident> (286) 13 441
    "'if'" <ident> (287) 14 246 250
    "'elseif'" <ident> (288) 15 247 251
    "'else'" <ident> (289) 16 249 253
    "'endif'" <ident> (290) 17 252 253
    "'echo'" <ident> (291) 18 160
    "'do'" <ident> (292) 19 152
    "'while'" <ident> (293) 20 151 152
    "'endwhile'" <ident> (294) 21 245
    "'for'" <ident> (295) 22 153
    "'endfor'" <ident> (296) 23 221
    "'foreach'" <ident> (297) 24 164 165
    "'endforeach'" <ident> (298) 25 223
    "'declare'" <ident> (299) 26 167
    "'enddeclare'" <ident> (300) 27 225
    "'as'" <ident> (301) 28 137 139 164 165 331 332 333 334
    "'switch'" <ident> (302) 48 154
    "'endswitch'" <ident> (303) 49 228 229
    "'case'" <ident> (304) 50 207 231
    "'default'" <ident> (305) 51 232 241
    "'match'" <ident> (306) 70 235
    "'break'" <ident> (307) 52 155
    "'continue'" <ident> (308) 40 156
    "'goto'" <ident> (309) 41 170
    "'function'" <ident> (310) 42 122 459
    "'fn'" <ident> (311) 69 458
    "'const'" <ident> (312) 43 121 123 315
    "'return'" <ident> (313) 44 157
    "'try'" <ident> (314) 29 169
    "'catch'" <ident> (315) 30 173
    "'finally'" <ident> (316) 31 179
    "'throw'" <ident> (317) 32 450
    "'use'" <ident> (318) 33 117 118 119 120 320 466
    "'insteadof'" <ident> (319) 34 330
    "'global'" <ident> (320) 35 158
    "'static'" <ident> (321) 73 159 275 349 453 454 477
    "'abstract'" <ident> (322) 74 196 350
    "'final'" <ident> (323) 75 197 351
    "'private'" <ident> (324) 76 264 348
    "'protected'" <ident> (325) 77 263 347
    "'public'" <ident> (326) 78 262 346
    "'readonly'" <ident> (327) 79 184 198 265 352 472
    "'var'" <ident> (328) 36 341
    "'unset'" <ident> (329) 37 163
    "'isset'" <ident> (330) 38 580
    "'empty'" <ident> (331) 39 581
    "'__halt_compiler'" <ident> (332) 111 147
    "'class'" <ident> (333) 60 191 193 369
    "'trait'" <ident> (334) 58 200
    "'interface'" <ident> (335) 59 202
    "'enum'" <ident> (336) 71 204
    "'extends'" <ident> (337) 55 211 213
    "'implements'" <ident> (338) 56 215
    "'namespace'" <ident> (339) 57 112 114 116
    "'list'" <ident> (340) 47 218 374 562 563
    "'array'" <ident> (341) 53 286 489
    "'callable'" <ident> (342) 54 287
    "'__LINE__'" <ident> (343) 65 502
    "'__FILE__'" <ident> (344) 66 503
    "'__DIR__'" <ident> (345) 67 504
    "'__CLASS__'" <ident> (346) 61 509
    "'__TRAIT__'" <ident> (347) 62 505
    "'__METHOD__'" <ident> (348) 64 506
    "'__FUNCTION__'" <ident> (349) 63 507
    "'__NAMESPACE__'" <ident> (350) 68 508
    "'#['" (351) 100
    "'+='" (352) 379
    "'-='" (353) 380
    "'*='" (354) 381
    "'/='" (355) 383
    "'.='" (356) 384
    "'%='" (357) 385
    "'&='" (358) 386
    "'|='" (359) 387
    "'^='" (360) 388
    "'<<='" (361) 389
    "'>>='" (362) 390
    "'??='" (363) 391
    "'||'" (364) 396
    "'&&'" (365) 397
    "'=='" (366) 420
    "'!='" (367) 421
    "'==='" (368) 418
    "'!=='" (369) 419
    "'<='" (370) 423
    "'>='" (371) 425
    "'<=>'" (372) 426
    "'<<'" (373) 412
    "'>>'" (374) 413
    "'++'" (375) 392 393
    "'--'" (376) 394 395
    "'(int)'" (377) 434
    "'(double)'" (378) 435
    "'(string)'" (379) 436
    "'(array)'" (380) 437
    "'(object)'" (381) 438
    "'(bool)'" (382) 439
    "'(unset)'" (383) 440
    "'->'" (384) 527 532 542 570
    "'?->'" (385) 528 533 543 571
    "'=>'" (386) 165 240 241 448 457 557 559 562
    "comment" (387)
    "doc comment" (388)
    "open tag" (389)
    "'<?='" (390)
    "'?>'" (391)
    "whitespace" (392)
    "heredoc start" (393) 495 496 497
    "heredoc end" (394) 495 496 497
    "'${'" (395) 572 573 574
    "'{$'" (396) 575
    "'::'" (397) 337 473 474 510 511 537 538 544 545
    "'\\'" (398) 124 125
    "'...'" (399) 189 299 304 561
    "'??'" (400) 432
    "'**'" (401) 409
    "'**='" (402) 382
    "'&'" (403) 80 187 403
    "amp" (404) 81 280 281 293 294 402
    "invalid character" (405)
    T_ERROR (406)


Nonterminals, with rules where they appear

    $accept (179)
        on left: 0
    start (180)
        on left: 1
        on right: 0
    reserved_non_modifiers <ident> (181)
        on left: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
        on right: 72 332
    semi_reserved <ident> (182)
        on left: 72 73 74 75 76 77 78 79
        on right: 83
    ampersand (183)
        on left: 80 81
        on right: 217 377 464 470 559 560
    identifier <ast> (184)
        on left: 82 83
        on right: 86 207 303 316 333 335 337 359 510 511 546
    top_statement_list <ast> (185)
        on left: 84 85
        on right: 1 84 114 116
    namespace_declaration_name <ast> (186)
        on left: 86 87
        on right: 112 114
    namespace_name <ast> (187)
        on left: 88 89
        on right: 90 136 137
    legacy_namespace_name <ast> (188)
        on left: 90 91
        on right: 124 125 138 139
    name <ast> (189)
        on left: 92 93 94 95
        on right: 288 471 478 501
    attribute_decl <ast> (190)
        on left: 96 97
        on right: 98 99
    attribute_group <ast> (191)
        on left: 98 99
        on right: 99 100
    attribute <ast> (192)
        on left: 100
        on right: 101 102
    attributes <ast> (193)
        on left: 101 102
        on right: 102 110 146 258 319 372 452 454
    attributed_statement <ast> (194)
        on left: 103 104 105 106 107
        on right: 109 110 145 146
    top_statement <ast> (195)
        on left: 108 109 110 111 112 114 116 117 118 119 120 121
        on right: 84
    $@1 (196)
        on left: 113
        on right: 114
    $@2 (197)
        on left: 115
        on right: 116
    use_type <num> (198)
        on left: 122 123
        on right: 118 120 135
    group_use_declaration <ast> (199)
        on left: 124
        on right: 118
    mixed_group_use_declaration <ast> (200)
        on left: 125
        on right: 117
    possible_comma (201)
        on left: 126 127
        on right: 100 124 125 163 237 240 241 254 298 466 580
    inline_use_declarations <ast> (202)
        on left: 128 129
        on right: 125 128
    unprefixed_use_declarations <ast> (203)
        on left: 130 131
        on right: 124 130
    use_declarations <ast> (204)
        on left: 132 133
        on right: 119 120 132
    inline_use_declaration <ast> (205)
        on left: 134 135
        on right: 128 129
    unprefixed_use_declaration <ast> (206)
        on left: 136 137
        on right: 130 131 134 135
    use_declaration <ast> (207)
        on left: 138 139
        on right: 132 133
    const_list <ast> (208)
        on left: 140 141
        on right: 121 140 167
    inner_statement_list <ast> (209)
        on left: 142 143
        on right: 142 148 169 173 179 185 221 223 225 231 232 245 250 251 253 339 456
    inner_statement <ast> (210)
        on left: 144 145 146 147
        on right: 142
    statement <ast> (211)
        on left: 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 167 168 169 170 171
        on right: 108 144 152 220 222 224 244 246 247 249
    $@3 (212)
        on left: 166
        on right: 167
    catch_list <ast> (213)
        on left: 172 173
        on right: 169 173
    catch_name_list <ast> (214)
        on left: 174 175
        on right: 173 175
    optional_variable <ast> (215)
        on left: 176 177
        on right: 173
    finally_statement <ast> (216)
        on left: 178 179
        on right: 169
    unset_variables <ast> (217)
        on left: 180 181
        on right: 163 181
    unset_variable <ast> (218)
        on left: 182
        on right: 180 181
    function_name <ast> (219)
        on left: 183 184
        on right: 185
    function_declaration_statement <ast> (220)
        on left: 185
        on right: 103
    is_reference <num> (221)
        on left: 186 187
        on right: 266 267
    is_variadic <num> (222)
        on left: 188 189
        on right: 266 267
    class_declaration_statement <ast> (223)
        on left: 191 193
        on right: 104
    @4 (224)
        on left: 190
        on right: 191
    @5 (225)
        on left: 192
        on right: 193
    class_modifiers <num> (226)
        on left: 194 195
        on right: 191 195
    class_modifier <num> (227)
        on left: 196 197 198
        on right: 194 195
    trait_declaration_statement <ast> (228)
        on left: 200
        on right: 105
    @6 (229)
        on left: 199
        on right: 200
    interface_declaration_statement <ast> (230)
        on left: 202
        on right: 106
    @7 (231)
        on left: 201
        on right: 202
    enum_declaration_statement <ast> (232)
        on left: 204
        on right: 107
    @8 (233)
        on left: 203
        on right: 204
    enum_backing_type <ast> (234)
        on left: 205 206
        on right: 204
    enum_case <ast> (235)
        on left: 207
        on right: 317
    enum_case_expr <ast> (236)
        on left: 208 209
        on right: 207
    extends_from <ast> (237)
        on left: 210 211
        on right: 191 193 369
    interface_extends_list <ast> (238)
        on left: 212 213
        on right: 202
    implements_list <ast> (239)
        on left: 214 215
        on right: 191 193 204 369
    foreach_variable <ast> (240)
        on left: 216 217 218 219
        on right: 164 165
    for_statement <ast> (241)
        on left: 220 221
        on right: 153
    foreach_statement <ast> (242)
        on left: 222 223
        on right: 164 165
    declare_statement <ast> (243)
        on left: 224 225
        on right: 167
    switch_case_list <ast> (244)
        on left: 226 227 228 229
        on right: 154
    case_list <ast> (245)
        on left: 230 231 232
        on right: 226 227 228 229 231 232
    case_separator (246)
        on left: 233 234
        on right: 231 232
    match <ast> (247)
        on left: 235
        on right: 455
    match_arm_list <ast> (248)
        on left: 236 237
        on right: 235
    non_empty_match_arm_list <ast> (249)
        on left: 238 239
        on right: 237 239
    match_arm <ast> (250)
        on left: 240 241
        on right: 238 239
    match_arm_cond_list <ast> (251)
        on left: 242 243
        on right: 240 243
    while_statement <ast> (252)
        on left: 244 245
        on right: 151
    if_stmt_without_else <ast> (253)
        on left: 246 247
        on right: 247 248 249
    if_stmt <ast> (254)
        on left: 248 249
        on right: 149
    alt_if_stmt_without_else <ast> (255)
        on left: 250 251
        on right: 251 252 253
    alt_if_stmt <ast> (256)
        on left: 252 253
        on right: 150
    parameter_list <ast> (257)
        on left: 254 255
        on right: 185 316 456 457
    non_empty_parameter_list <ast> (258)
        on left: 256 257
        on right: 254 257
    attributed_parameter <ast> (259)
        on left: 258 259
        on right: 256 257
    optional_property_modifiers <num> (260)
        on left: 260 261
        on right: 261 266 267
    property_modifier <num> (261)
        on left: 262 263 264 265
        on right: 261
    parameter <ast> (262)
        on left: 266 267
        on right: 258 259
    optional_type_without_static <ast> (263)
        on left: 268 269
        on right: 266 267 314
    type_expr <ast> (264)
        on left: 270 271 272 273
        on right: 206 296
    type <ast> (265)
        on left: 274 275
        on right: 270 271 276 280 281
    union_type_element <ast> (266)
        on left: 276 277
        on right: 278 279
    union_type <ast> (267)
        on left: 278 279
        on right: 272 279
    intersection_type <ast> (268)
        on left: 280 281
        on right: 273 277 281
    type_expr_without_static <ast> (269)
        on left: 282 283 284 285
        on right: 269
    type_without_static <ast> (270)
        on left: 286 287 288
        on right: 274 282 283 289 293 294
    union_type_without_static_element <ast> (271)
        on left: 289 290
        on right: 291 292
    union_type_without_static <ast> (272)
        on left: 291 292
        on right: 284 292
    intersection_type_without_static <ast> (273)
        on left: 293 294
        on right: 285 290 294
    return_type <ast> (274)
        on left: 295 296
        on right: 185 316 456 457
    argument_list <ast> (275)
        on left: 297 298 299
        on right: 97 471 472 473 474 476 488 527 528
    non_empty_argument_list <ast> (276)
        on left: 300 301
        on right: 298 301
    argument <ast> (277)
        on left: 302 303 304
        on right: 300 301
    global_var_list <ast> (278)
        on left: 305 306
        on right: 158 305
    global_var <ast> (279)
        on left: 307
        on right: 305 306
    static_var_list <ast> (280)
        on left: 308 309
        on right: 159 308
    static_var <ast> (281)
        on left: 310 311
        on right: 308 309
    class_statement_list <ast> (282)
        on left: 312 313
        on right: 191 193 200 202 204 312 369
    attributed_class_statement <ast> (283)
        on left: 314 315 316 317
        on right: 318 319
    class_statement <ast> (284)
        on left: 318 319 320
        on right: 312
    class_name_list <ast> (285)
        on left: 321 322
        on right: 213 215 320 322 330
    trait_adaptations <ast> (286)
        on left: 323 324 325
        on right: 320
    trait_adaptation_list <ast> (287)
        on left: 326 327
        on right: 325 327
    trait_adaptation <ast> (288)
        on left: 328 329
        on right: 326 327
    trait_precedence <ast> (289)
        on left: 330
        on right: 328
    trait_alias <ast> (290)
        on left: 331 332 333 334
        on right: 329
    trait_method_reference <ast> (291)
        on left: 335 336
        on right: 331 332 333 334
    absolute_trait_method_reference <ast> (292)
        on left: 337
        on right: 330 336
    method_body <ast> (293)
        on left: 338 339
        on right: 316
    variable_modifiers <num> (294)
        on left: 340 341
        on right: 314
    method_modifiers <num> (295)
        on left: 342 343
        on right: 315 316
    non_empty_member_modifiers <num> (296)
        on left: 344 345
        on right: 340 343 345
    member_modifier <num> (297)
        on left: 346 347 348 349 350 351 352
        on right: 333 334 344 345
    property_list <ast> (298)
        on left: 353 354
        on right: 314 353
    property <ast> (299)
        on left: 355 356
        on right: 353 354
    class_const_list <ast> (300)
        on left: 357 358
        on right: 315 357
    class_const_decl <ast> (301)
        on left: 359
        on right: 357 358
    const_decl <ast> (302)
        on left: 360
        on right: 140 141
    echo_expr_list <ast> (303)
        on left: 361 362
        on right: 160 361
    echo_expr <ast> (304)
        on left: 363
        on right: 361 362
    for_exprs <ast> (305)
        on left: 364 365
        on right: 153
    non_empty_for_exprs <ast> (306)
        on left: 366 367
        on right: 365 366
    anonymous_class <ast> (307)
        on left: 369
        on right: 371 372
    @9 (308)
        on left: 368
        on right: 369
    new_expr <ast> (309)
        on left: 370 371 372
        on right: 429
    expr <ast> (310)
        on left: 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455
        on right: 151 152 154 162 164 165 209 231 235 240 241 242 243 246 247 250 251 267 302 303 304 311 356 359 360 363 366 367 374 375 376 378 379 380 381 382 383 384 385 386 387 388 389 390 391 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 430 431 432 434 435 436 437 438 439 440 442 445 447 448 449 450 457 481 513 516 522 526 535 541 547 550 557 558 559 561 562 572 574 581 582 583 584 585 586 589
    inline_function <ast> (311)
        on left: 456 457
        on right: 451 452 453 454
    fn <num> (312)
        on left: 458
        on right: 457
    function <num> (313)
        on left: 459
        on right: 185 316 456
    backup_doc_comment <str> (314)
        on left: 460
        on right: 185 191 193 200 202 204 207 266 267 316 355 356 359 360 369 456 457
    backup_fn_flags <num> (315)
        on left: 461
        on right: 185 316 456 457
    backup_lex_pos <ptr> (316)
        on left: 462
        on right: 457
    returns_ref <num> (317)
        on left: 463 464
        on right: 185 316 456 457
    lexical_vars <ast> (318)
        on left: 465 466
        on right: 456
    lexical_var_list <ast> (319)
        on left: 467 468
        on right: 466 467
    lexical_var <ast> (320)
        on left: 469 470
        on right: 467 468
    function_call <ast> (321)
        on left: 471 472 473 474 476
        on right: 529
    @10 (322)
        on left: 475
        on right: 476
    class_name <ast> (323)
        on left: 477 478
        on right: 96 97 174 175 211 321 322 337 473 479 510 537 544
    class_name_reference <ast> (324)
        on left: 479 480 481
        on right: 370 427
    exit_expr <ast> (325)
        on left: 482 483
        on right: 441
    backticks_expr <ast> (326)
        on left: 484 485 486
        on right: 444
    ctor_arguments <ast> (327)
        on left: 487 488
        on right: 369 370
    dereferenceable_scalar <ast> (328)
        on left: 489 490 491 492
        on right: 498 517 523
    scalar <ast> (329)
        on left: 493 494 495 496 497 498 499 500
        on right: 443
    constant <ast> (330)
        on left: 501 502 503 504 505 506 507 508 509
        on right: 499 520
    class_constant <ast> (331)
        on left: 510 511
        on right: 500 518
    optional_expr <ast> (332)
        on left: 512 513
        on right: 155 156 157 483 525 540
    variable_class_name <ast> (333)
        on left: 514
        on right: 474 511 538
    fully_dereferenceable <ast> (334)
        on left: 515 516 517 518
        on right: 514 519
    array_object_dereferenceable <ast> (335)
        on left: 519 520
        on right: 525 526 527 528 532 533
    callable_expr <ast> (336)
        on left: 521 522 523
        on right: 476
    callable_variable <ast> (337)
        on left: 524 525 526 527 528 529
        on right: 521 530
    variable <ast> (338)
        on left: 530 531 532 533
        on right: 182 216 217 373 376 377 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 515 559 560 575
    simple_variable <ast> (339)
        on left: 534 535 536
        on right: 307 524 536 537 538 539 544 545 548 551
    static_member <ast> (340)
        on left: 537 538
        on right: 531
    new_variable <ast> (341)
        on left: 539 540 541 542 543 544 545
        on right: 480 540 541 542 543 545
    member_name <ast> (342)
        on left: 546 547 548
        on right: 473 474
    property_name <ast> (343)
        on left: 549 550 551
        on right: 527 528 532 533 542 543
    array_pair_list <ast> (344)
        on left: 552
        on right: 218 219 374 375 489 490 562 563
    possible_array_pair <ast> (345)
        on left: 553 554
        on right: 555 556
    non_empty_array_pair_list <ast> (346)
        on left: 555 556
        on right: 552 555
    array_pair <ast> (347)
        on left: 557 558 559 560 561 562 563
        on right: 554
    encaps_list <ast> (348)
        on left: 564 565 566 567
        on right: 486 492 497 564 565
    encaps_var <ast> (349)
        on left: 568 569 570 571 572 573 574 575
        on right: 564 566 567
    encaps_var_offset <ast> (350)
        on left: 576 577 578 579
        on right: 569
    internal_functions_in_yacc <ast> (351)
        on left: 580 581 582 583 584 585 586
        on right: 433
    isset_variables <ast> (352)
        on left: 587 588
        on right: 580 588
    isset_variable <ast> (353)
        on left: 589
        on right: 587 588


State 0

    0 $accept: • start "end of file"

    $default  reduce using rule 85 (top_statement_list)

    start               go to state 1
    top_statement_list  go to state 2


State 1

    0 $accept: start • "end of file"

    "end of file"  shift, and go to state 3


State 2

    1 start: top_statement_list •
   84 top_statement_list: top_statement_list • top_statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'const'"                  shift, and go to state 43
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'use'"                    shift, and go to state 47
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 56
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'namespace'"              shift, and go to state 61
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 1 (start)

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 92
    attributed_statement             go to state 93
    top_statement                    go to state 94
    statement                        go to state 95
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 3

    0 $accept: start "end of file" •

    $default  accept


State 4

  414 expr: '+' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 132
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 5

  415 expr: '-' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 134
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 6

  416 expr: '!' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 135
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 7

  417 expr: '~' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 136
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 8

  442 expr: '@' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 137
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 9

  493 scalar: "integer" •

    $default  reduce using rule 493 (scalar)


State 10

  494 scalar: "floating-point number" •

    $default  reduce using rule 494 (scalar)


State 11

   92 name: "identifier" •
  171 statement: "identifier" • ':'

    ':'  shift, and go to state 138

    $default  reduce using rule 92 (name)


State 12

   94 name: "fully qualified name" •

    $default  reduce using rule 94 (name)


State 13

   95 name: "namespace-relative name" •

    $default  reduce using rule 95 (name)


State 14

   93 name: "namespaced name" •

    $default  reduce using rule 93 (name)


State 15

  534 simple_variable: "variable" •

    $default  reduce using rule 534 (simple_variable)


State 16

  161 statement: T_INLINE_HTML •

    $default  reduce using rule 161 (statement)


State 17

  491 dereferenceable_scalar: "quoted string" •

    $default  reduce using rule 491 (dereferenceable_scalar)


State 18

  582 internal_functions_in_yacc: "'include'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 139
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 19

  583 internal_functions_in_yacc: "'include_once'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 140
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 20

  584 internal_functions_in_yacc: "'eval'" • '(' expr ')'

    '('  shift, and go to state 141


State 21

  585 internal_functions_in_yacc: "'require'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 142
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 22

  586 internal_functions_in_yacc: "'require_once'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 143
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 23

  445 expr: "'print'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 144
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 24

  446 expr: "'yield'" •
  447     | "'yield'" • expr
  448     | "'yield'" • expr "'=>'" expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 446 (expr)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 145
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 25

  449 expr: "'yield from'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 146
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 26

  370 new_expr: "'new'" • class_name_reference ctor_arguments
  371         | "'new'" • anonymous_class
  372         | "'new'" • attributes anonymous_class

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "'static'"                 shift, and go to state 147
    "'class'"                  shift, and go to state 148
    "'#['"                     shift, and go to state 72
    '('                        shift, and go to state 149
    '$'                        shift, and go to state 89

    name                  go to state 150
    attribute             go to state 91
    attributes            go to state 151
    anonymous_class       go to state 152
    class_name            go to state 153
    class_name_reference  go to state 154
    simple_variable       go to state 155
    new_variable          go to state 156


State 27

  378 expr: "'clone'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 157
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 28

  441 expr: "'exit'" • exit_expr

    '('  shift, and go to state 158

    $default  reduce using rule 482 (exit_expr)

    exit_expr  go to state 159


State 29

  246 if_stmt_without_else: "'if'" • '(' expr ')' statement
  250 alt_if_stmt_without_else: "'if'" • '(' expr ')' ':' inner_statement_list

    '('  shift, and go to state 160


State 30

  160 statement: "'echo'" • echo_expr_list ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    echo_expr_list                go to state 161
    echo_expr                     go to state 162
    new_expr                      go to state 108
    expr                          go to state 163
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 31

  152 statement: "'do'" • statement "'while'" '(' expr ')' ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 164
    match                         go to state 103
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 32

  151 statement: "'while'" • '(' expr ')' while_statement

    '('  shift, and go to state 165


State 33

  153 statement: "'for'" • '(' for_exprs ';' for_exprs ';' for_exprs ')' for_statement

    '('  shift, and go to state 166


State 34

  164 statement: "'foreach'" • '(' expr "'as'" foreach_variable ')' foreach_statement
  165          | "'foreach'" • '(' expr "'as'" foreach_variable "'=>'" foreach_variable ')' foreach_statement

    '('  shift, and go to state 167


State 35

  167 statement: "'declare'" • '(' const_list ')' $@3 declare_statement

    '('  shift, and go to state 168


State 36

  154 statement: "'switch'" • '(' expr ')' switch_case_list

    '('  shift, and go to state 169


State 37

  235 match: "'match'" • '(' expr ')' '{' match_arm_list '}'

    '('  shift, and go to state 170


State 38

  155 statement: "'break'" • optional_expr ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 512 (optional_expr)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 171
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    optional_expr                 go to state 172
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 39

  156 statement: "'continue'" • optional_expr ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 512 (optional_expr)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 171
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    optional_expr                 go to state 173
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 40

  170 statement: "'goto'" • "identifier" ';'

    "identifier"  shift, and go to state 174


State 41

  459 function: "'function'" •

    $default  reduce using rule 459 (function)


State 42

  458 fn: "'fn'" •

    $default  reduce using rule 458 (fn)


State 43

  121 top_statement: "'const'" • const_list ';'

    "identifier"  shift, and go to state 175

    const_list  go to state 176
    const_decl  go to state 177


State 44

  157 statement: "'return'" • optional_expr ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 512 (optional_expr)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 171
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    optional_expr                 go to state 178
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 45

  169 statement: "'try'" • '{' inner_statement_list '}' catch_list finally_statement

    '{'  shift, and go to state 179


State 46

  450 expr: "'throw'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 180
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 47

  117 top_statement: "'use'" • mixed_group_use_declaration ';'
  118              | "'use'" • use_type group_use_declaration ';'
  119              | "'use'" • use_declarations ';'
  120              | "'use'" • use_type use_declarations ';'

    "identifier"            shift, and go to state 181
    "fully qualified name"  shift, and go to state 182
    "namespaced name"       shift, and go to state 183
    "'function'"            shift, and go to state 184
    "'const'"               shift, and go to state 185

    namespace_name               go to state 186
    legacy_namespace_name        go to state 187
    use_type                     go to state 188
    mixed_group_use_declaration  go to state 189
    use_declarations             go to state 190
    use_declaration              go to state 191


State 48

  158 statement: "'global'" • global_var_list ';'

    "variable"  shift, and go to state 15
    '$'         shift, and go to state 89

    global_var_list  go to state 192
    global_var       go to state 193
    simple_variable  go to state 194


State 49

  159 statement: "'static'" • static_var_list ';'
  453 expr: "'static'" • inline_function
  477 class_name: "'static'" •

    "variable"    shift, and go to state 195
    "'function'"  shift, and go to state 41
    "'fn'"        shift, and go to state 42

    $default  reduce using rule 477 (class_name)

    static_var_list  go to state 196
    static_var       go to state 197
    inline_function  go to state 198
    fn               go to state 111
    function         go to state 133


State 50

  196 class_modifier: "'abstract'" •

    $default  reduce using rule 196 (class_modifier)


State 51

  197 class_modifier: "'final'" •

    $default  reduce using rule 197 (class_modifier)


State 52

  198 class_modifier: "'readonly'" •
  472 function_call: "'readonly'" • argument_list

    '('  shift, and go to state 199

    $default  reduce using rule 198 (class_modifier)

    argument_list  go to state 200


State 53

  163 statement: "'unset'" • '(' unset_variables possible_comma ')' ';'

    '('  shift, and go to state 201


State 54

  580 internal_functions_in_yacc: "'isset'" • '(' isset_variables possible_comma ')'

    '('  shift, and go to state 202


State 55

  581 internal_functions_in_yacc: "'empty'" • '(' expr ')'

    '('  shift, and go to state 203


State 56

  111 top_statement: "'__halt_compiler'" • '(' ')' ';'

    '('  shift, and go to state 204


State 57

  193 class_declaration_statement: "'class'" • @5 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 192 (@5)

    @5  go to state 205


State 58

  200 trait_declaration_statement: "'trait'" • @6 "identifier" backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 199 (@6)

    @6  go to state 206


State 59

  202 interface_declaration_statement: "'interface'" • @7 "identifier" interface_extends_list backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 201 (@7)

    @7  go to state 207


State 60

  204 enum_declaration_statement: "'enum'" • @8 "identifier" enum_backing_type implements_list backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 203 (@8)

    @8  go to state 208


State 61

  112 top_statement: "'namespace'" • namespace_declaration_name ';'
  114              | "'namespace'" • namespace_declaration_name $@1 '{' top_statement_list '}'
  116              | "'namespace'" • $@2 '{' top_statement_list '}'

    "identifier"       shift, and go to state 209
    "namespaced name"  shift, and go to state 210
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287

    $default  reduce using rule 115 ($@2)

    reserved_non_modifiers      go to state 288
    semi_reserved               go to state 289
    identifier                  go to state 290
    namespace_declaration_name  go to state 291
    $@2                         go to state 292


State 62

  374 expr: "'list'" • '(' array_pair_list ')' '=' expr

    '('  shift, and go to state 293


State 63

  489 dereferenceable_scalar: "'array'" • '(' array_pair_list ')'

    '('  shift, and go to state 294


State 64

  502 constant: "'__LINE__'" •

    $default  reduce using rule 502 (constant)


State 65

  503 constant: "'__FILE__'" •

    $default  reduce using rule 503 (constant)


State 66

  504 constant: "'__DIR__'" •

    $default  reduce using rule 504 (constant)


State 67

  509 constant: "'__CLASS__'" •

    $default  reduce using rule 509 (constant)


State 68

  505 constant: "'__TRAIT__'" •

    $default  reduce using rule 505 (constant)


State 69

  506 constant: "'__METHOD__'" •

    $default  reduce using rule 506 (constant)


State 70

  507 constant: "'__FUNCTION__'" •

    $default  reduce using rule 507 (constant)


State 71

  508 constant: "'__NAMESPACE__'" •

    $default  reduce using rule 508 (constant)


State 72

  100 attribute: "'#['" • attribute_group possible_comma ']'

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name             go to state 150
    attribute_decl   go to state 295
    attribute_group  go to state 296
    class_name       go to state 297


State 73

  393 expr: "'++'" • variable

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 303
    simple_variable               go to state 125
    static_member                 go to state 126


State 74

  395 expr: "'--'" • variable

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 304
    simple_variable               go to state 125
    static_member                 go to state 126


State 75

  434 expr: "'(int)'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 305
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 76

  435 expr: "'(double)'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 306
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 77

  436 expr: "'(string)'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 307
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 78

  437 expr: "'(array)'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 308
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 79

  438 expr: "'(object)'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 309
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 80

  439 expr: "'(bool)'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 310
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 81

  440 expr: "'(unset)'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 311
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 82

  495 scalar: "heredoc start" • "string content" "heredoc end"
  496       | "heredoc start" • "heredoc end"
  497       | "heredoc start" • encaps_list "heredoc end"

    "variable"        shift, and go to state 312
    "string content"  shift, and go to state 313
    "heredoc end"     shift, and go to state 314
    "'${'"            shift, and go to state 315
    "'{$'"            shift, and go to state 316

    encaps_list  go to state 317
    encaps_var   go to state 318


State 83

  428 expr: '(' • expr ')'
  516 fully_dereferenceable: '(' • expr ')'
  522 callable_expr: '(' • expr ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 319
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 84

  168 statement: ';' •

    $default  reduce using rule 168 (statement)


State 85

  148 statement: '{' • inner_statement_list '}'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 320


State 86

  375 expr: '[' • array_pair_list ']' '=' expr
  490 dereferenceable_scalar: '[' • array_pair_list ']'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    array_pair_list               go to state 327
    possible_array_pair           go to state 328
    non_empty_array_pair_list     go to state 329
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 87

  444 expr: '`' • backticks_expr '`'

    "variable"        shift, and go to state 312
    "string content"  shift, and go to state 331
    "'${'"            shift, and go to state 315
    "'{$'"            shift, and go to state 316

    $default  reduce using rule 484 (backticks_expr)

    backticks_expr  go to state 332
    encaps_list     go to state 333
    encaps_var      go to state 318


State 88

  492 dereferenceable_scalar: '"' • encaps_list '"'

    "variable"        shift, and go to state 312
    "string content"  shift, and go to state 334
    "'${'"            shift, and go to state 315
    "'{$'"            shift, and go to state 316

    encaps_list  go to state 335
    encaps_var   go to state 318


State 89

  535 simple_variable: '$' • '{' expr '}'
  536                | '$' • simple_variable

    "variable"  shift, and go to state 15
    '{'         shift, and go to state 336
    '$'         shift, and go to state 89

    simple_variable  go to state 337


State 90

  471 function_call: name • argument_list
  478 class_name: name •
  501 constant: name •

    '('  shift, and go to state 199

    "'::'"    reduce using rule 478 (class_name)
    $default  reduce using rule 501 (constant)

    argument_list  go to state 338


State 91

  101 attributes: attribute •

    $default  reduce using rule 101 (attributes)


State 92

  102 attributes: attributes • attribute
  110 top_statement: attributes • attributed_statement
  452 expr: attributes • inline_function
  454     | attributes • "'static'" inline_function

    "'function'"   shift, and go to state 41
    "'fn'"         shift, and go to state 42
    "'static'"     shift, and go to state 339
    "'abstract'"   shift, and go to state 50
    "'final'"      shift, and go to state 51
    "'readonly'"   shift, and go to state 340
    "'class'"      shift, and go to state 57
    "'trait'"      shift, and go to state 58
    "'interface'"  shift, and go to state 59
    "'enum'"       shift, and go to state 60
    "'#['"         shift, and go to state 72

    attribute                        go to state 341
    attributed_statement             go to state 342
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    inline_function                  go to state 343
    fn                               go to state 111
    function                         go to state 112


State 93

  109 top_statement: attributed_statement •

    $default  reduce using rule 109 (top_statement)


State 94

   84 top_statement_list: top_statement_list top_statement •

    $default  reduce using rule 84 (top_statement_list)


State 95

  108 top_statement: statement •

    $default  reduce using rule 108 (top_statement)


State 96

  103 attributed_statement: function_declaration_statement •

    $default  reduce using rule 103 (attributed_statement)


State 97

  104 attributed_statement: class_declaration_statement •

    $default  reduce using rule 104 (attributed_statement)


State 98

  191 class_declaration_statement: class_modifiers • "'class'" @4 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'
  195 class_modifiers: class_modifiers • class_modifier

    "'abstract'"  shift, and go to state 50
    "'final'"     shift, and go to state 51
    "'readonly'"  shift, and go to state 340
    "'class'"     shift, and go to state 344

    class_modifier  go to state 345


State 99

  194 class_modifiers: class_modifier •

    $default  reduce using rule 194 (class_modifiers)


State 100

  105 attributed_statement: trait_declaration_statement •

    $default  reduce using rule 105 (attributed_statement)


State 101

  106 attributed_statement: interface_declaration_statement •

    $default  reduce using rule 106 (attributed_statement)


State 102

  107 attributed_statement: enum_declaration_statement •

    $default  reduce using rule 107 (attributed_statement)


State 103

  455 expr: match •

    $default  reduce using rule 455 (expr)


State 104

  247 if_stmt_without_else: if_stmt_without_else • "'elseif'" '(' expr ')' statement
  248 if_stmt: if_stmt_without_else •
  249        | if_stmt_without_else • "'else'" statement

    "'elseif'"  shift, and go to state 346
    "'else'"    shift, and go to state 347

    $default  reduce using rule 248 (if_stmt)


State 105

  149 statement: if_stmt •

    $default  reduce using rule 149 (statement)


State 106

  251 alt_if_stmt_without_else: alt_if_stmt_without_else • "'elseif'" '(' expr ')' ':' inner_statement_list
  252 alt_if_stmt: alt_if_stmt_without_else • "'endif'" ';'
  253            | alt_if_stmt_without_else • "'else'" ':' inner_statement_list "'endif'" ';'

    "'elseif'"  shift, and go to state 348
    "'else'"    shift, and go to state 349
    "'endif'"   shift, and go to state 350


State 107

  150 statement: alt_if_stmt •

    $default  reduce using rule 150 (statement)


State 108

  429 expr: new_expr •

    $default  reduce using rule 429 (expr)


State 109

  162 statement: expr • ';'
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ';'             shift, and go to state 381


State 110

  451 expr: inline_function •

    $default  reduce using rule 451 (expr)


State 111

  457 inline_function: fn • returns_ref backup_doc_comment '(' parameter_list ')' return_type "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags

    "'&'"  shift, and go to state 323
    "amp"  shift, and go to state 324

    $default  reduce using rule 463 (returns_ref)

    ampersand    go to state 382
    returns_ref  go to state 383


State 112

  185 function_declaration_statement: function • returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags
  456 inline_function: function • returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    "'&'"  shift, and go to state 323
    "amp"  shift, and go to state 324

    $default  reduce using rule 463 (returns_ref)

    ampersand    go to state 382
    returns_ref  go to state 384


State 113

  529 callable_variable: function_call •

    $default  reduce using rule 529 (callable_variable)


State 114

  473 function_call: class_name • "'::'" member_name argument_list
  510 class_constant: class_name • "'::'" identifier
  537 static_member: class_name • "'::'" simple_variable

    "'::'"  shift, and go to state 385


State 115

  498 scalar: dereferenceable_scalar •
  517 fully_dereferenceable: dereferenceable_scalar •
  523 callable_expr: dereferenceable_scalar •

    "'->'"    reduce using rule 517 (fully_dereferenceable)
    "'?->'"   reduce using rule 517 (fully_dereferenceable)
    "'::'"    reduce using rule 517 (fully_dereferenceable)
    '('       reduce using rule 523 (callable_expr)
    '{'       reduce using rule 517 (fully_dereferenceable)
    '['       reduce using rule 517 (fully_dereferenceable)
    $default  reduce using rule 498 (scalar)


State 116

  443 expr: scalar •

    $default  reduce using rule 443 (expr)


State 117

  499 scalar: constant •
  520 array_object_dereferenceable: constant •

    "'->'"    reduce using rule 520 (array_object_dereferenceable)
    "'?->'"   reduce using rule 520 (array_object_dereferenceable)
    '{'       reduce using rule 520 (array_object_dereferenceable)
    '['       reduce using rule 520 (array_object_dereferenceable)
    $default  reduce using rule 499 (scalar)


State 118

  500 scalar: class_constant •
  518 fully_dereferenceable: class_constant •

    "'->'"    reduce using rule 518 (fully_dereferenceable)
    "'?->'"   reduce using rule 518 (fully_dereferenceable)
    "'::'"    reduce using rule 518 (fully_dereferenceable)
    '{'       reduce using rule 518 (fully_dereferenceable)
    '['       reduce using rule 518 (fully_dereferenceable)
    $default  reduce using rule 500 (scalar)


State 119

  474 function_call: variable_class_name • "'::'" member_name argument_list
  511 class_constant: variable_class_name • "'::'" identifier
  538 static_member: variable_class_name • "'::'" simple_variable

    "'::'"  shift, and go to state 386


State 120

  514 variable_class_name: fully_dereferenceable •
  519 array_object_dereferenceable: fully_dereferenceable •

    "'::'"    reduce using rule 514 (variable_class_name)
    $default  reduce using rule 519 (array_object_dereferenceable)


State 121

  525 callable_variable: array_object_dereferenceable • '[' optional_expr ']'
  526                  | array_object_dereferenceable • '{' expr '}'
  527                  | array_object_dereferenceable • "'->'" property_name argument_list
  528                  | array_object_dereferenceable • "'?->'" property_name argument_list
  532 variable: array_object_dereferenceable • "'->'" property_name
  533         | array_object_dereferenceable • "'?->'" property_name

    "'->'"   shift, and go to state 387
    "'?->'"  shift, and go to state 388
    '{'      shift, and go to state 389
    '['      shift, and go to state 390


State 122

  476 function_call: callable_expr • @10 argument_list

    $default  reduce using rule 475 (@10)

    @10  go to state 391


State 123

  521 callable_expr: callable_variable •
  530 variable: callable_variable •

    '('       reduce using rule 521 (callable_expr)
    $default  reduce using rule 530 (variable)


State 124

  373 expr: variable •
  376     | variable • '=' expr
  377     | variable • '=' ampersand variable
  379     | variable • "'+='" expr
  380     | variable • "'-='" expr
  381     | variable • "'*='" expr
  382     | variable • "'**='" expr
  383     | variable • "'/='" expr
  384     | variable • "'.='" expr
  385     | variable • "'%='" expr
  386     | variable • "'&='" expr
  387     | variable • "'|='" expr
  388     | variable • "'^='" expr
  389     | variable • "'<<='" expr
  390     | variable • "'>>='" expr
  391     | variable • "'??='" expr
  392     | variable • "'++'"
  394     | variable • "'--'"
  515 fully_dereferenceable: variable •

    '='      shift, and go to state 392
    "'+='"   shift, and go to state 393
    "'-='"   shift, and go to state 394
    "'*='"   shift, and go to state 395
    "'/='"   shift, and go to state 396
    "'.='"   shift, and go to state 397
    "'%='"   shift, and go to state 398
    "'&='"   shift, and go to state 399
    "'|='"   shift, and go to state 400
    "'^='"   shift, and go to state 401
    "'<<='"  shift, and go to state 402
    "'>>='"  shift, and go to state 403
    "'??='"  shift, and go to state 404
    "'++'"   shift, and go to state 405
    "'--'"   shift, and go to state 406
    "'**='"  shift, and go to state 407

    "'->'"    reduce using rule 515 (fully_dereferenceable)
    "'?->'"   reduce using rule 515 (fully_dereferenceable)
    "'::'"    reduce using rule 515 (fully_dereferenceable)
    '{'       reduce using rule 515 (fully_dereferenceable)
    '['       reduce using rule 515 (fully_dereferenceable)
    $default  reduce using rule 373 (expr)


State 125

  524 callable_variable: simple_variable •

    $default  reduce using rule 524 (callable_variable)


State 126

  531 variable: static_member •

    $default  reduce using rule 531 (variable)


State 127

  433 expr: internal_functions_in_yacc •

    $default  reduce using rule 433 (expr)


State 128

   92 name: "identifier" •

    $default  reduce using rule 92 (name)


State 129

  453 expr: "'static'" • inline_function
  477 class_name: "'static'" •

    "'function'"  shift, and go to state 41
    "'fn'"        shift, and go to state 42

    $default  reduce using rule 477 (class_name)

    inline_function  go to state 198
    fn               go to state 111
    function         go to state 133


State 130

  472 function_call: "'readonly'" • argument_list

    '('  shift, and go to state 199

    argument_list  go to state 200


State 131

  102 attributes: attributes • attribute
  452 expr: attributes • inline_function
  454     | attributes • "'static'" inline_function

    "'function'"  shift, and go to state 41
    "'fn'"        shift, and go to state 42
    "'static'"    shift, and go to state 339
    "'#['"        shift, and go to state 72

    attribute        go to state 341
    inline_function  go to state 343
    fn               go to state 111
    function         go to state 133


State 132

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  414     | '+' expr •
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    "'**'"  shift, and go to state 378

    $default  reduce using rule 414 (expr)


State 133

  456 inline_function: function • returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    "'&'"  shift, and go to state 323
    "amp"  shift, and go to state 324

    $default  reduce using rule 463 (returns_ref)

    ampersand    go to state 382
    returns_ref  go to state 408


State 134

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  415     | '-' expr •
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    "'**'"  shift, and go to state 378

    $default  reduce using rule 415 (expr)


State 135

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  416     | '!' expr •
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    "'instanceof'"  shift, and go to state 365
    "'**'"          shift, and go to state 378

    $default  reduce using rule 416 (expr)


State 136

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  417     | '~' expr •
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    "'**'"  shift, and go to state 378

    $default  reduce using rule 417 (expr)


State 137

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  442     | '@' expr •

    "'**'"  shift, and go to state 378

    $default  reduce using rule 442 (expr)


State 138

  171 statement: "identifier" ':' •

    $default  reduce using rule 171 (statement)


State 139

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  582 internal_functions_in_yacc: "'include'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 582 (internal_functions_in_yacc)


State 140

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  583 internal_functions_in_yacc: "'include_once'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 583 (internal_functions_in_yacc)


State 141

  584 internal_functions_in_yacc: "'eval'" '(' • expr ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 409
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 142

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  585 internal_functions_in_yacc: "'require'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 585 (internal_functions_in_yacc)


State 143

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  586 internal_functions_in_yacc: "'require_once'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 586 (internal_functions_in_yacc)


State 144

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  445     | "'print'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 445 (expr)


State 145

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  447     | "'yield'" expr •
  448     | "'yield'" expr • "'=>'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'=>'"          shift, and go to state 410
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 447 (expr)


State 146

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  449     | "'yield from'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 449 (expr)


State 147

  477 class_name: "'static'" •

    $default  reduce using rule 477 (class_name)


State 148

  369 anonymous_class: "'class'" • @9 ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 368 (@9)

    @9  go to state 411


State 149

  481 class_name_reference: '(' • expr ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 412
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 150

  478 class_name: name •

    $default  reduce using rule 478 (class_name)


State 151

  102 attributes: attributes • attribute
  372 new_expr: "'new'" attributes • anonymous_class

    "'class'"  shift, and go to state 148
    "'#['"     shift, and go to state 72

    attribute        go to state 341
    anonymous_class  go to state 413


State 152

  371 new_expr: "'new'" anonymous_class •

    $default  reduce using rule 371 (new_expr)


State 153

  479 class_name_reference: class_name •
  544 new_variable: class_name • "'::'" simple_variable

    "'::'"  shift, and go to state 414

    $default  reduce using rule 479 (class_name_reference)


State 154

  370 new_expr: "'new'" class_name_reference • ctor_arguments

    '('  shift, and go to state 199

    $default  reduce using rule 487 (ctor_arguments)

    argument_list   go to state 415
    ctor_arguments  go to state 416


State 155

  539 new_variable: simple_variable •

    $default  reduce using rule 539 (new_variable)


State 156

  480 class_name_reference: new_variable •
  540 new_variable: new_variable • '[' optional_expr ']'
  541             | new_variable • '{' expr '}'
  542             | new_variable • "'->'" property_name
  543             | new_variable • "'?->'" property_name
  545             | new_variable • "'::'" simple_variable

    "'->'"   shift, and go to state 417
    "'?->'"  shift, and go to state 418
    "'::'"   shift, and go to state 419
    '{'      shift, and go to state 420
    '['      shift, and go to state 421

    $default  reduce using rule 480 (class_name_reference)


State 157

  378 expr: "'clone'" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    $default  reduce using rule 378 (expr)


State 158

  483 exit_expr: '(' • optional_expr ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 512 (optional_expr)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 171
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    optional_expr                 go to state 422
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 159

  441 expr: "'exit'" exit_expr •

    $default  reduce using rule 441 (expr)


State 160

  246 if_stmt_without_else: "'if'" '(' • expr ')' statement
  250 alt_if_stmt_without_else: "'if'" '(' • expr ')' ':' inner_statement_list

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 423
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 161

  160 statement: "'echo'" echo_expr_list • ';'
  361 echo_expr_list: echo_expr_list • ',' echo_expr

    ','  shift, and go to state 424
    ';'  shift, and go to state 425


State 162

  362 echo_expr_list: echo_expr •

    $default  reduce using rule 362 (echo_expr_list)


State 163

  363 echo_expr: expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 363 (echo_expr)


State 164

  152 statement: "'do'" statement • "'while'" '(' expr ')' ';'

    "'while'"  shift, and go to state 426


State 165

  151 statement: "'while'" '(' • expr ')' while_statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 427
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 166

  153 statement: "'for'" '(' • for_exprs ';' for_exprs ';' for_exprs ')' for_statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 364 (for_exprs)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    for_exprs                     go to state 428
    non_empty_for_exprs           go to state 429
    new_expr                      go to state 108
    expr                          go to state 430
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 167

  164 statement: "'foreach'" '(' • expr "'as'" foreach_variable ')' foreach_statement
  165          | "'foreach'" '(' • expr "'as'" foreach_variable "'=>'" foreach_variable ')' foreach_statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 431
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 168

  167 statement: "'declare'" '(' • const_list ')' $@3 declare_statement

    "identifier"  shift, and go to state 175

    const_list  go to state 432
    const_decl  go to state 177


State 169

  154 statement: "'switch'" '(' • expr ')' switch_case_list

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 433
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 170

  235 match: "'match'" '(' • expr ')' '{' match_arm_list '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 434
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 171

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  513 optional_expr: expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 513 (optional_expr)


State 172

  155 statement: "'break'" optional_expr • ';'

    ';'  shift, and go to state 435


State 173

  156 statement: "'continue'" optional_expr • ';'

    ';'  shift, and go to state 436


State 174

  170 statement: "'goto'" "identifier" • ';'

    ';'  shift, and go to state 437


State 175

  360 const_decl: "identifier" • '=' expr backup_doc_comment

    '='  shift, and go to state 438


State 176

  121 top_statement: "'const'" const_list • ';'
  140 const_list: const_list • ',' const_decl

    ','  shift, and go to state 439
    ';'  shift, and go to state 440


State 177

  141 const_list: const_decl •

    $default  reduce using rule 141 (const_list)


State 178

  157 statement: "'return'" optional_expr • ';'

    ';'  shift, and go to state 441


State 179

  169 statement: "'try'" '{' • inner_statement_list '}' catch_list finally_statement

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 442


State 180

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  450     | "'throw'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 450 (expr)


State 181

   88 namespace_name: "identifier" •

    $default  reduce using rule 88 (namespace_name)


State 182

   91 legacy_namespace_name: "fully qualified name" •

    $default  reduce using rule 91 (legacy_namespace_name)


State 183

   89 namespace_name: "namespaced name" •

    $default  reduce using rule 89 (namespace_name)


State 184

  122 use_type: "'function'" •

    $default  reduce using rule 122 (use_type)


State 185

  123 use_type: "'const'" •

    $default  reduce using rule 123 (use_type)


State 186

   90 legacy_namespace_name: namespace_name •

    $default  reduce using rule 90 (legacy_namespace_name)


State 187

  125 mixed_group_use_declaration: legacy_namespace_name • "'\\'" '{' inline_use_declarations possible_comma '}'
  138 use_declaration: legacy_namespace_name •
  139                | legacy_namespace_name • "'as'" "identifier"

    "'as'"  shift, and go to state 443
    "'\\'"  shift, and go to state 444

    $default  reduce using rule 138 (use_declaration)


State 188

  118 top_statement: "'use'" use_type • group_use_declaration ';'
  120              | "'use'" use_type • use_declarations ';'

    "identifier"            shift, and go to state 181
    "fully qualified name"  shift, and go to state 182
    "namespaced name"       shift, and go to state 183

    namespace_name         go to state 186
    legacy_namespace_name  go to state 445
    group_use_declaration  go to state 446
    use_declarations       go to state 447
    use_declaration        go to state 191


State 189

  117 top_statement: "'use'" mixed_group_use_declaration • ';'

    ';'  shift, and go to state 448


State 190

  119 top_statement: "'use'" use_declarations • ';'
  132 use_declarations: use_declarations • ',' use_declaration

    ','  shift, and go to state 449
    ';'  shift, and go to state 450


State 191

  133 use_declarations: use_declaration •

    $default  reduce using rule 133 (use_declarations)


State 192

  158 statement: "'global'" global_var_list • ';'
  305 global_var_list: global_var_list • ',' global_var

    ','  shift, and go to state 451
    ';'  shift, and go to state 452


State 193

  306 global_var_list: global_var •

    $default  reduce using rule 306 (global_var_list)


State 194

  307 global_var: simple_variable •

    $default  reduce using rule 307 (global_var)


State 195

  310 static_var: "variable" •
  311           | "variable" • '=' expr

    '='  shift, and go to state 453

    $default  reduce using rule 310 (static_var)


State 196

  159 statement: "'static'" static_var_list • ';'
  308 static_var_list: static_var_list • ',' static_var

    ','  shift, and go to state 454
    ';'  shift, and go to state 455


State 197

  309 static_var_list: static_var •

    $default  reduce using rule 309 (static_var_list)


State 198

  453 expr: "'static'" inline_function •

    $default  reduce using rule 453 (expr)


State 199

  297 argument_list: '(' • ')'
  298              | '(' • non_empty_argument_list possible_comma ')'
  299              | '(' • "'...'" ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 456
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 457
    "'include_once'"           shift, and go to state 458
    "'eval'"                   shift, and go to state 459
    "'require'"                shift, and go to state 460
    "'require_once'"           shift, and go to state 461
    "'or'"                     shift, and go to state 216
    "'xor'"                    shift, and go to state 217
    "'and'"                    shift, and go to state 218
    "'print'"                  shift, and go to state 462
    "'yield'"                  shift, and go to state 463
    "'yield from'"             shift, and go to state 25
    "'instanceof'"             shift, and go to state 221
    "'new'"                    shift, and go to state 464
    "'clone'"                  shift, and go to state 465
    "'exit'"                   shift, and go to state 466
    "'if'"                     shift, and go to state 225
    "'elseif'"                 shift, and go to state 226
    "'else'"                   shift, and go to state 227
    "'endif'"                  shift, and go to state 228
    "'echo'"                   shift, and go to state 229
    "'do'"                     shift, and go to state 230
    "'while'"                  shift, and go to state 231
    "'endwhile'"               shift, and go to state 232
    "'for'"                    shift, and go to state 233
    "'endfor'"                 shift, and go to state 234
    "'foreach'"                shift, and go to state 235
    "'endforeach'"             shift, and go to state 236
    "'declare'"                shift, and go to state 237
    "'enddeclare'"             shift, and go to state 238
    "'as'"                     shift, and go to state 239
    "'switch'"                 shift, and go to state 240
    "'endswitch'"              shift, and go to state 241
    "'case'"                   shift, and go to state 242
    "'default'"                shift, and go to state 243
    "'match'"                  shift, and go to state 467
    "'break'"                  shift, and go to state 245
    "'continue'"               shift, and go to state 246
    "'goto'"                   shift, and go to state 247
    "'function'"               shift, and go to state 468
    "'fn'"                     shift, and go to state 469
    "'const'"                  shift, and go to state 250
    "'return'"                 shift, and go to state 251
    "'try'"                    shift, and go to state 252
    "'catch'"                  shift, and go to state 253
    "'finally'"                shift, and go to state 254
    "'throw'"                  shift, and go to state 470
    "'use'"                    shift, and go to state 256
    "'insteadof'"              shift, and go to state 257
    "'global'"                 shift, and go to state 258
    "'static'"                 shift, and go to state 471
    "'abstract'"               shift, and go to state 260
    "'final'"                  shift, and go to state 261
    "'private'"                shift, and go to state 262
    "'protected'"              shift, and go to state 263
    "'public'"                 shift, and go to state 264
    "'readonly'"               shift, and go to state 472
    "'var'"                    shift, and go to state 266
    "'unset'"                  shift, and go to state 267
    "'isset'"                  shift, and go to state 473
    "'empty'"                  shift, and go to state 474
    "'class'"                  shift, and go to state 270
    "'trait'"                  shift, and go to state 271
    "'interface'"              shift, and go to state 272
    "'enum'"                   shift, and go to state 273
    "'extends'"                shift, and go to state 274
    "'implements'"             shift, and go to state 275
    "'namespace'"              shift, and go to state 276
    "'list'"                   shift, and go to state 475
    "'array'"                  shift, and go to state 476
    "'callable'"               shift, and go to state 279
    "'__LINE__'"               shift, and go to state 477
    "'__FILE__'"               shift, and go to state 478
    "'__DIR__'"                shift, and go to state 479
    "'__CLASS__'"              shift, and go to state 480
    "'__TRAIT__'"              shift, and go to state 481
    "'__METHOD__'"             shift, and go to state 482
    "'__FUNCTION__'"           shift, and go to state 483
    "'__NAMESPACE__'"          shift, and go to state 484
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 485
    '('                        shift, and go to state 83
    ')'                        shift, and go to state 486
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    reserved_non_modifiers        go to state 288
    semi_reserved                 go to state 289
    identifier                    go to state 487
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    non_empty_argument_list       go to state 488
    argument                      go to state 489
    new_expr                      go to state 108
    expr                          go to state 490
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 200

  472 function_call: "'readonly'" argument_list •

    $default  reduce using rule 472 (function_call)


State 201

  163 statement: "'unset'" '(' • unset_variables possible_comma ')' ';'

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    unset_variables               go to state 491
    unset_variable                go to state 492
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 493
    simple_variable               go to state 125
    static_member                 go to state 126


State 202

  580 internal_functions_in_yacc: "'isset'" '(' • isset_variables possible_comma ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 494
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127
    isset_variables               go to state 495
    isset_variable                go to state 496


State 203

  581 internal_functions_in_yacc: "'empty'" '(' • expr ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 497
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 204

  111 top_statement: "'__halt_compiler'" '(' • ')' ';'

    ')'  shift, and go to state 498


State 205

  193 class_declaration_statement: "'class'" @5 • "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    "identifier"  shift, and go to state 499


State 206

  200 trait_declaration_statement: "'trait'" @6 • "identifier" backup_doc_comment '{' class_statement_list '}'

    "identifier"  shift, and go to state 500


State 207

  202 interface_declaration_statement: "'interface'" @7 • "identifier" interface_extends_list backup_doc_comment '{' class_statement_list '}'

    "identifier"  shift, and go to state 501


State 208

  204 enum_declaration_statement: "'enum'" @8 • "identifier" enum_backing_type implements_list backup_doc_comment '{' class_statement_list '}'

    "identifier"  shift, and go to state 502


State 209

   82 identifier: "identifier" •

    $default  reduce using rule 82 (identifier)


State 210

   87 namespace_declaration_name: "namespaced name" •

    $default  reduce using rule 87 (namespace_declaration_name)


State 211

    2 reserved_non_modifiers: "'include'" •

    $default  reduce using rule 2 (reserved_non_modifiers)


State 212

    3 reserved_non_modifiers: "'include_once'" •

    $default  reduce using rule 3 (reserved_non_modifiers)


State 213

    4 reserved_non_modifiers: "'eval'" •

    $default  reduce using rule 4 (reserved_non_modifiers)


State 214

    5 reserved_non_modifiers: "'require'" •

    $default  reduce using rule 5 (reserved_non_modifiers)


State 215

    6 reserved_non_modifiers: "'require_once'" •

    $default  reduce using rule 6 (reserved_non_modifiers)


State 216

    7 reserved_non_modifiers: "'or'" •

    $default  reduce using rule 7 (reserved_non_modifiers)


State 217

    8 reserved_non_modifiers: "'xor'" •

    $default  reduce using rule 8 (reserved_non_modifiers)


State 218

    9 reserved_non_modifiers: "'and'" •

    $default  reduce using rule 9 (reserved_non_modifiers)


State 219

   45 reserved_non_modifiers: "'print'" •

    $default  reduce using rule 45 (reserved_non_modifiers)


State 220

   46 reserved_non_modifiers: "'yield'" •

    $default  reduce using rule 46 (reserved_non_modifiers)


State 221

   10 reserved_non_modifiers: "'instanceof'" •

    $default  reduce using rule 10 (reserved_non_modifiers)


State 222

   11 reserved_non_modifiers: "'new'" •

    $default  reduce using rule 11 (reserved_non_modifiers)


State 223

   12 reserved_non_modifiers: "'clone'" •

    $default  reduce using rule 12 (reserved_non_modifiers)


State 224

   13 reserved_non_modifiers: "'exit'" •

    $default  reduce using rule 13 (reserved_non_modifiers)


State 225

   14 reserved_non_modifiers: "'if'" •

    $default  reduce using rule 14 (reserved_non_modifiers)


State 226

   15 reserved_non_modifiers: "'elseif'" •

    $default  reduce using rule 15 (reserved_non_modifiers)


State 227

   16 reserved_non_modifiers: "'else'" •

    $default  reduce using rule 16 (reserved_non_modifiers)


State 228

   17 reserved_non_modifiers: "'endif'" •

    $default  reduce using rule 17 (reserved_non_modifiers)


State 229

   18 reserved_non_modifiers: "'echo'" •

    $default  reduce using rule 18 (reserved_non_modifiers)


State 230

   19 reserved_non_modifiers: "'do'" •

    $default  reduce using rule 19 (reserved_non_modifiers)


State 231

   20 reserved_non_modifiers: "'while'" •

    $default  reduce using rule 20 (reserved_non_modifiers)


State 232

   21 reserved_non_modifiers: "'endwhile'" •

    $default  reduce using rule 21 (reserved_non_modifiers)


State 233

   22 reserved_non_modifiers: "'for'" •

    $default  reduce using rule 22 (reserved_non_modifiers)


State 234

   23 reserved_non_modifiers: "'endfor'" •

    $default  reduce using rule 23 (reserved_non_modifiers)


State 235

   24 reserved_non_modifiers: "'foreach'" •

    $default  reduce using rule 24 (reserved_non_modifiers)


State 236

   25 reserved_non_modifiers: "'endforeach'" •

    $default  reduce using rule 25 (reserved_non_modifiers)


State 237

   26 reserved_non_modifiers: "'declare'" •

    $default  reduce using rule 26 (reserved_non_modifiers)


State 238

   27 reserved_non_modifiers: "'enddeclare'" •

    $default  reduce using rule 27 (reserved_non_modifiers)


State 239

   28 reserved_non_modifiers: "'as'" •

    $default  reduce using rule 28 (reserved_non_modifiers)


State 240

   48 reserved_non_modifiers: "'switch'" •

    $default  reduce using rule 48 (reserved_non_modifiers)


State 241

   49 reserved_non_modifiers: "'endswitch'" •

    $default  reduce using rule 49 (reserved_non_modifiers)


State 242

   50 reserved_non_modifiers: "'case'" •

    $default  reduce using rule 50 (reserved_non_modifiers)


State 243

   51 reserved_non_modifiers: "'default'" •

    $default  reduce using rule 51 (reserved_non_modifiers)


State 244

   70 reserved_non_modifiers: "'match'" •

    $default  reduce using rule 70 (reserved_non_modifiers)


State 245

   52 reserved_non_modifiers: "'break'" •

    $default  reduce using rule 52 (reserved_non_modifiers)


State 246

   40 reserved_non_modifiers: "'continue'" •

    $default  reduce using rule 40 (reserved_non_modifiers)


State 247

   41 reserved_non_modifiers: "'goto'" •

    $default  reduce using rule 41 (reserved_non_modifiers)


State 248

   42 reserved_non_modifiers: "'function'" •

    $default  reduce using rule 42 (reserved_non_modifiers)


State 249

   69 reserved_non_modifiers: "'fn'" •

    $default  reduce using rule 69 (reserved_non_modifiers)


State 250

   43 reserved_non_modifiers: "'const'" •

    $default  reduce using rule 43 (reserved_non_modifiers)


State 251

   44 reserved_non_modifiers: "'return'" •

    $default  reduce using rule 44 (reserved_non_modifiers)


State 252

   29 reserved_non_modifiers: "'try'" •

    $default  reduce using rule 29 (reserved_non_modifiers)


State 253

   30 reserved_non_modifiers: "'catch'" •

    $default  reduce using rule 30 (reserved_non_modifiers)


State 254

   31 reserved_non_modifiers: "'finally'" •

    $default  reduce using rule 31 (reserved_non_modifiers)


State 255

   32 reserved_non_modifiers: "'throw'" •

    $default  reduce using rule 32 (reserved_non_modifiers)


State 256

   33 reserved_non_modifiers: "'use'" •

    $default  reduce using rule 33 (reserved_non_modifiers)


State 257

   34 reserved_non_modifiers: "'insteadof'" •

    $default  reduce using rule 34 (reserved_non_modifiers)


State 258

   35 reserved_non_modifiers: "'global'" •

    $default  reduce using rule 35 (reserved_non_modifiers)


State 259

   73 semi_reserved: "'static'" •

    $default  reduce using rule 73 (semi_reserved)


State 260

   74 semi_reserved: "'abstract'" •

    $default  reduce using rule 74 (semi_reserved)


State 261

   75 semi_reserved: "'final'" •

    $default  reduce using rule 75 (semi_reserved)


State 262

   76 semi_reserved: "'private'" •

    $default  reduce using rule 76 (semi_reserved)


State 263

   77 semi_reserved: "'protected'" •

    $default  reduce using rule 77 (semi_reserved)


State 264

   78 semi_reserved: "'public'" •

    $default  reduce using rule 78 (semi_reserved)


State 265

   79 semi_reserved: "'readonly'" •

    $default  reduce using rule 79 (semi_reserved)


State 266

   36 reserved_non_modifiers: "'var'" •

    $default  reduce using rule 36 (reserved_non_modifiers)


State 267

   37 reserved_non_modifiers: "'unset'" •

    $default  reduce using rule 37 (reserved_non_modifiers)


State 268

   38 reserved_non_modifiers: "'isset'" •

    $default  reduce using rule 38 (reserved_non_modifiers)


State 269

   39 reserved_non_modifiers: "'empty'" •

    $default  reduce using rule 39 (reserved_non_modifiers)


State 270

   60 reserved_non_modifiers: "'class'" •

    $default  reduce using rule 60 (reserved_non_modifiers)


State 271

   58 reserved_non_modifiers: "'trait'" •

    $default  reduce using rule 58 (reserved_non_modifiers)


State 272

   59 reserved_non_modifiers: "'interface'" •

    $default  reduce using rule 59 (reserved_non_modifiers)


State 273

   71 reserved_non_modifiers: "'enum'" •

    $default  reduce using rule 71 (reserved_non_modifiers)


State 274

   55 reserved_non_modifiers: "'extends'" •

    $default  reduce using rule 55 (reserved_non_modifiers)


State 275

   56 reserved_non_modifiers: "'implements'" •

    $default  reduce using rule 56 (reserved_non_modifiers)


State 276

   57 reserved_non_modifiers: "'namespace'" •

    $default  reduce using rule 57 (reserved_non_modifiers)


State 277

   47 reserved_non_modifiers: "'list'" •

    $default  reduce using rule 47 (reserved_non_modifiers)


State 278

   53 reserved_non_modifiers: "'array'" •

    $default  reduce using rule 53 (reserved_non_modifiers)


State 279

   54 reserved_non_modifiers: "'callable'" •

    $default  reduce using rule 54 (reserved_non_modifiers)


State 280

   65 reserved_non_modifiers: "'__LINE__'" •

    $default  reduce using rule 65 (reserved_non_modifiers)


State 281

   66 reserved_non_modifiers: "'__FILE__'" •

    $default  reduce using rule 66 (reserved_non_modifiers)


State 282

   67 reserved_non_modifiers: "'__DIR__'" •

    $default  reduce using rule 67 (reserved_non_modifiers)


State 283

   61 reserved_non_modifiers: "'__CLASS__'" •

    $default  reduce using rule 61 (reserved_non_modifiers)


State 284

   62 reserved_non_modifiers: "'__TRAIT__'" •

    $default  reduce using rule 62 (reserved_non_modifiers)


State 285

   64 reserved_non_modifiers: "'__METHOD__'" •

    $default  reduce using rule 64 (reserved_non_modifiers)


State 286

   63 reserved_non_modifiers: "'__FUNCTION__'" •

    $default  reduce using rule 63 (reserved_non_modifiers)


State 287

   68 reserved_non_modifiers: "'__NAMESPACE__'" •

    $default  reduce using rule 68 (reserved_non_modifiers)


State 288

   72 semi_reserved: reserved_non_modifiers •

    $default  reduce using rule 72 (semi_reserved)


State 289

   83 identifier: semi_reserved •

    $default  reduce using rule 83 (identifier)


State 290

   86 namespace_declaration_name: identifier •

    $default  reduce using rule 86 (namespace_declaration_name)


State 291

  112 top_statement: "'namespace'" namespace_declaration_name • ';'
  114              | "'namespace'" namespace_declaration_name • $@1 '{' top_statement_list '}'

    ';'  shift, and go to state 503

    $default  reduce using rule 113 ($@1)

    $@1  go to state 504


State 292

  116 top_statement: "'namespace'" $@2 • '{' top_statement_list '}'

    '{'  shift, and go to state 505


State 293

  374 expr: "'list'" '(' • array_pair_list ')' '=' expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    array_pair_list               go to state 506
    possible_array_pair           go to state 328
    non_empty_array_pair_list     go to state 329
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 294

  489 dereferenceable_scalar: "'array'" '(' • array_pair_list ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    array_pair_list               go to state 507
    possible_array_pair           go to state 328
    non_empty_array_pair_list     go to state 329
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 295

   98 attribute_group: attribute_decl •

    $default  reduce using rule 98 (attribute_group)


State 296

   99 attribute_group: attribute_group • ',' attribute_decl
  100 attribute: "'#['" attribute_group • possible_comma ']'

    ','  shift, and go to state 508

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 509


State 297

   96 attribute_decl: class_name •
   97               | class_name • argument_list

    '('  shift, and go to state 199

    $default  reduce using rule 96 (attribute_decl)

    argument_list  go to state 510


State 298

  516 fully_dereferenceable: '(' • expr ')'
  522 callable_expr: '(' • expr ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 511
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 299

  490 dereferenceable_scalar: '[' • array_pair_list ']'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    array_pair_list               go to state 512
    possible_array_pair           go to state 328
    non_empty_array_pair_list     go to state 329
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 300

  517 fully_dereferenceable: dereferenceable_scalar •
  523 callable_expr: dereferenceable_scalar •

    '('       reduce using rule 523 (callable_expr)
    $default  reduce using rule 517 (fully_dereferenceable)


State 301

  520 array_object_dereferenceable: constant •

    $default  reduce using rule 520 (array_object_dereferenceable)


State 302

  518 fully_dereferenceable: class_constant •

    $default  reduce using rule 518 (fully_dereferenceable)


State 303

  393 expr: "'++'" variable •
  515 fully_dereferenceable: variable •

    "'->'"    reduce using rule 515 (fully_dereferenceable)
    "'?->'"   reduce using rule 515 (fully_dereferenceable)
    "'::'"    reduce using rule 515 (fully_dereferenceable)
    '{'       reduce using rule 515 (fully_dereferenceable)
    '['       reduce using rule 515 (fully_dereferenceable)
    $default  reduce using rule 393 (expr)


State 304

  395 expr: "'--'" variable •
  515 fully_dereferenceable: variable •

    "'->'"    reduce using rule 515 (fully_dereferenceable)
    "'?->'"   reduce using rule 515 (fully_dereferenceable)
    "'::'"    reduce using rule 515 (fully_dereferenceable)
    '{'       reduce using rule 515 (fully_dereferenceable)
    '['       reduce using rule 515 (fully_dereferenceable)
    $default  reduce using rule 395 (expr)


State 305

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  434     | "'(int)'" expr •

    "'**'"  shift, and go to state 378

    $default  reduce using rule 434 (expr)


State 306

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  435     | "'(double)'" expr •

    "'**'"  shift, and go to state 378

    $default  reduce using rule 435 (expr)


State 307

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  436     | "'(string)'" expr •

    "'**'"  shift, and go to state 378

    $default  reduce using rule 436 (expr)


State 308

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  437     | "'(array)'" expr •

    "'**'"  shift, and go to state 378

    $default  reduce using rule 437 (expr)


State 309

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  438     | "'(object)'" expr •

    "'**'"  shift, and go to state 378

    $default  reduce using rule 438 (expr)


State 310

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  439     | "'(bool)'" expr •

    "'**'"  shift, and go to state 378

    $default  reduce using rule 439 (expr)


State 311

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  440     | "'(unset)'" expr •

    "'**'"  shift, and go to state 378

    $default  reduce using rule 440 (expr)


State 312

  568 encaps_var: "variable" •
  569           | "variable" • '[' encaps_var_offset ']'
  570           | "variable" • "'->'" "identifier"
  571           | "variable" • "'?->'" "identifier"

    "'->'"   shift, and go to state 513
    "'?->'"  shift, and go to state 514
    '['      shift, and go to state 515

    $default  reduce using rule 568 (encaps_var)


State 313

  495 scalar: "heredoc start" "string content" • "heredoc end"
  567 encaps_list: "string content" • encaps_var

    "variable"     shift, and go to state 312
    "heredoc end"  shift, and go to state 516
    "'${'"         shift, and go to state 315
    "'{$'"         shift, and go to state 316

    encaps_var  go to state 517


State 314

  496 scalar: "heredoc start" "heredoc end" •

    $default  reduce using rule 496 (scalar)


State 315

  572 encaps_var: "'${'" • expr '}'
  573           | "'${'" • "variable name" '}'
  574           | "'${'" • "variable name" '[' expr ']' '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "variable name"            shift, and go to state 518
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 519
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 316

  575 encaps_var: "'{$'" • variable '}'

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 520
    simple_variable               go to state 125
    static_member                 go to state 126


State 317

  497 scalar: "heredoc start" encaps_list • "heredoc end"
  564 encaps_list: encaps_list • encaps_var
  565            | encaps_list • "string content"

    "variable"        shift, and go to state 312
    "string content"  shift, and go to state 521
    "heredoc end"     shift, and go to state 522
    "'${'"            shift, and go to state 315
    "'{$'"            shift, and go to state 316

    encaps_var  go to state 523


State 318

  566 encaps_list: encaps_var •

    $default  reduce using rule 566 (encaps_list)


State 319

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  428     | '(' expr • ')'
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  516 fully_dereferenceable: '(' expr • ')'
  522 callable_expr: '(' expr • ')'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 524


State 320

  142 inner_statement_list: inner_statement_list • inner_statement
  148 statement: '{' inner_statement_list • '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 526
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 321

  374 expr: "'list'" • '(' array_pair_list ')' '=' expr
  563 array_pair: "'list'" • '(' array_pair_list ')'

    '('  shift, and go to state 531


State 322

  561 array_pair: "'...'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 532
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 323

   80 ampersand: "'&'" •

    $default  reduce using rule 80 (ampersand)


State 324

   81 ampersand: "amp" •

    $default  reduce using rule 81 (ampersand)


State 325

  560 array_pair: ampersand • variable

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 533
    simple_variable               go to state 125
    static_member                 go to state 126


State 326

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  557 array_pair: expr • "'=>'" expr
  558           | expr •
  559           | expr • "'=>'" ampersand variable
  562           | expr • "'=>'" "'list'" '(' array_pair_list ')'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'=>'"          shift, and go to state 534
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 558 (array_pair)


State 327

  375 expr: '[' array_pair_list • ']' '=' expr
  490 dereferenceable_scalar: '[' array_pair_list • ']'

    ']'  shift, and go to state 535


State 328

  556 non_empty_array_pair_list: possible_array_pair •

    $default  reduce using rule 556 (non_empty_array_pair_list)


State 329

  552 array_pair_list: non_empty_array_pair_list •
  555 non_empty_array_pair_list: non_empty_array_pair_list • ',' possible_array_pair

    ','  shift, and go to state 536

    $default  reduce using rule 552 (array_pair_list)


State 330

  554 possible_array_pair: array_pair •

    $default  reduce using rule 554 (possible_array_pair)


State 331

  485 backticks_expr: "string content" •
  567 encaps_list: "string content" • encaps_var

    "variable"  shift, and go to state 312
    "'${'"      shift, and go to state 315
    "'{$'"      shift, and go to state 316

    $default  reduce using rule 485 (backticks_expr)

    encaps_var  go to state 517


State 332

  444 expr: '`' backticks_expr • '`'

    '`'  shift, and go to state 537


State 333

  486 backticks_expr: encaps_list •
  564 encaps_list: encaps_list • encaps_var
  565            | encaps_list • "string content"

    "variable"        shift, and go to state 312
    "string content"  shift, and go to state 521
    "'${'"            shift, and go to state 315
    "'{$'"            shift, and go to state 316

    $default  reduce using rule 486 (backticks_expr)

    encaps_var  go to state 523


State 334

  567 encaps_list: "string content" • encaps_var

    "variable"  shift, and go to state 312
    "'${'"      shift, and go to state 315
    "'{$'"      shift, and go to state 316

    encaps_var  go to state 517


State 335

  492 dereferenceable_scalar: '"' encaps_list • '"'
  564 encaps_list: encaps_list • encaps_var
  565            | encaps_list • "string content"

    "variable"        shift, and go to state 312
    "string content"  shift, and go to state 521
    "'${'"            shift, and go to state 315
    "'{$'"            shift, and go to state 316
    '"'               shift, and go to state 538

    encaps_var  go to state 523


State 336

  535 simple_variable: '$' '{' • expr '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 539
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 337

  536 simple_variable: '$' simple_variable •

    $default  reduce using rule 536 (simple_variable)


State 338

  471 function_call: name argument_list •

    $default  reduce using rule 471 (function_call)


State 339

  454 expr: attributes "'static'" • inline_function

    "'function'"  shift, and go to state 41
    "'fn'"        shift, and go to state 42

    inline_function  go to state 540
    fn               go to state 111
    function         go to state 133


State 340

  198 class_modifier: "'readonly'" •

    $default  reduce using rule 198 (class_modifier)


State 341

  102 attributes: attributes attribute •

    $default  reduce using rule 102 (attributes)


State 342

  110 top_statement: attributes attributed_statement •

    $default  reduce using rule 110 (top_statement)


State 343

  452 expr: attributes inline_function •

    $default  reduce using rule 452 (expr)


State 344

  191 class_declaration_statement: class_modifiers "'class'" • @4 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 190 (@4)

    @4  go to state 541


State 345

  195 class_modifiers: class_modifiers class_modifier •

    $default  reduce using rule 195 (class_modifiers)


State 346

  247 if_stmt_without_else: if_stmt_without_else "'elseif'" • '(' expr ')' statement

    '('  shift, and go to state 542


State 347

  249 if_stmt: if_stmt_without_else "'else'" • statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 543
    match                         go to state 103
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 348

  251 alt_if_stmt_without_else: alt_if_stmt_without_else "'elseif'" • '(' expr ')' ':' inner_statement_list

    '('  shift, and go to state 544


State 349

  253 alt_if_stmt: alt_if_stmt_without_else "'else'" • ':' inner_statement_list "'endif'" ';'

    ':'  shift, and go to state 545


State 350

  252 alt_if_stmt: alt_if_stmt_without_else "'endif'" • ';'

    ';'  shift, and go to state 546


State 351

  430 expr: expr '?' • expr ':' expr
  431     | expr '?' • ':' expr

    ':'                        shift, and go to state 547
    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 548
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 352

  401 expr: expr '|' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 549
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 353

  404 expr: expr '^' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 550
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 354

  422 expr: expr '<' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 551
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 355

  424 expr: expr '>' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 552
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 356

  405 expr: expr '.' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 553
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 357

  406 expr: expr '+' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 554
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 358

  407 expr: expr '-' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 555
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 359

  408 expr: expr '*' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 556
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 360

  410 expr: expr '/' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 557
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 361

  411 expr: expr '%' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 558
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 362

  398 expr: expr "'or'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 559
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 363

  400 expr: expr "'xor'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 560
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 364

  399 expr: expr "'and'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 561
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 365

  427 expr: expr "'instanceof'" • class_name_reference

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "'static'"                 shift, and go to state 147
    '('                        shift, and go to state 149
    '$'                        shift, and go to state 89

    name                  go to state 150
    class_name            go to state 153
    class_name_reference  go to state 562
    simple_variable       go to state 155
    new_variable          go to state 156


State 366

  396 expr: expr "'||'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 563
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 367

  397 expr: expr "'&&'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 564
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 368

  420 expr: expr "'=='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 565
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 369

  421 expr: expr "'!='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 566
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 370

  418 expr: expr "'==='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 567
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 371

  419 expr: expr "'!=='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 568
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 372

  423 expr: expr "'<='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 569
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 373

  425 expr: expr "'>='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 570
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 374

  426 expr: expr "'<=>'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 571
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 375

  412 expr: expr "'<<'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 572
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 376

  413 expr: expr "'>>'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 573
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 377

  432 expr: expr "'??'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 574
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 378

  409 expr: expr "'**'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 575
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 379

  403 expr: expr "'&'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 576
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 380

  402 expr: expr "amp" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 577
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 381

  162 statement: expr ';' •

    $default  reduce using rule 162 (statement)


State 382

  464 returns_ref: ampersand •

    $default  reduce using rule 464 (returns_ref)


State 383

  457 inline_function: fn returns_ref • backup_doc_comment '(' parameter_list ')' return_type "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 578


State 384

  185 function_declaration_statement: function returns_ref • function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags
  456 inline_function: function returns_ref • backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    "identifier"  shift, and go to state 579
    "'readonly'"  shift, and go to state 580

    $default  reduce using rule 460 (backup_doc_comment)

    function_name       go to state 581
    backup_doc_comment  go to state 582


State 385

  473 function_call: class_name "'::'" • member_name argument_list
  510 class_constant: class_name "'::'" • identifier
  537 static_member: class_name "'::'" • simple_variable

    "identifier"       shift, and go to state 209
    "variable"         shift, and go to state 15
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287
    '{'                shift, and go to state 583
    '$'                shift, and go to state 89

    reserved_non_modifiers  go to state 288
    semi_reserved           go to state 289
    identifier              go to state 584
    simple_variable         go to state 585
    member_name             go to state 586


State 386

  474 function_call: variable_class_name "'::'" • member_name argument_list
  511 class_constant: variable_class_name "'::'" • identifier
  538 static_member: variable_class_name "'::'" • simple_variable

    "identifier"       shift, and go to state 209
    "variable"         shift, and go to state 15
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287
    '{'                shift, and go to state 583
    '$'                shift, and go to state 89

    reserved_non_modifiers  go to state 288
    semi_reserved           go to state 289
    identifier              go to state 587
    simple_variable         go to state 588
    member_name             go to state 589


State 387

  527 callable_variable: array_object_dereferenceable "'->'" • property_name argument_list
  532 variable: array_object_dereferenceable "'->'" • property_name

    "identifier"  shift, and go to state 590
    "variable"    shift, and go to state 15
    '{'           shift, and go to state 591
    '$'           shift, and go to state 89

    simple_variable  go to state 592
    property_name    go to state 593


State 388

  528 callable_variable: array_object_dereferenceable "'?->'" • property_name argument_list
  533 variable: array_object_dereferenceable "'?->'" • property_name

    "identifier"  shift, and go to state 590
    "variable"    shift, and go to state 15
    '{'           shift, and go to state 591
    '$'           shift, and go to state 89

    simple_variable  go to state 592
    property_name    go to state 594


State 389

  526 callable_variable: array_object_dereferenceable '{' • expr '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 595
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 390

  525 callable_variable: array_object_dereferenceable '[' • optional_expr ']'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 512 (optional_expr)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 171
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    optional_expr                 go to state 596
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 391

  476 function_call: callable_expr @10 • argument_list

    '('  shift, and go to state 199

    argument_list  go to state 597


State 392

  376 expr: variable '=' • expr
  377     | variable '=' • ampersand variable

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    ampersand                     go to state 598
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 599
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 393

  379 expr: variable "'+='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 600
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 394

  380 expr: variable "'-='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 601
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 395

  381 expr: variable "'*='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 602
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 396

  383 expr: variable "'/='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 603
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 397

  384 expr: variable "'.='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 604
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 398

  385 expr: variable "'%='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 605
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 399

  386 expr: variable "'&='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 606
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 400

  387 expr: variable "'|='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 607
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 401

  388 expr: variable "'^='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 608
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 402

  389 expr: variable "'<<='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 609
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 403

  390 expr: variable "'>>='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 610
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 404

  391 expr: variable "'??='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 611
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 405

  392 expr: variable "'++'" •

    $default  reduce using rule 392 (expr)


State 406

  394 expr: variable "'--'" •

    $default  reduce using rule 394 (expr)


State 407

  382 expr: variable "'**='" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 612
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 408

  456 inline_function: function returns_ref • backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 582


State 409

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  584 internal_functions_in_yacc: "'eval'" '(' expr • ')'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 613


State 410

  448 expr: "'yield'" expr "'=>'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 614
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 411

  369 anonymous_class: "'class'" @9 • ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    '('  shift, and go to state 199

    $default  reduce using rule 487 (ctor_arguments)

    argument_list   go to state 415
    ctor_arguments  go to state 615


State 412

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  481 class_name_reference: '(' expr • ')'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 616


State 413

  372 new_expr: "'new'" attributes anonymous_class •

    $default  reduce using rule 372 (new_expr)


State 414

  544 new_variable: class_name "'::'" • simple_variable

    "variable"  shift, and go to state 15
    '$'         shift, and go to state 89

    simple_variable  go to state 617


State 415

  488 ctor_arguments: argument_list •

    $default  reduce using rule 488 (ctor_arguments)


State 416

  370 new_expr: "'new'" class_name_reference ctor_arguments •

    $default  reduce using rule 370 (new_expr)


State 417

  542 new_variable: new_variable "'->'" • property_name

    "identifier"  shift, and go to state 590
    "variable"    shift, and go to state 15
    '{'           shift, and go to state 591
    '$'           shift, and go to state 89

    simple_variable  go to state 592
    property_name    go to state 618


State 418

  543 new_variable: new_variable "'?->'" • property_name

    "identifier"  shift, and go to state 590
    "variable"    shift, and go to state 15
    '{'           shift, and go to state 591
    '$'           shift, and go to state 89

    simple_variable  go to state 592
    property_name    go to state 619


State 419

  545 new_variable: new_variable "'::'" • simple_variable

    "variable"  shift, and go to state 15
    '$'         shift, and go to state 89

    simple_variable  go to state 620


State 420

  541 new_variable: new_variable '{' • expr '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 621
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 421

  540 new_variable: new_variable '[' • optional_expr ']'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 512 (optional_expr)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 171
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    optional_expr                 go to state 622
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 422

  483 exit_expr: '(' optional_expr • ')'

    ')'  shift, and go to state 623


State 423

  246 if_stmt_without_else: "'if'" '(' expr • ')' statement
  250 alt_if_stmt_without_else: "'if'" '(' expr • ')' ':' inner_statement_list
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 624


State 424

  361 echo_expr_list: echo_expr_list ',' • echo_expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    echo_expr                     go to state 625
    new_expr                      go to state 108
    expr                          go to state 163
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 425

  160 statement: "'echo'" echo_expr_list ';' •

    $default  reduce using rule 160 (statement)


State 426

  152 statement: "'do'" statement "'while'" • '(' expr ')' ';'

    '('  shift, and go to state 626


State 427

  151 statement: "'while'" '(' expr • ')' while_statement
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 627


State 428

  153 statement: "'for'" '(' for_exprs • ';' for_exprs ';' for_exprs ')' for_statement

    ';'  shift, and go to state 628


State 429

  365 for_exprs: non_empty_for_exprs •
  366 non_empty_for_exprs: non_empty_for_exprs • ',' expr

    ','  shift, and go to state 629

    $default  reduce using rule 365 (for_exprs)


State 430

  367 non_empty_for_exprs: expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 367 (non_empty_for_exprs)


State 431

  164 statement: "'foreach'" '(' expr • "'as'" foreach_variable ')' foreach_statement
  165          | "'foreach'" '(' expr • "'as'" foreach_variable "'=>'" foreach_variable ')' foreach_statement
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'as'"          shift, and go to state 630
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380


State 432

  140 const_list: const_list • ',' const_decl
  167 statement: "'declare'" '(' const_list • ')' $@3 declare_statement

    ','  shift, and go to state 439
    ')'  shift, and go to state 631


State 433

  154 statement: "'switch'" '(' expr • ')' switch_case_list
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 632


State 434

  235 match: "'match'" '(' expr • ')' '{' match_arm_list '}'
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 633


State 435

  155 statement: "'break'" optional_expr ';' •

    $default  reduce using rule 155 (statement)


State 436

  156 statement: "'continue'" optional_expr ';' •

    $default  reduce using rule 156 (statement)


State 437

  170 statement: "'goto'" "identifier" ';' •

    $default  reduce using rule 170 (statement)


State 438

  360 const_decl: "identifier" '=' • expr backup_doc_comment

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 634
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 439

  140 const_list: const_list ',' • const_decl

    "identifier"  shift, and go to state 175

    const_decl  go to state 635


State 440

  121 top_statement: "'const'" const_list ';' •

    $default  reduce using rule 121 (top_statement)


State 441

  157 statement: "'return'" optional_expr ';' •

    $default  reduce using rule 157 (statement)


State 442

  142 inner_statement_list: inner_statement_list • inner_statement
  169 statement: "'try'" '{' inner_statement_list • '}' catch_list finally_statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 636
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 443

  139 use_declaration: legacy_namespace_name "'as'" • "identifier"

    "identifier"  shift, and go to state 637


State 444

  125 mixed_group_use_declaration: legacy_namespace_name "'\\'" • '{' inline_use_declarations possible_comma '}'

    '{'  shift, and go to state 638


State 445

  124 group_use_declaration: legacy_namespace_name • "'\\'" '{' unprefixed_use_declarations possible_comma '}'
  138 use_declaration: legacy_namespace_name •
  139                | legacy_namespace_name • "'as'" "identifier"

    "'as'"  shift, and go to state 443
    "'\\'"  shift, and go to state 639

    $default  reduce using rule 138 (use_declaration)


State 446

  118 top_statement: "'use'" use_type group_use_declaration • ';'

    ';'  shift, and go to state 640


State 447

  120 top_statement: "'use'" use_type use_declarations • ';'
  132 use_declarations: use_declarations • ',' use_declaration

    ','  shift, and go to state 449
    ';'  shift, and go to state 641


State 448

  117 top_statement: "'use'" mixed_group_use_declaration ';' •

    $default  reduce using rule 117 (top_statement)


State 449

  132 use_declarations: use_declarations ',' • use_declaration

    "identifier"            shift, and go to state 181
    "fully qualified name"  shift, and go to state 182
    "namespaced name"       shift, and go to state 183

    namespace_name         go to state 186
    legacy_namespace_name  go to state 642
    use_declaration        go to state 643


State 450

  119 top_statement: "'use'" use_declarations ';' •

    $default  reduce using rule 119 (top_statement)


State 451

  305 global_var_list: global_var_list ',' • global_var

    "variable"  shift, and go to state 15
    '$'         shift, and go to state 89

    global_var       go to state 644
    simple_variable  go to state 194


State 452

  158 statement: "'global'" global_var_list ';' •

    $default  reduce using rule 158 (statement)


State 453

  311 static_var: "variable" '=' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 645
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 454

  308 static_var_list: static_var_list ',' • static_var

    "variable"  shift, and go to state 195

    static_var  go to state 646


State 455

  159 statement: "'static'" static_var_list ';' •

    $default  reduce using rule 159 (statement)


State 456

   82 identifier: "identifier" •
   92 name: "identifier" •

    ':'       reduce using rule 82 (identifier)
    "'as'"    reduce using rule 82 (identifier)
    $default  reduce using rule 92 (name)


State 457

    2 reserved_non_modifiers: "'include'" •
  582 internal_functions_in_yacc: "'include'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 2 (reserved_non_modifiers)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 139
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 458

    3 reserved_non_modifiers: "'include_once'" •
  583 internal_functions_in_yacc: "'include_once'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 3 (reserved_non_modifiers)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 140
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 459

    4 reserved_non_modifiers: "'eval'" •
  584 internal_functions_in_yacc: "'eval'" • '(' expr ')'

    '('  shift, and go to state 141

    $default  reduce using rule 4 (reserved_non_modifiers)


State 460

    5 reserved_non_modifiers: "'require'" •
  585 internal_functions_in_yacc: "'require'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 5 (reserved_non_modifiers)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 142
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 461

    6 reserved_non_modifiers: "'require_once'" •
  586 internal_functions_in_yacc: "'require_once'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 6 (reserved_non_modifiers)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 143
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 462

   45 reserved_non_modifiers: "'print'" •
  445 expr: "'print'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 45 (reserved_non_modifiers)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 144
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 463

   46 reserved_non_modifiers: "'yield'" •
  446 expr: "'yield'" •
  447     | "'yield'" • expr
  448     | "'yield'" • expr "'=>'" expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    ':'       reduce using rule 46 (reserved_non_modifiers)
    $default  reduce using rule 446 (expr)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 145
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 464

   11 reserved_non_modifiers: "'new'" •
  370 new_expr: "'new'" • class_name_reference ctor_arguments
  371         | "'new'" • anonymous_class
  372         | "'new'" • attributes anonymous_class

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "'static'"                 shift, and go to state 147
    "'class'"                  shift, and go to state 148
    "'#['"                     shift, and go to state 72
    '('                        shift, and go to state 149
    '$'                        shift, and go to state 89

    $default  reduce using rule 11 (reserved_non_modifiers)

    name                  go to state 150
    attribute             go to state 91
    attributes            go to state 151
    anonymous_class       go to state 152
    class_name            go to state 153
    class_name_reference  go to state 154
    simple_variable       go to state 155
    new_variable          go to state 156


State 465

   12 reserved_non_modifiers: "'clone'" •
  378 expr: "'clone'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 12 (reserved_non_modifiers)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 157
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 466

   13 reserved_non_modifiers: "'exit'" •
  441 expr: "'exit'" • exit_expr

    '('  shift, and go to state 158

    ':'       reduce using rule 13 (reserved_non_modifiers)
    $default  reduce using rule 482 (exit_expr)

    exit_expr  go to state 159


State 467

   70 reserved_non_modifiers: "'match'" •
  235 match: "'match'" • '(' expr ')' '{' match_arm_list '}'

    '('  shift, and go to state 170

    $default  reduce using rule 70 (reserved_non_modifiers)


State 468

   42 reserved_non_modifiers: "'function'" •
  459 function: "'function'" •

    ':'       reduce using rule 42 (reserved_non_modifiers)
    $default  reduce using rule 459 (function)


State 469

   69 reserved_non_modifiers: "'fn'" •
  458 fn: "'fn'" •

    ':'       reduce using rule 69 (reserved_non_modifiers)
    $default  reduce using rule 458 (fn)


State 470

   32 reserved_non_modifiers: "'throw'" •
  450 expr: "'throw'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 32 (reserved_non_modifiers)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 180
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 471

   73 semi_reserved: "'static'" •
  453 expr: "'static'" • inline_function
  477 class_name: "'static'" •

    "'function'"  shift, and go to state 41
    "'fn'"        shift, and go to state 42

    "'::'"    reduce using rule 477 (class_name)
    $default  reduce using rule 73 (semi_reserved)

    inline_function  go to state 198
    fn               go to state 111
    function         go to state 133


State 472

   79 semi_reserved: "'readonly'" •
  472 function_call: "'readonly'" • argument_list

    '('  shift, and go to state 199

    $default  reduce using rule 79 (semi_reserved)

    argument_list  go to state 200


State 473

   38 reserved_non_modifiers: "'isset'" •
  580 internal_functions_in_yacc: "'isset'" • '(' isset_variables possible_comma ')'

    '('  shift, and go to state 202

    $default  reduce using rule 38 (reserved_non_modifiers)


State 474

   39 reserved_non_modifiers: "'empty'" •
  581 internal_functions_in_yacc: "'empty'" • '(' expr ')'

    '('  shift, and go to state 203

    $default  reduce using rule 39 (reserved_non_modifiers)


State 475

   47 reserved_non_modifiers: "'list'" •
  374 expr: "'list'" • '(' array_pair_list ')' '=' expr

    '('  shift, and go to state 293

    $default  reduce using rule 47 (reserved_non_modifiers)


State 476

   53 reserved_non_modifiers: "'array'" •
  489 dereferenceable_scalar: "'array'" • '(' array_pair_list ')'

    '('  shift, and go to state 294

    $default  reduce using rule 53 (reserved_non_modifiers)


State 477

   65 reserved_non_modifiers: "'__LINE__'" •
  502 constant: "'__LINE__'" •

    ':'       reduce using rule 65 (reserved_non_modifiers)
    $default  reduce using rule 502 (constant)


State 478

   66 reserved_non_modifiers: "'__FILE__'" •
  503 constant: "'__FILE__'" •

    ':'       reduce using rule 66 (reserved_non_modifiers)
    $default  reduce using rule 503 (constant)


State 479

   67 reserved_non_modifiers: "'__DIR__'" •
  504 constant: "'__DIR__'" •

    ':'       reduce using rule 67 (reserved_non_modifiers)
    $default  reduce using rule 504 (constant)


State 480

   61 reserved_non_modifiers: "'__CLASS__'" •
  509 constant: "'__CLASS__'" •

    ':'       reduce using rule 61 (reserved_non_modifiers)
    $default  reduce using rule 509 (constant)


State 481

   62 reserved_non_modifiers: "'__TRAIT__'" •
  505 constant: "'__TRAIT__'" •

    ':'       reduce using rule 62 (reserved_non_modifiers)
    $default  reduce using rule 505 (constant)


State 482

   64 reserved_non_modifiers: "'__METHOD__'" •
  506 constant: "'__METHOD__'" •

    ':'       reduce using rule 64 (reserved_non_modifiers)
    $default  reduce using rule 506 (constant)


State 483

   63 reserved_non_modifiers: "'__FUNCTION__'" •
  507 constant: "'__FUNCTION__'" •

    ':'       reduce using rule 63 (reserved_non_modifiers)
    $default  reduce using rule 507 (constant)


State 484

   68 reserved_non_modifiers: "'__NAMESPACE__'" •
  508 constant: "'__NAMESPACE__'" •

    ':'       reduce using rule 68 (reserved_non_modifiers)
    $default  reduce using rule 508 (constant)


State 485

  299 argument_list: '(' "'...'" • ')'
  304 argument: "'...'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ')'                        shift, and go to state 647
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 648
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 486

  297 argument_list: '(' ')' •

    $default  reduce using rule 297 (argument_list)


State 487

  303 argument: identifier • ':' expr

    ':'  shift, and go to state 649


State 488

  298 argument_list: '(' non_empty_argument_list • possible_comma ')'
  301 non_empty_argument_list: non_empty_argument_list • ',' argument

    ','  shift, and go to state 650

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 651


State 489

  300 non_empty_argument_list: argument •

    $default  reduce using rule 300 (non_empty_argument_list)


State 490

  302 argument: expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 302 (argument)


State 491

  163 statement: "'unset'" '(' unset_variables • possible_comma ')' ';'
  181 unset_variables: unset_variables • ',' unset_variable

    ','  shift, and go to state 652

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 653


State 492

  180 unset_variables: unset_variable •

    $default  reduce using rule 180 (unset_variables)


State 493

  182 unset_variable: variable •
  515 fully_dereferenceable: variable •

    ','       reduce using rule 182 (unset_variable)
    ')'       reduce using rule 182 (unset_variable)
    $default  reduce using rule 515 (fully_dereferenceable)


State 494

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  589 isset_variable: expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 589 (isset_variable)


State 495

  580 internal_functions_in_yacc: "'isset'" '(' isset_variables • possible_comma ')'
  588 isset_variables: isset_variables • ',' isset_variable

    ','  shift, and go to state 654

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 655


State 496

  587 isset_variables: isset_variable •

    $default  reduce using rule 587 (isset_variables)


State 497

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  581 internal_functions_in_yacc: "'empty'" '(' expr • ')'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 656


State 498

  111 top_statement: "'__halt_compiler'" '(' ')' • ';'

    ';'  shift, and go to state 657


State 499

  193 class_declaration_statement: "'class'" @5 "identifier" • extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    "'extends'"  shift, and go to state 658

    $default  reduce using rule 210 (extends_from)

    extends_from  go to state 659


State 500

  200 trait_declaration_statement: "'trait'" @6 "identifier" • backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 660


State 501

  202 interface_declaration_statement: "'interface'" @7 "identifier" • interface_extends_list backup_doc_comment '{' class_statement_list '}'

    "'extends'"  shift, and go to state 661

    $default  reduce using rule 212 (interface_extends_list)

    interface_extends_list  go to state 662


State 502

  204 enum_declaration_statement: "'enum'" @8 "identifier" • enum_backing_type implements_list backup_doc_comment '{' class_statement_list '}'

    ':'  shift, and go to state 663

    $default  reduce using rule 205 (enum_backing_type)

    enum_backing_type  go to state 664


State 503

  112 top_statement: "'namespace'" namespace_declaration_name ';' •

    $default  reduce using rule 112 (top_statement)


State 504

  114 top_statement: "'namespace'" namespace_declaration_name $@1 • '{' top_statement_list '}'

    '{'  shift, and go to state 665


State 505

  116 top_statement: "'namespace'" $@2 '{' • top_statement_list '}'

    $default  reduce using rule 85 (top_statement_list)

    top_statement_list  go to state 666


State 506

  374 expr: "'list'" '(' array_pair_list • ')' '=' expr

    ')'  shift, and go to state 667


State 507

  489 dereferenceable_scalar: "'array'" '(' array_pair_list • ')'

    ')'  shift, and go to state 668


State 508

   99 attribute_group: attribute_group ',' • attribute_decl
  127 possible_comma: ',' •

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    $default  reduce using rule 127 (possible_comma)

    name            go to state 150
    attribute_decl  go to state 669
    class_name      go to state 297


State 509

  100 attribute: "'#['" attribute_group possible_comma • ']'

    ']'  shift, and go to state 670


State 510

   97 attribute_decl: class_name argument_list •

    $default  reduce using rule 97 (attribute_decl)


State 511

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  516 fully_dereferenceable: '(' expr • ')'
  522 callable_expr: '(' expr • ')'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 671


State 512

  490 dereferenceable_scalar: '[' array_pair_list • ']'

    ']'  shift, and go to state 672


State 513

  570 encaps_var: "variable" "'->'" • "identifier"

    "identifier"  shift, and go to state 673


State 514

  571 encaps_var: "variable" "'?->'" • "identifier"

    "identifier"  shift, and go to state 674


State 515

  569 encaps_var: "variable" '[' • encaps_var_offset ']'

    '-'           shift, and go to state 675
    "identifier"  shift, and go to state 676
    "variable"    shift, and go to state 677
    "number"      shift, and go to state 678

    encaps_var_offset  go to state 679


State 516

  495 scalar: "heredoc start" "string content" "heredoc end" •

    $default  reduce using rule 495 (scalar)


State 517

  567 encaps_list: "string content" encaps_var •

    $default  reduce using rule 567 (encaps_list)


State 518

  573 encaps_var: "'${'" "variable name" • '}'
  574           | "'${'" "variable name" • '[' expr ']' '}'

    '}'  shift, and go to state 680
    '['  shift, and go to state 681


State 519

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  572 encaps_var: "'${'" expr • '}'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    '}'             shift, and go to state 682


State 520

  515 fully_dereferenceable: variable •
  575 encaps_var: "'{$'" variable • '}'

    '}'  shift, and go to state 683

    $default  reduce using rule 515 (fully_dereferenceable)


State 521

  565 encaps_list: encaps_list "string content" •

    $default  reduce using rule 565 (encaps_list)


State 522

  497 scalar: "heredoc start" encaps_list "heredoc end" •

    $default  reduce using rule 497 (scalar)


State 523

  564 encaps_list: encaps_list encaps_var •

    $default  reduce using rule 564 (encaps_list)


State 524

  428 expr: '(' expr ')' •
  516 fully_dereferenceable: '(' expr ')' •
  522 callable_expr: '(' expr ')' •

    "'->'"    reduce using rule 516 (fully_dereferenceable)
    "'?->'"   reduce using rule 516 (fully_dereferenceable)
    "'::'"    reduce using rule 516 (fully_dereferenceable)
    '('       reduce using rule 522 (callable_expr)
    '{'       reduce using rule 516 (fully_dereferenceable)
    '['       reduce using rule 516 (fully_dereferenceable)
    $default  reduce using rule 428 (expr)


State 525

  147 inner_statement: "'__halt_compiler'" • '(' ')' ';'

    '('  shift, and go to state 684


State 526

  148 statement: '{' inner_statement_list '}' •

    $default  reduce using rule 148 (statement)


State 527

  102 attributes: attributes • attribute
  146 inner_statement: attributes • attributed_statement
  452 expr: attributes • inline_function
  454     | attributes • "'static'" inline_function

    "'function'"   shift, and go to state 41
    "'fn'"         shift, and go to state 42
    "'static'"     shift, and go to state 339
    "'abstract'"   shift, and go to state 50
    "'final'"      shift, and go to state 51
    "'readonly'"   shift, and go to state 340
    "'class'"      shift, and go to state 57
    "'trait'"      shift, and go to state 58
    "'interface'"  shift, and go to state 59
    "'enum'"       shift, and go to state 60
    "'#['"         shift, and go to state 72

    attribute                        go to state 341
    attributed_statement             go to state 685
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    inline_function                  go to state 343
    fn                               go to state 111
    function                         go to state 112


State 528

  145 inner_statement: attributed_statement •

    $default  reduce using rule 145 (inner_statement)


State 529

  142 inner_statement_list: inner_statement_list inner_statement •

    $default  reduce using rule 142 (inner_statement_list)


State 530

  144 inner_statement: statement •

    $default  reduce using rule 144 (inner_statement)


State 531

  374 expr: "'list'" '(' • array_pair_list ')' '=' expr
  563 array_pair: "'list'" '(' • array_pair_list ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    array_pair_list               go to state 686
    possible_array_pair           go to state 328
    non_empty_array_pair_list     go to state 329
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 532

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  561 array_pair: "'...'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 561 (array_pair)


State 533

  515 fully_dereferenceable: variable •
  560 array_pair: ampersand variable •

    ','       reduce using rule 560 (array_pair)
    ']'       reduce using rule 560 (array_pair)
    ')'       reduce using rule 560 (array_pair)
    $default  reduce using rule 515 (fully_dereferenceable)


State 534

  557 array_pair: expr "'=>'" • expr
  559           | expr "'=>'" • ampersand variable
  562           | expr "'=>'" • "'list'" '(' array_pair_list ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 687
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    ampersand                     go to state 688
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 689
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 535

  375 expr: '[' array_pair_list ']' • '=' expr
  490 dereferenceable_scalar: '[' array_pair_list ']' •

    '='  shift, and go to state 690

    $default  reduce using rule 490 (dereferenceable_scalar)


State 536

  555 non_empty_array_pair_list: non_empty_array_pair_list ',' • possible_array_pair

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    possible_array_pair           go to state 691
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 537

  444 expr: '`' backticks_expr '`' •

    $default  reduce using rule 444 (expr)


State 538

  492 dereferenceable_scalar: '"' encaps_list '"' •

    $default  reduce using rule 492 (dereferenceable_scalar)


State 539

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  535 simple_variable: '$' '{' expr • '}'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    '}'             shift, and go to state 692


State 540

  454 expr: attributes "'static'" inline_function •

    $default  reduce using rule 454 (expr)


State 541

  191 class_declaration_statement: class_modifiers "'class'" @4 • "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    "identifier"  shift, and go to state 693


State 542

  247 if_stmt_without_else: if_stmt_without_else "'elseif'" '(' • expr ')' statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 694
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 543

  249 if_stmt: if_stmt_without_else "'else'" statement •

    $default  reduce using rule 249 (if_stmt)


State 544

  251 alt_if_stmt_without_else: alt_if_stmt_without_else "'elseif'" '(' • expr ')' ':' inner_statement_list

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 695
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 545

  253 alt_if_stmt: alt_if_stmt_without_else "'else'" ':' • inner_statement_list "'endif'" ';'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 696


State 546

  252 alt_if_stmt: alt_if_stmt_without_else "'endif'" ';' •

    $default  reduce using rule 252 (alt_if_stmt)


State 547

  431 expr: expr '?' ':' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 697
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 548

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  430     | expr '?' expr • ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    ':'             shift, and go to state 698
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380


State 549

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  401     | expr '|' expr •
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 401 (expr)


State 550

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  404     | expr '^' expr •
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 404 (expr)


State 551

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  422     | expr '<' expr •
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    '<'     error (nonassociative)
    '>'     error (nonassociative)
    "'<='"  error (nonassociative)
    "'>='"  error (nonassociative)

    $default  reduce using rule 422 (expr)


State 552

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  424     | expr '>' expr •
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    '<'     error (nonassociative)
    '>'     error (nonassociative)
    "'<='"  error (nonassociative)
    "'>='"  error (nonassociative)

    $default  reduce using rule 424 (expr)


State 553

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  405     | expr '.' expr •
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    $default  reduce using rule 405 (expr)


State 554

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  406     | expr '+' expr •
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'**'"          shift, and go to state 378

    $default  reduce using rule 406 (expr)


State 555

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  407     | expr '-' expr •
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'**'"          shift, and go to state 378

    $default  reduce using rule 407 (expr)


State 556

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  408     | expr '*' expr •
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    "'instanceof'"  shift, and go to state 365
    "'**'"          shift, and go to state 378

    $default  reduce using rule 408 (expr)


State 557

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  410     | expr '/' expr •
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    "'instanceof'"  shift, and go to state 365
    "'**'"          shift, and go to state 378

    $default  reduce using rule 410 (expr)


State 558

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  411     | expr '%' expr •
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    "'instanceof'"  shift, and go to state 365
    "'**'"          shift, and go to state 378

    $default  reduce using rule 411 (expr)


State 559

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  398     | expr "'or'" expr •
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 398 (expr)


State 560

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  400     | expr "'xor'" expr •
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 400 (expr)


State 561

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  399     | expr "'and'" expr •
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 399 (expr)


State 562

  427 expr: expr "'instanceof'" class_name_reference •

    $default  reduce using rule 427 (expr)


State 563

  396 expr: expr • "'||'" expr
  396     | expr "'||'" expr •
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 396 (expr)


State 564

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  397     | expr "'&&'" expr •
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 397 (expr)


State 565

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  420     | expr "'=='" expr •
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    "'=='"   error (nonassociative)
    "'!='"   error (nonassociative)
    "'==='"  error (nonassociative)
    "'!=='"  error (nonassociative)
    "'<=>'"  error (nonassociative)

    $default  reduce using rule 420 (expr)


State 566

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  421     | expr "'!='" expr •
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    "'=='"   error (nonassociative)
    "'!='"   error (nonassociative)
    "'==='"  error (nonassociative)
    "'!=='"  error (nonassociative)
    "'<=>'"  error (nonassociative)

    $default  reduce using rule 421 (expr)


State 567

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  418     | expr "'==='" expr •
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    "'=='"   error (nonassociative)
    "'!='"   error (nonassociative)
    "'==='"  error (nonassociative)
    "'!=='"  error (nonassociative)
    "'<=>'"  error (nonassociative)

    $default  reduce using rule 418 (expr)


State 568

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  419     | expr "'!=='" expr •
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    "'=='"   error (nonassociative)
    "'!='"   error (nonassociative)
    "'==='"  error (nonassociative)
    "'!=='"  error (nonassociative)
    "'<=>'"  error (nonassociative)

    $default  reduce using rule 419 (expr)


State 569

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  423     | expr "'<='" expr •
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    '<'     error (nonassociative)
    '>'     error (nonassociative)
    "'<='"  error (nonassociative)
    "'>='"  error (nonassociative)

    $default  reduce using rule 423 (expr)


State 570

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  425     | expr "'>='" expr •
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    '<'     error (nonassociative)
    '>'     error (nonassociative)
    "'<='"  error (nonassociative)
    "'>='"  error (nonassociative)

    $default  reduce using rule 425 (expr)


State 571

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  426     | expr "'<=>'" expr •
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    "'=='"   error (nonassociative)
    "'!='"   error (nonassociative)
    "'==='"  error (nonassociative)
    "'!=='"  error (nonassociative)
    "'<=>'"  error (nonassociative)

    $default  reduce using rule 426 (expr)


State 572

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  412     | expr "'<<'" expr •
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'**'"          shift, and go to state 378

    $default  reduce using rule 412 (expr)


State 573

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  413     | expr "'>>'" expr •
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'**'"          shift, and go to state 378

    $default  reduce using rule 413 (expr)


State 574

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  432     | expr "'??'" expr •

    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 432 (expr)


State 575

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  409     | expr "'**'" expr •
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    "'**'"  shift, and go to state 378

    $default  reduce using rule 409 (expr)


State 576

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  403     | expr "'&'" expr •
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    $default  reduce using rule 403 (expr)


State 577

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  402     | expr "amp" expr •
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'**'"          shift, and go to state 378

    $default  reduce using rule 402 (expr)


State 578

  457 inline_function: fn returns_ref backup_doc_comment • '(' parameter_list ')' return_type "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags

    '('  shift, and go to state 699


State 579

  183 function_name: "identifier" •

    $default  reduce using rule 183 (function_name)


State 580

  184 function_name: "'readonly'" •

    $default  reduce using rule 184 (function_name)


State 581

  185 function_declaration_statement: function returns_ref function_name • backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 700


State 582

  456 inline_function: function returns_ref backup_doc_comment • '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    '('  shift, and go to state 701


State 583

  547 member_name: '{' • expr '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 702
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 584

  510 class_constant: class_name "'::'" identifier •
  546 member_name: identifier •

    '('       reduce using rule 546 (member_name)
    $default  reduce using rule 510 (class_constant)


State 585

  537 static_member: class_name "'::'" simple_variable •
  548 member_name: simple_variable •

    '('       reduce using rule 548 (member_name)
    $default  reduce using rule 537 (static_member)


State 586

  473 function_call: class_name "'::'" member_name • argument_list

    '('  shift, and go to state 199

    argument_list  go to state 703


State 587

  511 class_constant: variable_class_name "'::'" identifier •
  546 member_name: identifier •

    '('       reduce using rule 546 (member_name)
    $default  reduce using rule 511 (class_constant)


State 588

  538 static_member: variable_class_name "'::'" simple_variable •
  548 member_name: simple_variable •

    '('       reduce using rule 548 (member_name)
    $default  reduce using rule 538 (static_member)


State 589

  474 function_call: variable_class_name "'::'" member_name • argument_list

    '('  shift, and go to state 199

    argument_list  go to state 704


State 590

  549 property_name: "identifier" •

    $default  reduce using rule 549 (property_name)


State 591

  550 property_name: '{' • expr '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 705
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 592

  551 property_name: simple_variable •

    $default  reduce using rule 551 (property_name)


State 593

  527 callable_variable: array_object_dereferenceable "'->'" property_name • argument_list
  532 variable: array_object_dereferenceable "'->'" property_name •

    '('  shift, and go to state 199

    $default  reduce using rule 532 (variable)

    argument_list  go to state 706


State 594

  528 callable_variable: array_object_dereferenceable "'?->'" property_name • argument_list
  533 variable: array_object_dereferenceable "'?->'" property_name •

    '('  shift, and go to state 199

    $default  reduce using rule 533 (variable)

    argument_list  go to state 707


State 595

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  526 callable_variable: array_object_dereferenceable '{' expr • '}'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    '}'             shift, and go to state 708


State 596

  525 callable_variable: array_object_dereferenceable '[' optional_expr • ']'

    ']'  shift, and go to state 709


State 597

  476 function_call: callable_expr @10 argument_list •

    $default  reduce using rule 476 (function_call)


State 598

  377 expr: variable '=' ampersand • variable

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 710
    simple_variable               go to state 125
    static_member                 go to state 126


State 599

  376 expr: variable '=' expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 376 (expr)


State 600

  379 expr: variable "'+='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 379 (expr)


State 601

  380 expr: variable "'-='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 380 (expr)


State 602

  381 expr: variable "'*='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 381 (expr)


State 603

  383 expr: variable "'/='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 383 (expr)


State 604

  384 expr: variable "'.='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 384 (expr)


State 605

  385 expr: variable "'%='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 385 (expr)


State 606

  386 expr: variable "'&='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 386 (expr)


State 607

  387 expr: variable "'|='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 387 (expr)


State 608

  388 expr: variable "'^='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 388 (expr)


State 609

  389 expr: variable "'<<='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 389 (expr)


State 610

  390 expr: variable "'>>='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 390 (expr)


State 611

  391 expr: variable "'??='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 391 (expr)


State 612

  382 expr: variable "'**='" expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 382 (expr)


State 613

  584 internal_functions_in_yacc: "'eval'" '(' expr ')' •

    $default  reduce using rule 584 (internal_functions_in_yacc)


State 614

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  448     | "'yield'" expr "'=>'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 448 (expr)


State 615

  369 anonymous_class: "'class'" @9 ctor_arguments • extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    "'extends'"  shift, and go to state 658

    $default  reduce using rule 210 (extends_from)

    extends_from  go to state 711


State 616

  481 class_name_reference: '(' expr ')' •

    $default  reduce using rule 481 (class_name_reference)


State 617

  544 new_variable: class_name "'::'" simple_variable •

    $default  reduce using rule 544 (new_variable)


State 618

  542 new_variable: new_variable "'->'" property_name •

    $default  reduce using rule 542 (new_variable)


State 619

  543 new_variable: new_variable "'?->'" property_name •

    $default  reduce using rule 543 (new_variable)


State 620

  545 new_variable: new_variable "'::'" simple_variable •

    $default  reduce using rule 545 (new_variable)


State 621

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  541 new_variable: new_variable '{' expr • '}'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    '}'             shift, and go to state 712


State 622

  540 new_variable: new_variable '[' optional_expr • ']'

    ']'  shift, and go to state 713


State 623

  483 exit_expr: '(' optional_expr ')' •

    $default  reduce using rule 483 (exit_expr)


State 624

  246 if_stmt_without_else: "'if'" '(' expr ')' • statement
  250 alt_if_stmt_without_else: "'if'" '(' expr ')' • ':' inner_statement_list

    ':'                        shift, and go to state 714
    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 715
    match                         go to state 103
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 625

  361 echo_expr_list: echo_expr_list ',' echo_expr •

    $default  reduce using rule 361 (echo_expr_list)


State 626

  152 statement: "'do'" statement "'while'" '(' • expr ')' ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 716
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 627

  151 statement: "'while'" '(' expr ')' • while_statement

    ':'                        shift, and go to state 717
    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 718
    match                         go to state 103
    while_statement               go to state 719
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 628

  153 statement: "'for'" '(' for_exprs ';' • for_exprs ';' for_exprs ')' for_statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 364 (for_exprs)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    for_exprs                     go to state 720
    non_empty_for_exprs           go to state 429
    new_expr                      go to state 108
    expr                          go to state 430
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 629

  366 non_empty_for_exprs: non_empty_for_exprs ',' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 721
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 630

  164 statement: "'foreach'" '(' expr "'as'" • foreach_variable ')' foreach_statement
  165          | "'foreach'" '(' expr "'as'" • foreach_variable "'=>'" foreach_variable ')' foreach_statement

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'list'"                   shift, and go to state 722
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 298
    '['                        shift, and go to state 723
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    ampersand                     go to state 724
    name                          go to state 90
    foreach_variable              go to state 725
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 726
    simple_variable               go to state 125
    static_member                 go to state 126


State 631

  167 statement: "'declare'" '(' const_list ')' • $@3 declare_statement

    $default  reduce using rule 166 ($@3)

    $@3  go to state 727


State 632

  154 statement: "'switch'" '(' expr ')' • switch_case_list

    ':'  shift, and go to state 728
    '{'  shift, and go to state 729

    switch_case_list  go to state 730


State 633

  235 match: "'match'" '(' expr ')' • '{' match_arm_list '}'

    '{'  shift, and go to state 731


State 634

  360 const_decl: "identifier" '=' expr • backup_doc_comment
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 732


State 635

  140 const_list: const_list ',' const_decl •

    $default  reduce using rule 140 (const_list)


State 636

  169 statement: "'try'" '{' inner_statement_list '}' • catch_list finally_statement

    $default  reduce using rule 172 (catch_list)

    catch_list  go to state 733


State 637

  139 use_declaration: legacy_namespace_name "'as'" "identifier" •

    $default  reduce using rule 139 (use_declaration)


State 638

  125 mixed_group_use_declaration: legacy_namespace_name "'\\'" '{' • inline_use_declarations possible_comma '}'

    "identifier"       shift, and go to state 181
    "namespaced name"  shift, and go to state 183
    "'function'"       shift, and go to state 184
    "'const'"          shift, and go to state 185

    namespace_name              go to state 734
    use_type                    go to state 735
    inline_use_declarations     go to state 736
    inline_use_declaration      go to state 737
    unprefixed_use_declaration  go to state 738


State 639

  124 group_use_declaration: legacy_namespace_name "'\\'" • '{' unprefixed_use_declarations possible_comma '}'

    '{'  shift, and go to state 739


State 640

  118 top_statement: "'use'" use_type group_use_declaration ';' •

    $default  reduce using rule 118 (top_statement)


State 641

  120 top_statement: "'use'" use_type use_declarations ';' •

    $default  reduce using rule 120 (top_statement)


State 642

  138 use_declaration: legacy_namespace_name •
  139                | legacy_namespace_name • "'as'" "identifier"

    "'as'"  shift, and go to state 443

    $default  reduce using rule 138 (use_declaration)


State 643

  132 use_declarations: use_declarations ',' use_declaration •

    $default  reduce using rule 132 (use_declarations)


State 644

  305 global_var_list: global_var_list ',' global_var •

    $default  reduce using rule 305 (global_var_list)


State 645

  311 static_var: "variable" '=' expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 311 (static_var)


State 646

  308 static_var_list: static_var_list ',' static_var •

    $default  reduce using rule 308 (static_var_list)


State 647

  299 argument_list: '(' "'...'" ')' •

    $default  reduce using rule 299 (argument_list)


State 648

  304 argument: "'...'" expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 304 (argument)


State 649

  303 argument: identifier ':' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 740
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 650

  127 possible_comma: ',' •
  301 non_empty_argument_list: non_empty_argument_list ',' • argument

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 456
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 457
    "'include_once'"           shift, and go to state 458
    "'eval'"                   shift, and go to state 459
    "'require'"                shift, and go to state 460
    "'require_once'"           shift, and go to state 461
    "'or'"                     shift, and go to state 216
    "'xor'"                    shift, and go to state 217
    "'and'"                    shift, and go to state 218
    "'print'"                  shift, and go to state 462
    "'yield'"                  shift, and go to state 463
    "'yield from'"             shift, and go to state 25
    "'instanceof'"             shift, and go to state 221
    "'new'"                    shift, and go to state 464
    "'clone'"                  shift, and go to state 465
    "'exit'"                   shift, and go to state 466
    "'if'"                     shift, and go to state 225
    "'elseif'"                 shift, and go to state 226
    "'else'"                   shift, and go to state 227
    "'endif'"                  shift, and go to state 228
    "'echo'"                   shift, and go to state 229
    "'do'"                     shift, and go to state 230
    "'while'"                  shift, and go to state 231
    "'endwhile'"               shift, and go to state 232
    "'for'"                    shift, and go to state 233
    "'endfor'"                 shift, and go to state 234
    "'foreach'"                shift, and go to state 235
    "'endforeach'"             shift, and go to state 236
    "'declare'"                shift, and go to state 237
    "'enddeclare'"             shift, and go to state 238
    "'as'"                     shift, and go to state 239
    "'switch'"                 shift, and go to state 240
    "'endswitch'"              shift, and go to state 241
    "'case'"                   shift, and go to state 242
    "'default'"                shift, and go to state 243
    "'match'"                  shift, and go to state 467
    "'break'"                  shift, and go to state 245
    "'continue'"               shift, and go to state 246
    "'goto'"                   shift, and go to state 247
    "'function'"               shift, and go to state 468
    "'fn'"                     shift, and go to state 469
    "'const'"                  shift, and go to state 250
    "'return'"                 shift, and go to state 251
    "'try'"                    shift, and go to state 252
    "'catch'"                  shift, and go to state 253
    "'finally'"                shift, and go to state 254
    "'throw'"                  shift, and go to state 470
    "'use'"                    shift, and go to state 256
    "'insteadof'"              shift, and go to state 257
    "'global'"                 shift, and go to state 258
    "'static'"                 shift, and go to state 471
    "'abstract'"               shift, and go to state 260
    "'final'"                  shift, and go to state 261
    "'private'"                shift, and go to state 262
    "'protected'"              shift, and go to state 263
    "'public'"                 shift, and go to state 264
    "'readonly'"               shift, and go to state 472
    "'var'"                    shift, and go to state 266
    "'unset'"                  shift, and go to state 267
    "'isset'"                  shift, and go to state 473
    "'empty'"                  shift, and go to state 474
    "'class'"                  shift, and go to state 270
    "'trait'"                  shift, and go to state 271
    "'interface'"              shift, and go to state 272
    "'enum'"                   shift, and go to state 273
    "'extends'"                shift, and go to state 274
    "'implements'"             shift, and go to state 275
    "'namespace'"              shift, and go to state 276
    "'list'"                   shift, and go to state 475
    "'array'"                  shift, and go to state 476
    "'callable'"               shift, and go to state 279
    "'__LINE__'"               shift, and go to state 477
    "'__FILE__'"               shift, and go to state 478
    "'__DIR__'"                shift, and go to state 479
    "'__CLASS__'"              shift, and go to state 480
    "'__TRAIT__'"              shift, and go to state 481
    "'__METHOD__'"             shift, and go to state 482
    "'__FUNCTION__'"           shift, and go to state 483
    "'__NAMESPACE__'"          shift, and go to state 484
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 741
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 127 (possible_comma)

    reserved_non_modifiers        go to state 288
    semi_reserved                 go to state 289
    identifier                    go to state 487
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    argument                      go to state 742
    new_expr                      go to state 108
    expr                          go to state 490
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 651

  298 argument_list: '(' non_empty_argument_list possible_comma • ')'

    ')'  shift, and go to state 743


State 652

  127 possible_comma: ',' •
  181 unset_variables: unset_variables ',' • unset_variable

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 127 (possible_comma)

    name                          go to state 90
    unset_variable                go to state 744
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 493
    simple_variable               go to state 125
    static_member                 go to state 126


State 653

  163 statement: "'unset'" '(' unset_variables possible_comma • ')' ';'

    ')'  shift, and go to state 745


State 654

  127 possible_comma: ',' •
  588 isset_variables: isset_variables ',' • isset_variable

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 127 (possible_comma)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 494
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127
    isset_variable                go to state 746


State 655

  580 internal_functions_in_yacc: "'isset'" '(' isset_variables possible_comma • ')'

    ')'  shift, and go to state 747


State 656

  581 internal_functions_in_yacc: "'empty'" '(' expr ')' •

    $default  reduce using rule 581 (internal_functions_in_yacc)


State 657

  111 top_statement: "'__halt_compiler'" '(' ')' ';' •

    $default  reduce using rule 111 (top_statement)


State 658

  211 extends_from: "'extends'" • class_name

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name        go to state 150
    class_name  go to state 748


State 659

  193 class_declaration_statement: "'class'" @5 "identifier" extends_from • implements_list backup_doc_comment '{' class_statement_list '}'

    "'implements'"  shift, and go to state 749

    $default  reduce using rule 214 (implements_list)

    implements_list  go to state 750


State 660

  200 trait_declaration_statement: "'trait'" @6 "identifier" backup_doc_comment • '{' class_statement_list '}'

    '{'  shift, and go to state 751


State 661

  213 interface_extends_list: "'extends'" • class_name_list

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name             go to state 150
    class_name_list  go to state 752
    class_name       go to state 753


State 662

  202 interface_declaration_statement: "'interface'" @7 "identifier" interface_extends_list • backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 754


State 663

  206 enum_backing_type: ':' • type_expr

    '?'                        shift, and go to state 755
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 756
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758
    '('                        shift, and go to state 759

    name                 go to state 760
    type_expr            go to state 761
    type                 go to state 762
    union_type_element   go to state 763
    union_type           go to state 764
    intersection_type    go to state 765
    type_without_static  go to state 766


State 664

  204 enum_declaration_statement: "'enum'" @8 "identifier" enum_backing_type • implements_list backup_doc_comment '{' class_statement_list '}'

    "'implements'"  shift, and go to state 749

    $default  reduce using rule 214 (implements_list)

    implements_list  go to state 767


State 665

  114 top_statement: "'namespace'" namespace_declaration_name $@1 '{' • top_statement_list '}'

    $default  reduce using rule 85 (top_statement_list)

    top_statement_list  go to state 768


State 666

   84 top_statement_list: top_statement_list • top_statement
  116 top_statement: "'namespace'" $@2 '{' top_statement_list • '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'const'"                  shift, and go to state 43
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'use'"                    shift, and go to state 47
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 56
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'namespace'"              shift, and go to state 61
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 769
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 92
    attributed_statement             go to state 93
    top_statement                    go to state 94
    statement                        go to state 95
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 667

  374 expr: "'list'" '(' array_pair_list ')' • '=' expr

    '='  shift, and go to state 770


State 668

  489 dereferenceable_scalar: "'array'" '(' array_pair_list ')' •

    $default  reduce using rule 489 (dereferenceable_scalar)


State 669

   99 attribute_group: attribute_group ',' attribute_decl •

    $default  reduce using rule 99 (attribute_group)


State 670

  100 attribute: "'#['" attribute_group possible_comma ']' •

    $default  reduce using rule 100 (attribute)


State 671

  516 fully_dereferenceable: '(' expr ')' •
  522 callable_expr: '(' expr ')' •

    '('       reduce using rule 522 (callable_expr)
    $default  reduce using rule 516 (fully_dereferenceable)


State 672

  490 dereferenceable_scalar: '[' array_pair_list ']' •

    $default  reduce using rule 490 (dereferenceable_scalar)


State 673

  570 encaps_var: "variable" "'->'" "identifier" •

    $default  reduce using rule 570 (encaps_var)


State 674

  571 encaps_var: "variable" "'?->'" "identifier" •

    $default  reduce using rule 571 (encaps_var)


State 675

  578 encaps_var_offset: '-' • "number"

    "number"  shift, and go to state 771


State 676

  576 encaps_var_offset: "identifier" •

    $default  reduce using rule 576 (encaps_var_offset)


State 677

  579 encaps_var_offset: "variable" •

    $default  reduce using rule 579 (encaps_var_offset)


State 678

  577 encaps_var_offset: "number" •

    $default  reduce using rule 577 (encaps_var_offset)


State 679

  569 encaps_var: "variable" '[' encaps_var_offset • ']'

    ']'  shift, and go to state 772


State 680

  573 encaps_var: "'${'" "variable name" '}' •

    $default  reduce using rule 573 (encaps_var)


State 681

  574 encaps_var: "'${'" "variable name" '[' • expr ']' '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 773
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 682

  572 encaps_var: "'${'" expr '}' •

    $default  reduce using rule 572 (encaps_var)


State 683

  575 encaps_var: "'{$'" variable '}' •

    $default  reduce using rule 575 (encaps_var)


State 684

  147 inner_statement: "'__halt_compiler'" '(' • ')' ';'

    ')'  shift, and go to state 774


State 685

  146 inner_statement: attributes attributed_statement •

    $default  reduce using rule 146 (inner_statement)


State 686

  374 expr: "'list'" '(' array_pair_list • ')' '=' expr
  563 array_pair: "'list'" '(' array_pair_list • ')'

    ')'  shift, and go to state 775


State 687

  374 expr: "'list'" • '(' array_pair_list ')' '=' expr
  562 array_pair: expr "'=>'" "'list'" • '(' array_pair_list ')'

    '('  shift, and go to state 776


State 688

  559 array_pair: expr "'=>'" ampersand • variable

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 777
    simple_variable               go to state 125
    static_member                 go to state 126


State 689

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  557 array_pair: expr "'=>'" expr •

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 557 (array_pair)


State 690

  375 expr: '[' array_pair_list ']' '=' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 778
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 691

  555 non_empty_array_pair_list: non_empty_array_pair_list ',' possible_array_pair •

    $default  reduce using rule 555 (non_empty_array_pair_list)


State 692

  535 simple_variable: '$' '{' expr '}' •

    $default  reduce using rule 535 (simple_variable)


State 693

  191 class_declaration_statement: class_modifiers "'class'" @4 "identifier" • extends_from implements_list backup_doc_comment '{' class_statement_list '}'

    "'extends'"  shift, and go to state 658

    $default  reduce using rule 210 (extends_from)

    extends_from  go to state 779


State 694

  247 if_stmt_without_else: if_stmt_without_else "'elseif'" '(' expr • ')' statement
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 780


State 695

  251 alt_if_stmt_without_else: alt_if_stmt_without_else "'elseif'" '(' expr • ')' ':' inner_statement_list
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 781


State 696

  142 inner_statement_list: inner_statement_list • inner_statement
  253 alt_if_stmt: alt_if_stmt_without_else "'else'" ':' inner_statement_list • "'endif'" ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'endif'"                  shift, and go to state 782
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 697

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  431     | expr '?' ':' expr •
  432     | expr • "'??'" expr

    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 431 (expr)


State 698

  430 expr: expr '?' expr ':' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 783
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 699

  457 inline_function: fn returns_ref backup_doc_comment '(' • parameter_list ')' return_type "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags

    "'#['"  shift, and go to state 72

    ')'       reduce using rule 255 (parameter_list)
    $default  reduce using rule 260 (optional_property_modifiers)

    attribute                    go to state 91
    attributes                   go to state 784
    parameter_list               go to state 785
    non_empty_parameter_list     go to state 786
    attributed_parameter         go to state 787
    optional_property_modifiers  go to state 788
    parameter                    go to state 789


State 700

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment • '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    '('  shift, and go to state 790


State 701

  456 inline_function: function returns_ref backup_doc_comment '(' • parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    "'#['"  shift, and go to state 72

    ')'       reduce using rule 255 (parameter_list)
    $default  reduce using rule 260 (optional_property_modifiers)

    attribute                    go to state 91
    attributes                   go to state 784
    parameter_list               go to state 791
    non_empty_parameter_list     go to state 786
    attributed_parameter         go to state 787
    optional_property_modifiers  go to state 788
    parameter                    go to state 789


State 702

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  547 member_name: '{' expr • '}'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    '}'             shift, and go to state 792


State 703

  473 function_call: class_name "'::'" member_name argument_list •

    $default  reduce using rule 473 (function_call)


State 704

  474 function_call: variable_class_name "'::'" member_name argument_list •

    $default  reduce using rule 474 (function_call)


State 705

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  550 property_name: '{' expr • '}'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    '}'             shift, and go to state 793


State 706

  527 callable_variable: array_object_dereferenceable "'->'" property_name argument_list •

    $default  reduce using rule 527 (callable_variable)


State 707

  528 callable_variable: array_object_dereferenceable "'?->'" property_name argument_list •

    $default  reduce using rule 528 (callable_variable)


State 708

  526 callable_variable: array_object_dereferenceable '{' expr '}' •

    $default  reduce using rule 526 (callable_variable)


State 709

  525 callable_variable: array_object_dereferenceable '[' optional_expr ']' •

    $default  reduce using rule 525 (callable_variable)


State 710

  377 expr: variable '=' ampersand variable •
  515 fully_dereferenceable: variable •

    "'->'"    reduce using rule 515 (fully_dereferenceable)
    "'?->'"   reduce using rule 515 (fully_dereferenceable)
    "'::'"    reduce using rule 515 (fully_dereferenceable)
    '{'       reduce using rule 515 (fully_dereferenceable)
    '['       reduce using rule 515 (fully_dereferenceable)
    $default  reduce using rule 377 (expr)


State 711

  369 anonymous_class: "'class'" @9 ctor_arguments extends_from • implements_list backup_doc_comment '{' class_statement_list '}'

    "'implements'"  shift, and go to state 749

    $default  reduce using rule 214 (implements_list)

    implements_list  go to state 794


State 712

  541 new_variable: new_variable '{' expr '}' •

    $default  reduce using rule 541 (new_variable)


State 713

  540 new_variable: new_variable '[' optional_expr ']' •

    $default  reduce using rule 540 (new_variable)


State 714

  250 alt_if_stmt_without_else: "'if'" '(' expr ')' ':' • inner_statement_list

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 795


State 715

  246 if_stmt_without_else: "'if'" '(' expr ')' statement •

    $default  reduce using rule 246 (if_stmt_without_else)


State 716

  152 statement: "'do'" statement "'while'" '(' expr • ')' ';'
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ')'             shift, and go to state 796


State 717

  245 while_statement: ':' • inner_statement_list "'endwhile'" ';'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 797


State 718

  244 while_statement: statement •

    $default  reduce using rule 244 (while_statement)


State 719

  151 statement: "'while'" '(' expr ')' while_statement •

    $default  reduce using rule 151 (statement)


State 720

  153 statement: "'for'" '(' for_exprs ';' for_exprs • ';' for_exprs ')' for_statement

    ';'  shift, and go to state 798


State 721

  366 non_empty_for_exprs: non_empty_for_exprs ',' expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 366 (non_empty_for_exprs)


State 722

  218 foreach_variable: "'list'" • '(' array_pair_list ')'

    '('  shift, and go to state 799


State 723

  219 foreach_variable: '[' • array_pair_list ']'
  490 dereferenceable_scalar: '[' • array_pair_list ']'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    array_pair_list               go to state 800
    possible_array_pair           go to state 328
    non_empty_array_pair_list     go to state 329
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 724

  217 foreach_variable: ampersand • variable

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    '('                        shift, and go to state 298
    '['                        shift, and go to state 299
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 801
    simple_variable               go to state 125
    static_member                 go to state 126


State 725

  164 statement: "'foreach'" '(' expr "'as'" foreach_variable • ')' foreach_statement
  165          | "'foreach'" '(' expr "'as'" foreach_variable • "'=>'" foreach_variable ')' foreach_statement

    "'=>'"  shift, and go to state 802
    ')'     shift, and go to state 803


State 726

  216 foreach_variable: variable •
  515 fully_dereferenceable: variable •

    "'=>'"    reduce using rule 216 (foreach_variable)
    ')'       reduce using rule 216 (foreach_variable)
    $default  reduce using rule 515 (fully_dereferenceable)


State 727

  167 statement: "'declare'" '(' const_list ')' $@3 • declare_statement

    ':'                        shift, and go to state 804
    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 805
    declare_statement             go to state 806
    match                         go to state 103
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 728

  228 switch_case_list: ':' • case_list "'endswitch'" ';'
  229                 | ':' • ';' case_list "'endswitch'" ';'

    ';'  shift, and go to state 807

    $default  reduce using rule 230 (case_list)

    case_list  go to state 808


State 729

  226 switch_case_list: '{' • case_list '}'
  227                 | '{' • ';' case_list '}'

    ';'  shift, and go to state 809

    $default  reduce using rule 230 (case_list)

    case_list  go to state 810


State 730

  154 statement: "'switch'" '(' expr ')' switch_case_list •

    $default  reduce using rule 154 (statement)


State 731

  235 match: "'match'" '(' expr ')' '{' • match_arm_list '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'default'"                shift, and go to state 811
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 236 (match_arm_list)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    match_arm_list                go to state 812
    non_empty_match_arm_list      go to state 813
    match_arm                     go to state 814
    match_arm_cond_list           go to state 815
    new_expr                      go to state 108
    expr                          go to state 816
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 732

  360 const_decl: "identifier" '=' expr backup_doc_comment •

    $default  reduce using rule 360 (const_decl)


State 733

  169 statement: "'try'" '{' inner_statement_list '}' catch_list • finally_statement
  173 catch_list: catch_list • "'catch'" '(' catch_name_list optional_variable ')' '{' inner_statement_list '}'

    "'catch'"    shift, and go to state 817
    "'finally'"  shift, and go to state 818

    $default  reduce using rule 178 (finally_statement)

    finally_statement  go to state 819


State 734

  136 unprefixed_use_declaration: namespace_name •
  137                           | namespace_name • "'as'" "identifier"

    "'as'"  shift, and go to state 820

    $default  reduce using rule 136 (unprefixed_use_declaration)


State 735

  135 inline_use_declaration: use_type • unprefixed_use_declaration

    "identifier"       shift, and go to state 181
    "namespaced name"  shift, and go to state 183

    namespace_name              go to state 734
    unprefixed_use_declaration  go to state 821


State 736

  125 mixed_group_use_declaration: legacy_namespace_name "'\\'" '{' inline_use_declarations • possible_comma '}'
  128 inline_use_declarations: inline_use_declarations • ',' inline_use_declaration

    ','  shift, and go to state 822

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 823


State 737

  129 inline_use_declarations: inline_use_declaration •

    $default  reduce using rule 129 (inline_use_declarations)


State 738

  134 inline_use_declaration: unprefixed_use_declaration •

    $default  reduce using rule 134 (inline_use_declaration)


State 739

  124 group_use_declaration: legacy_namespace_name "'\\'" '{' • unprefixed_use_declarations possible_comma '}'

    "identifier"       shift, and go to state 181
    "namespaced name"  shift, and go to state 183

    namespace_name               go to state 734
    unprefixed_use_declarations  go to state 824
    unprefixed_use_declaration   go to state 825


State 740

  303 argument: identifier ':' expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 303 (argument)


State 741

  304 argument: "'...'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 648
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 742

  301 non_empty_argument_list: non_empty_argument_list ',' argument •

    $default  reduce using rule 301 (non_empty_argument_list)


State 743

  298 argument_list: '(' non_empty_argument_list possible_comma ')' •

    $default  reduce using rule 298 (argument_list)


State 744

  181 unset_variables: unset_variables ',' unset_variable •

    $default  reduce using rule 181 (unset_variables)


State 745

  163 statement: "'unset'" '(' unset_variables possible_comma ')' • ';'

    ';'  shift, and go to state 826


State 746

  588 isset_variables: isset_variables ',' isset_variable •

    $default  reduce using rule 588 (isset_variables)


State 747

  580 internal_functions_in_yacc: "'isset'" '(' isset_variables possible_comma ')' •

    $default  reduce using rule 580 (internal_functions_in_yacc)


State 748

  211 extends_from: "'extends'" class_name •

    $default  reduce using rule 211 (extends_from)


State 749

  215 implements_list: "'implements'" • class_name_list

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name             go to state 150
    class_name_list  go to state 827
    class_name       go to state 753


State 750

  193 class_declaration_statement: "'class'" @5 "identifier" extends_from implements_list • backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 828


State 751

  200 trait_declaration_statement: "'trait'" @6 "identifier" backup_doc_comment '{' • class_statement_list '}'

    $default  reduce using rule 313 (class_statement_list)

    class_statement_list  go to state 829


State 752

  213 interface_extends_list: "'extends'" class_name_list •
  322 class_name_list: class_name_list • ',' class_name

    ','  shift, and go to state 830

    $default  reduce using rule 213 (interface_extends_list)


State 753

  321 class_name_list: class_name •

    $default  reduce using rule 321 (class_name_list)


State 754

  202 interface_declaration_statement: "'interface'" @7 "identifier" interface_extends_list backup_doc_comment • '{' class_statement_list '}'

    '{'  shift, and go to state 831


State 755

  271 type_expr: '?' • type

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 756
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758

    name                 go to state 760
    type                 go to state 832
    type_without_static  go to state 766


State 756

  275 type: "'static'" •

    $default  reduce using rule 275 (type)


State 757

  286 type_without_static: "'array'" •

    $default  reduce using rule 286 (type_without_static)


State 758

  287 type_without_static: "'callable'" •

    $default  reduce using rule 287 (type_without_static)


State 759

  277 union_type_element: '(' • intersection_type ')'

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 756
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758

    name                 go to state 760
    type                 go to state 833
    intersection_type    go to state 834
    type_without_static  go to state 766


State 760

  288 type_without_static: name •

    $default  reduce using rule 288 (type_without_static)


State 761

  206 enum_backing_type: ':' type_expr •

    $default  reduce using rule 206 (enum_backing_type)


State 762

  270 type_expr: type •
  276 union_type_element: type •
  280 intersection_type: type • "amp" type

    "amp"  shift, and go to state 835

    '|'       reduce using rule 276 (union_type_element)
    $default  reduce using rule 270 (type_expr)


State 763

  278 union_type: union_type_element • '|' union_type_element

    '|'  shift, and go to state 836


State 764

  272 type_expr: union_type •
  279 union_type: union_type • '|' union_type_element

    '|'  shift, and go to state 837

    $default  reduce using rule 272 (type_expr)


State 765

  273 type_expr: intersection_type •
  281 intersection_type: intersection_type • "amp" type

    "amp"  shift, and go to state 838

    $default  reduce using rule 273 (type_expr)


State 766

  274 type: type_without_static •

    $default  reduce using rule 274 (type)


State 767

  204 enum_declaration_statement: "'enum'" @8 "identifier" enum_backing_type implements_list • backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 839


State 768

   84 top_statement_list: top_statement_list • top_statement
  114 top_statement: "'namespace'" namespace_declaration_name $@1 '{' top_statement_list • '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'const'"                  shift, and go to state 43
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'use'"                    shift, and go to state 47
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 56
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'namespace'"              shift, and go to state 61
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 840
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 92
    attributed_statement             go to state 93
    top_statement                    go to state 94
    statement                        go to state 95
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 769

  116 top_statement: "'namespace'" $@2 '{' top_statement_list '}' •

    $default  reduce using rule 116 (top_statement)


State 770

  374 expr: "'list'" '(' array_pair_list ')' '=' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 841
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 771

  578 encaps_var_offset: '-' "number" •

    $default  reduce using rule 578 (encaps_var_offset)


State 772

  569 encaps_var: "variable" '[' encaps_var_offset ']' •

    $default  reduce using rule 569 (encaps_var)


State 773

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  574 encaps_var: "'${'" "variable name" '[' expr • ']' '}'

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ']'             shift, and go to state 842


State 774

  147 inner_statement: "'__halt_compiler'" '(' ')' • ';'

    ';'  shift, and go to state 843


State 775

  374 expr: "'list'" '(' array_pair_list ')' • '=' expr
  563 array_pair: "'list'" '(' array_pair_list ')' •

    '='  shift, and go to state 770

    $default  reduce using rule 563 (array_pair)


State 776

  374 expr: "'list'" '(' • array_pair_list ')' '=' expr
  562 array_pair: expr "'=>'" "'list'" '(' • array_pair_list ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    array_pair_list               go to state 844
    possible_array_pair           go to state 328
    non_empty_array_pair_list     go to state 329
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 777

  515 fully_dereferenceable: variable •
  559 array_pair: expr "'=>'" ampersand variable •

    ','       reduce using rule 559 (array_pair)
    ']'       reduce using rule 559 (array_pair)
    ')'       reduce using rule 559 (array_pair)
    $default  reduce using rule 515 (fully_dereferenceable)


State 778

  375 expr: '[' array_pair_list ']' '=' expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 375 (expr)


State 779

  191 class_declaration_statement: class_modifiers "'class'" @4 "identifier" extends_from • implements_list backup_doc_comment '{' class_statement_list '}'

    "'implements'"  shift, and go to state 749

    $default  reduce using rule 214 (implements_list)

    implements_list  go to state 845


State 780

  247 if_stmt_without_else: if_stmt_without_else "'elseif'" '(' expr ')' • statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 846
    match                         go to state 103
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 781

  251 alt_if_stmt_without_else: alt_if_stmt_without_else "'elseif'" '(' expr ')' • ':' inner_statement_list

    ':'  shift, and go to state 847


State 782

  253 alt_if_stmt: alt_if_stmt_without_else "'else'" ':' inner_statement_list "'endif'" • ';'

    ';'  shift, and go to state 848


State 783

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  430     | expr '?' expr ':' expr •
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 430 (expr)


State 784

  102 attributes: attributes • attribute
  258 attributed_parameter: attributes • parameter

    "'#['"  shift, and go to state 72

    $default  reduce using rule 260 (optional_property_modifiers)

    attribute                    go to state 341
    optional_property_modifiers  go to state 788
    parameter                    go to state 849


State 785

  457 inline_function: fn returns_ref backup_doc_comment '(' parameter_list • ')' return_type "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags

    ')'  shift, and go to state 850


State 786

  254 parameter_list: non_empty_parameter_list • possible_comma
  257 non_empty_parameter_list: non_empty_parameter_list • ',' attributed_parameter

    ','  shift, and go to state 851

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 852


State 787

  256 non_empty_parameter_list: attributed_parameter •

    $default  reduce using rule 256 (non_empty_parameter_list)


State 788

  261 optional_property_modifiers: optional_property_modifiers • property_modifier
  266 parameter: optional_property_modifiers • optional_type_without_static is_reference is_variadic "variable" backup_doc_comment
  267          | optional_property_modifiers • optional_type_without_static is_reference is_variadic "variable" backup_doc_comment '=' expr

    '?'                        shift, and go to state 853
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'private'"                shift, and go to state 854
    "'protected'"              shift, and go to state 855
    "'public'"                 shift, and go to state 856
    "'readonly'"               shift, and go to state 857
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758
    '('                        shift, and go to state 858

    $default  reduce using rule 268 (optional_type_without_static)

    name                               go to state 760
    property_modifier                  go to state 859
    optional_type_without_static       go to state 860
    type_expr_without_static           go to state 861
    type_without_static                go to state 862
    union_type_without_static_element  go to state 863
    union_type_without_static          go to state 864
    intersection_type_without_static   go to state 865


State 789

  259 attributed_parameter: parameter •

    $default  reduce using rule 259 (attributed_parameter)


State 790

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' • parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    "'#['"  shift, and go to state 72

    ')'       reduce using rule 255 (parameter_list)
    $default  reduce using rule 260 (optional_property_modifiers)

    attribute                    go to state 91
    attributes                   go to state 784
    parameter_list               go to state 866
    non_empty_parameter_list     go to state 786
    attributed_parameter         go to state 787
    optional_property_modifiers  go to state 788
    parameter                    go to state 789


State 791

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list • ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    ')'  shift, and go to state 867


State 792

  547 member_name: '{' expr '}' •

    $default  reduce using rule 547 (member_name)


State 793

  550 property_name: '{' expr '}' •

    $default  reduce using rule 550 (property_name)


State 794

  369 anonymous_class: "'class'" @9 ctor_arguments extends_from implements_list • backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 868


State 795

  142 inner_statement_list: inner_statement_list • inner_statement
  250 alt_if_stmt_without_else: "'if'" '(' expr ')' ':' inner_statement_list •

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 250 (alt_if_stmt_without_else)

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 796

  152 statement: "'do'" statement "'while'" '(' expr ')' • ';'

    ';'  shift, and go to state 869


State 797

  142 inner_statement_list: inner_statement_list • inner_statement
  245 while_statement: ':' inner_statement_list • "'endwhile'" ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'endwhile'"               shift, and go to state 870
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 798

  153 statement: "'for'" '(' for_exprs ';' for_exprs ';' • for_exprs ')' for_statement

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 364 (for_exprs)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    for_exprs                     go to state 871
    non_empty_for_exprs           go to state 429
    new_expr                      go to state 108
    expr                          go to state 430
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 799

  218 foreach_variable: "'list'" '(' • array_pair_list ')'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 321
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    "'...'"                    shift, and go to state 322
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 553 (possible_array_pair)

    ampersand                     go to state 325
    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 326
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    array_pair_list               go to state 872
    possible_array_pair           go to state 328
    non_empty_array_pair_list     go to state 329
    array_pair                    go to state 330
    internal_functions_in_yacc    go to state 127


State 800

  219 foreach_variable: '[' array_pair_list • ']'
  490 dereferenceable_scalar: '[' array_pair_list • ']'

    ']'  shift, and go to state 873


State 801

  217 foreach_variable: ampersand variable •
  515 fully_dereferenceable: variable •

    "'=>'"    reduce using rule 217 (foreach_variable)
    ')'       reduce using rule 217 (foreach_variable)
    $default  reduce using rule 515 (fully_dereferenceable)


State 802

  165 statement: "'foreach'" '(' expr "'as'" foreach_variable "'=>'" • foreach_variable ')' foreach_statement

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'static'"                 shift, and go to state 147
    "'readonly'"               shift, and go to state 130
    "'list'"                   shift, and go to state 722
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'&'"                      shift, and go to state 323
    "amp"                      shift, and go to state 324
    '('                        shift, and go to state 298
    '['                        shift, and go to state 723
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    ampersand                     go to state 724
    name                          go to state 90
    foreach_variable              go to state 874
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 300
    constant                      go to state 301
    class_constant                go to state 302
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 726
    simple_variable               go to state 125
    static_member                 go to state 126


State 803

  164 statement: "'foreach'" '(' expr "'as'" foreach_variable ')' • foreach_statement

    ':'                        shift, and go to state 875
    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 876
    foreach_statement             go to state 877
    match                         go to state 103
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 804

  225 declare_statement: ':' • inner_statement_list "'enddeclare'" ';'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 878


State 805

  224 declare_statement: statement •

    $default  reduce using rule 224 (declare_statement)


State 806

  167 statement: "'declare'" '(' const_list ')' $@3 declare_statement •

    $default  reduce using rule 167 (statement)


State 807

  229 switch_case_list: ':' ';' • case_list "'endswitch'" ';'

    $default  reduce using rule 230 (case_list)

    case_list  go to state 879


State 808

  228 switch_case_list: ':' case_list • "'endswitch'" ';'
  231 case_list: case_list • "'case'" expr case_separator inner_statement_list
  232          | case_list • "'default'" case_separator inner_statement_list

    "'endswitch'"  shift, and go to state 880
    "'case'"       shift, and go to state 881
    "'default'"    shift, and go to state 882


State 809

  227 switch_case_list: '{' ';' • case_list '}'

    $default  reduce using rule 230 (case_list)

    case_list  go to state 883


State 810

  226 switch_case_list: '{' case_list • '}'
  231 case_list: case_list • "'case'" expr case_separator inner_statement_list
  232          | case_list • "'default'" case_separator inner_statement_list

    "'case'"     shift, and go to state 881
    "'default'"  shift, and go to state 882
    '}'          shift, and go to state 884


State 811

  241 match_arm: "'default'" • possible_comma "'=>'" expr

    ','  shift, and go to state 885

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 886


State 812

  235 match: "'match'" '(' expr ')' '{' match_arm_list • '}'

    '}'  shift, and go to state 887


State 813

  237 match_arm_list: non_empty_match_arm_list • possible_comma
  239 non_empty_match_arm_list: non_empty_match_arm_list • ',' match_arm

    ','  shift, and go to state 888

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 889


State 814

  238 non_empty_match_arm_list: match_arm •

    $default  reduce using rule 238 (non_empty_match_arm_list)


State 815

  240 match_arm: match_arm_cond_list • possible_comma "'=>'" expr
  243 match_arm_cond_list: match_arm_cond_list • ',' expr

    ','  shift, and go to state 890

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 891


State 816

  242 match_arm_cond_list: expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 242 (match_arm_cond_list)


State 817

  173 catch_list: catch_list "'catch'" • '(' catch_name_list optional_variable ')' '{' inner_statement_list '}'

    '('  shift, and go to state 892


State 818

  179 finally_statement: "'finally'" • '{' inner_statement_list '}'

    '{'  shift, and go to state 893


State 819

  169 statement: "'try'" '{' inner_statement_list '}' catch_list finally_statement •

    $default  reduce using rule 169 (statement)


State 820

  137 unprefixed_use_declaration: namespace_name "'as'" • "identifier"

    "identifier"  shift, and go to state 894


State 821

  135 inline_use_declaration: use_type unprefixed_use_declaration •

    $default  reduce using rule 135 (inline_use_declaration)


State 822

  127 possible_comma: ',' •
  128 inline_use_declarations: inline_use_declarations ',' • inline_use_declaration

    "identifier"       shift, and go to state 181
    "namespaced name"  shift, and go to state 183
    "'function'"       shift, and go to state 184
    "'const'"          shift, and go to state 185

    $default  reduce using rule 127 (possible_comma)

    namespace_name              go to state 734
    use_type                    go to state 735
    inline_use_declaration      go to state 895
    unprefixed_use_declaration  go to state 738


State 823

  125 mixed_group_use_declaration: legacy_namespace_name "'\\'" '{' inline_use_declarations possible_comma • '}'

    '}'  shift, and go to state 896


State 824

  124 group_use_declaration: legacy_namespace_name "'\\'" '{' unprefixed_use_declarations • possible_comma '}'
  130 unprefixed_use_declarations: unprefixed_use_declarations • ',' unprefixed_use_declaration

    ','  shift, and go to state 897

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 898


State 825

  131 unprefixed_use_declarations: unprefixed_use_declaration •

    $default  reduce using rule 131 (unprefixed_use_declarations)


State 826

  163 statement: "'unset'" '(' unset_variables possible_comma ')' ';' •

    $default  reduce using rule 163 (statement)


State 827

  215 implements_list: "'implements'" class_name_list •
  322 class_name_list: class_name_list • ',' class_name

    ','  shift, and go to state 830

    $default  reduce using rule 215 (implements_list)


State 828

  193 class_declaration_statement: "'class'" @5 "identifier" extends_from implements_list backup_doc_comment • '{' class_statement_list '}'

    '{'  shift, and go to state 899


State 829

  200 trait_declaration_statement: "'trait'" @6 "identifier" backup_doc_comment '{' class_statement_list • '}'
  312 class_statement_list: class_statement_list • class_statement

    "'case'"       shift, and go to state 900
    "'use'"        shift, and go to state 901
    "'static'"     shift, and go to state 902
    "'abstract'"   shift, and go to state 903
    "'final'"      shift, and go to state 904
    "'private'"    shift, and go to state 905
    "'protected'"  shift, and go to state 906
    "'public'"     shift, and go to state 907
    "'readonly'"   shift, and go to state 908
    "'var'"        shift, and go to state 909
    "'#['"         shift, and go to state 72
    '}'            shift, and go to state 910

    $default  reduce using rule 342 (method_modifiers)

    attribute                   go to state 91
    attributes                  go to state 911
    enum_case                   go to state 912
    attributed_class_statement  go to state 913
    class_statement             go to state 914
    variable_modifiers          go to state 915
    method_modifiers            go to state 916
    non_empty_member_modifiers  go to state 917
    member_modifier             go to state 918


State 830

  322 class_name_list: class_name_list ',' • class_name

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name        go to state 150
    class_name  go to state 919


State 831

  202 interface_declaration_statement: "'interface'" @7 "identifier" interface_extends_list backup_doc_comment '{' • class_statement_list '}'

    $default  reduce using rule 313 (class_statement_list)

    class_statement_list  go to state 920


State 832

  271 type_expr: '?' type •

    $default  reduce using rule 271 (type_expr)


State 833

  280 intersection_type: type • "amp" type

    "amp"  shift, and go to state 835


State 834

  277 union_type_element: '(' intersection_type • ')'
  281 intersection_type: intersection_type • "amp" type

    "amp"  shift, and go to state 838
    ')'    shift, and go to state 921


State 835

  280 intersection_type: type "amp" • type

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 756
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758

    name                 go to state 760
    type                 go to state 922
    type_without_static  go to state 766


State 836

  278 union_type: union_type_element '|' • union_type_element

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 756
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758
    '('                        shift, and go to state 759

    name                 go to state 760
    type                 go to state 923
    union_type_element   go to state 924
    type_without_static  go to state 766


State 837

  279 union_type: union_type '|' • union_type_element

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 756
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758
    '('                        shift, and go to state 759

    name                 go to state 760
    type                 go to state 923
    union_type_element   go to state 925
    type_without_static  go to state 766


State 838

  281 intersection_type: intersection_type "amp" • type

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 756
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758

    name                 go to state 760
    type                 go to state 926
    type_without_static  go to state 766


State 839

  204 enum_declaration_statement: "'enum'" @8 "identifier" enum_backing_type implements_list backup_doc_comment • '{' class_statement_list '}'

    '{'  shift, and go to state 927


State 840

  114 top_statement: "'namespace'" namespace_declaration_name $@1 '{' top_statement_list '}' •

    $default  reduce using rule 114 (top_statement)


State 841

  374 expr: "'list'" '(' array_pair_list ')' '=' expr •
  396     | expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 374 (expr)


State 842

  574 encaps_var: "'${'" "variable name" '[' expr ']' • '}'

    '}'  shift, and go to state 928


State 843

  147 inner_statement: "'__halt_compiler'" '(' ')' ';' •

    $default  reduce using rule 147 (inner_statement)


State 844

  374 expr: "'list'" '(' array_pair_list • ')' '=' expr
  562 array_pair: expr "'=>'" "'list'" '(' array_pair_list • ')'

    ')'  shift, and go to state 929


State 845

  191 class_declaration_statement: class_modifiers "'class'" @4 "identifier" extends_from implements_list • backup_doc_comment '{' class_statement_list '}'

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 930


State 846

  247 if_stmt_without_else: if_stmt_without_else "'elseif'" '(' expr ')' statement •

    $default  reduce using rule 247 (if_stmt_without_else)


State 847

  251 alt_if_stmt_without_else: alt_if_stmt_without_else "'elseif'" '(' expr ')' ':' • inner_statement_list

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 931


State 848

  253 alt_if_stmt: alt_if_stmt_without_else "'else'" ':' inner_statement_list "'endif'" ';' •

    $default  reduce using rule 253 (alt_if_stmt)


State 849

  258 attributed_parameter: attributes parameter •

    $default  reduce using rule 258 (attributed_parameter)


State 850

  457 inline_function: fn returns_ref backup_doc_comment '(' parameter_list ')' • return_type "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags

    ':'  shift, and go to state 932

    $default  reduce using rule 295 (return_type)

    return_type  go to state 933


State 851

  127 possible_comma: ',' •
  257 non_empty_parameter_list: non_empty_parameter_list ',' • attributed_parameter

    "'#['"  shift, and go to state 72

    ')'       reduce using rule 127 (possible_comma)
    $default  reduce using rule 260 (optional_property_modifiers)

    attribute                    go to state 91
    attributes                   go to state 784
    attributed_parameter         go to state 934
    optional_property_modifiers  go to state 788
    parameter                    go to state 789


State 852

  254 parameter_list: non_empty_parameter_list possible_comma •

    $default  reduce using rule 254 (parameter_list)


State 853

  283 type_expr_without_static: '?' • type_without_static

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758

    name                 go to state 760
    type_without_static  go to state 935


State 854

  264 property_modifier: "'private'" •

    $default  reduce using rule 264 (property_modifier)


State 855

  263 property_modifier: "'protected'" •

    $default  reduce using rule 263 (property_modifier)


State 856

  262 property_modifier: "'public'" •

    $default  reduce using rule 262 (property_modifier)


State 857

  265 property_modifier: "'readonly'" •

    $default  reduce using rule 265 (property_modifier)


State 858

  290 union_type_without_static_element: '(' • intersection_type_without_static ')'

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758

    name                              go to state 760
    type_without_static               go to state 936
    intersection_type_without_static  go to state 937


State 859

  261 optional_property_modifiers: optional_property_modifiers property_modifier •

    $default  reduce using rule 261 (optional_property_modifiers)


State 860

  266 parameter: optional_property_modifiers optional_type_without_static • is_reference is_variadic "variable" backup_doc_comment
  267          | optional_property_modifiers optional_type_without_static • is_reference is_variadic "variable" backup_doc_comment '=' expr

    "'&'"  shift, and go to state 938

    $default  reduce using rule 186 (is_reference)

    is_reference  go to state 939


State 861

  269 optional_type_without_static: type_expr_without_static •

    $default  reduce using rule 269 (optional_type_without_static)


State 862

  282 type_expr_without_static: type_without_static •
  289 union_type_without_static_element: type_without_static •
  293 intersection_type_without_static: type_without_static • "amp" type_without_static

    "amp"  shift, and go to state 940

    '|'       reduce using rule 289 (union_type_without_static_element)
    $default  reduce using rule 282 (type_expr_without_static)


State 863

  291 union_type_without_static: union_type_without_static_element • '|' union_type_without_static_element

    '|'  shift, and go to state 941


State 864

  284 type_expr_without_static: union_type_without_static •
  292 union_type_without_static: union_type_without_static • '|' union_type_without_static_element

    '|'  shift, and go to state 942

    $default  reduce using rule 284 (type_expr_without_static)


State 865

  285 type_expr_without_static: intersection_type_without_static •
  294 intersection_type_without_static: intersection_type_without_static • "amp" type_without_static

    "amp"  shift, and go to state 943

    $default  reduce using rule 285 (type_expr_without_static)


State 866

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list • ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    ')'  shift, and go to state 944


State 867

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' • lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    "'use'"  shift, and go to state 945

    $default  reduce using rule 465 (lexical_vars)

    lexical_vars  go to state 946


State 868

  369 anonymous_class: "'class'" @9 ctor_arguments extends_from implements_list backup_doc_comment • '{' class_statement_list '}'

    '{'  shift, and go to state 947


State 869

  152 statement: "'do'" statement "'while'" '(' expr ')' ';' •

    $default  reduce using rule 152 (statement)


State 870

  245 while_statement: ':' inner_statement_list "'endwhile'" • ';'

    ';'  shift, and go to state 948


State 871

  153 statement: "'for'" '(' for_exprs ';' for_exprs ';' for_exprs • ')' for_statement

    ')'  shift, and go to state 949


State 872

  218 foreach_variable: "'list'" '(' array_pair_list • ')'

    ')'  shift, and go to state 950


State 873

  219 foreach_variable: '[' array_pair_list ']' •
  490 dereferenceable_scalar: '[' array_pair_list ']' •

    "'=>'"    reduce using rule 219 (foreach_variable)
    ')'       reduce using rule 219 (foreach_variable)
    $default  reduce using rule 490 (dereferenceable_scalar)


State 874

  165 statement: "'foreach'" '(' expr "'as'" foreach_variable "'=>'" foreach_variable • ')' foreach_statement

    ')'  shift, and go to state 951


State 875

  223 foreach_statement: ':' • inner_statement_list "'endforeach'" ';'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 952


State 876

  222 foreach_statement: statement •

    $default  reduce using rule 222 (foreach_statement)


State 877

  164 statement: "'foreach'" '(' expr "'as'" foreach_variable ')' foreach_statement •

    $default  reduce using rule 164 (statement)


State 878

  142 inner_statement_list: inner_statement_list • inner_statement
  225 declare_statement: ':' inner_statement_list • "'enddeclare'" ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'enddeclare'"             shift, and go to state 953
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 879

  229 switch_case_list: ':' ';' case_list • "'endswitch'" ';'
  231 case_list: case_list • "'case'" expr case_separator inner_statement_list
  232          | case_list • "'default'" case_separator inner_statement_list

    "'endswitch'"  shift, and go to state 954
    "'case'"       shift, and go to state 881
    "'default'"    shift, and go to state 882


State 880

  228 switch_case_list: ':' case_list "'endswitch'" • ';'

    ';'  shift, and go to state 955


State 881

  231 case_list: case_list "'case'" • expr case_separator inner_statement_list

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 956
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 882

  232 case_list: case_list "'default'" • case_separator inner_statement_list

    ':'  shift, and go to state 957
    ';'  shift, and go to state 958

    case_separator  go to state 959


State 883

  227 switch_case_list: '{' ';' case_list • '}'
  231 case_list: case_list • "'case'" expr case_separator inner_statement_list
  232          | case_list • "'default'" case_separator inner_statement_list

    "'case'"     shift, and go to state 881
    "'default'"  shift, and go to state 882
    '}'          shift, and go to state 960


State 884

  226 switch_case_list: '{' case_list '}' •

    $default  reduce using rule 226 (switch_case_list)


State 885

  127 possible_comma: ',' •

    $default  reduce using rule 127 (possible_comma)


State 886

  241 match_arm: "'default'" possible_comma • "'=>'" expr

    "'=>'"  shift, and go to state 961


State 887

  235 match: "'match'" '(' expr ')' '{' match_arm_list '}' •

    $default  reduce using rule 235 (match)


State 888

  127 possible_comma: ',' •
  239 non_empty_match_arm_list: non_empty_match_arm_list ',' • match_arm

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'default'"                shift, and go to state 811
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 127 (possible_comma)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    match_arm                     go to state 962
    match_arm_cond_list           go to state 815
    new_expr                      go to state 108
    expr                          go to state 816
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 889

  237 match_arm_list: non_empty_match_arm_list possible_comma •

    $default  reduce using rule 237 (match_arm_list)


State 890

  127 possible_comma: ',' •
  243 match_arm_cond_list: match_arm_cond_list ',' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 127 (possible_comma)

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 963
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 891

  240 match_arm: match_arm_cond_list possible_comma • "'=>'" expr

    "'=>'"  shift, and go to state 964


State 892

  173 catch_list: catch_list "'catch'" '(' • catch_name_list optional_variable ')' '{' inner_statement_list '}'

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name             go to state 150
    catch_name_list  go to state 965
    class_name       go to state 966


State 893

  179 finally_statement: "'finally'" '{' • inner_statement_list '}'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 967


State 894

  137 unprefixed_use_declaration: namespace_name "'as'" "identifier" •

    $default  reduce using rule 137 (unprefixed_use_declaration)


State 895

  128 inline_use_declarations: inline_use_declarations ',' inline_use_declaration •

    $default  reduce using rule 128 (inline_use_declarations)


State 896

  125 mixed_group_use_declaration: legacy_namespace_name "'\\'" '{' inline_use_declarations possible_comma '}' •

    $default  reduce using rule 125 (mixed_group_use_declaration)


State 897

  127 possible_comma: ',' •
  130 unprefixed_use_declarations: unprefixed_use_declarations ',' • unprefixed_use_declaration

    "identifier"       shift, and go to state 181
    "namespaced name"  shift, and go to state 183

    $default  reduce using rule 127 (possible_comma)

    namespace_name              go to state 734
    unprefixed_use_declaration  go to state 968


State 898

  124 group_use_declaration: legacy_namespace_name "'\\'" '{' unprefixed_use_declarations possible_comma • '}'

    '}'  shift, and go to state 969


State 899

  193 class_declaration_statement: "'class'" @5 "identifier" extends_from implements_list backup_doc_comment '{' • class_statement_list '}'

    $default  reduce using rule 313 (class_statement_list)

    class_statement_list  go to state 970


State 900

  207 enum_case: "'case'" • backup_doc_comment identifier enum_case_expr ';'

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 971


State 901

  320 class_statement: "'use'" • class_name_list trait_adaptations

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name             go to state 150
    class_name_list  go to state 972
    class_name       go to state 753


State 902

  349 member_modifier: "'static'" •

    $default  reduce using rule 349 (member_modifier)


State 903

  350 member_modifier: "'abstract'" •

    $default  reduce using rule 350 (member_modifier)


State 904

  351 member_modifier: "'final'" •

    $default  reduce using rule 351 (member_modifier)


State 905

  348 member_modifier: "'private'" •

    $default  reduce using rule 348 (member_modifier)


State 906

  347 member_modifier: "'protected'" •

    $default  reduce using rule 347 (member_modifier)


State 907

  346 member_modifier: "'public'" •

    $default  reduce using rule 346 (member_modifier)


State 908

  352 member_modifier: "'readonly'" •

    $default  reduce using rule 352 (member_modifier)


State 909

  341 variable_modifiers: "'var'" •

    $default  reduce using rule 341 (variable_modifiers)


State 910

  200 trait_declaration_statement: "'trait'" @6 "identifier" backup_doc_comment '{' class_statement_list '}' •

    $default  reduce using rule 200 (trait_declaration_statement)


State 911

  102 attributes: attributes • attribute
  319 class_statement: attributes • attributed_class_statement

    "'case'"       shift, and go to state 900
    "'static'"     shift, and go to state 902
    "'abstract'"   shift, and go to state 903
    "'final'"      shift, and go to state 904
    "'private'"    shift, and go to state 905
    "'protected'"  shift, and go to state 906
    "'public'"     shift, and go to state 907
    "'readonly'"   shift, and go to state 908
    "'var'"        shift, and go to state 909
    "'#['"         shift, and go to state 72

    $default  reduce using rule 342 (method_modifiers)

    attribute                   go to state 341
    enum_case                   go to state 912
    attributed_class_statement  go to state 973
    variable_modifiers          go to state 915
    method_modifiers            go to state 916
    non_empty_member_modifiers  go to state 917
    member_modifier             go to state 918


State 912

  317 attributed_class_statement: enum_case •

    $default  reduce using rule 317 (attributed_class_statement)


State 913

  318 class_statement: attributed_class_statement •

    $default  reduce using rule 318 (class_statement)


State 914

  312 class_statement_list: class_statement_list class_statement •

    $default  reduce using rule 312 (class_statement_list)


State 915

  314 attributed_class_statement: variable_modifiers • optional_type_without_static property_list ';'

    '?'                        shift, and go to state 853
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758
    '('                        shift, and go to state 858

    $default  reduce using rule 268 (optional_type_without_static)

    name                               go to state 760
    optional_type_without_static       go to state 974
    type_expr_without_static           go to state 861
    type_without_static                go to state 862
    union_type_without_static_element  go to state 863
    union_type_without_static          go to state 864
    intersection_type_without_static   go to state 865


State 916

  315 attributed_class_statement: method_modifiers • "'const'" class_const_list ';'
  316                           | method_modifiers • function returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags

    "'function'"  shift, and go to state 41
    "'const'"     shift, and go to state 975

    function  go to state 976


State 917

  340 variable_modifiers: non_empty_member_modifiers •
  343 method_modifiers: non_empty_member_modifiers •
  345 non_empty_member_modifiers: non_empty_member_modifiers • member_modifier

    "'static'"     shift, and go to state 902
    "'abstract'"   shift, and go to state 903
    "'final'"      shift, and go to state 904
    "'private'"    shift, and go to state 905
    "'protected'"  shift, and go to state 906
    "'public'"     shift, and go to state 907
    "'readonly'"   shift, and go to state 908

    "'function'"  reduce using rule 343 (method_modifiers)
    "'const'"     reduce using rule 343 (method_modifiers)
    $default      reduce using rule 340 (variable_modifiers)

    member_modifier  go to state 977


State 918

  344 non_empty_member_modifiers: member_modifier •

    $default  reduce using rule 344 (non_empty_member_modifiers)


State 919

  322 class_name_list: class_name_list ',' class_name •

    $default  reduce using rule 322 (class_name_list)


State 920

  202 interface_declaration_statement: "'interface'" @7 "identifier" interface_extends_list backup_doc_comment '{' class_statement_list • '}'
  312 class_statement_list: class_statement_list • class_statement

    "'case'"       shift, and go to state 900
    "'use'"        shift, and go to state 901
    "'static'"     shift, and go to state 902
    "'abstract'"   shift, and go to state 903
    "'final'"      shift, and go to state 904
    "'private'"    shift, and go to state 905
    "'protected'"  shift, and go to state 906
    "'public'"     shift, and go to state 907
    "'readonly'"   shift, and go to state 908
    "'var'"        shift, and go to state 909
    "'#['"         shift, and go to state 72
    '}'            shift, and go to state 978

    $default  reduce using rule 342 (method_modifiers)

    attribute                   go to state 91
    attributes                  go to state 911
    enum_case                   go to state 912
    attributed_class_statement  go to state 913
    class_statement             go to state 914
    variable_modifiers          go to state 915
    method_modifiers            go to state 916
    non_empty_member_modifiers  go to state 917
    member_modifier             go to state 918


State 921

  277 union_type_element: '(' intersection_type ')' •

    $default  reduce using rule 277 (union_type_element)


State 922

  280 intersection_type: type "amp" type •

    $default  reduce using rule 280 (intersection_type)


State 923

  276 union_type_element: type •

    $default  reduce using rule 276 (union_type_element)


State 924

  278 union_type: union_type_element '|' union_type_element •

    $default  reduce using rule 278 (union_type)


State 925

  279 union_type: union_type '|' union_type_element •

    $default  reduce using rule 279 (union_type)


State 926

  281 intersection_type: intersection_type "amp" type •

    $default  reduce using rule 281 (intersection_type)


State 927

  204 enum_declaration_statement: "'enum'" @8 "identifier" enum_backing_type implements_list backup_doc_comment '{' • class_statement_list '}'

    $default  reduce using rule 313 (class_statement_list)

    class_statement_list  go to state 979


State 928

  574 encaps_var: "'${'" "variable name" '[' expr ']' '}' •

    $default  reduce using rule 574 (encaps_var)


State 929

  374 expr: "'list'" '(' array_pair_list ')' • '=' expr
  562 array_pair: expr "'=>'" "'list'" '(' array_pair_list ')' •

    '='  shift, and go to state 770

    $default  reduce using rule 562 (array_pair)


State 930

  191 class_declaration_statement: class_modifiers "'class'" @4 "identifier" extends_from implements_list backup_doc_comment • '{' class_statement_list '}'

    '{'  shift, and go to state 980


State 931

  142 inner_statement_list: inner_statement_list • inner_statement
  251 alt_if_stmt_without_else: alt_if_stmt_without_else "'elseif'" '(' expr ')' ':' inner_statement_list •

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 251 (alt_if_stmt_without_else)

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 932

  296 return_type: ':' • type_expr

    '?'                        shift, and go to state 755
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 756
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758
    '('                        shift, and go to state 759

    name                 go to state 760
    type_expr            go to state 981
    type                 go to state 762
    union_type_element   go to state 763
    union_type           go to state 764
    intersection_type    go to state 765
    type_without_static  go to state 766


State 933

  457 inline_function: fn returns_ref backup_doc_comment '(' parameter_list ')' return_type • "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags

    "'=>'"  shift, and go to state 982


State 934

  257 non_empty_parameter_list: non_empty_parameter_list ',' attributed_parameter •

    $default  reduce using rule 257 (non_empty_parameter_list)


State 935

  283 type_expr_without_static: '?' type_without_static •

    $default  reduce using rule 283 (type_expr_without_static)


State 936

  293 intersection_type_without_static: type_without_static • "amp" type_without_static

    "amp"  shift, and go to state 940


State 937

  290 union_type_without_static_element: '(' intersection_type_without_static • ')'
  294 intersection_type_without_static: intersection_type_without_static • "amp" type_without_static

    "amp"  shift, and go to state 943
    ')'    shift, and go to state 983


State 938

  187 is_reference: "'&'" •

    $default  reduce using rule 187 (is_reference)


State 939

  266 parameter: optional_property_modifiers optional_type_without_static is_reference • is_variadic "variable" backup_doc_comment
  267          | optional_property_modifiers optional_type_without_static is_reference • is_variadic "variable" backup_doc_comment '=' expr

    "'...'"  shift, and go to state 984

    $default  reduce using rule 188 (is_variadic)

    is_variadic  go to state 985


State 940

  293 intersection_type_without_static: type_without_static "amp" • type_without_static

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758

    name                 go to state 760
    type_without_static  go to state 986


State 941

  291 union_type_without_static: union_type_without_static_element '|' • union_type_without_static_element

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758
    '('                        shift, and go to state 858

    name                               go to state 760
    type_without_static                go to state 987
    union_type_without_static_element  go to state 988


State 942

  292 union_type_without_static: union_type_without_static '|' • union_type_without_static_element

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758
    '('                        shift, and go to state 858

    name                               go to state 760
    type_without_static                go to state 987
    union_type_without_static_element  go to state 989


State 943

  294 intersection_type_without_static: intersection_type_without_static "amp" • type_without_static

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'array'"                  shift, and go to state 757
    "'callable'"               shift, and go to state 758

    name                 go to state 760
    type_without_static  go to state 990


State 944

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' • return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    ':'  shift, and go to state 932

    $default  reduce using rule 295 (return_type)

    return_type  go to state 991


State 945

  466 lexical_vars: "'use'" • '(' lexical_var_list possible_comma ')'

    '('  shift, and go to state 992


State 946

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars • return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    ':'  shift, and go to state 932

    $default  reduce using rule 295 (return_type)

    return_type  go to state 993


State 947

  369 anonymous_class: "'class'" @9 ctor_arguments extends_from implements_list backup_doc_comment '{' • class_statement_list '}'

    $default  reduce using rule 313 (class_statement_list)

    class_statement_list  go to state 994


State 948

  245 while_statement: ':' inner_statement_list "'endwhile'" ';' •

    $default  reduce using rule 245 (while_statement)


State 949

  153 statement: "'for'" '(' for_exprs ';' for_exprs ';' for_exprs ')' • for_statement

    ':'                        shift, and go to state 995
    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 996
    for_statement                 go to state 997
    match                         go to state 103
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 950

  218 foreach_variable: "'list'" '(' array_pair_list ')' •

    $default  reduce using rule 218 (foreach_variable)


State 951

  165 statement: "'foreach'" '(' expr "'as'" foreach_variable "'=>'" foreach_variable ')' • foreach_statement

    ':'                        shift, and go to state 875
    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'readonly'"               shift, and go to state 130
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    statement                     go to state 876
    foreach_statement             go to state 998
    match                         go to state 103
    if_stmt_without_else          go to state 104
    if_stmt                       go to state 105
    alt_if_stmt_without_else      go to state 106
    alt_if_stmt                   go to state 107
    new_expr                      go to state 108
    expr                          go to state 109
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 952

  142 inner_statement_list: inner_statement_list • inner_statement
  223 foreach_statement: ':' inner_statement_list • "'endforeach'" ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'endforeach'"             shift, and go to state 999
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 953

  225 declare_statement: ':' inner_statement_list "'enddeclare'" • ';'

    ';'  shift, and go to state 1000


State 954

  229 switch_case_list: ':' ';' case_list "'endswitch'" • ';'

    ';'  shift, and go to state 1001


State 955

  228 switch_case_list: ':' case_list "'endswitch'" ';' •

    $default  reduce using rule 228 (switch_case_list)


State 956

  231 case_list: case_list "'case'" expr • case_separator inner_statement_list
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    ':'             shift, and go to state 957
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380
    ';'             shift, and go to state 958

    case_separator  go to state 1002


State 957

  233 case_separator: ':' •

    $default  reduce using rule 233 (case_separator)


State 958

  234 case_separator: ';' •

    $default  reduce using rule 234 (case_separator)


State 959

  232 case_list: case_list "'default'" case_separator • inner_statement_list

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 1003


State 960

  227 switch_case_list: '{' ';' case_list '}' •

    $default  reduce using rule 227 (switch_case_list)


State 961

  241 match_arm: "'default'" possible_comma "'=>'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 1004
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 962

  239 non_empty_match_arm_list: non_empty_match_arm_list ',' match_arm •

    $default  reduce using rule 239 (non_empty_match_arm_list)


State 963

  243 match_arm_cond_list: match_arm_cond_list ',' expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 243 (match_arm_cond_list)


State 964

  240 match_arm: match_arm_cond_list possible_comma "'=>'" • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 1005
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 965

  173 catch_list: catch_list "'catch'" '(' catch_name_list • optional_variable ')' '{' inner_statement_list '}'
  175 catch_name_list: catch_name_list • '|' class_name

    '|'         shift, and go to state 1006
    "variable"  shift, and go to state 1007

    $default  reduce using rule 176 (optional_variable)

    optional_variable  go to state 1008


State 966

  174 catch_name_list: class_name •

    $default  reduce using rule 174 (catch_name_list)


State 967

  142 inner_statement_list: inner_statement_list • inner_statement
  179 finally_statement: "'finally'" '{' inner_statement_list • '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 1009
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 968

  130 unprefixed_use_declarations: unprefixed_use_declarations ',' unprefixed_use_declaration •

    $default  reduce using rule 130 (unprefixed_use_declarations)


State 969

  124 group_use_declaration: legacy_namespace_name "'\\'" '{' unprefixed_use_declarations possible_comma '}' •

    $default  reduce using rule 124 (group_use_declaration)


State 970

  193 class_declaration_statement: "'class'" @5 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list • '}'
  312 class_statement_list: class_statement_list • class_statement

    "'case'"       shift, and go to state 900
    "'use'"        shift, and go to state 901
    "'static'"     shift, and go to state 902
    "'abstract'"   shift, and go to state 903
    "'final'"      shift, and go to state 904
    "'private'"    shift, and go to state 905
    "'protected'"  shift, and go to state 906
    "'public'"     shift, and go to state 907
    "'readonly'"   shift, and go to state 908
    "'var'"        shift, and go to state 909
    "'#['"         shift, and go to state 72
    '}'            shift, and go to state 1010

    $default  reduce using rule 342 (method_modifiers)

    attribute                   go to state 91
    attributes                  go to state 911
    enum_case                   go to state 912
    attributed_class_statement  go to state 913
    class_statement             go to state 914
    variable_modifiers          go to state 915
    method_modifiers            go to state 916
    non_empty_member_modifiers  go to state 917
    member_modifier             go to state 918


State 971

  207 enum_case: "'case'" backup_doc_comment • identifier enum_case_expr ';'

    "identifier"       shift, and go to state 209
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287

    reserved_non_modifiers  go to state 288
    semi_reserved           go to state 289
    identifier              go to state 1011


State 972

  320 class_statement: "'use'" class_name_list • trait_adaptations
  322 class_name_list: class_name_list • ',' class_name

    ','  shift, and go to state 830
    ';'  shift, and go to state 1012
    '{'  shift, and go to state 1013

    trait_adaptations  go to state 1014


State 973

  319 class_statement: attributes attributed_class_statement •

    $default  reduce using rule 319 (class_statement)


State 974

  314 attributed_class_statement: variable_modifiers optional_type_without_static • property_list ';'

    "variable"  shift, and go to state 1015

    property_list  go to state 1016
    property       go to state 1017


State 975

  315 attributed_class_statement: method_modifiers "'const'" • class_const_list ';'

    "identifier"       shift, and go to state 209
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287

    reserved_non_modifiers  go to state 288
    semi_reserved           go to state 289
    identifier              go to state 1018
    class_const_list        go to state 1019
    class_const_decl        go to state 1020


State 976

  316 attributed_class_statement: method_modifiers function • returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags

    "'&'"  shift, and go to state 323
    "amp"  shift, and go to state 324

    $default  reduce using rule 463 (returns_ref)

    ampersand    go to state 382
    returns_ref  go to state 1021


State 977

  345 non_empty_member_modifiers: non_empty_member_modifiers member_modifier •

    $default  reduce using rule 345 (non_empty_member_modifiers)


State 978

  202 interface_declaration_statement: "'interface'" @7 "identifier" interface_extends_list backup_doc_comment '{' class_statement_list '}' •

    $default  reduce using rule 202 (interface_declaration_statement)


State 979

  204 enum_declaration_statement: "'enum'" @8 "identifier" enum_backing_type implements_list backup_doc_comment '{' class_statement_list • '}'
  312 class_statement_list: class_statement_list • class_statement

    "'case'"       shift, and go to state 900
    "'use'"        shift, and go to state 901
    "'static'"     shift, and go to state 902
    "'abstract'"   shift, and go to state 903
    "'final'"      shift, and go to state 904
    "'private'"    shift, and go to state 905
    "'protected'"  shift, and go to state 906
    "'public'"     shift, and go to state 907
    "'readonly'"   shift, and go to state 908
    "'var'"        shift, and go to state 909
    "'#['"         shift, and go to state 72
    '}'            shift, and go to state 1022

    $default  reduce using rule 342 (method_modifiers)

    attribute                   go to state 91
    attributes                  go to state 911
    enum_case                   go to state 912
    attributed_class_statement  go to state 913
    class_statement             go to state 914
    variable_modifiers          go to state 915
    method_modifiers            go to state 916
    non_empty_member_modifiers  go to state 917
    member_modifier             go to state 918


State 980

  191 class_declaration_statement: class_modifiers "'class'" @4 "identifier" extends_from implements_list backup_doc_comment '{' • class_statement_list '}'

    $default  reduce using rule 313 (class_statement_list)

    class_statement_list  go to state 1023


State 981

  296 return_type: ':' type_expr •

    $default  reduce using rule 296 (return_type)


State 982

  457 inline_function: fn returns_ref backup_doc_comment '(' parameter_list ')' return_type "'=>'" • backup_fn_flags backup_lex_pos expr backup_fn_flags

    $default  reduce using rule 461 (backup_fn_flags)

    backup_fn_flags  go to state 1024


State 983

  290 union_type_without_static_element: '(' intersection_type_without_static ')' •

    $default  reduce using rule 290 (union_type_without_static_element)


State 984

  189 is_variadic: "'...'" •

    $default  reduce using rule 189 (is_variadic)


State 985

  266 parameter: optional_property_modifiers optional_type_without_static is_reference is_variadic • "variable" backup_doc_comment
  267          | optional_property_modifiers optional_type_without_static is_reference is_variadic • "variable" backup_doc_comment '=' expr

    "variable"  shift, and go to state 1025


State 986

  293 intersection_type_without_static: type_without_static "amp" type_without_static •

    $default  reduce using rule 293 (intersection_type_without_static)


State 987

  289 union_type_without_static_element: type_without_static •

    $default  reduce using rule 289 (union_type_without_static_element)


State 988

  291 union_type_without_static: union_type_without_static_element '|' union_type_without_static_element •

    $default  reduce using rule 291 (union_type_without_static)


State 989

  292 union_type_without_static: union_type_without_static '|' union_type_without_static_element •

    $default  reduce using rule 292 (union_type_without_static)


State 990

  294 intersection_type_without_static: intersection_type_without_static "amp" type_without_static •

    $default  reduce using rule 294 (intersection_type_without_static)


State 991

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type • backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    $default  reduce using rule 461 (backup_fn_flags)

    backup_fn_flags  go to state 1026


State 992

  466 lexical_vars: "'use'" '(' • lexical_var_list possible_comma ')'

    "variable"  shift, and go to state 1027
    "'&'"       shift, and go to state 323
    "amp"       shift, and go to state 324

    ampersand         go to state 1028
    lexical_var_list  go to state 1029
    lexical_var       go to state 1030


State 993

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type • backup_fn_flags '{' inner_statement_list '}' backup_fn_flags

    $default  reduce using rule 461 (backup_fn_flags)

    backup_fn_flags  go to state 1031


State 994

  312 class_statement_list: class_statement_list • class_statement
  369 anonymous_class: "'class'" @9 ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list • '}'

    "'case'"       shift, and go to state 900
    "'use'"        shift, and go to state 901
    "'static'"     shift, and go to state 902
    "'abstract'"   shift, and go to state 903
    "'final'"      shift, and go to state 904
    "'private'"    shift, and go to state 905
    "'protected'"  shift, and go to state 906
    "'public'"     shift, and go to state 907
    "'readonly'"   shift, and go to state 908
    "'var'"        shift, and go to state 909
    "'#['"         shift, and go to state 72
    '}'            shift, and go to state 1032

    $default  reduce using rule 342 (method_modifiers)

    attribute                   go to state 91
    attributes                  go to state 911
    enum_case                   go to state 912
    attributed_class_statement  go to state 913
    class_statement             go to state 914
    variable_modifiers          go to state 915
    method_modifiers            go to state 916
    non_empty_member_modifiers  go to state 917
    member_modifier             go to state 918


State 995

  221 for_statement: ':' • inner_statement_list "'endfor'" ';'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 1033


State 996

  220 for_statement: statement •

    $default  reduce using rule 220 (for_statement)


State 997

  153 statement: "'for'" '(' for_exprs ';' for_exprs ';' for_exprs ')' for_statement •

    $default  reduce using rule 153 (statement)


State 998

  165 statement: "'foreach'" '(' expr "'as'" foreach_variable "'=>'" foreach_variable ')' foreach_statement •

    $default  reduce using rule 165 (statement)


State 999

  223 foreach_statement: ':' inner_statement_list "'endforeach'" • ';'

    ';'  shift, and go to state 1034


State 1000

  225 declare_statement: ':' inner_statement_list "'enddeclare'" ';' •

    $default  reduce using rule 225 (declare_statement)


State 1001

  229 switch_case_list: ':' ';' case_list "'endswitch'" ';' •

    $default  reduce using rule 229 (switch_case_list)


State 1002

  231 case_list: case_list "'case'" expr case_separator • inner_statement_list

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 1035


State 1003

  142 inner_statement_list: inner_statement_list • inner_statement
  232 case_list: case_list "'default'" case_separator inner_statement_list •

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 232 (case_list)

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 1004

  241 match_arm: "'default'" possible_comma "'=>'" expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 241 (match_arm)


State 1005

  240 match_arm: match_arm_cond_list possible_comma "'=>'" expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 240 (match_arm)


State 1006

  175 catch_name_list: catch_name_list '|' • class_name

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name        go to state 150
    class_name  go to state 1036


State 1007

  177 optional_variable: "variable" •

    $default  reduce using rule 177 (optional_variable)


State 1008

  173 catch_list: catch_list "'catch'" '(' catch_name_list optional_variable • ')' '{' inner_statement_list '}'

    ')'  shift, and go to state 1037


State 1009

  179 finally_statement: "'finally'" '{' inner_statement_list '}' •

    $default  reduce using rule 179 (finally_statement)


State 1010

  193 class_declaration_statement: "'class'" @5 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}' •

    $default  reduce using rule 193 (class_declaration_statement)


State 1011

  207 enum_case: "'case'" backup_doc_comment identifier • enum_case_expr ';'

    '='  shift, and go to state 1038

    $default  reduce using rule 208 (enum_case_expr)

    enum_case_expr  go to state 1039


State 1012

  323 trait_adaptations: ';' •

    $default  reduce using rule 323 (trait_adaptations)


State 1013

  324 trait_adaptations: '{' • '}'
  325                  | '{' • trait_adaptation_list '}'

    "identifier"               shift, and go to state 456
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'include'"                shift, and go to state 211
    "'include_once'"           shift, and go to state 212
    "'eval'"                   shift, and go to state 213
    "'require'"                shift, and go to state 214
    "'require_once'"           shift, and go to state 215
    "'or'"                     shift, and go to state 216
    "'xor'"                    shift, and go to state 217
    "'and'"                    shift, and go to state 218
    "'print'"                  shift, and go to state 219
    "'yield'"                  shift, and go to state 220
    "'instanceof'"             shift, and go to state 221
    "'new'"                    shift, and go to state 222
    "'clone'"                  shift, and go to state 223
    "'exit'"                   shift, and go to state 224
    "'if'"                     shift, and go to state 225
    "'elseif'"                 shift, and go to state 226
    "'else'"                   shift, and go to state 227
    "'endif'"                  shift, and go to state 228
    "'echo'"                   shift, and go to state 229
    "'do'"                     shift, and go to state 230
    "'while'"                  shift, and go to state 231
    "'endwhile'"               shift, and go to state 232
    "'for'"                    shift, and go to state 233
    "'endfor'"                 shift, and go to state 234
    "'foreach'"                shift, and go to state 235
    "'endforeach'"             shift, and go to state 236
    "'declare'"                shift, and go to state 237
    "'enddeclare'"             shift, and go to state 238
    "'as'"                     shift, and go to state 239
    "'switch'"                 shift, and go to state 240
    "'endswitch'"              shift, and go to state 241
    "'case'"                   shift, and go to state 242
    "'default'"                shift, and go to state 243
    "'match'"                  shift, and go to state 244
    "'break'"                  shift, and go to state 245
    "'continue'"               shift, and go to state 246
    "'goto'"                   shift, and go to state 247
    "'function'"               shift, and go to state 248
    "'fn'"                     shift, and go to state 249
    "'const'"                  shift, and go to state 250
    "'return'"                 shift, and go to state 251
    "'try'"                    shift, and go to state 252
    "'catch'"                  shift, and go to state 253
    "'finally'"                shift, and go to state 254
    "'throw'"                  shift, and go to state 255
    "'use'"                    shift, and go to state 256
    "'insteadof'"              shift, and go to state 257
    "'global'"                 shift, and go to state 258
    "'static'"                 shift, and go to state 1040
    "'abstract'"               shift, and go to state 260
    "'final'"                  shift, and go to state 261
    "'private'"                shift, and go to state 262
    "'protected'"              shift, and go to state 263
    "'public'"                 shift, and go to state 264
    "'readonly'"               shift, and go to state 265
    "'var'"                    shift, and go to state 266
    "'unset'"                  shift, and go to state 267
    "'isset'"                  shift, and go to state 268
    "'empty'"                  shift, and go to state 269
    "'class'"                  shift, and go to state 270
    "'trait'"                  shift, and go to state 271
    "'interface'"              shift, and go to state 272
    "'enum'"                   shift, and go to state 273
    "'extends'"                shift, and go to state 274
    "'implements'"             shift, and go to state 275
    "'namespace'"              shift, and go to state 276
    "'list'"                   shift, and go to state 277
    "'array'"                  shift, and go to state 278
    "'callable'"               shift, and go to state 279
    "'__LINE__'"               shift, and go to state 280
    "'__FILE__'"               shift, and go to state 281
    "'__DIR__'"                shift, and go to state 282
    "'__CLASS__'"              shift, and go to state 283
    "'__TRAIT__'"              shift, and go to state 284
    "'__METHOD__'"             shift, and go to state 285
    "'__FUNCTION__'"           shift, and go to state 286
    "'__NAMESPACE__'"          shift, and go to state 287
    '}'                        shift, and go to state 1041

    reserved_non_modifiers           go to state 288
    semi_reserved                    go to state 289
    identifier                       go to state 1042
    name                             go to state 150
    trait_adaptation_list            go to state 1043
    trait_adaptation                 go to state 1044
    trait_precedence                 go to state 1045
    trait_alias                      go to state 1046
    trait_method_reference           go to state 1047
    absolute_trait_method_reference  go to state 1048
    class_name                       go to state 1049


State 1014

  320 class_statement: "'use'" class_name_list trait_adaptations •

    $default  reduce using rule 320 (class_statement)


State 1015

  355 property: "variable" • backup_doc_comment
  356         | "variable" • '=' expr backup_doc_comment

    '='  shift, and go to state 1050

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 1051


State 1016

  314 attributed_class_statement: variable_modifiers optional_type_without_static property_list • ';'
  353 property_list: property_list • ',' property

    ','  shift, and go to state 1052
    ';'  shift, and go to state 1053


State 1017

  354 property_list: property •

    $default  reduce using rule 354 (property_list)


State 1018

  359 class_const_decl: identifier • '=' expr backup_doc_comment

    '='  shift, and go to state 1054


State 1019

  315 attributed_class_statement: method_modifiers "'const'" class_const_list • ';'
  357 class_const_list: class_const_list • ',' class_const_decl

    ','  shift, and go to state 1055
    ';'  shift, and go to state 1056


State 1020

  358 class_const_list: class_const_decl •

    $default  reduce using rule 358 (class_const_list)


State 1021

  316 attributed_class_statement: method_modifiers function returns_ref • identifier backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags

    "identifier"       shift, and go to state 209
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287

    reserved_non_modifiers  go to state 288
    semi_reserved           go to state 289
    identifier              go to state 1057


State 1022

  204 enum_declaration_statement: "'enum'" @8 "identifier" enum_backing_type implements_list backup_doc_comment '{' class_statement_list '}' •

    $default  reduce using rule 204 (enum_declaration_statement)


State 1023

  191 class_declaration_statement: class_modifiers "'class'" @4 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list • '}'
  312 class_statement_list: class_statement_list • class_statement

    "'case'"       shift, and go to state 900
    "'use'"        shift, and go to state 901
    "'static'"     shift, and go to state 902
    "'abstract'"   shift, and go to state 903
    "'final'"      shift, and go to state 904
    "'private'"    shift, and go to state 905
    "'protected'"  shift, and go to state 906
    "'public'"     shift, and go to state 907
    "'readonly'"   shift, and go to state 908
    "'var'"        shift, and go to state 909
    "'#['"         shift, and go to state 72
    '}'            shift, and go to state 1058

    $default  reduce using rule 342 (method_modifiers)

    attribute                   go to state 91
    attributes                  go to state 911
    enum_case                   go to state 912
    attributed_class_statement  go to state 913
    class_statement             go to state 914
    variable_modifiers          go to state 915
    method_modifiers            go to state 916
    non_empty_member_modifiers  go to state 917
    member_modifier             go to state 918


State 1024

  457 inline_function: fn returns_ref backup_doc_comment '(' parameter_list ')' return_type "'=>'" backup_fn_flags • backup_lex_pos expr backup_fn_flags

    $default  reduce using rule 462 (backup_lex_pos)

    backup_lex_pos  go to state 1059


State 1025

  266 parameter: optional_property_modifiers optional_type_without_static is_reference is_variadic "variable" • backup_doc_comment
  267          | optional_property_modifiers optional_type_without_static is_reference is_variadic "variable" • backup_doc_comment '=' expr

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 1060


State 1026

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags • '{' inner_statement_list '}' backup_fn_flags

    '{'  shift, and go to state 1061


State 1027

  469 lexical_var: "variable" •

    $default  reduce using rule 469 (lexical_var)


State 1028

  470 lexical_var: ampersand • "variable"

    "variable"  shift, and go to state 1062


State 1029

  466 lexical_vars: "'use'" '(' lexical_var_list • possible_comma ')'
  467 lexical_var_list: lexical_var_list • ',' lexical_var

    ','  shift, and go to state 1063

    $default  reduce using rule 126 (possible_comma)

    possible_comma  go to state 1064


State 1030

  468 lexical_var_list: lexical_var •

    $default  reduce using rule 468 (lexical_var_list)


State 1031

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags • '{' inner_statement_list '}' backup_fn_flags

    '{'  shift, and go to state 1065


State 1032

  369 anonymous_class: "'class'" @9 ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' •

    $default  reduce using rule 369 (anonymous_class)


State 1033

  142 inner_statement_list: inner_statement_list • inner_statement
  221 for_statement: ':' inner_statement_list • "'endfor'" ';'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'endfor'"                 shift, and go to state 1066
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 1034

  223 foreach_statement: ':' inner_statement_list "'endforeach'" ';' •

    $default  reduce using rule 223 (foreach_statement)


State 1035

  142 inner_statement_list: inner_statement_list • inner_statement
  231 case_list: case_list "'case'" expr case_separator inner_statement_list •

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    $default  reduce using rule 231 (case_list)

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 1036

  175 catch_name_list: catch_name_list '|' class_name •

    $default  reduce using rule 175 (catch_name_list)


State 1037

  173 catch_list: catch_list "'catch'" '(' catch_name_list optional_variable ')' • '{' inner_statement_list '}'

    '{'  shift, and go to state 1067


State 1038

  209 enum_case_expr: '=' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 1068
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 1039

  207 enum_case: "'case'" backup_doc_comment identifier enum_case_expr • ';'

    ';'  shift, and go to state 1069


State 1040

   73 semi_reserved: "'static'" •
  477 class_name: "'static'" •

    "'::'"    reduce using rule 477 (class_name)
    $default  reduce using rule 73 (semi_reserved)


State 1041

  324 trait_adaptations: '{' '}' •

    $default  reduce using rule 324 (trait_adaptations)


State 1042

  335 trait_method_reference: identifier •

    $default  reduce using rule 335 (trait_method_reference)


State 1043

  325 trait_adaptations: '{' trait_adaptation_list • '}'
  327 trait_adaptation_list: trait_adaptation_list • trait_adaptation

    "identifier"               shift, and go to state 456
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'include'"                shift, and go to state 211
    "'include_once'"           shift, and go to state 212
    "'eval'"                   shift, and go to state 213
    "'require'"                shift, and go to state 214
    "'require_once'"           shift, and go to state 215
    "'or'"                     shift, and go to state 216
    "'xor'"                    shift, and go to state 217
    "'and'"                    shift, and go to state 218
    "'print'"                  shift, and go to state 219
    "'yield'"                  shift, and go to state 220
    "'instanceof'"             shift, and go to state 221
    "'new'"                    shift, and go to state 222
    "'clone'"                  shift, and go to state 223
    "'exit'"                   shift, and go to state 224
    "'if'"                     shift, and go to state 225
    "'elseif'"                 shift, and go to state 226
    "'else'"                   shift, and go to state 227
    "'endif'"                  shift, and go to state 228
    "'echo'"                   shift, and go to state 229
    "'do'"                     shift, and go to state 230
    "'while'"                  shift, and go to state 231
    "'endwhile'"               shift, and go to state 232
    "'for'"                    shift, and go to state 233
    "'endfor'"                 shift, and go to state 234
    "'foreach'"                shift, and go to state 235
    "'endforeach'"             shift, and go to state 236
    "'declare'"                shift, and go to state 237
    "'enddeclare'"             shift, and go to state 238
    "'as'"                     shift, and go to state 239
    "'switch'"                 shift, and go to state 240
    "'endswitch'"              shift, and go to state 241
    "'case'"                   shift, and go to state 242
    "'default'"                shift, and go to state 243
    "'match'"                  shift, and go to state 244
    "'break'"                  shift, and go to state 245
    "'continue'"               shift, and go to state 246
    "'goto'"                   shift, and go to state 247
    "'function'"               shift, and go to state 248
    "'fn'"                     shift, and go to state 249
    "'const'"                  shift, and go to state 250
    "'return'"                 shift, and go to state 251
    "'try'"                    shift, and go to state 252
    "'catch'"                  shift, and go to state 253
    "'finally'"                shift, and go to state 254
    "'throw'"                  shift, and go to state 255
    "'use'"                    shift, and go to state 256
    "'insteadof'"              shift, and go to state 257
    "'global'"                 shift, and go to state 258
    "'static'"                 shift, and go to state 1040
    "'abstract'"               shift, and go to state 260
    "'final'"                  shift, and go to state 261
    "'private'"                shift, and go to state 262
    "'protected'"              shift, and go to state 263
    "'public'"                 shift, and go to state 264
    "'readonly'"               shift, and go to state 265
    "'var'"                    shift, and go to state 266
    "'unset'"                  shift, and go to state 267
    "'isset'"                  shift, and go to state 268
    "'empty'"                  shift, and go to state 269
    "'class'"                  shift, and go to state 270
    "'trait'"                  shift, and go to state 271
    "'interface'"              shift, and go to state 272
    "'enum'"                   shift, and go to state 273
    "'extends'"                shift, and go to state 274
    "'implements'"             shift, and go to state 275
    "'namespace'"              shift, and go to state 276
    "'list'"                   shift, and go to state 277
    "'array'"                  shift, and go to state 278
    "'callable'"               shift, and go to state 279
    "'__LINE__'"               shift, and go to state 280
    "'__FILE__'"               shift, and go to state 281
    "'__DIR__'"                shift, and go to state 282
    "'__CLASS__'"              shift, and go to state 283
    "'__TRAIT__'"              shift, and go to state 284
    "'__METHOD__'"             shift, and go to state 285
    "'__FUNCTION__'"           shift, and go to state 286
    "'__NAMESPACE__'"          shift, and go to state 287
    '}'                        shift, and go to state 1070

    reserved_non_modifiers           go to state 288
    semi_reserved                    go to state 289
    identifier                       go to state 1042
    name                             go to state 150
    trait_adaptation                 go to state 1071
    trait_precedence                 go to state 1045
    trait_alias                      go to state 1046
    trait_method_reference           go to state 1047
    absolute_trait_method_reference  go to state 1048
    class_name                       go to state 1049


State 1044

  326 trait_adaptation_list: trait_adaptation •

    $default  reduce using rule 326 (trait_adaptation_list)


State 1045

  328 trait_adaptation: trait_precedence • ';'

    ';'  shift, and go to state 1072


State 1046

  329 trait_adaptation: trait_alias • ';'

    ';'  shift, and go to state 1073


State 1047

  331 trait_alias: trait_method_reference • "'as'" "identifier"
  332            | trait_method_reference • "'as'" reserved_non_modifiers
  333            | trait_method_reference • "'as'" member_modifier identifier
  334            | trait_method_reference • "'as'" member_modifier

    "'as'"  shift, and go to state 1074


State 1048

  330 trait_precedence: absolute_trait_method_reference • "'insteadof'" class_name_list
  336 trait_method_reference: absolute_trait_method_reference •

    "'insteadof'"  shift, and go to state 1075

    $default  reduce using rule 336 (trait_method_reference)


State 1049

  337 absolute_trait_method_reference: class_name • "'::'" identifier

    "'::'"  shift, and go to state 1076


State 1050

  356 property: "variable" '=' • expr backup_doc_comment

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 1077
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 1051

  355 property: "variable" backup_doc_comment •

    $default  reduce using rule 355 (property)


State 1052

  353 property_list: property_list ',' • property

    "variable"  shift, and go to state 1015

    property  go to state 1078


State 1053

  314 attributed_class_statement: variable_modifiers optional_type_without_static property_list ';' •

    $default  reduce using rule 314 (attributed_class_statement)


State 1054

  359 class_const_decl: identifier '=' • expr backup_doc_comment

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 1079
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 1055

  357 class_const_list: class_const_list ',' • class_const_decl

    "identifier"       shift, and go to state 209
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287

    reserved_non_modifiers  go to state 288
    semi_reserved           go to state 289
    identifier              go to state 1018
    class_const_decl        go to state 1080


State 1056

  315 attributed_class_statement: method_modifiers "'const'" class_const_list ';' •

    $default  reduce using rule 315 (attributed_class_statement)


State 1057

  316 attributed_class_statement: method_modifiers function returns_ref identifier • backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 1081


State 1058

  191 class_declaration_statement: class_modifiers "'class'" @4 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}' •

    $default  reduce using rule 191 (class_declaration_statement)


State 1059

  457 inline_function: fn returns_ref backup_doc_comment '(' parameter_list ')' return_type "'=>'" backup_fn_flags backup_lex_pos • expr backup_fn_flags

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 1082
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 1060

  266 parameter: optional_property_modifiers optional_type_without_static is_reference is_variadic "variable" backup_doc_comment •
  267          | optional_property_modifiers optional_type_without_static is_reference is_variadic "variable" backup_doc_comment • '=' expr

    '='  shift, and go to state 1083

    $default  reduce using rule 266 (parameter)


State 1061

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' • inner_statement_list '}' backup_fn_flags

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 1084


State 1062

  470 lexical_var: ampersand "variable" •

    $default  reduce using rule 470 (lexical_var)


State 1063

  127 possible_comma: ',' •
  467 lexical_var_list: lexical_var_list ',' • lexical_var

    "variable"  shift, and go to state 1027
    "'&'"       shift, and go to state 323
    "amp"       shift, and go to state 324

    $default  reduce using rule 127 (possible_comma)

    ampersand    go to state 1028
    lexical_var  go to state 1085


State 1064

  466 lexical_vars: "'use'" '(' lexical_var_list possible_comma • ')'

    ')'  shift, and go to state 1086


State 1065

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' • inner_statement_list '}' backup_fn_flags

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 1087


State 1066

  221 for_statement: ':' inner_statement_list "'endfor'" • ';'

    ';'  shift, and go to state 1088


State 1067

  173 catch_list: catch_list "'catch'" '(' catch_name_list optional_variable ')' '{' • inner_statement_list '}'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 1089


State 1068

  209 enum_case_expr: '=' expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 209 (enum_case_expr)


State 1069

  207 enum_case: "'case'" backup_doc_comment identifier enum_case_expr ';' •

    $default  reduce using rule 207 (enum_case)


State 1070

  325 trait_adaptations: '{' trait_adaptation_list '}' •

    $default  reduce using rule 325 (trait_adaptations)


State 1071

  327 trait_adaptation_list: trait_adaptation_list trait_adaptation •

    $default  reduce using rule 327 (trait_adaptation_list)


State 1072

  328 trait_adaptation: trait_precedence ';' •

    $default  reduce using rule 328 (trait_adaptation)


State 1073

  329 trait_adaptation: trait_alias ';' •

    $default  reduce using rule 329 (trait_adaptation)


State 1074

  331 trait_alias: trait_method_reference "'as'" • "identifier"
  332            | trait_method_reference "'as'" • reserved_non_modifiers
  333            | trait_method_reference "'as'" • member_modifier identifier
  334            | trait_method_reference "'as'" • member_modifier

    "identifier"       shift, and go to state 1090
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 902
    "'abstract'"       shift, and go to state 903
    "'final'"          shift, and go to state 904
    "'private'"        shift, and go to state 905
    "'protected'"      shift, and go to state 906
    "'public'"         shift, and go to state 907
    "'readonly'"       shift, and go to state 908
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287

    reserved_non_modifiers  go to state 1091
    member_modifier         go to state 1092


State 1075

  330 trait_precedence: absolute_trait_method_reference "'insteadof'" • class_name_list

    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "'static'"                 shift, and go to state 147

    name             go to state 150
    class_name_list  go to state 1093
    class_name       go to state 753


State 1076

  337 absolute_trait_method_reference: class_name "'::'" • identifier

    "identifier"       shift, and go to state 209
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287

    reserved_non_modifiers  go to state 288
    semi_reserved           go to state 289
    identifier              go to state 1094


State 1077

  356 property: "variable" '=' expr • backup_doc_comment
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 1095


State 1078

  353 property_list: property_list ',' property •

    $default  reduce using rule 353 (property_list)


State 1079

  359 class_const_decl: identifier '=' expr • backup_doc_comment
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 460 (backup_doc_comment)

    backup_doc_comment  go to state 1096


State 1080

  357 class_const_list: class_const_list ',' class_const_decl •

    $default  reduce using rule 357 (class_const_list)


State 1081

  316 attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment • '(' parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags

    '('  shift, and go to state 1097


State 1082

  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr
  457 inline_function: fn returns_ref backup_doc_comment '(' parameter_list ')' return_type "'=>'" backup_fn_flags backup_lex_pos expr • backup_fn_flags

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 461 (backup_fn_flags)

    backup_fn_flags  go to state 1098


State 1083

  267 parameter: optional_property_modifiers optional_type_without_static is_reference is_variadic "variable" backup_doc_comment '=' • expr

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 128
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'match'"                  shift, and go to state 37
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'throw'"                  shift, and go to state 46
    "'static'"                 shift, and go to state 129
    "'readonly'"               shift, and go to state 130
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                          go to state 90
    attribute                     go to state 91
    attributes                    go to state 131
    match                         go to state 103
    new_expr                      go to state 108
    expr                          go to state 1099
    inline_function               go to state 110
    fn                            go to state 111
    function                      go to state 133
    function_call                 go to state 113
    class_name                    go to state 114
    dereferenceable_scalar        go to state 115
    scalar                        go to state 116
    constant                      go to state 117
    class_constant                go to state 118
    variable_class_name           go to state 119
    fully_dereferenceable         go to state 120
    array_object_dereferenceable  go to state 121
    callable_expr                 go to state 122
    callable_variable             go to state 123
    variable                      go to state 124
    simple_variable               go to state 125
    static_member                 go to state 126
    internal_functions_in_yacc    go to state 127


State 1084

  142 inner_statement_list: inner_statement_list • inner_statement
  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list • '}' backup_fn_flags

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 1100
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 1085

  467 lexical_var_list: lexical_var_list ',' lexical_var •

    $default  reduce using rule 467 (lexical_var_list)


State 1086

  466 lexical_vars: "'use'" '(' lexical_var_list possible_comma ')' •

    $default  reduce using rule 466 (lexical_vars)


State 1087

  142 inner_statement_list: inner_statement_list • inner_statement
  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list • '}' backup_fn_flags

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 1101
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 1088

  221 for_statement: ':' inner_statement_list "'endfor'" ';' •

    $default  reduce using rule 221 (for_statement)


State 1089

  142 inner_statement_list: inner_statement_list • inner_statement
  173 catch_list: catch_list "'catch'" '(' catch_name_list optional_variable ')' '{' inner_statement_list • '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 1102
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 1090

  331 trait_alias: trait_method_reference "'as'" "identifier" •

    $default  reduce using rule 331 (trait_alias)


State 1091

  332 trait_alias: trait_method_reference "'as'" reserved_non_modifiers •

    $default  reduce using rule 332 (trait_alias)


State 1092

  333 trait_alias: trait_method_reference "'as'" member_modifier • identifier
  334            | trait_method_reference "'as'" member_modifier •

    "identifier"       shift, and go to state 209
    "'include'"        shift, and go to state 211
    "'include_once'"   shift, and go to state 212
    "'eval'"           shift, and go to state 213
    "'require'"        shift, and go to state 214
    "'require_once'"   shift, and go to state 215
    "'or'"             shift, and go to state 216
    "'xor'"            shift, and go to state 217
    "'and'"            shift, and go to state 218
    "'print'"          shift, and go to state 219
    "'yield'"          shift, and go to state 220
    "'instanceof'"     shift, and go to state 221
    "'new'"            shift, and go to state 222
    "'clone'"          shift, and go to state 223
    "'exit'"           shift, and go to state 224
    "'if'"             shift, and go to state 225
    "'elseif'"         shift, and go to state 226
    "'else'"           shift, and go to state 227
    "'endif'"          shift, and go to state 228
    "'echo'"           shift, and go to state 229
    "'do'"             shift, and go to state 230
    "'while'"          shift, and go to state 231
    "'endwhile'"       shift, and go to state 232
    "'for'"            shift, and go to state 233
    "'endfor'"         shift, and go to state 234
    "'foreach'"        shift, and go to state 235
    "'endforeach'"     shift, and go to state 236
    "'declare'"        shift, and go to state 237
    "'enddeclare'"     shift, and go to state 238
    "'as'"             shift, and go to state 239
    "'switch'"         shift, and go to state 240
    "'endswitch'"      shift, and go to state 241
    "'case'"           shift, and go to state 242
    "'default'"        shift, and go to state 243
    "'match'"          shift, and go to state 244
    "'break'"          shift, and go to state 245
    "'continue'"       shift, and go to state 246
    "'goto'"           shift, and go to state 247
    "'function'"       shift, and go to state 248
    "'fn'"             shift, and go to state 249
    "'const'"          shift, and go to state 250
    "'return'"         shift, and go to state 251
    "'try'"            shift, and go to state 252
    "'catch'"          shift, and go to state 253
    "'finally'"        shift, and go to state 254
    "'throw'"          shift, and go to state 255
    "'use'"            shift, and go to state 256
    "'insteadof'"      shift, and go to state 257
    "'global'"         shift, and go to state 258
    "'static'"         shift, and go to state 259
    "'abstract'"       shift, and go to state 260
    "'final'"          shift, and go to state 261
    "'private'"        shift, and go to state 262
    "'protected'"      shift, and go to state 263
    "'public'"         shift, and go to state 264
    "'readonly'"       shift, and go to state 265
    "'var'"            shift, and go to state 266
    "'unset'"          shift, and go to state 267
    "'isset'"          shift, and go to state 268
    "'empty'"          shift, and go to state 269
    "'class'"          shift, and go to state 270
    "'trait'"          shift, and go to state 271
    "'interface'"      shift, and go to state 272
    "'enum'"           shift, and go to state 273
    "'extends'"        shift, and go to state 274
    "'implements'"     shift, and go to state 275
    "'namespace'"      shift, and go to state 276
    "'list'"           shift, and go to state 277
    "'array'"          shift, and go to state 278
    "'callable'"       shift, and go to state 279
    "'__LINE__'"       shift, and go to state 280
    "'__FILE__'"       shift, and go to state 281
    "'__DIR__'"        shift, and go to state 282
    "'__CLASS__'"      shift, and go to state 283
    "'__TRAIT__'"      shift, and go to state 284
    "'__METHOD__'"     shift, and go to state 285
    "'__FUNCTION__'"   shift, and go to state 286
    "'__NAMESPACE__'"  shift, and go to state 287

    $default  reduce using rule 334 (trait_alias)

    reserved_non_modifiers  go to state 288
    semi_reserved           go to state 289
    identifier              go to state 1103


State 1093

  322 class_name_list: class_name_list • ',' class_name
  330 trait_precedence: absolute_trait_method_reference "'insteadof'" class_name_list •

    ','  shift, and go to state 830

    $default  reduce using rule 330 (trait_precedence)


State 1094

  337 absolute_trait_method_reference: class_name "'::'" identifier •

    $default  reduce using rule 337 (absolute_trait_method_reference)


State 1095

  356 property: "variable" '=' expr backup_doc_comment •

    $default  reduce using rule 356 (property)


State 1096

  359 class_const_decl: identifier '=' expr backup_doc_comment •

    $default  reduce using rule 359 (class_const_decl)


State 1097

  316 attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment '(' • parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags

    "'#['"  shift, and go to state 72

    ')'       reduce using rule 255 (parameter_list)
    $default  reduce using rule 260 (optional_property_modifiers)

    attribute                    go to state 91
    attributes                   go to state 784
    parameter_list               go to state 1104
    non_empty_parameter_list     go to state 786
    attributed_parameter         go to state 787
    optional_property_modifiers  go to state 788
    parameter                    go to state 789


State 1098

  457 inline_function: fn returns_ref backup_doc_comment '(' parameter_list ')' return_type "'=>'" backup_fn_flags backup_lex_pos expr backup_fn_flags •

    $default  reduce using rule 457 (inline_function)


State 1099

  267 parameter: optional_property_modifiers optional_type_without_static is_reference is_variadic "variable" backup_doc_comment '=' expr •
  396 expr: expr • "'||'" expr
  397     | expr • "'&&'" expr
  398     | expr • "'or'" expr
  399     | expr • "'and'" expr
  400     | expr • "'xor'" expr
  401     | expr • '|' expr
  402     | expr • "amp" expr
  403     | expr • "'&'" expr
  404     | expr • '^' expr
  405     | expr • '.' expr
  406     | expr • '+' expr
  407     | expr • '-' expr
  408     | expr • '*' expr
  409     | expr • "'**'" expr
  410     | expr • '/' expr
  411     | expr • '%' expr
  412     | expr • "'<<'" expr
  413     | expr • "'>>'" expr
  418     | expr • "'==='" expr
  419     | expr • "'!=='" expr
  420     | expr • "'=='" expr
  421     | expr • "'!='" expr
  422     | expr • '<' expr
  423     | expr • "'<='" expr
  424     | expr • '>' expr
  425     | expr • "'>='" expr
  426     | expr • "'<=>'" expr
  427     | expr • "'instanceof'" class_name_reference
  430     | expr • '?' expr ':' expr
  431     | expr • '?' ':' expr
  432     | expr • "'??'" expr

    '?'             shift, and go to state 351
    '|'             shift, and go to state 352
    '^'             shift, and go to state 353
    '<'             shift, and go to state 354
    '>'             shift, and go to state 355
    '.'             shift, and go to state 356
    '+'             shift, and go to state 357
    '-'             shift, and go to state 358
    '*'             shift, and go to state 359
    '/'             shift, and go to state 360
    '%'             shift, and go to state 361
    "'or'"          shift, and go to state 362
    "'xor'"         shift, and go to state 363
    "'and'"         shift, and go to state 364
    "'instanceof'"  shift, and go to state 365
    "'||'"          shift, and go to state 366
    "'&&'"          shift, and go to state 367
    "'=='"          shift, and go to state 368
    "'!='"          shift, and go to state 369
    "'==='"         shift, and go to state 370
    "'!=='"         shift, and go to state 371
    "'<='"          shift, and go to state 372
    "'>='"          shift, and go to state 373
    "'<=>'"         shift, and go to state 374
    "'<<'"          shift, and go to state 375
    "'>>'"          shift, and go to state 376
    "'??'"          shift, and go to state 377
    "'**'"          shift, and go to state 378
    "'&'"           shift, and go to state 379
    "amp"           shift, and go to state 380

    $default  reduce using rule 267 (parameter)


State 1100

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' • backup_fn_flags

    $default  reduce using rule 461 (backup_fn_flags)

    backup_fn_flags  go to state 1105


State 1101

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' • backup_fn_flags

    $default  reduce using rule 461 (backup_fn_flags)

    backup_fn_flags  go to state 1106


State 1102

  173 catch_list: catch_list "'catch'" '(' catch_name_list optional_variable ')' '{' inner_statement_list '}' •

    $default  reduce using rule 173 (catch_list)


State 1103

  333 trait_alias: trait_method_reference "'as'" member_modifier identifier •

    $default  reduce using rule 333 (trait_alias)


State 1104

  316 attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list • ')' return_type backup_fn_flags method_body backup_fn_flags

    ')'  shift, and go to state 1107


State 1105

  185 function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags •

    $default  reduce using rule 185 (function_declaration_statement)


State 1106

  456 inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags •

    $default  reduce using rule 456 (inline_function)


State 1107

  316 attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list ')' • return_type backup_fn_flags method_body backup_fn_flags

    ':'  shift, and go to state 932

    $default  reduce using rule 295 (return_type)

    return_type  go to state 1108


State 1108

  316 attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type • backup_fn_flags method_body backup_fn_flags

    $default  reduce using rule 461 (backup_fn_flags)

    backup_fn_flags  go to state 1109


State 1109

  316 attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags • method_body backup_fn_flags

    ';'  shift, and go to state 1110
    '{'  shift, and go to state 1111

    method_body  go to state 1112


State 1110

  338 method_body: ';' •

    $default  reduce using rule 338 (method_body)


State 1111

  339 method_body: '{' • inner_statement_list '}'

    $default  reduce using rule 143 (inner_statement_list)

    inner_statement_list  go to state 1113


State 1112

  316 attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags method_body • backup_fn_flags

    $default  reduce using rule 461 (backup_fn_flags)

    backup_fn_flags  go to state 1114


State 1113

  142 inner_statement_list: inner_statement_list • inner_statement
  339 method_body: '{' inner_statement_list • '}'

    '+'                        shift, and go to state 4
    '-'                        shift, and go to state 5
    '!'                        shift, and go to state 6
    '~'                        shift, and go to state 7
    '@'                        shift, and go to state 8
    "integer"                  shift, and go to state 9
    "floating-point number"    shift, and go to state 10
    "identifier"               shift, and go to state 11
    "fully qualified name"     shift, and go to state 12
    "namespace-relative name"  shift, and go to state 13
    "namespaced name"          shift, and go to state 14
    "variable"                 shift, and go to state 15
    T_INLINE_HTML              shift, and go to state 16
    "quoted string"            shift, and go to state 17
    "'include'"                shift, and go to state 18
    "'include_once'"           shift, and go to state 19
    "'eval'"                   shift, and go to state 20
    "'require'"                shift, and go to state 21
    "'require_once'"           shift, and go to state 22
    "'print'"                  shift, and go to state 23
    "'yield'"                  shift, and go to state 24
    "'yield from'"             shift, and go to state 25
    "'new'"                    shift, and go to state 26
    "'clone'"                  shift, and go to state 27
    "'exit'"                   shift, and go to state 28
    "'if'"                     shift, and go to state 29
    "'echo'"                   shift, and go to state 30
    "'do'"                     shift, and go to state 31
    "'while'"                  shift, and go to state 32
    "'for'"                    shift, and go to state 33
    "'foreach'"                shift, and go to state 34
    "'declare'"                shift, and go to state 35
    "'switch'"                 shift, and go to state 36
    "'match'"                  shift, and go to state 37
    "'break'"                  shift, and go to state 38
    "'continue'"               shift, and go to state 39
    "'goto'"                   shift, and go to state 40
    "'function'"               shift, and go to state 41
    "'fn'"                     shift, and go to state 42
    "'return'"                 shift, and go to state 44
    "'try'"                    shift, and go to state 45
    "'throw'"                  shift, and go to state 46
    "'global'"                 shift, and go to state 48
    "'static'"                 shift, and go to state 49
    "'abstract'"               shift, and go to state 50
    "'final'"                  shift, and go to state 51
    "'readonly'"               shift, and go to state 52
    "'unset'"                  shift, and go to state 53
    "'isset'"                  shift, and go to state 54
    "'empty'"                  shift, and go to state 55
    "'__halt_compiler'"        shift, and go to state 525
    "'class'"                  shift, and go to state 57
    "'trait'"                  shift, and go to state 58
    "'interface'"              shift, and go to state 59
    "'enum'"                   shift, and go to state 60
    "'list'"                   shift, and go to state 62
    "'array'"                  shift, and go to state 63
    "'__LINE__'"               shift, and go to state 64
    "'__FILE__'"               shift, and go to state 65
    "'__DIR__'"                shift, and go to state 66
    "'__CLASS__'"              shift, and go to state 67
    "'__TRAIT__'"              shift, and go to state 68
    "'__METHOD__'"             shift, and go to state 69
    "'__FUNCTION__'"           shift, and go to state 70
    "'__NAMESPACE__'"          shift, and go to state 71
    "'#['"                     shift, and go to state 72
    "'++'"                     shift, and go to state 73
    "'--'"                     shift, and go to state 74
    "'(int)'"                  shift, and go to state 75
    "'(double)'"               shift, and go to state 76
    "'(string)'"               shift, and go to state 77
    "'(array)'"                shift, and go to state 78
    "'(object)'"               shift, and go to state 79
    "'(bool)'"                 shift, and go to state 80
    "'(unset)'"                shift, and go to state 81
    "heredoc start"            shift, and go to state 82
    '('                        shift, and go to state 83
    ';'                        shift, and go to state 84
    '{'                        shift, and go to state 85
    '}'                        shift, and go to state 1115
    '['                        shift, and go to state 86
    '`'                        shift, and go to state 87
    '"'                        shift, and go to state 88
    '$'                        shift, and go to state 89

    name                             go to state 90
    attribute                        go to state 91
    attributes                       go to state 527
    attributed_statement             go to state 528
    inner_statement                  go to state 529
    statement                        go to state 530
    function_declaration_statement   go to state 96
    class_declaration_statement      go to state 97
    class_modifiers                  go to state 98
    class_modifier                   go to state 99
    trait_declaration_statement      go to state 100
    interface_declaration_statement  go to state 101
    enum_declaration_statement       go to state 102
    match                            go to state 103
    if_stmt_without_else             go to state 104
    if_stmt                          go to state 105
    alt_if_stmt_without_else         go to state 106
    alt_if_stmt                      go to state 107
    new_expr                         go to state 108
    expr                             go to state 109
    inline_function                  go to state 110
    fn                               go to state 111
    function                         go to state 112
    function_call                    go to state 113
    class_name                       go to state 114
    dereferenceable_scalar           go to state 115
    scalar                           go to state 116
    constant                         go to state 117
    class_constant                   go to state 118
    variable_class_name              go to state 119
    fully_dereferenceable            go to state 120
    array_object_dereferenceable     go to state 121
    callable_expr                    go to state 122
    callable_variable                go to state 123
    variable                         go to state 124
    simple_variable                  go to state 125
    static_member                    go to state 126
    internal_functions_in_yacc       go to state 127


State 1114

  316 attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags •

    $default  reduce using rule 316 (attributed_class_statement)


State 1115

  339 method_body: '{' inner_statement_list '}' •

    $default  reduce using rule 339 (method_body)