Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

Php7.php

Namespace

PhpParser\Parser

File

vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php

View source
<?php

declare (strict_types=1);
namespace PhpParser\Parser;

use PhpParser\Error;
use PhpParser\Modifiers;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\Name;
use PhpParser\Node\Scalar;
use PhpParser\Node\Stmt;

/* This is an automatically GENERATED file, which should not be manually edited.
 * Instead edit one of the following:
 *  * the grammar file grammar/php.y
 *  * the skeleton file grammar/parser.template
 *  * the preprocessing script grammar/rebuildParsers.php
 */
class Php7 extends \PhpParser\ParserAbstract {
    public const YYERRTOK = 256;
    public const T_THROW = 257;
    public const T_INCLUDE = 258;
    public const T_INCLUDE_ONCE = 259;
    public const T_EVAL = 260;
    public const T_REQUIRE = 261;
    public const T_REQUIRE_ONCE = 262;
    public const T_LOGICAL_OR = 263;
    public const T_LOGICAL_XOR = 264;
    public const T_LOGICAL_AND = 265;
    public const T_PRINT = 266;
    public const T_YIELD = 267;
    public const T_DOUBLE_ARROW = 268;
    public const T_YIELD_FROM = 269;
    public const T_PLUS_EQUAL = 270;
    public const T_MINUS_EQUAL = 271;
    public const T_MUL_EQUAL = 272;
    public const T_DIV_EQUAL = 273;
    public const T_CONCAT_EQUAL = 274;
    public const T_MOD_EQUAL = 275;
    public const T_AND_EQUAL = 276;
    public const T_OR_EQUAL = 277;
    public const T_XOR_EQUAL = 278;
    public const T_SL_EQUAL = 279;
    public const T_SR_EQUAL = 280;
    public const T_POW_EQUAL = 281;
    public const T_COALESCE_EQUAL = 282;
    public const T_COALESCE = 283;
    public const T_BOOLEAN_OR = 284;
    public const T_BOOLEAN_AND = 285;
    public const T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 286;
    public const T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG = 287;
    public const T_IS_EQUAL = 288;
    public const T_IS_NOT_EQUAL = 289;
    public const T_IS_IDENTICAL = 290;
    public const T_IS_NOT_IDENTICAL = 291;
    public const T_SPACESHIP = 292;
    public const T_IS_SMALLER_OR_EQUAL = 293;
    public const T_IS_GREATER_OR_EQUAL = 294;
    public const T_SL = 295;
    public const T_SR = 296;
    public const T_INSTANCEOF = 297;
    public const T_INC = 298;
    public const T_DEC = 299;
    public const T_INT_CAST = 300;
    public const T_DOUBLE_CAST = 301;
    public const T_STRING_CAST = 302;
    public const T_ARRAY_CAST = 303;
    public const T_OBJECT_CAST = 304;
    public const T_BOOL_CAST = 305;
    public const T_UNSET_CAST = 306;
    public const T_POW = 307;
    public const T_NEW = 308;
    public const T_CLONE = 309;
    public const T_EXIT = 310;
    public const T_IF = 311;
    public const T_ELSEIF = 312;
    public const T_ELSE = 313;
    public const T_ENDIF = 314;
    public const T_LNUMBER = 315;
    public const T_DNUMBER = 316;
    public const T_STRING = 317;
    public const T_STRING_VARNAME = 318;
    public const T_VARIABLE = 319;
    public const T_NUM_STRING = 320;
    public const T_INLINE_HTML = 321;
    public const T_ENCAPSED_AND_WHITESPACE = 322;
    public const T_CONSTANT_ENCAPSED_STRING = 323;
    public const T_ECHO = 324;
    public const T_DO = 325;
    public const T_WHILE = 326;
    public const T_ENDWHILE = 327;
    public const T_FOR = 328;
    public const T_ENDFOR = 329;
    public const T_FOREACH = 330;
    public const T_ENDFOREACH = 331;
    public const T_DECLARE = 332;
    public const T_ENDDECLARE = 333;
    public const T_AS = 334;
    public const T_SWITCH = 335;
    public const T_MATCH = 336;
    public const T_ENDSWITCH = 337;
    public const T_CASE = 338;
    public const T_DEFAULT = 339;
    public const T_BREAK = 340;
    public const T_CONTINUE = 341;
    public const T_GOTO = 342;
    public const T_FUNCTION = 343;
    public const T_FN = 344;
    public const T_CONST = 345;
    public const T_RETURN = 346;
    public const T_TRY = 347;
    public const T_CATCH = 348;
    public const T_FINALLY = 349;
    public const T_USE = 350;
    public const T_INSTEADOF = 351;
    public const T_GLOBAL = 352;
    public const T_STATIC = 353;
    public const T_ABSTRACT = 354;
    public const T_FINAL = 355;
    public const T_PRIVATE = 356;
    public const T_PROTECTED = 357;
    public const T_PUBLIC = 358;
    public const T_READONLY = 359;
    public const T_PUBLIC_SET = 360;
    public const T_PROTECTED_SET = 361;
    public const T_PRIVATE_SET = 362;
    public const T_VAR = 363;
    public const T_UNSET = 364;
    public const T_ISSET = 365;
    public const T_EMPTY = 366;
    public const T_HALT_COMPILER = 367;
    public const T_CLASS = 368;
    public const T_TRAIT = 369;
    public const T_INTERFACE = 370;
    public const T_ENUM = 371;
    public const T_EXTENDS = 372;
    public const T_IMPLEMENTS = 373;
    public const T_OBJECT_OPERATOR = 374;
    public const T_NULLSAFE_OBJECT_OPERATOR = 375;
    public const T_LIST = 376;
    public const T_ARRAY = 377;
    public const T_CALLABLE = 378;
    public const T_CLASS_C = 379;
    public const T_TRAIT_C = 380;
    public const T_METHOD_C = 381;
    public const T_FUNC_C = 382;
    public const T_PROPERTY_C = 383;
    public const T_LINE = 384;
    public const T_FILE = 385;
    public const T_START_HEREDOC = 386;
    public const T_END_HEREDOC = 387;
    public const T_DOLLAR_OPEN_CURLY_BRACES = 388;
    public const T_CURLY_OPEN = 389;
    public const T_PAAMAYIM_NEKUDOTAYIM = 390;
    public const T_NAMESPACE = 391;
    public const T_NS_C = 392;
    public const T_DIR = 393;
    public const T_NS_SEPARATOR = 394;
    public const T_ELLIPSIS = 395;
    public const T_NAME_FULLY_QUALIFIED = 396;
    public const T_NAME_QUALIFIED = 397;
    public const T_NAME_RELATIVE = 398;
    public const T_ATTRIBUTE = 399;
    protected int $tokenToSymbolMapSize = 400;
    protected int $actionTableSize = 1286;
    protected int $gotoTableSize = 646;
    protected int $invalidSymbol = 172;
    protected int $errorSymbol = 1;
    protected int $defaultAction = -32766;
    protected int $unexpectedTokenRule = 32767;
    protected int $YY2TBLSTATE = 437;
    protected int $numNonLeafStates = 742;
    protected array $symbolToName = array(
        "EOF",
        "error",
        "T_THROW",
        "T_INCLUDE",
        "T_INCLUDE_ONCE",
        "T_EVAL",
        "T_REQUIRE",
        "T_REQUIRE_ONCE",
        "','",
        "T_LOGICAL_OR",
        "T_LOGICAL_XOR",
        "T_LOGICAL_AND",
        "T_PRINT",
        "T_YIELD",
        "T_DOUBLE_ARROW",
        "T_YIELD_FROM",
        "'='",
        "T_PLUS_EQUAL",
        "T_MINUS_EQUAL",
        "T_MUL_EQUAL",
        "T_DIV_EQUAL",
        "T_CONCAT_EQUAL",
        "T_MOD_EQUAL",
        "T_AND_EQUAL",
        "T_OR_EQUAL",
        "T_XOR_EQUAL",
        "T_SL_EQUAL",
        "T_SR_EQUAL",
        "T_POW_EQUAL",
        "T_COALESCE_EQUAL",
        "'?'",
        "':'",
        "T_COALESCE",
        "T_BOOLEAN_OR",
        "T_BOOLEAN_AND",
        "'|'",
        "'^'",
        "T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG",
        "T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG",
        "T_IS_EQUAL",
        "T_IS_NOT_EQUAL",
        "T_IS_IDENTICAL",
        "T_IS_NOT_IDENTICAL",
        "T_SPACESHIP",
        "'<'",
        "T_IS_SMALLER_OR_EQUAL",
        "'>'",
        "T_IS_GREATER_OR_EQUAL",
        "T_SL",
        "T_SR",
        "'+'",
        "'-'",
        "'.'",
        "'*'",
        "'/'",
        "'%'",
        "'!'",
        "T_INSTANCEOF",
        "'~'",
        "T_INC",
        "T_DEC",
        "T_INT_CAST",
        "T_DOUBLE_CAST",
        "T_STRING_CAST",
        "T_ARRAY_CAST",
        "T_OBJECT_CAST",
        "T_BOOL_CAST",
        "T_UNSET_CAST",
        "'@'",
        "T_POW",
        "'['",
        "T_NEW",
        "T_CLONE",
        "T_EXIT",
        "T_IF",
        "T_ELSEIF",
        "T_ELSE",
        "T_ENDIF",
        "T_LNUMBER",
        "T_DNUMBER",
        "T_STRING",
        "T_STRING_VARNAME",
        "T_VARIABLE",
        "T_NUM_STRING",
        "T_INLINE_HTML",
        "T_ENCAPSED_AND_WHITESPACE",
        "T_CONSTANT_ENCAPSED_STRING",
        "T_ECHO",
        "T_DO",
        "T_WHILE",
        "T_ENDWHILE",
        "T_FOR",
        "T_ENDFOR",
        "T_FOREACH",
        "T_ENDFOREACH",
        "T_DECLARE",
        "T_ENDDECLARE",
        "T_AS",
        "T_SWITCH",
        "T_MATCH",
        "T_ENDSWITCH",
        "T_CASE",
        "T_DEFAULT",
        "T_BREAK",
        "T_CONTINUE",
        "T_GOTO",
        "T_FUNCTION",
        "T_FN",
        "T_CONST",
        "T_RETURN",
        "T_TRY",
        "T_CATCH",
        "T_FINALLY",
        "T_USE",
        "T_INSTEADOF",
        "T_GLOBAL",
        "T_STATIC",
        "T_ABSTRACT",
        "T_FINAL",
        "T_PRIVATE",
        "T_PROTECTED",
        "T_PUBLIC",
        "T_READONLY",
        "T_PUBLIC_SET",
        "T_PROTECTED_SET",
        "T_PRIVATE_SET",
        "T_VAR",
        "T_UNSET",
        "T_ISSET",
        "T_EMPTY",
        "T_HALT_COMPILER",
        "T_CLASS",
        "T_TRAIT",
        "T_INTERFACE",
        "T_ENUM",
        "T_EXTENDS",
        "T_IMPLEMENTS",
        "T_OBJECT_OPERATOR",
        "T_NULLSAFE_OBJECT_OPERATOR",
        "T_LIST",
        "T_ARRAY",
        "T_CALLABLE",
        "T_CLASS_C",
        "T_TRAIT_C",
        "T_METHOD_C",
        "T_FUNC_C",
        "T_PROPERTY_C",
        "T_LINE",
        "T_FILE",
        "T_START_HEREDOC",
        "T_END_HEREDOC",
        "T_DOLLAR_OPEN_CURLY_BRACES",
        "T_CURLY_OPEN",
        "T_PAAMAYIM_NEKUDOTAYIM",
        "T_NAMESPACE",
        "T_NS_C",
        "T_DIR",
        "T_NS_SEPARATOR",
        "T_ELLIPSIS",
        "T_NAME_FULLY_QUALIFIED",
        "T_NAME_QUALIFIED",
        "T_NAME_RELATIVE",
        "T_ATTRIBUTE",
        "';'",
        "']'",
        "'('",
        "')'",
        "'{'",
        "'}'",
        "'`'",
        "'\"'",
        "'\$'",
    );
    protected array $tokenToSymbol = array(
        0,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        56,
        170,
        172,
        171,
        55,
        172,
        172,
        165,
        166,
        53,
        50,
        8,
        51,
        52,
        54,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        31,
        163,
        44,
        16,
        46,
        30,
        68,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        70,
        172,
        164,
        36,
        172,
        169,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        167,
        35,
        168,
        58,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        32,
        33,
        34,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        45,
        47,
        48,
        49,
        57,
        59,
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        69,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        82,
        83,
        84,
        85,
        86,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        96,
        97,
        98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        109,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        123,
        124,
        125,
        126,
        127,
        128,
        129,
        130,
        131,
        132,
        133,
        134,
        135,
        136,
        137,
        138,
        139,
        140,
        141,
        142,
        143,
        144,
        145,
        146,
        147,
        148,
        149,
        150,
        151,
        152,
        153,
        154,
        155,
        156,
        157,
        158,
        159,
        160,
        161,
        162,
    );
    protected array $action = array(
        128,
        129,
        130,
        565,
        131,
        132,
        944,
        754,
        755,
        756,
        133,
        38,
        838,
        485,
        561,
        1365,
        -32766,
        -32766,
        -32766,
        0,
        829,
        1122,
        1123,
        1124,
        1118,
        1117,
        1116,
        1125,
        1119,
        1120,
        1121,
        -32766,
        -32766,
        -32766,
        -332,
        748,
        747,
        -32766,
        840,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        -32767,
        -32767,
        -32767,
        -32767,
        -32767,
        24,
        -32766,
        1034,
        -568,
        757,
        1122,
        1123,
        1124,
        1118,
        1117,
        1116,
        1125,
        1119,
        1120,
        1121,
        2,
        381,
        382,
        265,
        134,
        384,
        761,
        762,
        763,
        764,
        1111,
        425,
        426,
        1300,
        329,
        36,
        248,
        26,
        291,
        818,
        765,
        766,
        767,
        768,
        769,
        770,
        771,
        772,
        773,
        774,
        794,
        566,
        795,
        796,
        797,
        798,
        786,
        787,
        346,
        347,
        789,
        790,
        775,
        776,
        777,
        779,
        780,
        781,
        357,
        821,
        822,
        823,
        824,
        825,
        567,
        -568,
        -568,
        299,
        782,
        783,
        568,
        569,
        -194,
        806,
        804,
        805,
        817,
        801,
        802,
        35,
        -193,
        570,
        571,
        800,
        572,
        573,
        574,
        575,
        -32766,
        576,
        577,
        471,
        472,
        486,
        238,
        -568,
        803,
        578,
        579,
        -371,
        135,
        -371,
        128,
        129,
        130,
        565,
        131,
        132,
        1067,
        754,
        755,
        756,
        133,
        38,
        -32766,
        136,
        728,
        1027,
        1026,
        1025,
        1031,
        1028,
        1029,
        1030,
        -32766,
        -32766,
        -32766,
        -32767,
        -32767,
        -32767,
        -32767,
        101,
        102,
        103,
        104,
        105,
        -332,
        748,
        747,
        1043,
        923,
        -32766,
        -32766,
        -32766,
        839,
        -32766,
        145,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        757,
        -32766,
        -32766,
        -32766,
        611,
        -32766,
        290,
        -32766,
        -32766,
        -32766,
        -32766,
        -32766,
        834,
        718,
        265,
        134,
        384,
        761,
        762,
        763,
        764,
        -615,
        -32766,
        426,
        -32766,
        -32766,
        -32766,
        -32766,
        -615,
        251,
        818,
        765,
        766,
        767,
        768,
        769,
        770,
        771,
        772,
        773,
        774,
        794,
        566,
        795,
        796,
        797,
        798,
        786,
        787,
        346,
        347,
        789,
        790,
        775,
        776,
        777,
        779,
        780,
        781,
        357,
        821,
        822,
        823,
        824,
        825,
        567,
        913,
        426,
        310,
        782,
        783,
        568,
        569,
        -194,
        806,
        804,
        805,
        817,
        801,
        802,
        1288,
        -193,
        570,
        571,
        800,
        572,
        573,
        574,
        575,
        -273,
        576,
        577,
        835,
        82,
        83,
        84,
        -85,
        803,
        578,
        579,
        237,
        148,
        778,
        749,
        750,
        751,
        752,
        753,
        150,
        754,
        755,
        756,
        791,
        792,
        37,
        -32766,
        85,
        86,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        96,
        97,
        98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        1043,
        276,
        -32766,
        -32766,
        -32766,
        925,
        1263,
        1262,
        1264,
        713,
        831,
        312,
        393,
        109,
        7,
        1097,
        47,
        757,
        -32766,
        -32766,
        -32766,
        838,
        -85,
        -32766,
        1095,
        -32766,
        -32766,
        -32766,
        1268,
        -32766,
        -32766,
        758,
        759,
        760,
        761,
        762,
        763,
        764,
        994,
        -32766,
        827,
        -32766,
        -32766,
        923,
        -615,
        324,
        -615,
        818,
        765,
        766,
        767,
        768,
        769,
        770,
        771,
        772,
        773,
        774,
        794,
        816,
        795,
        796,
        797,
        798,
        786,
        787,
        788,
        815,
        789,
        790,
        775,
        776,
        777,
        779,
        780,
        781,
        820,
        821,
        822,
        823,
        824,
        825,
        826,
        300,
        301,
        342,
        782,
        783,
        784,
        785,
        833,
        806,
        804,
        805,
        817,
        801,
        802,
        715,
        1040,
        793,
        799,
        800,
        807,
        808,
        810,
        809,
        140,
        811,
        812,
        838,
        327,
        343,
        -32766,
        125,
        803,
        814,
        813,
        49,
        50,
        51,
        517,
        52,
        53,
        1043,
        -110,
        371,
        913,
        54,
        55,
        -110,
        56,
        -110,
        -566,
        -32766,
        -32766,
        -32766,
        306,
        1043,
        126,
        -110,
        -110,
        -110,
        -110,
        -110,
        -110,
        -110,
        -110,
        -110,
        -110,
        -110,
        -612,
        1096,
        106,
        107,
        108,
        740,
        276,
        -612,
        963,
        964,
        -32766,
        290,
        287,
        965,
        1330,
        57,
        58,
        -32766,
        109,
        375,
        995,
        59,
        959,
        60,
        245,
        246,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        -32766,
        28,
        267,
        69,
        441,
        518,
        391,
        -346,
        74,
        1294,
        1295,
        519,
        443,
        838,
        327,
        -566,
        -566,
        1292,
        42,
        20,
        520,
        925,
        521,
        923,
        522,
        713,
        523,
        -564,
        693,
        524,
        525,
        -566,
        923,
        444,
        44,
        45,
        447,
        378,
        377,
        -78,
        46,
        526,
        923,
        -572,
        445,
        -566,
        369,
        341,
        1346,
        103,
        104,
        105,
        -563,
        1254,
        923,
        383,
        382,
        446,
        528,
        529,
        530,
        865,
        719,
        866,
        694,
        425,
        461,
        462,
        463,
        844,
        532,
        533,
        720,
        1280,
        1281,
        1282,
        1283,
        1285,
        1277,
        1278,
        298,
        865,
        151,
        866,
        723,
        153,
        1284,
        1279,
        695,
        696,
        1263,
        1262,
        1264,
        299,
        -564,
        -564,
        70,
        -153,
        -153,
        -153,
        322,
        323,
        327,
        154,
        -4,
        923,
        913,
        1263,
        1262,
        1264,
        -564,
        155,
        -153,
        283,
        -153,
        913,
        -153,
        157,
        -153,
        -563,
        -563,
        33,
        -571,
        1350,
        -564,
        913,
        -58,
        829,
        376,
        -612,
        1349,
        -612,
        748,
        747,
        837,
        -563,
        -606,
        913,
        -606,
        963,
        964,
        -57,
        748,
        747,
        527,
        123,
        81,
        -570,
        1040,
        -563,
        327,
        617,
        899,
        959,
        -110,
        -110,
        -110,
        32,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        124,
        -565,
        1043,
        947,
        28,
        268,
        149,
        408,
        923,
        1375,
        829,
        137,
        1376,
        138,
        925,
        144,
        838,
        913,
        713,
        -153,
        1292,
        660,
        21,
        925,
        679,
        680,
        283,
        713,
        158,
        1170,
        1172,
        379,
        380,
        980,
        385,
        386,
        159,
        713,
        730,
        376,
        -562,
        438,
        1066,
        141,
        160,
        925,
        297,
        327,
        161,
        713,
        963,
        964,
        946,
        651,
        652,
        527,
        1254,
        -87,
        162,
        -306,
        748,
        747,
        -84,
        531,
        959,
        -110,
        -110,
        -110,
        -565,
        -565,
        -78,
        287,
        1268,
        532,
        533,
        -73,
        1280,
        1281,
        1282,
        1283,
        1285,
        1277,
        1278,
        -72,
        -565,
        -71,
        -70,
        11,
        1261,
        1284,
        1279,
        913,
        -69,
        748,
        747,
        -68,
        925,
        -32766,
        -565,
        72,
        713,
        -4,
        -16,
        1261,
        323,
        327,
        -67,
        -562,
        -562,
        291,
        -32766,
        -32766,
        -32766,
        -66,
        -32766,
        -65,
        -32766,
        -46,
        -32766,
        -18,
        142,
        -32766,
        275,
        -562,
        1259,
        284,
        -32766,
        -32766,
        -32766,
        729,
        -32766,
        732,
        -32766,
        -32766,
        922,
        147,
        1261,
        -562,
        -32766,
        422,
        28,
        267,
        -302,
        -32766,
        -32766,
        -32766,
        279,
        -32766,
        1042,
        -32766,
        -32766,
        -32766,
        838,
        838,
        -32766,
        288,
        1292,
        1040,
        280,
        -32766,
        -32766,
        -32766,
        285,
        286,
        335,
        -32766,
        -32766,
        1263,
        1262,
        1264,
        925,
        -32766,
        422,
        289,
        713,
        28,
        268,
        292,
        293,
        276,
        940,
        73,
        1043,
        -32766,
        109,
        689,
        146,
        838,
        -110,
        -110,
        -562,
        1292,
        1254,
        -110,
        829,
        -32766,
        1377,
        704,
        582,
        10,
        661,
        838,
        -110,
        1129,
        706,
        649,
        283,
        307,
        960,
        -32766,
        533,
        -32766,
        1280,
        1281,
        1282,
        1283,
        1285,
        1277,
        1278,
        682,
        1043,
        305,
        -50,
        468,
        1299,
        1284,
        1279,
        1254,
        666,
        -528,
        496,
        667,
        304,
        299,
        683,
        72,
        74,
        1301,
        588,
        -32766,
        323,
        327,
        327,
        -518,
        290,
        533,
        40,
        1280,
        1281,
        1282,
        1283,
        1285,
        1277,
        1278,
        8,
        139,
        0,
        -562,
        -562,
        27,
        1284,
        1279,
        -276,
        407,
        0,
        -32766,
        0,
        0,
        0,
        0,
        72,
        1261,
        311,
        -562,
        0,
        323,
        327,
        0,
        -32766,
        -32766,
        -32766,
        0,
        -32766,
        373,
        -32766,
        0,
        -32766,
        -562,
        0,
        -32766,
        0,
        0,
        615,
        0,
        -32766,
        -32766,
        -32766,
        923,
        -32766,
        0,
        -32766,
        -32766,
        942,
        1289,
        1261,
        837,
        -32766,
        422,
        41,
        299,
        34,
        -32766,
        -32766,
        -32766,
        737,
        -32766,
        738,
        -32766,
        -32766,
        -32766,
        923,
        857,
        -32766,
        904,
        1004,
        981,
        988,
        -32766,
        -32766,
        -32766,
        978,
        -32766,
        989,
        -32766,
        -32766,
        902,
        976,
        1261,
        1100,
        -32766,
        422,
        48,
        1103,
        1104,
        -32766,
        -32766,
        -32766,
        1101,
        -32766,
        1102,
        -32766,
        -32766,
        -32766,
        1108,
        -600,
        -32766,
        849,
        1316,
        1334,
        491,
        -32766,
        -32766,
        -32766,
        1368,
        -32766,
        654,
        -32766,
        -32766,
        -599,
        -598,
        1261,
        595,
        -32766,
        422,
        -572,
        -571,
        1268,
        -32766,
        -32766,
        -32766,
        913,
        -32766,
        -570,
        -32766,
        -32766,
        -32766,
        -569,
        -512,
        -32766,
        -274,
        1,
        29,
        30,
        -32766,
        -32766,
        -32766,
        -251,
        -251,
        -251,
        -32766,
        -32766,
        39,
        376,
        913,
        43,
        -32766,
        422,
        71,
        302,
        303,
        75,
        76,
        77,
        963,
        964,
        78,
        79,
        -32766,
        527,
        -250,
        -250,
        -250,
        -273,
        80,
        374,
        376,
        899,
        959,
        -110,
        -110,
        -110,
        143,
        152,
        156,
        243,
        331,
        963,
        964,
        127,
        358,
        359,
        527,
        360,
        361,
        362,
        363,
        364,
        365,
        366,
        899,
        959,
        -110,
        -110,
        -110,
        -32766,
        13,
        367,
        838,
        368,
        925,
        1261,
        14,
        370,
        713,
        -251,
        439,
        560,
        -32766,
        -32766,
        -32766,
        15,
        -32766,
        16,
        -32766,
        18,
        -32766,
        406,
        487,
        -32766,
        488,
        495,
        498,
        925,
        -32766,
        -32766,
        -32766,
        713,
        -250,
        499,
        -32766,
        -32766,
        500,
        -110,
        -110,
        501,
        -32766,
        422,
        -110,
        505,
        506,
        507,
        515,
        593,
        699,
        1069,
        1210,
        -110,
        -32766,
        1290,
        1068,
        1049,
        1249,
        1045,
        -278,
        -102,
        -32766,
        12,
        17,
        22,
        296,
        405,
        607,
        612,
        640,
        705,
        1214,
        1267,
        1211,
        1347,
        0,
        321,
        372,
        714,
        717,
        721,
        722,
        724,
        299,
        725,
        726,
        74,
        727,
        1227,
        731,
        716,
        0,
        327,
        411,
        1293,
        734,
        900,
        1372,
        1374,
        860,
        859,
        953,
        996,
        1373,
        952,
        950,
        951,
        954,
        1242,
        933,
        943,
        931,
        986,
        987,
        638,
        1371,
        1328,
        1317,
        1335,
        1344,
        0,
        0,
        0,
        327,
    );
    protected array $actionCheck = array(
        2,
        3,
        4,
        5,
        6,
        7,
        1,
        9,
        10,
        11,
        12,
        13,
        82,
        31,
        85,
        85,
        9,
        10,
        11,
        0,
        80,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        123,
        124,
        125,
        9,
        10,
        11,
        8,
        37,
        38,
        30,
        1,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        101,
        30,
        1,
        70,
        57,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        123,
        124,
        125,
        8,
        106,
        107,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        126,
        116,
        80,
        150,
        70,
        151,
        152,
        8,
        30,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        96,
        97,
        98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        109,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        137,
        138,
        162,
        126,
        127,
        128,
        129,
        8,
        131,
        132,
        133,
        134,
        135,
        136,
        8,
        8,
        139,
        140,
        141,
        142,
        143,
        144,
        145,
        9,
        147,
        148,
        137,
        138,
        167,
        14,
        167,
        154,
        155,
        156,
        106,
        158,
        108,
        2,
        3,
        4,
        5,
        6,
        7,
        166,
        9,
        10,
        11,
        12,
        13,
        116,
        8,
        167,
        119,
        120,
        121,
        122,
        123,
        124,
        125,
        9,
        10,
        11,
        44,
        45,
        46,
        47,
        48,
        49,
        50,
        51,
        52,
        166,
        37,
        38,
        141,
        1,
        9,
        10,
        11,
        163,
        30,
        8,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        9,
        10,
        11,
        57,
        9,
        10,
        11,
        1,
        30,
        165,
        32,
        33,
        34,
        35,
        36,
        80,
        31,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        1,
        30,
        80,
        32,
        33,
        34,
        35,
        8,
        8,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        96,
        97,
        98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        109,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        84,
        80,
        8,
        126,
        127,
        128,
        129,
        166,
        131,
        132,
        133,
        134,
        135,
        136,
        1,
        166,
        139,
        140,
        141,
        142,
        143,
        144,
        145,
        166,
        147,
        148,
        160,
        9,
        10,
        11,
        31,
        154,
        155,
        156,
        97,
        158,
        2,
        3,
        4,
        5,
        6,
        7,
        14,
        9,
        10,
        11,
        12,
        13,
        30,
        116,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
        48,
        49,
        50,
        51,
        52,
        53,
        54,
        55,
        141,
        57,
        9,
        10,
        11,
        163,
        159,
        160,
        161,
        167,
        80,
        8,
        106,
        69,
        108,
        168,
        70,
        57,
        9,
        10,
        11,
        82,
        97,
        30,
        1,
        32,
        33,
        34,
        1,
        9,
        10,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        31,
        30,
        80,
        32,
        33,
        1,
        164,
        8,
        166,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        96,
        97,
        98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        109,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        137,
        138,
        8,
        126,
        127,
        128,
        129,
        160,
        131,
        132,
        133,
        134,
        135,
        136,
        167,
        116,
        139,
        140,
        141,
        142,
        143,
        144,
        145,
        167,
        147,
        148,
        82,
        171,
        8,
        116,
        167,
        154,
        155,
        156,
        2,
        3,
        4,
        5,
        6,
        7,
        141,
        101,
        8,
        84,
        12,
        13,
        106,
        15,
        108,
        70,
        9,
        10,
        11,
        113,
        141,
        14,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        123,
        124,
        125,
        126,
        1,
        163,
        53,
        54,
        55,
        167,
        57,
        8,
        117,
        118,
        116,
        165,
        30,
        122,
        1,
        50,
        51,
        140,
        69,
        8,
        163,
        56,
        131,
        58,
        59,
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        140,
        70,
        71,
        72,
        73,
        74,
        8,
        168,
        165,
        78,
        79,
        80,
        8,
        82,
        171,
        137,
        138,
        86,
        87,
        88,
        89,
        163,
        91,
        1,
        93,
        167,
        95,
        70,
        80,
        98,
        99,
        153,
        1,
        8,
        103,
        104,
        105,
        106,
        107,
        16,
        109,
        110,
        1,
        165,
        8,
        167,
        115,
        116,
        1,
        50,
        51,
        52,
        70,
        122,
        1,
        106,
        107,
        8,
        127,
        128,
        129,
        106,
        31,
        108,
        116,
        116,
        132,
        133,
        134,
        8,
        139,
        140,
        31,
        142,
        143,
        144,
        145,
        146,
        147,
        148,
        149,
        106,
        14,
        108,
        31,
        14,
        155,
        156,
        140,
        141,
        159,
        160,
        161,
        162,
        137,
        138,
        165,
        75,
        76,
        77,
        169,
        170,
        171,
        14,
        0,
        1,
        84,
        159,
        160,
        161,
        153,
        14,
        90,
        165,
        92,
        84,
        94,
        14,
        96,
        137,
        138,
        14,
        165,
        1,
        167,
        84,
        16,
        80,
        106,
        164,
        8,
        166,
        37,
        38,
        159,
        153,
        164,
        84,
        166,
        117,
        118,
        16,
        37,
        38,
        122,
        16,
        167,
        165,
        116,
        167,
        171,
        51,
        130,
        131,
        132,
        133,
        134,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        16,
        70,
        141,
        73,
        70,
        71,
        101,
        102,
        1,
        80,
        80,
        16,
        83,
        16,
        163,
        16,
        82,
        84,
        167,
        168,
        86,
        75,
        76,
        163,
        75,
        76,
        165,
        167,
        16,
        59,
        60,
        106,
        107,
        163,
        106,
        107,
        16,
        167,
        31,
        106,
        70,
        108,
        1,
        167,
        16,
        163,
        113,
        171,
        16,
        167,
        117,
        118,
        122,
        111,
        112,
        122,
        122,
        31,
        16,
        35,
        37,
        38,
        31,
        130,
        131,
        132,
        133,
        134,
        137,
        138,
        31,
        30,
        1,
        139,
        140,
        31,
        142,
        143,
        144,
        145,
        146,
        147,
        148,
        31,
        153,
        31,
        31,
        154,
        80,
        155,
        156,
        84,
        31,
        37,
        38,
        31,
        163,
        74,
        167,
        165,
        167,
        168,
        31,
        80,
        170,
        171,
        31,
        137,
        138,
        30,
        87,
        88,
        89,
        31,
        91,
        31,
        93,
        31,
        95,
        31,
        31,
        98,
        31,
        153,
        116,
        31,
        103,
        104,
        105,
        31,
        74,
        31,
        109,
        110,
        31,
        31,
        80,
        167,
        115,
        116,
        70,
        71,
        35,
        87,
        88,
        89,
        35,
        91,
        140,
        93,
        127,
        95,
        82,
        82,
        98,
        37,
        86,
        116,
        35,
        103,
        104,
        105,
        35,
        35,
        35,
        109,
        110,
        159,
        160,
        161,
        163,
        115,
        116,
        37,
        167,
        70,
        71,
        37,
        37,
        57,
        38,
        158,
        141,
        127,
        69,
        77,
        70,
        82,
        117,
        118,
        70,
        86,
        122,
        122,
        80,
        116,
        83,
        80,
        89,
        97,
        90,
        82,
        131,
        82,
        92,
        113,
        165,
        114,
        131,
        85,
        140,
        140,
        142,
        143,
        144,
        145,
        146,
        147,
        148,
        94,
        141,
        136,
        31,
        97,
        150,
        155,
        156,
        122,
        96,
        153,
        97,
        100,
        135,
        162,
        100,
        165,
        165,
        150,
        157,
        140,
        170,
        171,
        171,
        153,
        165,
        140,
        163,
        142,
        143,
        144,
        145,
        146,
        147,
        148,
        153,
        31,
        -1,
        137,
        138,
        153,
        155,
        156,
        166,
        168,
        -1,
        74,
        -1,
        -1,
        -1,
        -1,
        165,
        80,
        135,
        153,
        -1,
        170,
        171,
        -1,
        87,
        88,
        89,
        -1,
        91,
        153,
        93,
        -1,
        95,
        167,
        -1,
        98,
        -1,
        -1,
        157,
        -1,
        103,
        104,
        105,
        1,
        74,
        -1,
        109,
        110,
        158,
        164,
        80,
        159,
        115,
        116,
        163,
        162,
        167,
        87,
        88,
        89,
        163,
        91,
        163,
        93,
        127,
        95,
        1,
        163,
        98,
        163,
        163,
        163,
        163,
        103,
        104,
        105,
        163,
        74,
        163,
        109,
        110,
        163,
        163,
        80,
        163,
        115,
        116,
        70,
        163,
        163,
        87,
        88,
        89,
        163,
        91,
        163,
        93,
        127,
        95,
        163,
        165,
        98,
        164,
        164,
        164,
        102,
        103,
        104,
        105,
        164,
        74,
        164,
        109,
        110,
        165,
        165,
        80,
        81,
        115,
        116,
        165,
        165,
        1,
        87,
        88,
        89,
        84,
        91,
        165,
        93,
        127,
        95,
        165,
        165,
        98,
        166,
        165,
        165,
        165,
        103,
        104,
        105,
        100,
        101,
        102,
        109,
        110,
        165,
        106,
        84,
        165,
        115,
        116,
        165,
        137,
        138,
        165,
        165,
        165,
        117,
        118,
        165,
        165,
        127,
        122,
        100,
        101,
        102,
        166,
        165,
        153,
        106,
        130,
        131,
        132,
        133,
        134,
        165,
        165,
        165,
        165,
        165,
        117,
        118,
        167,
        165,
        165,
        122,
        165,
        165,
        165,
        165,
        165,
        165,
        165,
        130,
        131,
        132,
        133,
        134,
        74,
        166,
        165,
        82,
        165,
        163,
        80,
        166,
        165,
        167,
        168,
        165,
        165,
        87,
        88,
        89,
        166,
        91,
        166,
        93,
        166,
        95,
        166,
        166,
        98,
        166,
        166,
        166,
        163,
        103,
        104,
        105,
        167,
        168,
        166,
        109,
        110,
        166,
        117,
        118,
        166,
        115,
        116,
        122,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        131,
        127,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        140,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        166,
        -1,
        167,
        167,
        167,
        167,
        167,
        167,
        167,
        162,
        167,
        167,
        165,
        167,
        169,
        167,
        167,
        -1,
        171,
        168,
        170,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        168,
        -1,
        -1,
        -1,
        171,
    );
    protected array $actionBase = array(
        0,
        -2,
        156,
        559,
        641,
        1004,
        1027,
        485,
        292,
        200,
        -60,
        283,
        568,
        590,
        590,
        715,
        590,
        195,
        578,
        894,
        395,
        395,
        395,
        825,
        313,
        313,
        825,
        313,
        731,
        731,
        731,
        731,
        764,
        764,
        965,
        965,
        998,
        932,
        899,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        1088,
        37,
        360,
        216,
        644,
        1061,
        1067,
        1063,
        1068,
        1059,
        1058,
        1062,
        1064,
        1069,
        1109,
        1110,
        812,
        1111,
        1112,
        1108,
        1113,
        1065,
        909,
        1060,
        1066,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        135,
        477,
        373,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        201,
        642,
        642,
        22,
        22,
        22,
        362,
        813,
        778,
        813,
        813,
        813,
        813,
        813,
        813,
        813,
        813,
        346,
        205,
        678,
        188,
        171,
        171,
        7,
        7,
        7,
        7,
        7,
        376,
        779,
        54,
        1083,
        1083,
        139,
        139,
        139,
        139,
        -50,
        49,
        749,
        380,
        787,
        -39,
        569,
        569,
        536,
        536,
        335,
        335,
        349,
        349,
        335,
        335,
        335,
        212,
        212,
        212,
        212,
        415,
        494,
        519,
        512,
        -71,
        807,
        584,
        584,
        584,
        584,
        807,
        807,
        807,
        807,
        795,
        1086,
        807,
        807,
        807,
        639,
        828,
        828,
        979,
        452,
        452,
        452,
        828,
        492,
        -70,
        -70,
        492,
        394,
        -70,
        516,
        982,
        637,
        988,
        397,
        785,
        486,
        509,
        397,
        -16,
        299,
        502,
        233,
        854,
        633,
        854,
        1056,
        832,
        832,
        794,
        752,
        898,
        1085,
        1070,
        839,
        1106,
        842,
        1107,
        471,
        10,
        747,
        1055,
        1055,
        1055,
        1055,
        1055,
        1055,
        1055,
        1055,
        1055,
        1055,
        1055,
        1114,
        632,
        1056,
        145,
        1114,
        1114,
        1114,
        632,
        632,
        632,
        632,
        632,
        632,
        632,
        632,
        796,
        632,
        632,
        650,
        145,
        654,
        657,
        145,
        837,
        632,
        798,
        37,
        37,
        37,
        37,
        37,
        37,
        37,
        37,
        37,
        37,
        -18,
        37,
        37,
        360,
        5,
        5,
        37,
        341,
        52,
        5,
        5,
        5,
        5,
        37,
        37,
        37,
        37,
        633,
        830,
        789,
        636,
        278,
        843,
        128,
        830,
        830,
        830,
        26,
        136,
        120,
        732,
        815,
        259,
        822,
        822,
        829,
        933,
        933,
        822,
        827,
        822,
        829,
        822,
        822,
        933,
        933,
        855,
        933,
        163,
        541,
        430,
        514,
        562,
        933,
        273,
        822,
        822,
        822,
        822,
        845,
        933,
        58,
        573,
        822,
        234,
        194,
        822,
        822,
        845,
        805,
        802,
        793,
        933,
        933,
        933,
        845,
        470,
        793,
        793,
        793,
        859,
        861,
        800,
        799,
        390,
        356,
        598,
        127,
        850,
        799,
        799,
        822,
        535,
        800,
        799,
        800,
        799,
        852,
        799,
        799,
        799,
        800,
        799,
        827,
        456,
        799,
        720,
        728,
        586,
        75,
        799,
        19,
        950,
        953,
        734,
        954,
        944,
        955,
        1008,
        958,
        959,
        1073,
        930,
        977,
        947,
        966,
        1009,
        935,
        934,
        811,
        666,
        692,
        809,
        784,
        929,
        823,
        823,
        823,
        917,
        918,
        823,
        823,
        823,
        823,
        823,
        823,
        823,
        823,
        666,
        847,
        838,
        817,
        983,
        703,
        705,
        1044,
        782,
        1090,
        1081,
        982,
        950,
        959,
        739,
        947,
        966,
        935,
        934,
        792,
        790,
        772,
        783,
        769,
        763,
        760,
        762,
        797,
        1046,
        974,
        791,
        707,
        1016,
        985,
        1089,
        1071,
        986,
        987,
        1018,
        1047,
        866,
        1050,
        1091,
        824,
        1092,
        1093,
        900,
        989,
        1074,
        823,
        912,
        897,
        901,
        988,
        925,
        666,
        902,
        1051,
        997,
        851,
        1019,
        1021,
        1072,
        834,
        821,
        907,
        1094,
        990,
        991,
        999,
        1075,
        1076,
        853,
        1003,
        804,
        1022,
        841,
        803,
        1023,
        1030,
        1033,
        1036,
        1077,
        1095,
        1079,
        911,
        1080,
        868,
        818,
        931,
        840,
        1096,
        307,
        835,
        836,
        849,
        1005,
        605,
        978,
        1082,
        1087,
        1097,
        1040,
        1041,
        1042,
        1098,
        1099,
        975,
        869,
        1012,
        833,
        1014,
        964,
        870,
        871,
        608,
        848,
        1052,
        819,
        831,
        844,
        626,
        634,
        1100,
        1101,
        1102,
        976,
        806,
        816,
        875,
        877,
        1053,
        826,
        1054,
        1103,
        640,
        880,
        1104,
        1045,
        736,
        740,
        560,
        662,
        647,
        750,
        820,
        1084,
        814,
        801,
        810,
        1001,
        740,
        808,
        881,
        1105,
        883,
        887,
        888,
        1043,
        892,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        468,
        468,
        468,
        468,
        468,
        468,
        313,
        313,
        313,
        313,
        313,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        313,
        468,
        468,
        468,
        313,
        0,
        0,
        313,
        0,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        468,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        716,
        716,
        297,
        297,
        297,
        297,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        297,
        297,
        0,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        297,
        855,
        716,
        716,
        716,
        716,
        452,
        452,
        452,
        452,
        -95,
        -95,
        716,
        716,
        716,
        394,
        716,
        716,
        452,
        452,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        716,
        0,
        0,
        0,
        145,
        -70,
        716,
        827,
        827,
        827,
        827,
        716,
        716,
        716,
        716,
        -70,
        -70,
        716,
        716,
        716,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        145,
        0,
        0,
        145,
        0,
        0,
        827,
        638,
        827,
        638,
        716,
        394,
        855,
        659,
        716,
        0,
        0,
        0,
        0,
        145,
        827,
        145,
        632,
        -70,
        -70,
        632,
        632,
        5,
        37,
        659,
        613,
        613,
        613,
        613,
        0,
        0,
        633,
        855,
        855,
        855,
        855,
        855,
        855,
        855,
        855,
        855,
        855,
        855,
        827,
        0,
        855,
        0,
        827,
        827,
        827,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        933,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        827,
        0,
        933,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        827,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        823,
        834,
        0,
        0,
        834,
        0,
        823,
        823,
        823,
        0,
        0,
        0,
        848,
        826,
    );
    protected array $actionDefault = array(
        3,
        32767,
        102,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        100,
        32767,
        618,
        618,
        618,
        618,
        32767,
        32767,
        255,
        102,
        32767,
        32767,
        487,
        404,
        404,
        404,
        32767,
        32767,
        560,
        560,
        560,
        560,
        560,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        487,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        36,
        7,
        8,
        10,
        11,
        49,
        17,
        328,
        100,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        102,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        611,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        392,
        491,
        470,
        471,
        473,
        474,
        403,
        561,
        617,
        331,
        614,
        333,
        402,
        145,
        343,
        334,
        243,
        259,
        492,
        260,
        493,
        496,
        497,
        216,
        389,
        149,
        150,
        434,
        488,
        436,
        486,
        490,
        435,
        409,
        415,
        416,
        417,
        418,
        419,
        420,
        421,
        422,
        423,
        424,
        425,
        426,
        427,
        407,
        408,
        489,
        32767,
        32767,
        467,
        466,
        465,
        432,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        102,
        32767,
        433,
        437,
        406,
        440,
        438,
        439,
        456,
        457,
        454,
        455,
        458,
        32767,
        32767,
        320,
        32767,
        32767,
        459,
        460,
        461,
        462,
        370,
        368,
        32767,
        32767,
        320,
        111,
        32767,
        32767,
        447,
        448,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        504,
        554,
        464,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        102,
        32767,
        100,
        556,
        429,
        431,
        524,
        442,
        443,
        441,
        410,
        32767,
        529,
        32767,
        102,
        32767,
        531,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        555,
        32767,
        562,
        562,
        32767,
        517,
        100,
        195,
        32767,
        530,
        195,
        195,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        625,
        517,
        110,
        110,
        110,
        110,
        110,
        110,
        110,
        110,
        110,
        110,
        110,
        32767,
        195,
        110,
        32767,
        32767,
        32767,
        100,
        195,
        195,
        195,
        195,
        195,
        195,
        195,
        195,
        532,
        195,
        195,
        190,
        32767,
        269,
        271,
        102,
        579,
        195,
        534,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        517,
        452,
        138,
        32767,
        519,
        138,
        562,
        444,
        445,
        446,
        562,
        562,
        562,
        316,
        293,
        32767,
        32767,
        32767,
        32767,
        532,
        532,
        100,
        100,
        100,
        100,
        32767,
        32767,
        32767,
        32767,
        111,
        503,
        99,
        99,
        99,
        99,
        99,
        103,
        101,
        32767,
        32767,
        32767,
        32767,
        224,
        32767,
        101,
        99,
        32767,
        101,
        101,
        32767,
        32767,
        224,
        226,
        213,
        228,
        32767,
        583,
        584,
        224,
        101,
        228,
        228,
        228,
        248,
        248,
        506,
        322,
        101,
        99,
        101,
        101,
        197,
        322,
        322,
        32767,
        101,
        506,
        322,
        506,
        322,
        199,
        322,
        322,
        322,
        506,
        322,
        32767,
        101,
        322,
        215,
        392,
        99,
        99,
        322,
        32767,
        32767,
        32767,
        519,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        223,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        549,
        32767,
        567,
        581,
        450,
        451,
        453,
        566,
        564,
        475,
        476,
        477,
        478,
        479,
        480,
        481,
        483,
        613,
        32767,
        523,
        32767,
        32767,
        32767,
        342,
        32767,
        623,
        32767,
        32767,
        32767,
        9,
        74,
        512,
        42,
        43,
        51,
        57,
        538,
        539,
        540,
        541,
        535,
        536,
        542,
        537,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        624,
        32767,
        562,
        32767,
        32767,
        32767,
        32767,
        449,
        544,
        589,
        32767,
        32767,
        563,
        616,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        138,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        549,
        32767,
        136,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        545,
        32767,
        32767,
        32767,
        562,
        32767,
        32767,
        32767,
        32767,
        318,
        315,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        562,
        32767,
        32767,
        32767,
        32767,
        32767,
        295,
        32767,
        312,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        388,
        519,
        298,
        300,
        301,
        32767,
        32767,
        32767,
        32767,
        364,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        32767,
        152,
        152,
        3,
        3,
        345,
        152,
        152,
        152,
        345,
        345,
        152,
        345,
        345,
        345,
        152,
        152,
        152,
        152,
        152,
        152,
        281,
        185,
        263,
        266,
        248,
        248,
        152,
        356,
        152,
    );
    protected array $goto = array(
        196,
        196,
        1041,
        352,
        700,
        465,
        587,
        470,
        470,
        1072,
        736,
        641,
        643,
        1205,
        855,
        663,
        470,
        856,
        709,
        687,
        690,
        1014,
        698,
        707,
        1010,
        625,
        662,
        166,
        166,
        166,
        166,
        220,
        197,
        193,
        193,
        176,
        178,
        215,
        193,
        193,
        193,
        193,
        193,
        194,
        194,
        194,
        194,
        194,
        188,
        189,
        190,
        191,
        192,
        217,
        215,
        218,
        540,
        541,
        423,
        542,
        545,
        546,
        547,
        548,
        549,
        550,
        551,
        552,
        1156,
        167,
        168,
        169,
        195,
        170,
        171,
        172,
        165,
        173,
        174,
        175,
        177,
        214,
        216,
        219,
        239,
        242,
        253,
        254,
        256,
        257,
        258,
        259,
        260,
        261,
        262,
        263,
        269,
        270,
        271,
        272,
        281,
        282,
        317,
        318,
        319,
        429,
        430,
        431,
        602,
        221,
        222,
        223,
        224,
        225,
        226,
        227,
        228,
        229,
        230,
        231,
        232,
        233,
        234,
        235,
        179,
        236,
        180,
        188,
        189,
        190,
        191,
        192,
        217,
        1156,
        198,
        199,
        200,
        201,
        240,
        181,
        182,
        202,
        183,
        203,
        199,
        184,
        241,
        198,
        164,
        204,
        205,
        185,
        206,
        207,
        208,
        186,
        209,
        210,
        187,
        211,
        212,
        213,
        278,
        278,
        278,
        278,
        858,
        433,
        665,
        979,
        916,
        604,
        917,
        428,
        320,
        314,
        315,
        338,
        597,
        432,
        339,
        434,
        642,
        627,
        627,
        896,
        854,
        896,
        896,
        1291,
        1291,
        1291,
        1291,
        1291,
        1291,
        1291,
        1291,
        1291,
        1291,
        614,
        628,
        631,
        632,
        633,
        634,
        655,
        656,
        657,
        711,
        830,
        871,
        460,
        912,
        907,
        908,
        921,
        864,
        909,
        861,
        910,
        911,
        862,
        356,
        915,
        868,
        421,
        883,
        482,
        867,
        870,
        1361,
        1361,
        356,
        356,
        484,
        1094,
        1089,
        1090,
        1091,
        889,
        603,
        1107,
        397,
        400,
        605,
        609,
        356,
        356,
        1361,
        594,
        356,
        712,
        344,
        1378,
        353,
        354,
        511,
        703,
        442,
        1105,
        1260,
        1041,
        1260,
        1260,
        350,
        559,
        1364,
        1364,
        356,
        356,
        1041,
        1260,
        1041,
        1351,
        1041,
        1041,
        345,
        344,
        1041,
        1041,
        1041,
        1041,
        1041,
        1041,
        1041,
        1041,
        1041,
        1041,
        1041,
        1000,
        1236,
        948,
        249,
        249,
        1260,
        1237,
        1240,
        949,
        1241,
        1260,
        1260,
        1260,
        1260,
        1114,
        1115,
        1260,
        1260,
        1260,
        1343,
        1343,
        1343,
        1343,
        564,
        557,
        851,
        427,
        1322,
        616,
        395,
        247,
        247,
        247,
        247,
        244,
        250,
        592,
        929,
        503,
        664,
        504,
        930,
        355,
        355,
        355,
        355,
        510,
        945,
        512,
        945,
        479,
        1336,
        1337,
        328,
        557,
        564,
        589,
        590,
        330,
        600,
        606,
        1153,
        621,
        622,
        555,
        1065,
        555,
        555,
        658,
        659,
        25,
        676,
        677,
        678,
        440,
        555,
        1310,
        1310,
        686,
        559,
        851,
        670,
        1310,
        1310,
        1310,
        1310,
        1310,
        1310,
        1310,
        1310,
        1310,
        1310,
        1044,
        1044,
        1047,
        1046,
        685,
        956,
        458,
        340,
        1036,
        1052,
        1053,
        973,
        973,
        973,
        973,
        1050,
        1051,
        458,
        967,
        974,
        1307,
        1307,
        971,
        412,
        708,
        848,
        1307,
        1307,
        1307,
        1307,
        1307,
        1307,
        1307,
        1307,
        1307,
        1307,
        5,
        610,
        6,
        873,
        934,
        1143,
        451,
        451,
        876,
        451,
        451,
        1333,
        962,
        1333,
        1333,
        1253,
        1019,
        404,
        553,
        553,
        553,
        553,
        1333,
        608,
        875,
        620,
        668,
        998,
        1251,
        558,
        584,
        1022,
        869,
        739,
        558,
        885,
        584,
        480,
        398,
        464,
        1078,
        697,
        326,
        309,
        1250,
        832,
        1345,
        1345,
        1345,
        1345,
        1082,
        473,
        601,
        474,
        475,
        1338,
        1339,
        697,
        1128,
        881,
        697,
        984,
        1369,
        1370,
        598,
        619,
        1032,
        0,
        544,
        544,
        851,
        836,
        0,
        1329,
        544,
        544,
        544,
        544,
        544,
        544,
        544,
        544,
        544,
        544,
        543,
        543,
        1255,
        879,
        0,
        0,
        543,
        0,
        543,
        543,
        543,
        543,
        543,
        543,
        543,
        543,
        451,
        451,
        451,
        451,
        451,
        451,
        451,
        451,
        451,
        451,
        451,
        252,
        252,
        451,
        836,
        1080,
        836,
        409,
        410,
        1331,
        1331,
        1080,
        674,
        0,
        675,
        0,
        414,
        415,
        416,
        0,
        688,
        0,
        0,
        417,
        635,
        637,
        639,
        0,
        348,
        0,
        0,
        1256,
        1257,
        0,
        1243,
        884,
        872,
        1077,
        1081,
        0,
        846,
        1003,
        0,
        0,
        975,
        0,
        735,
        1243,
        982,
        556,
        1012,
        1007,
        0,
        435,
        0,
        0,
        0,
        0,
        0,
        1258,
        1319,
        1320,
        0,
        0,
        435,
        273,
        325,
        0,
        325,
        325,
        0,
        972,
        1048,
        1048,
        0,
        0,
        0,
        669,
        1059,
        1055,
        1056,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1126,
        888,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1017,
        1017,
    );
    protected array $gotoCheck = array(
        42,
        42,
        73,
        97,
        73,
        156,
        48,
        154,
        154,
        128,
        48,
        48,
        48,
        156,
        26,
        48,
        154,
        27,
        9,
        48,
        48,
        48,
        48,
        48,
        48,
        56,
        56,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        23,
        23,
        23,
        23,
        15,
        66,
        66,
        49,
        65,
        131,
        65,
        66,
        66,
        66,
        66,
        66,
        66,
        66,
        66,
        66,
        66,
        108,
        108,
        25,
        25,
        25,
        25,
        108,
        108,
        108,
        108,
        108,
        108,
        108,
        108,
        108,
        108,
        81,
        81,
        81,
        81,
        81,
        81,
        81,
        81,
        81,
        81,
        6,
        35,
        83,
        15,
        15,
        15,
        15,
        15,
        15,
        15,
        15,
        15,
        15,
        14,
        15,
        15,
        43,
        35,
        84,
        15,
        35,
        188,
        188,
        14,
        14,
        84,
        15,
        15,
        15,
        15,
        45,
        8,
        8,
        59,
        59,
        59,
        59,
        14,
        14,
        188,
        178,
        14,
        8,
        174,
        14,
        97,
        97,
        8,
        8,
        83,
        8,
        73,
        73,
        73,
        73,
        185,
        14,
        188,
        188,
        14,
        14,
        73,
        73,
        73,
        187,
        73,
        73,
        174,
        174,
        73,
        73,
        73,
        73,
        73,
        73,
        73,
        73,
        73,
        73,
        73,
        103,
        79,
        79,
        5,
        5,
        73,
        79,
        79,
        79,
        79,
        73,
        73,
        73,
        73,
        145,
        145,
        73,
        73,
        73,
        9,
        9,
        9,
        9,
        76,
        76,
        22,
        13,
        14,
        13,
        62,
        5,
        5,
        5,
        5,
        5,
        5,
        104,
        73,
        160,
        64,
        160,
        73,
        24,
        24,
        24,
        24,
        160,
        9,
        14,
        9,
        182,
        182,
        182,
        76,
        76,
        76,
        76,
        76,
        76,
        76,
        76,
        155,
        76,
        76,
        19,
        115,
        19,
        19,
        86,
        86,
        76,
        86,
        86,
        86,
        113,
        19,
        176,
        176,
        117,
        14,
        22,
        121,
        176,
        176,
        176,
        176,
        176,
        176,
        176,
        176,
        176,
        176,
        89,
        89,
        119,
        119,
        89,
        89,
        19,
        29,
        89,
        89,
        89,
        19,
        19,
        19,
        19,
        120,
        120,
        19,
        19,
        19,
        177,
        177,
        93,
        93,
        93,
        18,
        177,
        177,
        177,
        177,
        177,
        177,
        177,
        177,
        177,
        177,
        46,
        17,
        46,
        37,
        17,
        17,
        23,
        23,
        39,
        23,
        23,
        131,
        92,
        131,
        131,
        14,
        17,
        28,
        107,
        107,
        107,
        107,
        131,
        107,
        17,
        80,
        17,
        17,
        166,
        9,
        9,
        110,
        17,
        99,
        9,
        41,
        9,
        157,
        9,
        9,
        130,
        7,
        175,
        175,
        17,
        7,
        131,
        131,
        131,
        131,
        133,
        9,
        9,
        9,
        9,
        184,
        184,
        7,
        148,
        9,
        7,
        96,
        9,
        9,
        2,
        2,
        114,
        -1,
        179,
        179,
        22,
        12,
        -1,
        131,
        179,
        179,
        179,
        179,
        179,
        179,
        179,
        179,
        179,
        179,
        162,
        162,
        20,
        9,
        -1,
        -1,
        162,
        -1,
        162,
        162,
        162,
        162,
        162,
        162,
        162,
        162,
        23,
        23,
        23,
        23,
        23,
        23,
        23,
        23,
        23,
        23,
        23,
        5,
        5,
        23,
        12,
        131,
        12,
        82,
        82,
        131,
        131,
        131,
        82,
        -1,
        82,
        -1,
        82,
        82,
        82,
        -1,
        82,
        -1,
        -1,
        82,
        85,
        85,
        85,
        -1,
        82,
        -1,
        -1,
        20,
        20,
        -1,
        20,
        16,
        16,
        16,
        16,
        -1,
        20,
        50,
        -1,
        -1,
        50,
        -1,
        50,
        20,
        16,
        50,
        50,
        50,
        -1,
        118,
        -1,
        -1,
        -1,
        -1,
        -1,
        20,
        20,
        20,
        -1,
        -1,
        118,
        24,
        24,
        -1,
        24,
        24,
        -1,
        16,
        118,
        118,
        -1,
        -1,
        -1,
        118,
        118,
        118,
        118,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        16,
        16,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        107,
        107,
    );
    protected array $gotoBase = array(
        0,
        0,
        -234,
        0,
        0,
        291,
        199,
        451,
        232,
        8,
        0,
        0,
        191,
        -25,
        -76,
        -183,
        108,
        -48,
        96,
        88,
        109,
        0,
        36,
        159,
        328,
        182,
        10,
        13,
        94,
        91,
        0,
        0,
        0,
        0,
        0,
        -162,
        0,
        78,
        0,
        101,
        0,
        9,
        -1,
        202,
        0,
        213,
        -322,
        0,
        -708,
        151,
        556,
        0,
        0,
        0,
        0,
        0,
        -15,
        0,
        0,
        197,
        0,
        0,
        276,
        0,
        90,
        156,
        -70,
        0,
        0,
        0,
        0,
        0,
        0,
        -5,
        0,
        0,
        -34,
        0,
        0,
        -119,
        112,
        -160,
        40,
        -67,
        -246,
        69,
        -364,
        0,
        0,
        102,
        0,
        0,
        97,
        98,
        0,
        0,
        33,
        -483,
        0,
        42,
        0,
        0,
        0,
        254,
        282,
        0,
        0,
        407,
        -54,
        0,
        77,
        0,
        0,
        86,
        -29,
        79,
        0,
        84,
        314,
        104,
        111,
        80,
        0,
        0,
        0,
        0,
        0,
        0,
        7,
        0,
        82,
        163,
        0,
        23,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        30,
        0,
        0,
        29,
        0,
        0,
        0,
        0,
        0,
        -27,
        106,
        -263,
        12,
        0,
        0,
        -171,
        0,
        264,
        0,
        0,
        0,
        75,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        -46,
        137,
        128,
        164,
        220,
        248,
        0,
        0,
        38,
        0,
        99,
        234,
        0,
        242,
        -78,
        0,
        0,
    );
    protected array $gotoDefault = array(
        -32768,
        516,
        743,
        4,
        744,
        938,
        819,
        828,
        580,
        534,
        710,
        349,
        629,
        424,
        1327,
        914,
        1142,
        599,
        847,
        1269,
        1275,
        459,
        850,
        333,
        733,
        926,
        897,
        898,
        401,
        388,
        863,
        399,
        653,
        630,
        497,
        882,
        455,
        874,
        489,
        877,
        454,
        886,
        163,
        420,
        514,
        890,
        3,
        893,
        562,
        924,
        977,
        389,
        901,
        390,
        681,
        903,
        583,
        905,
        906,
        396,
        402,
        403,
        1147,
        591,
        626,
        918,
        255,
        585,
        919,
        387,
        920,
        928,
        392,
        394,
        691,
        469,
        508,
        502,
        413,
        1109,
        586,
        613,
        650,
        448,
        476,
        624,
        636,
        623,
        483,
        436,
        418,
        332,
        961,
        969,
        490,
        467,
        983,
        351,
        991,
        741,
        1155,
        644,
        492,
        999,
        645,
        1006,
        1009,
        535,
        536,
        481,
        1021,
        266,
        1024,
        493,
        1033,
        23,
        671,
        1038,
        1039,
        672,
        646,
        1061,
        647,
        673,
        648,
        1063,
        466,
        581,
        1071,
        456,
        1079,
        1315,
        457,
        1083,
        264,
        1086,
        277,
        419,
        437,
        1092,
        1093,
        9,
        1099,
        701,
        702,
        19,
        274,
        513,
        1127,
        692,
        -32768,
        -32768,
        -32768,
        -32768,
        453,
        1154,
        452,
        1224,
        1226,
        563,
        494,
        1244,
        294,
        1247,
        684,
        509,
        1252,
        449,
        1318,
        450,
        537,
        477,
        316,
        538,
        1362,
        308,
        336,
        313,
        554,
        295,
        337,
        539,
        478,
        1324,
        1332,
        334,
        31,
        1352,
        1363,
        596,
        618,
    );
    protected array $ruleToNonTerminal = array(
        0,
        1,
        3,
        3,
        2,
        5,
        5,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        6,
        7,
        7,
        7,
        7,
        7,
        7,
        7,
        7,
        8,
        8,
        9,
        10,
        11,
        11,
        11,
        12,
        12,
        13,
        13,
        14,
        15,
        15,
        16,
        16,
        17,
        17,
        18,
        18,
        21,
        21,
        22,
        23,
        23,
        24,
        24,
        4,
        4,
        4,
        4,
        4,
        4,
        4,
        4,
        4,
        4,
        4,
        29,
        29,
        30,
        30,
        32,
        34,
        34,
        28,
        36,
        36,
        33,
        38,
        38,
        35,
        35,
        37,
        37,
        39,
        39,
        31,
        40,
        40,
        41,
        43,
        44,
        44,
        45,
        45,
        46,
        46,
        48,
        47,
        47,
        47,
        47,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        49,
        25,
        25,
        50,
        69,
        69,
        72,
        72,
        71,
        70,
        70,
        63,
        75,
        75,
        76,
        76,
        77,
        77,
        78,
        78,
        79,
        79,
        80,
        80,
        80,
        26,
        26,
        27,
        27,
        27,
        27,
        27,
        88,
        88,
        90,
        90,
        83,
        83,
        91,
        91,
        92,
        92,
        92,
        84,
        84,
        87,
        87,
        85,
        85,
        93,
        94,
        94,
        57,
        57,
        65,
        65,
        68,
        68,
        68,
        67,
        95,
        95,
        96,
        58,
        58,
        58,
        58,
        97,
        97,
        98,
        98,
        99,
        99,
        100,
        101,
        101,
        102,
        102,
        103,
        103,
        55,
        55,
        51,
        51,
        105,
        53,
        53,
        106,
        52,
        52,
        54,
        54,
        64,
        64,
        64,
        64,
        81,
        81,
        109,
        109,
        111,
        111,
        112,
        112,
        112,
        112,
        112,
        112,
        112,
        110,
        110,
        110,
        115,
        115,
        115,
        115,
        89,
        89,
        118,
        118,
        118,
        119,
        119,
        116,
        116,
        120,
        120,
        122,
        122,
        123,
        123,
        117,
        124,
        124,
        121,
        125,
        125,
        125,
        125,
        113,
        113,
        82,
        82,
        82,
        20,
        20,
        20,
        127,
        126,
        126,
        128,
        128,
        128,
        128,
        60,
        129,
        129,
        130,
        61,
        132,
        132,
        133,
        133,
        134,
        134,
        86,
        135,
        135,
        135,
        135,
        135,
        135,
        135,
        140,
        140,
        141,
        141,
        142,
        142,
        142,
        142,
        142,
        143,
        144,
        144,
        139,
        139,
        136,
        136,
        138,
        138,
        146,
        146,
        145,
        145,
        145,
        145,
        145,
        145,
        145,
        145,
        145,
        145,
        137,
        147,
        147,
        149,
        148,
        148,
        150,
        150,
        114,
        151,
        151,
        153,
        153,
        153,
        152,
        152,
        62,
        104,
        154,
        154,
        56,
        56,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        42,
        161,
        162,
        162,
        163,
        155,
        155,
        160,
        160,
        164,
        165,
        165,
        166,
        167,
        168,
        168,
        168,
        168,
        19,
        19,
        73,
        73,
        73,
        73,
        156,
        156,
        156,
        156,
        170,
        170,
        159,
        159,
        159,
        157,
        157,
        176,
        176,
        176,
        176,
        176,
        176,
        176,
        176,
        176,
        176,
        177,
        177,
        177,
        108,
        179,
        179,
        179,
        179,
        158,
        158,
        158,
        158,
        158,
        158,
        158,
        158,
        59,
        59,
        173,
        173,
        173,
        173,
        173,
        180,
        180,
        169,
        169,
        169,
        169,
        181,
        181,
        181,
        181,
        181,
        181,
        74,
        74,
        66,
        66,
        66,
        66,
        131,
        131,
        131,
        131,
        184,
        183,
        172,
        172,
        172,
        172,
        172,
        172,
        172,
        171,
        171,
        171,
        182,
        182,
        182,
        182,
        107,
        178,
        186,
        186,
        185,
        185,
        187,
        187,
        187,
        187,
        187,
        187,
        187,
        187,
        175,
        175,
        175,
        175,
        174,
        189,
        188,
        188,
        188,
        188,
        188,
        188,
        188,
        188,
        190,
        190,
        190,
        190,
    );
    protected array $ruleToLength = array(
        1,
        1,
        2,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        2,
        1,
        3,
        4,
        1,
        2,
        0,
        1,
        1,
        1,
        1,
        4,
        3,
        5,
        4,
        3,
        4,
        1,
        3,
        1,
        1,
        8,
        7,
        2,
        3,
        1,
        2,
        3,
        1,
        2,
        3,
        1,
        1,
        3,
        1,
        3,
        1,
        2,
        2,
        3,
        1,
        3,
        2,
        3,
        1,
        3,
        3,
        2,
        0,
        1,
        1,
        1,
        1,
        1,
        3,
        7,
        10,
        5,
        7,
        9,
        5,
        3,
        3,
        3,
        3,
        3,
        3,
        1,
        2,
        5,
        7,
        9,
        6,
        5,
        6,
        3,
        2,
        1,
        1,
        1,
        1,
        0,
        2,
        1,
        3,
        8,
        0,
        4,
        2,
        1,
        3,
        0,
        1,
        0,
        1,
        0,
        1,
        3,
        1,
        1,
        1,
        1,
        8,
        9,
        7,
        8,
        7,
        6,
        8,
        0,
        2,
        0,
        2,
        1,
        2,
        1,
        2,
        1,
        1,
        1,
        0,
        2,
        0,
        2,
        0,
        2,
        2,
        1,
        3,
        1,
        4,
        1,
        4,
        1,
        1,
        4,
        2,
        1,
        3,
        3,
        3,
        4,
        4,
        5,
        0,
        2,
        4,
        3,
        1,
        1,
        7,
        0,
        2,
        1,
        3,
        3,
        4,
        1,
        4,
        0,
        2,
        5,
        0,
        2,
        6,
        0,
        2,
        0,
        3,
        1,
        2,
        1,
        1,
        2,
        0,
        1,
        3,
        0,
        2,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        7,
        9,
        6,
        1,
        2,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        3,
        3,
        3,
        1,
        3,
        3,
        3,
        3,
        3,
        1,
        3,
        3,
        1,
        1,
        2,
        1,
        1,
        0,
        1,
        0,
        2,
        2,
        2,
        4,
        3,
        1,
        1,
        3,
        1,
        2,
        2,
        3,
        2,
        3,
        1,
        1,
        2,
        3,
        1,
        1,
        3,
        2,
        0,
        1,
        5,
        5,
        6,
        10,
        3,
        5,
        1,
        1,
        3,
        0,
        2,
        4,
        5,
        4,
        4,
        4,
        3,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        2,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        2,
        1,
        3,
        1,
        1,
        3,
        0,
        2,
        0,
        5,
        8,
        1,
        3,
        3,
        0,
        2,
        2,
        2,
        3,
        1,
        0,
        1,
        1,
        3,
        3,
        3,
        4,
        4,
        1,
        1,
        2,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        2,
        2,
        2,
        2,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        2,
        2,
        2,
        2,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        3,
        5,
        4,
        3,
        4,
        4,
        2,
        2,
        4,
        2,
        2,
        2,
        2,
        2,
        2,
        2,
        2,
        2,
        2,
        2,
        1,
        3,
        2,
        1,
        2,
        4,
        2,
        2,
        8,
        9,
        8,
        9,
        9,
        10,
        9,
        10,
        8,
        3,
        2,
        2,
        1,
        1,
        0,
        4,
        2,
        1,
        3,
        2,
        1,
        2,
        2,
        2,
        4,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        3,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        3,
        5,
        3,
        3,
        4,
        1,
        1,
        3,
        1,
        1,
        1,
        1,
        1,
        3,
        2,
        3,
        0,
        1,
        1,
        3,
        1,
        1,
        1,
        1,
        1,
        1,
        3,
        1,
        1,
        1,
        4,
        4,
        1,
        4,
        4,
        0,
        1,
        1,
        1,
        3,
        3,
        1,
        4,
        2,
        2,
        1,
        3,
        1,
        4,
        4,
        3,
        3,
        3,
        3,
        1,
        3,
        1,
        1,
        3,
        1,
        1,
        4,
        1,
        1,
        1,
        3,
        1,
        1,
        2,
        1,
        3,
        4,
        3,
        2,
        0,
        2,
        2,
        1,
        2,
        1,
        1,
        1,
        4,
        3,
        3,
        3,
        3,
        6,
        3,
        1,
        1,
        2,
        1,
    );
    protected function initReduceCallbacks() : void {
        $this->reduceCallbacks = [
            0 => null,
            1 => static function ($self, $stackPos) {
                $self->semValue = $self->handleNamespaces($self->semStack[$stackPos - (1 - 1)]);
            },
            2 => static function ($self, $stackPos) {
                if ($self->semStack[$stackPos - (2 - 2)] !== null) {
                    $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                }
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            3 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            4 => static function ($self, $stackPos) {
                $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
                if ($nop !== null) {
                    $self->semStack[$stackPos - (1 - 1)][] = $nop;
                }
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            },
            5 => null,
            6 => null,
            7 => null,
            8 => null,
            9 => null,
            10 => null,
            11 => null,
            12 => null,
            13 => null,
            14 => null,
            15 => null,
            16 => null,
            17 => null,
            18 => null,
            19 => null,
            20 => null,
            21 => null,
            22 => null,
            23 => null,
            24 => null,
            25 => null,
            26 => null,
            27 => null,
            28 => null,
            29 => null,
            30 => null,
            31 => null,
            32 => null,
            33 => null,
            34 => null,
            35 => null,
            36 => null,
            37 => null,
            38 => null,
            39 => null,
            40 => null,
            41 => null,
            42 => null,
            43 => null,
            44 => null,
            45 => null,
            46 => null,
            47 => null,
            48 => null,
            49 => null,
            50 => null,
            51 => null,
            52 => null,
            53 => null,
            54 => null,
            55 => null,
            56 => null,
            57 => null,
            58 => null,
            59 => null,
            60 => null,
            61 => null,
            62 => null,
            63 => null,
            64 => null,
            65 => null,
            66 => null,
            67 => null,
            68 => null,
            69 => null,
            70 => null,
            71 => null,
            72 => null,
            73 => null,
            74 => null,
            75 => null,
            76 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
                if ($self->semValue === "<?=") {
                    $self->emitError(new Error('Cannot use "<?=" as an identifier', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])));
                }
            },
            77 => null,
            78 => null,
            79 => null,
            80 => null,
            81 => null,
            82 => null,
            83 => null,
            84 => null,
            85 => static function ($self, $stackPos) {
                $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            86 => static function ($self, $stackPos) {
                $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            87 => static function ($self, $stackPos) {
                $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            88 => static function ($self, $stackPos) {
                $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            89 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            90 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            91 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            92 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            93 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            94 => null,
            95 => static function ($self, $stackPos) {
                $self->semValue = new Name(substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            96 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Variable(substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            97 => static function ($self, $stackPos) {
                
                /* nothing */
            },
            98 => static function ($self, $stackPos) {
                
                /* nothing */
            },
            99 => static function ($self, $stackPos) {
                
                /* nothing */
            },
            100 => static function ($self, $stackPos) {
                $self->emitError(new Error('A trailing comma is not allowed here', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])));
            },
            101 => null,
            102 => null,
            103 => static function ($self, $stackPos) {
                $self->semValue = new Node\Attribute($self->semStack[$stackPos - (1 - 1)], [], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            104 => static function ($self, $stackPos) {
                $self->semValue = new Node\Attribute($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            105 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            106 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            107 => static function ($self, $stackPos) {
                $self->semValue = new Node\AttributeGroup($self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            108 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            109 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            110 => static function ($self, $stackPos) {
                $self->semValue = [];
            },
            111 => null,
            112 => null,
            113 => null,
            114 => null,
            115 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\HaltCompiler($self->handleHaltCompiler(), $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            116 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos - (3 - 2)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
                $self->semValue
                    ->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON);
                $self->checkNamespace($self->semValue);
            },
            117 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos - (5 - 2)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
                $self->semValue
                    ->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
                $self->checkNamespace($self->semValue);
            },
            118 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Namespace_(null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
                $self->semValue
                    ->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
                $self->checkNamespace($self->semValue);
            },
            119 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Use_($self->semStack[$stackPos - (3 - 2)], Stmt\Use_::TYPE_NORMAL, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            120 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Use_($self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            121 => null,
            122 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Const_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            123 => static function ($self, $stackPos) {
                $self->semValue = Stmt\Use_::TYPE_FUNCTION;
            },
            124 => static function ($self, $stackPos) {
                $self->semValue = Stmt\Use_::TYPE_CONSTANT;
            },
            125 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos - (8 - 3)], $self->semStack[$stackPos - (8 - 6)], $self->semStack[$stackPos - (8 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
            },
            126 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos - (7 - 2)], $self->semStack[$stackPos - (7 - 5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
            },
            127 => null,
            128 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            129 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            130 => null,
            131 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            132 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            133 => null,
            134 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            135 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            136 => static function ($self, $stackPos) {
                $self->semValue = new Node\UseItem($self->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkUseUse($self->semValue, $stackPos - (1 - 1));
            },
            137 => static function ($self, $stackPos) {
                $self->semValue = new Node\UseItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkUseUse($self->semValue, $stackPos - (3 - 3));
            },
            138 => static function ($self, $stackPos) {
                $self->semValue = new Node\UseItem($self->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkUseUse($self->semValue, $stackPos - (1 - 1));
            },
            139 => static function ($self, $stackPos) {
                $self->semValue = new Node\UseItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkUseUse($self->semValue, $stackPos - (3 - 3));
            },
            140 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
                $self->semValue->type = Stmt\Use_::TYPE_NORMAL;
            },
            141 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue->type = $self->semStack[$stackPos - (2 - 1)];
            },
            142 => null,
            143 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            144 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            145 => static function ($self, $stackPos) {
                $self->semValue = new Node\Const_($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            146 => null,
            147 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            148 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            149 => static function ($self, $stackPos) {
                $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos - (3 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos - (3 - 1)])), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            150 => static function ($self, $stackPos) {
                $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos - (3 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos - (3 - 1)])), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            151 => static function ($self, $stackPos) {
                if ($self->semStack[$stackPos - (2 - 2)] !== null) {
                    $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                }
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            152 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            153 => static function ($self, $stackPos) {
                $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
                if ($nop !== null) {
                    $self->semStack[$stackPos - (1 - 1)][] = $nop;
                }
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            },
            154 => null,
            155 => null,
            156 => null,
            157 => static function ($self, $stackPos) {
                throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            158 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Block($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            159 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\If_($self->semStack[$stackPos - (7 - 3)], [
                    'stmts' => $self->semStack[$stackPos - (7 - 5)],
                    'elseifs' => $self->semStack[$stackPos - (7 - 6)],
                    'else' => $self->semStack[$stackPos - (7 - 7)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
            },
            160 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\If_($self->semStack[$stackPos - (10 - 3)], [
                    'stmts' => $self->semStack[$stackPos - (10 - 6)],
                    'elseifs' => $self->semStack[$stackPos - (10 - 7)],
                    'else' => $self->semStack[$stackPos - (10 - 8)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
            },
            161 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\While_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            162 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Do_($self->semStack[$stackPos - (7 - 5)], $self->semStack[$stackPos - (7 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
            },
            163 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\For_([
                    'init' => $self->semStack[$stackPos - (9 - 3)],
                    'cond' => $self->semStack[$stackPos - (9 - 5)],
                    'loop' => $self->semStack[$stackPos - (9 - 7)],
                    'stmts' => $self->semStack[$stackPos - (9 - 9)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
            },
            164 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Switch_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            165 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Break_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            166 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Continue_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            167 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Return_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            168 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Global_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            169 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Static_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            170 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Echo_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            171 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\InlineHTML($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
                $self->semValue
                    ->setAttribute('hasLeadingNewline', $self->inlineHtmlHasLeadingNewline($stackPos - (1 - 1)));
            },
            172 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Expression($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            173 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Unset_($self->semStack[$stackPos - (5 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            174 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 5)][0], [
                    'keyVar' => null,
                    'byRef' => $self->semStack[$stackPos - (7 - 5)][1],
                    'stmts' => $self->semStack[$stackPos - (7 - 7)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
            },
            175 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (9 - 3)], $self->semStack[$stackPos - (9 - 7)][0], [
                    'keyVar' => $self->semStack[$stackPos - (9 - 5)],
                    'byRef' => $self->semStack[$stackPos - (9 - 7)][1],
                    'stmts' => $self->semStack[$stackPos - (9 - 9)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
            },
            176 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (6 - 3)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (6 - 4)], $self->tokenEndStack[$stackPos - (6 - 4)])), [
                    'stmts' => $self->semStack[$stackPos - (6 - 6)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
            },
            177 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Declare_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            178 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\TryCatch($self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 5)], $self->semStack[$stackPos - (6 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkTryCatch($self->semValue);
            },
            179 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Goto_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            180 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Label($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            181 => static function ($self, $stackPos) {
                $self->semValue = null;
                
                /* means: no statement */
            },
            182 => null,
            183 => static function ($self, $stackPos) {
                $self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]);
            },
            184 => static function ($self, $stackPos) {
                if ($self->semStack[$stackPos - (1 - 1)] instanceof Stmt\Block) {
                    $self->semValue = $self->semStack[$stackPos - (1 - 1)]->stmts;
                }
                else {
                    if ($self->semStack[$stackPos - (1 - 1)] === null) {
                        $self->semValue = [];
                    }
                    else {
                        $self->semValue = [
                            $self->semStack[$stackPos - (1 - 1)],
                        ];
                    }
                }
            },
            185 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            186 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            187 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            188 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            189 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Catch_($self->semStack[$stackPos - (8 - 3)], $self->semStack[$stackPos - (8 - 4)], $self->semStack[$stackPos - (8 - 7)], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
            },
            190 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            191 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Finally_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            192 => null,
            193 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            194 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            195 => static function ($self, $stackPos) {
                $self->semValue = false;
            },
            196 => static function ($self, $stackPos) {
                $self->semValue = true;
            },
            197 => static function ($self, $stackPos) {
                $self->semValue = false;
            },
            198 => static function ($self, $stackPos) {
                $self->semValue = true;
            },
            199 => static function ($self, $stackPos) {
                $self->semValue = false;
            },
            200 => static function ($self, $stackPos) {
                $self->semValue = true;
            },
            201 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            202 => static function ($self, $stackPos) {
                $self->semValue = [];
            },
            203 => null,
            204 => static function ($self, $stackPos) {
                $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            205 => static function ($self, $stackPos) {
                $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            206 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Function_($self->semStack[$stackPos - (8 - 3)], [
                    'byRef' => $self->semStack[$stackPos - (8 - 2)],
                    'params' => $self->semStack[$stackPos - (8 - 5)],
                    'returnType' => $self->semStack[$stackPos - (8 - 7)],
                    'stmts' => $self->semStack[$stackPos - (8 - 8)],
                    'attrGroups' => [],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
            },
            207 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Function_($self->semStack[$stackPos - (9 - 4)], [
                    'byRef' => $self->semStack[$stackPos - (9 - 3)],
                    'params' => $self->semStack[$stackPos - (9 - 6)],
                    'returnType' => $self->semStack[$stackPos - (9 - 8)],
                    'stmts' => $self->semStack[$stackPos - (9 - 9)],
                    'attrGroups' => $self->semStack[$stackPos - (9 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
            },
            208 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Class_($self->semStack[$stackPos - (7 - 2)], [
                    'type' => $self->semStack[$stackPos - (7 - 1)],
                    'extends' => $self->semStack[$stackPos - (7 - 3)],
                    'implements' => $self->semStack[$stackPos - (7 - 4)],
                    'stmts' => $self->semStack[$stackPos - (7 - 6)],
                    'attrGroups' => [],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkClass($self->semValue, $stackPos - (7 - 2));
            },
            209 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Class_($self->semStack[$stackPos - (8 - 3)], [
                    'type' => $self->semStack[$stackPos - (8 - 2)],
                    'extends' => $self->semStack[$stackPos - (8 - 4)],
                    'implements' => $self->semStack[$stackPos - (8 - 5)],
                    'stmts' => $self->semStack[$stackPos - (8 - 7)],
                    'attrGroups' => $self->semStack[$stackPos - (8 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkClass($self->semValue, $stackPos - (8 - 3));
            },
            210 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Interface_($self->semStack[$stackPos - (7 - 3)], [
                    'extends' => $self->semStack[$stackPos - (7 - 4)],
                    'stmts' => $self->semStack[$stackPos - (7 - 6)],
                    'attrGroups' => $self->semStack[$stackPos - (7 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkInterface($self->semValue, $stackPos - (7 - 3));
            },
            211 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Trait_($self->semStack[$stackPos - (6 - 3)], [
                    'stmts' => $self->semStack[$stackPos - (6 - 5)],
                    'attrGroups' => $self->semStack[$stackPos - (6 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
            },
            212 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Enum_($self->semStack[$stackPos - (8 - 3)], [
                    'scalarType' => $self->semStack[$stackPos - (8 - 4)],
                    'implements' => $self->semStack[$stackPos - (8 - 5)],
                    'stmts' => $self->semStack[$stackPos - (8 - 7)],
                    'attrGroups' => $self->semStack[$stackPos - (8 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkEnum($self->semValue, $stackPos - (8 - 3));
            },
            213 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            214 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (2 - 2)];
            },
            215 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            216 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (2 - 2)];
            },
            217 => static function ($self, $stackPos) {
                $self->semValue = 0;
            },
            218 => null,
            219 => null,
            220 => static function ($self, $stackPos) {
                $self->checkClassModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
                $self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
            },
            221 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::ABSTRACT;
            },
            222 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::FINAL;
            },
            223 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::READONLY;
            },
            224 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            225 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (2 - 2)];
            },
            226 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            227 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (2 - 2)];
            },
            228 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            229 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (2 - 2)];
            },
            230 => null,
            231 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            232 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            233 => null,
            234 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (4 - 2)];
            },
            235 => null,
            236 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (4 - 2)];
            },
            237 => static function ($self, $stackPos) {
                if ($self->semStack[$stackPos - (1 - 1)] instanceof Stmt\Block) {
                    $self->semValue = $self->semStack[$stackPos - (1 - 1)]->stmts;
                }
                else {
                    if ($self->semStack[$stackPos - (1 - 1)] === null) {
                        $self->semValue = [];
                    }
                    else {
                        $self->semValue = [
                            $self->semStack[$stackPos - (1 - 1)],
                        ];
                    }
                }
            },
            238 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            239 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (4 - 2)];
            },
            240 => null,
            241 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            242 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            243 => static function ($self, $stackPos) {
                $self->semValue = new Node\DeclareItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            244 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            245 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (4 - 3)];
            },
            246 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (4 - 2)];
            },
            247 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (5 - 3)];
            },
            248 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            249 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            250 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Case_($self->semStack[$stackPos - (4 - 2)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            251 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Case_(null, $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            252 => null,
            253 => null,
            254 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Match_($self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
            },
            255 => static function ($self, $stackPos) {
                $self->semValue = [];
            },
            256 => null,
            257 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            258 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            259 => static function ($self, $stackPos) {
                $self->semValue = new Node\MatchArm($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            260 => static function ($self, $stackPos) {
                $self->semValue = new Node\MatchArm(null, $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            261 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            },
            262 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (4 - 2)];
            },
            263 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            264 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            265 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            266 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            267 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            268 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
                $self->fixupAlternativeElse($self->semValue);
            },
            269 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            270 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Else_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            271 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            272 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Else_($self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
                $self->fixupAlternativeElse($self->semValue);
            },
            273 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                    false,
                );
            },
            274 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (2 - 2)],
                    true,
                );
            },
            275 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                    false,
                );
            },
            276 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->fixupArrayDestructuring($self->semStack[$stackPos - (1 - 1)]),
                    false,
                );
            },
            277 => null,
            278 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            279 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            280 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            281 => static function ($self, $stackPos) {
                $self->semValue = 0;
            },
            282 => static function ($self, $stackPos) {
                $self->checkModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
                $self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
            },
            283 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PUBLIC;
            },
            284 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PROTECTED;
            },
            285 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PRIVATE;
            },
            286 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PUBLIC_SET;
            },
            287 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PROTECTED_SET;
            },
            288 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PRIVATE_SET;
            },
            289 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::READONLY;
            },
            290 => static function ($self, $stackPos) {
                $self->semValue = new Node\Param($self->semStack[$stackPos - (7 - 6)], null, $self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 4)], $self->semStack[$stackPos - (7 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (7 - 2)], $self->semStack[$stackPos - (7 - 1)], $self->semStack[$stackPos - (7 - 7)]);
                $self->checkParam($self->semValue);
            },
            291 => static function ($self, $stackPos) {
                $self->semValue = new Node\Param($self->semStack[$stackPos - (9 - 6)], $self->semStack[$stackPos - (9 - 8)], $self->semStack[$stackPos - (9 - 3)], $self->semStack[$stackPos - (9 - 4)], $self->semStack[$stackPos - (9 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (9 - 2)], $self->semStack[$stackPos - (9 - 1)], $self->semStack[$stackPos - (9 - 9)]);
                $self->checkParam($self->semValue);
            },
            292 => static function ($self, $stackPos) {
                $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 4)], $self->semStack[$stackPos - (6 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (6 - 2)], $self->semStack[$stackPos - (6 - 1)]);
            },
            293 => null,
            294 => static function ($self, $stackPos) {
                $self->semValue = new Node\NullableType($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            295 => static function ($self, $stackPos) {
                $self->semValue = new Node\UnionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            296 => null,
            297 => null,
            298 => static function ($self, $stackPos) {
                $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            299 => static function ($self, $stackPos) {
                $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos - (1 - 1)]);
            },
            300 => static function ($self, $stackPos) {
                $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            301 => static function ($self, $stackPos) {
                $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            302 => null,
            303 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            304 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (3 - 1)],
                    $self->semStack[$stackPos - (3 - 3)],
                );
            },
            305 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            306 => null,
            307 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            308 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (3 - 1)],
                    $self->semStack[$stackPos - (3 - 3)],
                );
            },
            309 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            310 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (3 - 1)],
                    $self->semStack[$stackPos - (3 - 3)],
                );
            },
            311 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            312 => static function ($self, $stackPos) {
                $self->semValue = new Node\IntersectionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            313 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (3 - 1)],
                    $self->semStack[$stackPos - (3 - 3)],
                );
            },
            314 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            315 => static function ($self, $stackPos) {
                $self->semValue = new Node\IntersectionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            316 => null,
            317 => static function ($self, $stackPos) {
                $self->semValue = new Node\NullableType($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            318 => static function ($self, $stackPos) {
                $self->semValue = new Node\UnionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            319 => null,
            320 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            321 => null,
            322 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            323 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (2 - 2)];
            },
            324 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            325 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            326 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (4 - 2)];
            },
            327 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (3 - 2)],
                );
            },
            328 => static function ($self, $stackPos) {
                $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            329 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            330 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            331 => static function ($self, $stackPos) {
                $self->semValue = new Node\Arg($self->semStack[$stackPos - (1 - 1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            332 => static function ($self, $stackPos) {
                $self->semValue = new Node\Arg($self->semStack[$stackPos - (2 - 2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            333 => static function ($self, $stackPos) {
                $self->semValue = new Node\Arg($self->semStack[$stackPos - (2 - 2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            334 => static function ($self, $stackPos) {
                $self->semValue = new Node\Arg($self->semStack[$stackPos - (3 - 3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (3 - 1)]);
            },
            335 => null,
            336 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            337 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            338 => null,
            339 => null,
            340 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            341 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            342 => static function ($self, $stackPos) {
                $self->semValue = new Node\StaticVar($self->semStack[$stackPos - (1 - 1)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            343 => static function ($self, $stackPos) {
                $self->semValue = new Node\StaticVar($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            344 => static function ($self, $stackPos) {
                if ($self->semStack[$stackPos - (2 - 2)] !== null) {
                    $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                    $self->semValue = $self->semStack[$stackPos - (2 - 1)];
                }
                else {
                    $self->semValue = $self->semStack[$stackPos - (2 - 1)];
                }
            },
            345 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            346 => static function ($self, $stackPos) {
                $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
                if ($nop !== null) {
                    $self->semStack[$stackPos - (1 - 1)][] = $nop;
                }
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            },
            347 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\Property($self->semStack[$stackPos - (5 - 2)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 1)]);
            },
            348 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (5 - 1)]);
                $self->checkClassConst($self->semValue, $stackPos - (5 - 2));
            },
            349 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos - (6 - 5)], $self->semStack[$stackPos - (6 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (6 - 1)], $self->semStack[$stackPos - (6 - 4)]);
                $self->checkClassConst($self->semValue, $stackPos - (6 - 2));
            },
            350 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos - (10 - 5)], [
                    'type' => $self->semStack[$stackPos - (10 - 2)],
                    'byRef' => $self->semStack[$stackPos - (10 - 4)],
                    'params' => $self->semStack[$stackPos - (10 - 7)],
                    'returnType' => $self->semStack[$stackPos - (10 - 9)],
                    'stmts' => $self->semStack[$stackPos - (10 - 10)],
                    'attrGroups' => $self->semStack[$stackPos - (10 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkClassMethod($self->semValue, $stackPos - (10 - 2));
            },
            351 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            352 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            353 => static function ($self, $stackPos) {
                $self->semValue = null;
                
                /* will be skipped */
            },
            354 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            355 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            356 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            357 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            358 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            359 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (5 - 1)][0], $self->semStack[$stackPos - (5 - 1)][1], $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            360 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], $self->semStack[$stackPos - (4 - 3)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            361 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            362 => static function ($self, $stackPos) {
                $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            363 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (3 - 1)],
                    $self->semStack[$stackPos - (3 - 3)],
                );
            },
            364 => null,
            365 => static function ($self, $stackPos) {
                $self->semValue = array(
                    null,
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            366 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            367 => null,
            368 => null,
            369 => static function ($self, $stackPos) {
                $self->semValue = 0;
            },
            370 => static function ($self, $stackPos) {
                $self->semValue = 0;
            },
            371 => null,
            372 => null,
            373 => static function ($self, $stackPos) {
                $self->checkModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
                $self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
            },
            374 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PUBLIC;
            },
            375 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PROTECTED;
            },
            376 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PRIVATE;
            },
            377 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PUBLIC_SET;
            },
            378 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PROTECTED_SET;
            },
            379 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::PRIVATE_SET;
            },
            380 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::STATIC;
            },
            381 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::ABSTRACT;
            },
            382 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::FINAL;
            },
            383 => static function ($self, $stackPos) {
                $self->semValue = Modifiers::READONLY;
            },
            384 => null,
            385 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            386 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            387 => static function ($self, $stackPos) {
                $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            388 => static function ($self, $stackPos) {
                $self->semValue = new Node\PropertyItem($self->semStack[$stackPos - (1 - 1)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            389 => static function ($self, $stackPos) {
                $self->semValue = new Node\PropertyItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            390 => static function ($self, $stackPos) {
                $self->semValue = [];
            },
            391 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            392 => static function ($self, $stackPos) {
                $self->semValue = [];
            },
            393 => static function ($self, $stackPos) {
                $self->semValue = new Node\PropertyHook($self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 5)], [
                    'flags' => $self->semStack[$stackPos - (5 - 2)],
                    'byRef' => $self->semStack[$stackPos - (5 - 3)],
                    'params' => [],
                    'attrGroups' => $self->semStack[$stackPos - (5 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkPropertyHook($self->semValue, null);
            },
            394 => static function ($self, $stackPos) {
                $self->semValue = new Node\PropertyHook($self->semStack[$stackPos - (8 - 4)], $self->semStack[$stackPos - (8 - 8)], [
                    'flags' => $self->semStack[$stackPos - (8 - 2)],
                    'byRef' => $self->semStack[$stackPos - (8 - 3)],
                    'params' => $self->semStack[$stackPos - (8 - 6)],
                    'attrGroups' => $self->semStack[$stackPos - (8 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
                $self->checkPropertyHook($self->semValue, $stackPos - (8 - 5));
            },
            395 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            396 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            397 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            398 => static function ($self, $stackPos) {
                $self->semValue = 0;
            },
            399 => static function ($self, $stackPos) {
                $self->checkPropertyHookModifiers($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
                $self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
            },
            400 => null,
            401 => null,
            402 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            403 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            404 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            405 => null,
            406 => null,
            407 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Assign($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            408 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos - (3 - 1)]), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            409 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Assign($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            410 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignRef($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            411 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignRef($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
                if (!$self->phpVersion
                    ->allowsAssignNewByReference()) {
                    $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos])));
                }
            },
            412 => null,
            413 => null,
            414 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Clone_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            415 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            416 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            417 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            418 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            419 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            420 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            421 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            422 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            423 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            424 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            425 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            426 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            427 => static function ($self, $stackPos) {
                $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            428 => static function ($self, $stackPos) {
                $self->semValue = new Expr\PostInc($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            429 => static function ($self, $stackPos) {
                $self->semValue = new Expr\PreInc($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            430 => static function ($self, $stackPos) {
                $self->semValue = new Expr\PostDec($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            431 => static function ($self, $stackPos) {
                $self->semValue = new Expr\PreDec($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            432 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            433 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            434 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            435 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            436 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            437 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            438 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            439 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            440 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            441 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            442 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            443 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            444 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            445 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            446 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            447 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            448 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            449 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            450 => static function ($self, $stackPos) {
                $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            451 => static function ($self, $stackPos) {
                $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            452 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            453 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            454 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            455 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            456 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            457 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            458 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            459 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            460 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            461 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            462 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            463 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            464 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            465 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Ternary($self->semStack[$stackPos - (5 - 1)], $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            466 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Ternary($self->semStack[$stackPos - (4 - 1)], null, $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            467 => static function ($self, $stackPos) {
                $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            468 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Isset_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            469 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Empty_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            470 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            471 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            472 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Eval_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            473 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            474 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            475 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            476 => static function ($self, $stackPos) {
                $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]);
                $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos - (2 - 1)]);
                $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos - (2 - 2)], $attrs);
            },
            477 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            478 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            479 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            480 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            481 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            482 => static function ($self, $stackPos) {
                $self->semValue = $self->createExitExpr($self->semStack[$stackPos - (2 - 1)], $stackPos - (2 - 1), $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            483 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            484 => null,
            485 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ShellExec($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            486 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Print_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            487 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            488 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Yield_($self->semStack[$stackPos - (2 - 2)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            489 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Yield_($self->semStack[$stackPos - (4 - 4)], $self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            490 => static function ($self, $stackPos) {
                $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            491 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Throw_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            492 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrowFunction([
                    'static' => false,
                    'byRef' => $self->semStack[$stackPos - (8 - 2)],
                    'params' => $self->semStack[$stackPos - (8 - 4)],
                    'returnType' => $self->semStack[$stackPos - (8 - 6)],
                    'expr' => $self->semStack[$stackPos - (8 - 8)],
                    'attrGroups' => [],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
            },
            493 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrowFunction([
                    'static' => true,
                    'byRef' => $self->semStack[$stackPos - (9 - 3)],
                    'params' => $self->semStack[$stackPos - (9 - 5)],
                    'returnType' => $self->semStack[$stackPos - (9 - 7)],
                    'expr' => $self->semStack[$stackPos - (9 - 9)],
                    'attrGroups' => [],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
            },
            494 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Closure([
                    'static' => false,
                    'byRef' => $self->semStack[$stackPos - (8 - 2)],
                    'params' => $self->semStack[$stackPos - (8 - 4)],
                    'uses' => $self->semStack[$stackPos - (8 - 6)],
                    'returnType' => $self->semStack[$stackPos - (8 - 7)],
                    'stmts' => $self->semStack[$stackPos - (8 - 8)],
                    'attrGroups' => [],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
            },
            495 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Closure([
                    'static' => true,
                    'byRef' => $self->semStack[$stackPos - (9 - 3)],
                    'params' => $self->semStack[$stackPos - (9 - 5)],
                    'uses' => $self->semStack[$stackPos - (9 - 7)],
                    'returnType' => $self->semStack[$stackPos - (9 - 8)],
                    'stmts' => $self->semStack[$stackPos - (9 - 9)],
                    'attrGroups' => [],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
            },
            496 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrowFunction([
                    'static' => false,
                    'byRef' => $self->semStack[$stackPos - (9 - 3)],
                    'params' => $self->semStack[$stackPos - (9 - 5)],
                    'returnType' => $self->semStack[$stackPos - (9 - 7)],
                    'expr' => $self->semStack[$stackPos - (9 - 9)],
                    'attrGroups' => $self->semStack[$stackPos - (9 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
            },
            497 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrowFunction([
                    'static' => true,
                    'byRef' => $self->semStack[$stackPos - (10 - 4)],
                    'params' => $self->semStack[$stackPos - (10 - 6)],
                    'returnType' => $self->semStack[$stackPos - (10 - 8)],
                    'expr' => $self->semStack[$stackPos - (10 - 10)],
                    'attrGroups' => $self->semStack[$stackPos - (10 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
            },
            498 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Closure([
                    'static' => false,
                    'byRef' => $self->semStack[$stackPos - (9 - 3)],
                    'params' => $self->semStack[$stackPos - (9 - 5)],
                    'uses' => $self->semStack[$stackPos - (9 - 7)],
                    'returnType' => $self->semStack[$stackPos - (9 - 8)],
                    'stmts' => $self->semStack[$stackPos - (9 - 9)],
                    'attrGroups' => $self->semStack[$stackPos - (9 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
            },
            499 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Closure([
                    'static' => true,
                    'byRef' => $self->semStack[$stackPos - (10 - 4)],
                    'params' => $self->semStack[$stackPos - (10 - 6)],
                    'uses' => $self->semStack[$stackPos - (10 - 8)],
                    'returnType' => $self->semStack[$stackPos - (10 - 9)],
                    'stmts' => $self->semStack[$stackPos - (10 - 10)],
                    'attrGroups' => $self->semStack[$stackPos - (10 - 1)],
                ], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
            },
            500 => static function ($self, $stackPos) {
                $self->semValue = array(
                    new Stmt\Class_(null, [
                        'type' => $self->semStack[$stackPos - (8 - 2)],
                        'extends' => $self->semStack[$stackPos - (8 - 4)],
                        'implements' => $self->semStack[$stackPos - (8 - 5)],
                        'stmts' => $self->semStack[$stackPos - (8 - 7)],
                        'attrGroups' => $self->semStack[$stackPos - (8 - 1)],
                    ], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos])),
                    $self->semStack[$stackPos - (8 - 3)],
                );
                $self->checkClass($self->semValue[0], -1);
            },
            501 => static function ($self, $stackPos) {
                $self->semValue = new Expr\New_($self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            502 => static function ($self, $stackPos) {
                list($class, $ctorArgs) = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            503 => static function ($self, $stackPos) {
                $self->semValue = new Expr\New_($self->semStack[$stackPos - (2 - 2)], [], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            504 => null,
            505 => null,
            506 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            507 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (4 - 3)];
            },
            508 => null,
            509 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            510 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            511 => static function ($self, $stackPos) {
                $self->semValue = new Node\ClosureUse($self->semStack[$stackPos - (2 - 2)], $self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            512 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            513 => static function ($self, $stackPos) {
                $self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            514 => static function ($self, $stackPos) {
                $self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            515 => static function ($self, $stackPos) {
                $self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            516 => static function ($self, $stackPos) {
                $self->semValue = new Expr\StaticCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            517 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            518 => null,
            519 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            520 => static function ($self, $stackPos) {
                $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            521 => static function ($self, $stackPos) {
                $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            522 => static function ($self, $stackPos) {
                $self->semValue = new Name\Relative(substr($self->semStack[$stackPos - (1 - 1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            523 => null,
            524 => null,
            525 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            526 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
                $self->errorState = 2;
            },
            527 => null,
            528 => null,
            529 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            530 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
                foreach ($self->semValue as $s) {
                    if ($s instanceof Node\InterpolatedStringPart) {
                        $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion
                            ->supportsUnicodeEscapes());
                    }
                }
            },
            531 => static function ($self, $stackPos) {
                foreach ($self->semStack[$stackPos - (1 - 1)] as $s) {
                    if ($s instanceof Node\InterpolatedStringPart) {
                        $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion
                            ->supportsUnicodeEscapes());
                    }
                }
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            },
            532 => static function ($self, $stackPos) {
                $self->semValue = array();
            },
            533 => null,
            534 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            535 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            536 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            537 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            538 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            539 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            540 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            541 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            542 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            543 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            544 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            545 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (5 - 1)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            },
            546 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (3 - 1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)])), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
                $self->errorState = 2;
            },
            547 => static function ($self, $stackPos) {
                $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]);
                $attrs['kind'] = Expr\Array_::KIND_SHORT;
                $self->semValue = new Expr\Array_($self->semStack[$stackPos - (3 - 2)], $attrs);
            },
            548 => static function ($self, $stackPos) {
                $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]);
                $attrs['kind'] = Expr\Array_::KIND_LONG;
                $self->semValue = new Expr\Array_($self->semStack[$stackPos - (4 - 3)], $attrs);
                $self->createdArrays
                    ->attach($self->semValue);
            },
            549 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
                $self->createdArrays
                    ->attach($self->semValue);
            },
            550 => static function ($self, $stackPos) {
                $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]), $self->phpVersion
                    ->supportsUnicodeEscapes());
            },
            551 => static function ($self, $stackPos) {
                $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]);
                $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
                foreach ($self->semStack[$stackPos - (3 - 2)] as $s) {
                    if ($s instanceof Node\InterpolatedStringPart) {
                        $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion
                            ->supportsUnicodeEscapes());
                    }
                }
                $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos - (3 - 2)], $attrs);
            },
            552 => static function ($self, $stackPos) {
                $self->semValue = $self->parseLNumber($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]), $self->phpVersion
                    ->allowsInvalidOctals());
            },
            553 => static function ($self, $stackPos) {
                $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            554 => null,
            555 => null,
            556 => null,
            557 => static function ($self, $stackPos) {
                $self->semValue = $self->parseDocString($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)]), true);
            },
            558 => static function ($self, $stackPos) {
                $self->semValue = $self->parseDocString($self->semStack[$stackPos - (2 - 1)], '', $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 2)], $self->tokenEndStack[$stackPos - (2 - 2)]), true);
            },
            559 => static function ($self, $stackPos) {
                $self->semValue = $self->parseDocString($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)]), true);
            },
            560 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            561 => null,
            562 => null,
            563 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            564 => null,
            565 => null,
            566 => null,
            567 => null,
            568 => null,
            569 => null,
            570 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            571 => null,
            572 => null,
            573 => null,
            574 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            575 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            576 => null,
            577 => static function ($self, $stackPos) {
                $self->semValue = new Expr\MethodCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            578 => static function ($self, $stackPos) {
                $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            579 => static function ($self, $stackPos) {
                $self->semValue = null;
            },
            580 => null,
            581 => null,
            582 => null,
            583 => static function ($self, $stackPos) {
                $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            584 => static function ($self, $stackPos) {
                $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            585 => null,
            586 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Variable($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            587 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Variable($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            588 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
                $self->errorState = 2;
            },
            589 => static function ($self, $stackPos) {
                $var = $self->semStack[$stackPos - (1 - 1)]->name;
                $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])) : $var;
            },
            590 => static function ($self, $stackPos) {
                $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            591 => null,
            592 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            593 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            594 => static function ($self, $stackPos) {
                $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            595 => static function ($self, $stackPos) {
                $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            596 => static function ($self, $stackPos) {
                $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            597 => static function ($self, $stackPos) {
                $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            598 => null,
            599 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            600 => null,
            601 => null,
            602 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            603 => null,
            604 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
                $self->errorState = 2;
            },
            605 => static function ($self, $stackPos) {
                $self->semValue = new Expr\List_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
                $self->semValue
                    ->setAttribute('kind', Expr\List_::KIND_LIST);
                $self->postprocessList($self->semValue);
            },
            606 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (1 - 1)];
                $end = count($self->semValue) - 1;
                if ($self->semValue[$end]->value instanceof Expr\Error) {
                    array_pop($self->semValue);
                }
            },
            607 => null,
            608 => static function ($self, $stackPos) {
                
                /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */
            },
            609 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
                $self->semValue = $self->semStack[$stackPos - (3 - 1)];
            },
            610 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            611 => static function ($self, $stackPos) {
                $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (1 - 1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            612 => static function ($self, $stackPos) {
                $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (2 - 2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            613 => static function ($self, $stackPos) {
                $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (1 - 1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            614 => static function ($self, $stackPos) {
                $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (3 - 3)], $self->semStack[$stackPos - (3 - 1)], false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            615 => static function ($self, $stackPos) {
                $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (4 - 4)], $self->semStack[$stackPos - (4 - 1)], true, $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            616 => static function ($self, $stackPos) {
                $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (3 - 3)], $self->semStack[$stackPos - (3 - 1)], false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            617 => static function ($self, $stackPos) {
                $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (2 - 2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]), true);
            },
            618 => static function ($self, $stackPos) {
                
                /* Create an Error node now to remember the position. We'll later either report an error,
                   or convert this into a null element, depending on whether this is a creation or destructuring context. */
                $attrs = $self->createEmptyElemAttributes($self->tokenPos);
                $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs);
            },
            619 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            620 => static function ($self, $stackPos) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            },
            621 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (1 - 1)],
                );
            },
            622 => static function ($self, $stackPos) {
                $self->semValue = array(
                    $self->semStack[$stackPos - (2 - 1)],
                    $self->semStack[$stackPos - (2 - 2)],
                );
            },
            623 => static function ($self, $stackPos) {
                $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]);
                $attrs['rawValue'] = $self->semStack[$stackPos - (1 - 1)];
                $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos - (1 - 1)], $attrs);
            },
            624 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Variable($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            625 => null,
            626 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            },
            627 => static function ($self, $stackPos) {
                $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            628 => static function ($self, $stackPos) {
                $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            629 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Variable($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            630 => static function ($self, $stackPos) {
                $self->semValue = new Expr\Variable($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            },
            631 => static function ($self, $stackPos) {
                $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (6 - 2)], $self->semStack[$stackPos - (6 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
            },
            632 => static function ($self, $stackPos) {
                $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            },
            633 => static function ($self, $stackPos) {
                $self->semValue = new Scalar\String_($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            634 => static function ($self, $stackPos) {
                $self->semValue = $self->parseNumString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            },
            635 => static function ($self, $stackPos) {
                $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            },
            636 => null,
        ];
    }

}

Classes

Title Deprecated Summary
Php7

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal