1<?php declare(strict_types=1); 2 3namespace PhpParser\Parser; 4 5use PhpParser\Error; 6use PhpParser\Modifiers; 7use PhpParser\Node; 8use PhpParser\Node\Expr; 9use PhpParser\Node\Name; 10use PhpParser\Node\Scalar; 11use PhpParser\Node\Stmt; 12 13/* This is an automatically GENERATED file, which should not be manually edited. 14 * Instead edit one of the following: 15 * * the grammar file grammar/php.y 16 * * the skeleton file grammar/parser.template 17 * * the preprocessing script grammar/rebuildParsers.php 18 */ 19class Php7 extends \PhpParser\ParserAbstract 20{ 21 public const YYERRTOK = 256; 22 public const T_THROW = 257; 23 public const T_INCLUDE = 258; 24 public const T_INCLUDE_ONCE = 259; 25 public const T_EVAL = 260; 26 public const T_REQUIRE = 261; 27 public const T_REQUIRE_ONCE = 262; 28 public const T_LOGICAL_OR = 263; 29 public const T_LOGICAL_XOR = 264; 30 public const T_LOGICAL_AND = 265; 31 public const T_PRINT = 266; 32 public const T_YIELD = 267; 33 public const T_DOUBLE_ARROW = 268; 34 public const T_YIELD_FROM = 269; 35 public const T_PLUS_EQUAL = 270; 36 public const T_MINUS_EQUAL = 271; 37 public const T_MUL_EQUAL = 272; 38 public const T_DIV_EQUAL = 273; 39 public const T_CONCAT_EQUAL = 274; 40 public const T_MOD_EQUAL = 275; 41 public const T_AND_EQUAL = 276; 42 public const T_OR_EQUAL = 277; 43 public const T_XOR_EQUAL = 278; 44 public const T_SL_EQUAL = 279; 45 public const T_SR_EQUAL = 280; 46 public const T_POW_EQUAL = 281; 47 public const T_COALESCE_EQUAL = 282; 48 public const T_COALESCE = 283; 49 public const T_BOOLEAN_OR = 284; 50 public const T_BOOLEAN_AND = 285; 51 public const T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 286; 52 public const T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG = 287; 53 public const T_IS_EQUAL = 288; 54 public const T_IS_NOT_EQUAL = 289; 55 public const T_IS_IDENTICAL = 290; 56 public const T_IS_NOT_IDENTICAL = 291; 57 public const T_SPACESHIP = 292; 58 public const T_IS_SMALLER_OR_EQUAL = 293; 59 public const T_IS_GREATER_OR_EQUAL = 294; 60 public const T_SL = 295; 61 public const T_SR = 296; 62 public const T_INSTANCEOF = 297; 63 public const T_INC = 298; 64 public const T_DEC = 299; 65 public const T_INT_CAST = 300; 66 public const T_DOUBLE_CAST = 301; 67 public const T_STRING_CAST = 302; 68 public const T_ARRAY_CAST = 303; 69 public const T_OBJECT_CAST = 304; 70 public const T_BOOL_CAST = 305; 71 public const T_UNSET_CAST = 306; 72 public const T_POW = 307; 73 public const T_NEW = 308; 74 public const T_CLONE = 309; 75 public const T_EXIT = 310; 76 public const T_IF = 311; 77 public const T_ELSEIF = 312; 78 public const T_ELSE = 313; 79 public const T_ENDIF = 314; 80 public const T_LNUMBER = 315; 81 public const T_DNUMBER = 316; 82 public const T_STRING = 317; 83 public const T_STRING_VARNAME = 318; 84 public const T_VARIABLE = 319; 85 public const T_NUM_STRING = 320; 86 public const T_INLINE_HTML = 321; 87 public const T_ENCAPSED_AND_WHITESPACE = 322; 88 public const T_CONSTANT_ENCAPSED_STRING = 323; 89 public const T_ECHO = 324; 90 public const T_DO = 325; 91 public const T_WHILE = 326; 92 public const T_ENDWHILE = 327; 93 public const T_FOR = 328; 94 public const T_ENDFOR = 329; 95 public const T_FOREACH = 330; 96 public const T_ENDFOREACH = 331; 97 public const T_DECLARE = 332; 98 public const T_ENDDECLARE = 333; 99 public const T_AS = 334; 100 public const T_SWITCH = 335; 101 public const T_MATCH = 336; 102 public const T_ENDSWITCH = 337; 103 public const T_CASE = 338; 104 public const T_DEFAULT = 339; 105 public const T_BREAK = 340; 106 public const T_CONTINUE = 341; 107 public const T_GOTO = 342; 108 public const T_FUNCTION = 343; 109 public const T_FN = 344; 110 public const T_CONST = 345; 111 public const T_RETURN = 346; 112 public const T_TRY = 347; 113 public const T_CATCH = 348; 114 public const T_FINALLY = 349; 115 public const T_USE = 350; 116 public const T_INSTEADOF = 351; 117 public const T_GLOBAL = 352; 118 public const T_STATIC = 353; 119 public const T_ABSTRACT = 354; 120 public const T_FINAL = 355; 121 public const T_PRIVATE = 356; 122 public const T_PROTECTED = 357; 123 public const T_PUBLIC = 358; 124 public const T_READONLY = 359; 125 public const T_VAR = 360; 126 public const T_UNSET = 361; 127 public const T_ISSET = 362; 128 public const T_EMPTY = 363; 129 public const T_HALT_COMPILER = 364; 130 public const T_CLASS = 365; 131 public const T_TRAIT = 366; 132 public const T_INTERFACE = 367; 133 public const T_ENUM = 368; 134 public const T_EXTENDS = 369; 135 public const T_IMPLEMENTS = 370; 136 public const T_OBJECT_OPERATOR = 371; 137 public const T_NULLSAFE_OBJECT_OPERATOR = 372; 138 public const T_LIST = 373; 139 public const T_ARRAY = 374; 140 public const T_CALLABLE = 375; 141 public const T_CLASS_C = 376; 142 public const T_TRAIT_C = 377; 143 public const T_METHOD_C = 378; 144 public const T_FUNC_C = 379; 145 public const T_LINE = 380; 146 public const T_FILE = 381; 147 public const T_START_HEREDOC = 382; 148 public const T_END_HEREDOC = 383; 149 public const T_DOLLAR_OPEN_CURLY_BRACES = 384; 150 public const T_CURLY_OPEN = 385; 151 public const T_PAAMAYIM_NEKUDOTAYIM = 386; 152 public const T_NAMESPACE = 387; 153 public const T_NS_C = 388; 154 public const T_DIR = 389; 155 public const T_NS_SEPARATOR = 390; 156 public const T_ELLIPSIS = 391; 157 public const T_NAME_FULLY_QUALIFIED = 392; 158 public const T_NAME_QUALIFIED = 393; 159 public const T_NAME_RELATIVE = 394; 160 public const T_ATTRIBUTE = 395; 161 162 protected int $tokenToSymbolMapSize = 396; 163 protected int $actionTableSize = 1268; 164 protected int $gotoTableSize = 730; 165 166 protected int $invalidSymbol = 168; 167 protected int $errorSymbol = 1; 168 protected int $defaultAction = -32766; 169 protected int $unexpectedTokenRule = 32767; 170 171 protected int $YY2TBLSTATE = 437; 172 protected int $numNonLeafStates = 743; 173 174 protected array $symbolToName = array( 175 "EOF", 176 "error", 177 "T_THROW", 178 "T_INCLUDE", 179 "T_INCLUDE_ONCE", 180 "T_EVAL", 181 "T_REQUIRE", 182 "T_REQUIRE_ONCE", 183 "','", 184 "T_LOGICAL_OR", 185 "T_LOGICAL_XOR", 186 "T_LOGICAL_AND", 187 "T_PRINT", 188 "T_YIELD", 189 "T_DOUBLE_ARROW", 190 "T_YIELD_FROM", 191 "'='", 192 "T_PLUS_EQUAL", 193 "T_MINUS_EQUAL", 194 "T_MUL_EQUAL", 195 "T_DIV_EQUAL", 196 "T_CONCAT_EQUAL", 197 "T_MOD_EQUAL", 198 "T_AND_EQUAL", 199 "T_OR_EQUAL", 200 "T_XOR_EQUAL", 201 "T_SL_EQUAL", 202 "T_SR_EQUAL", 203 "T_POW_EQUAL", 204 "T_COALESCE_EQUAL", 205 "'?'", 206 "':'", 207 "T_COALESCE", 208 "T_BOOLEAN_OR", 209 "T_BOOLEAN_AND", 210 "'|'", 211 "'^'", 212 "T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG", 213 "T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG", 214 "T_IS_EQUAL", 215 "T_IS_NOT_EQUAL", 216 "T_IS_IDENTICAL", 217 "T_IS_NOT_IDENTICAL", 218 "T_SPACESHIP", 219 "'<'", 220 "T_IS_SMALLER_OR_EQUAL", 221 "'>'", 222 "T_IS_GREATER_OR_EQUAL", 223 "T_SL", 224 "T_SR", 225 "'+'", 226 "'-'", 227 "'.'", 228 "'*'", 229 "'/'", 230 "'%'", 231 "'!'", 232 "T_INSTANCEOF", 233 "'~'", 234 "T_INC", 235 "T_DEC", 236 "T_INT_CAST", 237 "T_DOUBLE_CAST", 238 "T_STRING_CAST", 239 "T_ARRAY_CAST", 240 "T_OBJECT_CAST", 241 "T_BOOL_CAST", 242 "T_UNSET_CAST", 243 "'@'", 244 "T_POW", 245 "'['", 246 "T_NEW", 247 "T_CLONE", 248 "T_EXIT", 249 "T_IF", 250 "T_ELSEIF", 251 "T_ELSE", 252 "T_ENDIF", 253 "T_LNUMBER", 254 "T_DNUMBER", 255 "T_STRING", 256 "T_STRING_VARNAME", 257 "T_VARIABLE", 258 "T_NUM_STRING", 259 "T_INLINE_HTML", 260 "T_ENCAPSED_AND_WHITESPACE", 261 "T_CONSTANT_ENCAPSED_STRING", 262 "T_ECHO", 263 "T_DO", 264 "T_WHILE", 265 "T_ENDWHILE", 266 "T_FOR", 267 "T_ENDFOR", 268 "T_FOREACH", 269 "T_ENDFOREACH", 270 "T_DECLARE", 271 "T_ENDDECLARE", 272 "T_AS", 273 "T_SWITCH", 274 "T_MATCH", 275 "T_ENDSWITCH", 276 "T_CASE", 277 "T_DEFAULT", 278 "T_BREAK", 279 "T_CONTINUE", 280 "T_GOTO", 281 "T_FUNCTION", 282 "T_FN", 283 "T_CONST", 284 "T_RETURN", 285 "T_TRY", 286 "T_CATCH", 287 "T_FINALLY", 288 "T_USE", 289 "T_INSTEADOF", 290 "T_GLOBAL", 291 "T_STATIC", 292 "T_ABSTRACT", 293 "T_FINAL", 294 "T_PRIVATE", 295 "T_PROTECTED", 296 "T_PUBLIC", 297 "T_READONLY", 298 "T_VAR", 299 "T_UNSET", 300 "T_ISSET", 301 "T_EMPTY", 302 "T_HALT_COMPILER", 303 "T_CLASS", 304 "T_TRAIT", 305 "T_INTERFACE", 306 "T_ENUM", 307 "T_EXTENDS", 308 "T_IMPLEMENTS", 309 "T_OBJECT_OPERATOR", 310 "T_NULLSAFE_OBJECT_OPERATOR", 311 "T_LIST", 312 "T_ARRAY", 313 "T_CALLABLE", 314 "T_CLASS_C", 315 "T_TRAIT_C", 316 "T_METHOD_C", 317 "T_FUNC_C", 318 "T_LINE", 319 "T_FILE", 320 "T_START_HEREDOC", 321 "T_END_HEREDOC", 322 "T_DOLLAR_OPEN_CURLY_BRACES", 323 "T_CURLY_OPEN", 324 "T_PAAMAYIM_NEKUDOTAYIM", 325 "T_NAMESPACE", 326 "T_NS_C", 327 "T_DIR", 328 "T_NS_SEPARATOR", 329 "T_ELLIPSIS", 330 "T_NAME_FULLY_QUALIFIED", 331 "T_NAME_QUALIFIED", 332 "T_NAME_RELATIVE", 333 "T_ATTRIBUTE", 334 "';'", 335 "']'", 336 "'('", 337 "')'", 338 "'{'", 339 "'}'", 340 "'`'", 341 "'\"'", 342 "'$'" 343 ); 344 345 protected array $tokenToSymbol = array( 346 0, 168, 168, 168, 168, 168, 168, 168, 168, 168, 347 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 348 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 349 168, 168, 168, 56, 166, 168, 167, 55, 168, 168, 350 161, 162, 53, 50, 8, 51, 52, 54, 168, 168, 351 168, 168, 168, 168, 168, 168, 168, 168, 31, 159, 352 44, 16, 46, 30, 68, 168, 168, 168, 168, 168, 353 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 354 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 355 168, 70, 168, 160, 36, 168, 165, 168, 168, 168, 356 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 357 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 358 168, 168, 168, 163, 35, 164, 58, 168, 168, 168, 359 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 360 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 361 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 362 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 363 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 364 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 365 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 366 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 367 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 368 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 369 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 370 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 371 168, 168, 168, 168, 168, 168, 1, 2, 3, 4, 372 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 373 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 374 27, 28, 29, 32, 33, 34, 37, 38, 39, 40, 375 41, 42, 43, 45, 47, 48, 49, 57, 59, 60, 376 61, 62, 63, 64, 65, 66, 67, 69, 71, 72, 377 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 378 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 379 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 380 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 381 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 382 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 383 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 384 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 385 153, 154, 155, 156, 157, 158 386 ); 387 388 protected array $action = array( 389 133, 134, 135, 586, 136, 137, 0, 755, 756, 757, 390 138, 38,-32766,-32766,-32766, 151,-32766,-32766,-32766,-32767, 391 -32767,-32767,-32767, 102, 103, 104, 105, 106, 1116, 1117, 392 1118, 1115, 1114, 1113, 1119, 749, 748,-32766,-32766,-32766, 393 -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, 394 -32767, 1252, 841,-32766, 1331, 758,-32766,-32766,-32766,-32766, 395 -599,-32766,-32766,-32766, 104, 105, 106, -599, 1315, 265, 396 139, 406, 762, 763, 764, 765, 994,-32766, 431,-32766, 397 -32766, -16,-32766, 242, 1031, 819, 766, 767, 768, 769, 398 770, 771, 772, 773, 774, 775, 795, 587, 796, 797, 399 798, 799, 787, 788, 347, 348, 790, 791, 776, 777, 400 778, 780, 781, 782, 358, 822, 823, 824, 825, 826, 401 588, 783, 784, 589, 590,-32766, 807, 805, 806, 818, 402 802, 803, 839, 830, 591, 592, 801, 593, 594, 595, 403 596, 597, 598, 830, 461, 462, 463, 1040, 804, 599, 404 600, 945, 140, 2, 133, 134, 135, 586, 136, 137, 405 1064, 755, 756, 757, 138, 38, -328, -110, -110, 1335, 406 291, 23, -110,-32766,-32766,-32766, 1334, 35, -110, 1116, 407 1117, 1118, 1115, 1114, 1113, 1119, 616,-32766, 129, 749, 408 748, 107, 108, 109,-32766, 275,-32766,-32766,-32766,-32766, 409 -32766,-32766,-32766, 832, 995, -194, 145, 110, 300, 758, 410 840, 75,-32766,-32766,-32766, 1360, 142, 328, 1361, -599, 411 328, -599, 253, 265, 139, 406, 762, 763, 764, 765, 412 82, -272, 431,-32766, 328,-32766,-32766,-32766,-32766, 819, 413 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 414 795, 587, 796, 797, 798, 799, 787, 788, 347, 348, 415 790, 791, 776, 777, 778, 780, 781, 782, 358, 822, 416 823, 824, 825, 826, 588, 783, 784, 589, 590, 834, 417 807, 805, 806, 818, 802, 803, 716, 311, 591, 592, 418 801, 593, 594, 595, 596, 597, 598, -78, 83, 84, 419 85, -85, 804, 599, 600, 313, 149, 779, 750, 751, 420 752, 753, 754, 729, 755, 756, 757, 792, 793, 37, 421 -328, 86, 87, 88, 89, 90, 91, 92, 93, 94, 422 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 423 105, 106, 107, 108, 109, 325, 275, 485,-32766,-32766, 424 -32766, -58,-32766,-32766,-32766, 963, 964, 127, 110, -194, 425 965, 341, 758,-32766,-32766,-32766, 959, -85, 292,-32766, 426 1092,-32766,-32766,-32766,-32766,-32766, 759, 760, 761, 762, 427 763, 764, 765, -193,-32766, 828,-32766,-32766,-32766, -367, 428 431, -367, 819, 766, 767, 768, 769, 770, 771, 772, 429 773, 774, 775, 795, 817, 796, 797, 798, 799, 787, 430 788, 789, 816, 790, 791, 776, 777, 778, 780, 781, 431 782, 821, 822, 823, 824, 825, 826, 827, 783, 784, 432 785, 786, -552, 807, 805, 806, 818, 802, 803, 342, 433 329, 794, 800, 801, 808, 809, 811, 810, 812, 813, 434 1037, 866, 610, 867,-32766, 804, 815, 814, 50, 51, 435 52, 516, 53, 54, 835, 1247, 1246, 1248, 55, 56, 436 -110, 57, 1040, 924, 1094, -110, 1040, -110, 292, 486, 437 749, 748, 307, 384, 383, -110, -110, -110, -110, -110, 438 -110, -110, -110, 425, 924, 284, -552, -552, 372, 291, 439 838, 924, 1252, 719, 470, 471, 58, 59,-32766,-32766, 440 21, -550, 60, 560, 61, 247, 248, 62, 63, 64, 441 65, 66, 67, 68, 69, -552, 28, 267, 70, 446, 442 517, 720, 1108, -342, 1279, 1280, 518, -193, 839, 376, 443 836, -548, 1277, 42, 25, 519, 391, 520, 241, 521, 444 924, 522, 947, 1245, 523, 524, 914, 660, 26, 44, 445 45, 447, 379, 378,-32766, 46, 525, 1027, 1026, 1025, 446 1028, 370, 340, 442, 1285, -550, -550, 914, 1238, 947, 447 527, 528, 529, 839, 914, 839, 1040, 443, 1350, 1243, 448 -550, 359, 531, 532, 444, 1266, 1267, 1268, 1269, 1263, 449 1264, 299, -556, 445, -550, -548, -548, 1270, 1265, 291, 450 1039, 1247, 1246, 1248, 300, 749, 748, 71, 364, 845, 451 -548, 323, 324, 328, -153, -153, -153, 152, 1247, 1246, 452 1248, 926, -555, 914, -548, 714, 1063, 154,-32766, -153, 453 1093, -153, 155, -153, 741, -153, 156, -596, 28, 268, 454 36, 250, 926,-32766, -596, 377, 714, 679, 680, 926, 455 839, 1273, 75, 714, 1277, 288, 963, 964, 328, -547, 456 393, 526, 7, 1037, -57, 1040, 900, 959, -110, -110, 457 -110, 32, 111, 112, 113, 114, 115, 116, 117, 118, 458 119, 120, 121, 122, 123, 1040, 158, 382, 383, 866, 459 1238, 867, 924, 749, 748, 1252, 33, 425, 926, 150, 460 409, 924, 714, -153, 531, 532, -87, 1266, 1267, 1268, 461 1269, 1263, 1264, 124, 1154, 1156, -84, -4, 924, 1270, 462 1265, 125, 721, -547, -547, -546, 130, 749, 748, 73, 463 -32766, 724, 839, -78, 324, 328, 1245, 131, -547, 300, 464 -590, 1037, -590,-32766,-32766,-32766, 144,-32766, 159,-32766, 465 -554,-32766, -547, 160,-32766, 380, 381, 924, 161,-32766, 466 -32766,-32766, 162, 1040,-32766,-32766,-32766, 385, 386, 163, 467 1245,-32766, 422, 651, 652, 914, 839,-32766,-32766,-32766, 468 -32766,-32766, -73,-32766, 914,-32766, 284, 731,-32766, -546, 469 -546, -72, 48,-32766,-32766,-32766, -596, -71, -596,-32766, 470 -32766, 914, -70, -69, -546,-32766, 422, -68, -67, -66, 471 74, -110, -110, 141,-32766, -50, -110, 328, -546, -65, 472 -46, -18, -110, 377, 148, 438, 274, 285, 730, 733, 473 298,-32766, 923, 147, 963, 964, 289, 290, -549, 526, 474 914, -302, -298, 280, 530, 959, -110, -110, -110, 132, 475 980, 281, 300, 941, 714, 75, 301, 302,-32766, 926, 476 286, 328, 287, 714, 1245, 334, 293, 10, 294, 275, 477 1362,-32766,-32766,-32766, 110,-32766, 926,-32766, 707,-32766, 478 714, -4,-32766, 146, 830, 126, 689,-32766,-32766,-32766, 479 705, 20,-32766,-32766,-32766, 924, 839, 682, 1245,-32766, 480 422, 1123, -549, -549, 649,-32766,-32766,-32766,-32766,-32766, 481 565,-32766, 661,-32766, 467, 926,-32766, -549,-32766, 714, 482 666,-32766,-32766,-32766,-32766, 496, 667,-32766,-32766,-32766, 483 1245, -549, 683,-32766, 422, 924, 571,-32766,-32766,-32766, 484 838,-32766,-32766,-32766, 306,-32766, 735, 1278,-32766, 308, 485 0, 960, 491,-32766,-32766,-32766,-32766, 0, 0,-32766, 486 -32766, 0, 1245, 578, 0,-32766, 422, -546, 305,-32766, 487 -32766,-32766, 312,-32766,-32766,-32766, 0,-32766, 914, 40, 488 -32766, 0, 0, 1284, 1286,-32766,-32766,-32766, -511, 0, 489 -501,-32766,-32766, 8, -250, -250, -250,-32766, 422, 614, 490 377, 24, 49, 28, 267, 374,-32766, 943, 41, 300, 491 -275, 963, 964, 738, 739, 839, 526, 858, 914, 1277, 492 905, 900, 959, -110, -110, -110, 1004, 981, 988, 978, 493 989, -546, -546, 903, -249, -249, -249, 976, 28, 268, 494 377, 1274, 288, 1097, 1100, 1101, -546, 1098, 1099, 1105, 495 839, 963, 964, 926, 1277, 1238, 526, 714, -250, 850, 496 -546, 900, 959, -110, -110, -110, 303, 304, 1301, 1319, 497 532, 1353, 1266, 1267, 1268, 1269, 1263, 1264, 654, -273, 498 -584, 375, -583, -582, 1270, 1265, -556, -555, -554, -553, 499 1238, -495, 694, 926, 73, 128, 1, 714, -249, 324, 500 328, 29, 30, 39, 43, 532, 47, 1266, 1267, 1268, 501 1269, 1263, 1264, 72, 76, 77, 78, 79, 80, 1270, 502 1265, 81, 143, 153,-32766, 157, 245, 330, 695, 73, 503 1245, 359, 360, 361, 324, 328, 362,-32766,-32766,-32766, 504 363,-32766, 364,-32766, 365,-32766, 366, 367,-32766, 696, 505 697, 368, 369,-32766,-32766,-32766, 371, 439, 559,-32766, 506 -32766, -272, 13, 14, 15,-32766, 422, 1247, 1246, 1248, 507 16, 18, 408, 284,-32766, 487, 488, 495, 498, 499, 508 500, 501, 505, 506, 507, 514, 576, 700, 1256, 1194, 509 1275, 1066, 1065, 1046, 1233, 1042, -277, -102, 12, 17, 510 27, 297, 407, 607, 611, 640, 706, 1198, 1251, 1195, 511 1332, 0, 34, 0, 322, 373, 715, 718, 722, 723, 512 725, 726, 727, 728, 732, 717, 0, 901, 1357, 1359, 513 861, 860, 869, 953, 996, 868, 1358, 952, 950, 951, 514 954, 1226, 934, 944, 932, 986, 987, 638, 1356, 1313, 515 1302, 1320, 1329, 0, 1211, 0, 0, 328 516 ); 517 518 protected array $actionCheck = array( 519 2, 3, 4, 5, 6, 7, 0, 9, 10, 11, 520 12, 13, 9, 10, 11, 14, 9, 10, 11, 44, 521 45, 46, 47, 48, 49, 50, 51, 52, 116, 117, 522 118, 119, 120, 121, 122, 37, 38, 30, 116, 32, 523 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 524 43, 1, 1, 9, 1, 57, 9, 10, 11, 137, 525 1, 9, 10, 11, 50, 51, 52, 8, 1, 71, 526 72, 73, 74, 75, 76, 77, 31, 30, 80, 32, 527 33, 31, 30, 14, 1, 87, 88, 89, 90, 91, 528 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 529 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 530 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 531 122, 123, 124, 125, 126, 116, 128, 129, 130, 131, 532 132, 133, 82, 80, 136, 137, 138, 139, 140, 141, 533 142, 143, 144, 80, 129, 130, 131, 138, 150, 151, 534 152, 1, 154, 8, 2, 3, 4, 5, 6, 7, 535 162, 9, 10, 11, 12, 13, 8, 117, 118, 1, 536 161, 8, 122, 9, 10, 11, 8, 8, 128, 116, 537 117, 118, 119, 120, 121, 122, 51, 137, 8, 37, 538 38, 53, 54, 55, 30, 57, 32, 33, 34, 35, 539 36, 37, 38, 80, 159, 8, 8, 69, 158, 57, 540 159, 161, 9, 10, 11, 80, 163, 167, 83, 160, 541 167, 162, 8, 71, 72, 73, 74, 75, 76, 77, 542 163, 162, 80, 30, 167, 32, 33, 34, 35, 87, 543 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 544 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 545 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 546 118, 119, 120, 121, 122, 123, 124, 125, 126, 156, 547 128, 129, 130, 131, 132, 133, 163, 8, 136, 137, 548 138, 139, 140, 141, 142, 143, 144, 16, 9, 10, 549 11, 31, 150, 151, 152, 8, 154, 2, 3, 4, 550 5, 6, 7, 163, 9, 10, 11, 12, 13, 30, 551 162, 32, 33, 34, 35, 36, 37, 38, 39, 40, 552 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 553 51, 52, 53, 54, 55, 8, 57, 31, 9, 10, 554 11, 16, 9, 10, 11, 117, 118, 14, 69, 162, 555 122, 8, 57, 9, 10, 11, 128, 97, 30, 30, 556 1, 32, 33, 34, 35, 36, 71, 72, 73, 74, 557 75, 76, 77, 8, 30, 80, 32, 33, 34, 106, 558 80, 108, 87, 88, 89, 90, 91, 92, 93, 94, 559 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 560 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 561 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 562 125, 126, 70, 128, 129, 130, 131, 132, 133, 8, 563 70, 136, 137, 138, 139, 140, 141, 142, 143, 144, 564 116, 106, 1, 108, 116, 150, 151, 152, 2, 3, 565 4, 5, 6, 7, 80, 155, 156, 157, 12, 13, 566 101, 15, 138, 1, 164, 106, 138, 108, 30, 163, 567 37, 38, 113, 106, 107, 116, 117, 118, 119, 120, 568 121, 122, 123, 116, 1, 161, 134, 135, 8, 161, 569 155, 1, 1, 31, 134, 135, 50, 51, 9, 10, 570 101, 70, 56, 85, 58, 59, 60, 61, 62, 63, 571 64, 65, 66, 67, 68, 163, 70, 71, 72, 73, 572 74, 31, 123, 164, 78, 79, 80, 162, 82, 8, 573 156, 70, 86, 87, 88, 89, 8, 91, 97, 93, 574 1, 95, 122, 80, 98, 99, 84, 75, 76, 103, 575 104, 105, 106, 107, 116, 109, 110, 119, 120, 121, 576 122, 115, 116, 8, 146, 134, 135, 84, 122, 122, 577 124, 125, 126, 82, 84, 82, 138, 8, 85, 116, 578 149, 161, 136, 137, 8, 139, 140, 141, 142, 143, 579 144, 145, 161, 8, 163, 134, 135, 151, 152, 161, 580 137, 155, 156, 157, 158, 37, 38, 161, 161, 8, 581 149, 165, 166, 167, 75, 76, 77, 14, 155, 156, 582 157, 159, 161, 84, 163, 163, 1, 14, 137, 90, 583 159, 92, 14, 94, 163, 96, 14, 1, 70, 71, 584 147, 148, 159, 116, 8, 106, 163, 75, 76, 159, 585 82, 1, 161, 163, 86, 30, 117, 118, 167, 70, 586 106, 122, 108, 116, 16, 138, 127, 128, 129, 130, 587 131, 16, 17, 18, 19, 20, 21, 22, 23, 24, 588 25, 26, 27, 28, 29, 138, 14, 106, 107, 106, 589 122, 108, 1, 37, 38, 1, 14, 116, 159, 101, 590 102, 1, 163, 164, 136, 137, 31, 139, 140, 141, 591 142, 143, 144, 16, 59, 60, 31, 0, 1, 151, 592 152, 16, 31, 134, 135, 70, 16, 37, 38, 161, 593 74, 31, 82, 31, 166, 167, 80, 16, 149, 158, 594 160, 116, 162, 87, 88, 89, 16, 91, 16, 93, 595 161, 95, 163, 16, 98, 106, 107, 1, 16, 103, 596 104, 105, 16, 138, 74, 109, 110, 106, 107, 16, 597 80, 115, 116, 111, 112, 84, 82, 87, 88, 89, 598 124, 91, 31, 93, 84, 95, 161, 31, 98, 134, 599 135, 31, 70, 103, 104, 105, 160, 31, 162, 109, 600 110, 84, 31, 31, 149, 115, 116, 31, 31, 31, 601 154, 117, 118, 163, 124, 31, 122, 167, 163, 31, 602 31, 31, 128, 106, 31, 108, 31, 31, 31, 31, 603 113, 137, 31, 31, 117, 118, 37, 37, 70, 122, 604 84, 35, 35, 35, 127, 128, 129, 130, 131, 31, 605 159, 35, 158, 38, 163, 161, 134, 135, 74, 159, 606 35, 167, 35, 163, 80, 35, 37, 150, 37, 57, 607 83, 87, 88, 89, 69, 91, 159, 93, 92, 95, 608 163, 164, 98, 70, 80, 163, 77, 103, 104, 105, 609 80, 97, 74, 109, 110, 1, 82, 94, 80, 115, 610 116, 82, 134, 135, 113, 87, 88, 89, 124, 91, 611 89, 93, 90, 95, 97, 159, 98, 149, 85, 163, 612 96, 103, 104, 105, 74, 97, 100, 109, 110, 137, 613 80, 163, 100, 115, 116, 1, 153, 87, 88, 89, 614 155, 91, 124, 93, 133, 95, 164, 166, 98, 114, 615 -1, 128, 102, 103, 104, 105, 74, -1, -1, 109, 616 110, -1, 80, 81, -1, 115, 116, 70, 132, 87, 617 88, 89, 132, 91, 124, 93, -1, 95, 84, 159, 618 98, -1, -1, 146, 146, 103, 104, 105, 149, -1, 619 149, 109, 110, 149, 100, 101, 102, 115, 116, 153, 620 106, 149, 70, 70, 71, 149, 124, 154, 159, 158, 621 162, 117, 118, 159, 159, 82, 122, 159, 84, 86, 622 159, 127, 128, 129, 130, 131, 159, 159, 159, 159, 623 159, 134, 135, 159, 100, 101, 102, 159, 70, 71, 624 106, 160, 30, 159, 159, 159, 149, 159, 159, 159, 625 82, 117, 118, 159, 86, 122, 122, 163, 164, 160, 626 163, 127, 128, 129, 130, 131, 134, 135, 160, 160, 627 137, 160, 139, 140, 141, 142, 143, 144, 160, 162, 628 161, 149, 161, 161, 151, 152, 161, 161, 161, 161, 629 122, 161, 80, 159, 161, 163, 161, 163, 164, 166, 630 167, 161, 161, 161, 161, 137, 161, 139, 140, 141, 631 142, 143, 144, 161, 161, 161, 161, 161, 161, 151, 632 152, 161, 161, 161, 74, 161, 161, 161, 116, 161, 633 80, 161, 161, 161, 166, 167, 161, 87, 88, 89, 634 161, 91, 161, 93, 161, 95, 161, 161, 98, 137, 635 138, 161, 161, 103, 104, 105, 161, 161, 161, 109, 636 110, 162, 162, 162, 162, 115, 116, 155, 156, 157, 637 162, 162, 162, 161, 124, 162, 162, 162, 162, 162, 638 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 639 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 640 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 641 162, -1, 163, -1, 163, 163, 163, 163, 163, 163, 642 163, 163, 163, 163, 163, 163, -1, 164, 164, 164, 643 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 644 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 645 164, 164, 164, -1, 165, -1, -1, 167 646 ); 647 648 protected array $actionBase = array( 649 0, -2, 152, 549, 727, 904, 944, 1022, 660, 310, 650 123, 899, 500, 710, 710, 766, 710, 472, 701, 820, 651 63, 305, 305, 820, 305, 493, 493, 493, 666, 666, 652 666, 666, 700, 700, 860, 860, 892, 828, 794, 1060, 653 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 654 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 655 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 656 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 657 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 658 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 659 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 660 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 661 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 662 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 663 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 664 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 665 1060, 1060, 1060, 1060, 51, 45, 451, 692, 1049, 1055, 666 1051, 1056, 1047, 1046, 1050, 1052, 1057, 1094, 1095, 812, 667 1096, 1097, 1093, 1098, 1053, 928, 1048, 1054, 289, 289, 668 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 669 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 670 289, 289, 289, 289, 289, 44, 343, 499, 3, 3, 671 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 672 3, 3, 3, 3, 3, 3, 3, 3, 52, 52, 673 52, 578, 578, 47, 354, 978, 943, 978, 978, 978, 674 978, 978, 978, 978, 978, 203, 665, 339, 164, 164, 675 7, 7, 7, 7, 7, 50, 369, 704, 704, -25, 676 -25, -25, -25, 448, 635, 501, 409, 283, 338, 591, 677 334, 334, 14, 14, 557, 557, 9, 9, 557, 557, 678 557, 537, 537, 537, 537, 441, 471, 599, 345, 428, 679 802, 53, 53, 53, 53, 802, 802, 802, 802, 848, 680 791, 802, 802, 802, 778, 907, 907, 942, 138, 138, 681 138, 907, 593, 503, 503, 593, 238, 503, 67, 135, 682 -78, 833, 377, 590, -78, 362, 732, 646, 59, 795, 683 659, 795, 1045, 430, 843, 843, 457, 799, 761, 900, 684 1072, 1058, 836, 1091, 842, 1092, 15, 370, 712, 1044, 685 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 686 1100, 443, 1045, 384, 1100, 1100, 1100, 443, 443, 443, 687 443, 443, 443, 443, 443, 443, 443, 672, 384, 482, 688 582, 384, 840, 443, 51, 851, 51, 51, 51, 51, 689 51, 51, 51, 51, 51, 51, 800, 316, 51, 45, 690 150, 150, 481, 83, 150, 150, 150, 150, 51, 51, 691 51, 51, 659, 822, 793, 671, 856, 375, 822, 822, 692 822, 270, 158, 69, 197, 816, 817, 564, 814, 814, 693 829, 945, 814, 824, 814, 829, 955, 814, 814, 945, 694 945, 861, 945, 180, 565, 353, 531, 579, 945, 279, 695 814, 814, 814, 814, 850, 945, 586, 814, 214, 198, 696 814, 814, 850, 846, 806, 145, 821, 945, 945, 945, 697 850, 490, 821, 821, 821, 864, 865, 801, 805, 337, 698 297, 611, 169, 825, 805, 805, 814, 538, 801, 805, 699 801, 805, 863, 805, 805, 805, 801, 805, 824, 431, 700 805, 742, 595, 163, 805, 6, 962, 963, 685, 964, 701 952, 965, 1006, 966, 967, 1063, 940, 975, 953, 970, 702 1007, 951, 950, 811, 707, 715, 854, 849, 938, 815, 703 815, 815, 935, 936, 815, 815, 815, 815, 815, 815, 704 815, 815, 707, 891, 866, 831, 981, 720, 731, 1034, 705 847, 1073, 1099, 980, 1036, 971, 830, 740, 1019, 982, 706 792, 1061, 985, 989, 1020, 1037, 868, 1038, 1074, 823, 707 1075, 1076, 909, 993, 1064, 815, 962, 967, 695, 953, 708 970, 951, 950, 798, 788, 786, 787, 782, 781, 770, 709 776, 803, 1039, 932, 929, 918, 991, 937, 707, 919, 710 1010, 1059, 1023, 1024, 1062, 827, 797, 921, 1077, 995, 711 996, 1000, 1065, 1040, 1066, 859, 1011, 858, 1025, 838, 712 1078, 1026, 1027, 1028, 1029, 1067, 1079, 1068, 931, 1069, 713 871, 832, 927, 834, 1080, 1, 835, 837, 841, 1005, 714 613, 976, 1070, 1081, 1082, 1030, 1031, 1032, 1083, 1084, 715 972, 877, 1012, 813, 1018, 1009, 878, 879, 623, 839, 716 1041, 818, 826, 810, 628, 632, 1085, 1086, 1087, 974, 717 807, 819, 880, 881, 1042, 809, 1043, 1088, 682, 884, 718 747, 1089, 1035, 752, 756, 281, 658, 335, 763, 796, 719 1071, 862, 845, 804, 1001, 756, 808, 888, 1090, 894, 720 895, 896, 1033, 898, 0, 0, 0, 0, 0, 0, 721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 723 0, 0, 0, 0, 456, 456, 456, 456, 456, 456, 724 305, 305, 305, 305, 305, 456, 456, 456, 456, 456, 725 456, 456, 305, 305, 0, 0, 305, 0, 456, 456, 726 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 727 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 728 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 729 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 730 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 731 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 732 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 733 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 734 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 735 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 736 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 737 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 738 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 739 456, 456, 456, 456, 456, 456, 456, 289, 289, 289, 740 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 741 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 742 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 744 0, 0, 0, 0, 0, 0, 0, 0, 289, 289, 745 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 746 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 747 289, 289, 289, 289, 473, 473, 289, 289, 473, 473, 748 473, 473, 473, 473, 473, 473, 473, 473, 289, 0, 749 289, 289, 289, 289, 289, 289, 289, 289, 473, 861, 750 473, 473, 138, 138, 138, 138, 473, 473, 473, -88, 751 -88, 473, 238, 473, 473, 138, 138, 473, 473, 473, 752 473, 473, 473, 473, 473, 473, 473, 473, 0, 0, 753 0, 384, 503, 473, 824, 824, 824, 824, 473, 473, 754 473, 473, 503, 503, 473, 473, 473, 0, 0, 0, 755 0, 0, 0, 0, 0, 384, 0, 0, 384, 0, 756 0, 824, 824, 473, 238, 861, 168, 473, 0, 0, 757 0, 0, 384, 824, 384, 443, 814, 503, 503, 814, 758 443, 443, 150, 51, 168, 608, 608, 608, 608, 0, 759 0, 659, 861, 861, 861, 861, 861, 861, 861, 861, 760 861, 861, 861, 824, 0, 861, 0, 824, 824, 824, 761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762 0, 0, 0, 0, 0, 824, 0, 0, 945, 0, 763 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 764 0, 0, 0, 0, 0, 0, 824, 0, 0, 0, 765 0, 0, 0, 0, 0, 0, 815, 827, 0, 827, 766 0, 815, 815, 815, 0, 0, 0, 0, 839, 809 767 ); 768 769 protected array $actionDefault = array( 770 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 771 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 772 32767,32767,32767, 100,32767,32767,32767,32767, 602, 602, 773 602, 602,32767,32767, 254, 102,32767,32767, 470, 387, 774 387, 387,32767,32767, 544, 544, 544, 544, 544, 544, 775 32767,32767,32767,32767,32767,32767, 470,32767,32767,32767, 776 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 777 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 778 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 779 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 780 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 781 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 782 32767,32767,32767,32767,32767,32767,32767,32767,32767, 100, 783 32767,32767,32767, 36, 7, 8, 10, 11, 49, 17, 784 324,32767,32767,32767,32767, 102,32767,32767,32767,32767, 785 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 786 32767,32767,32767,32767,32767,32767,32767, 595,32767,32767, 787 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 788 32767,32767,32767,32767,32767,32767,32767,32767, 474, 453, 789 454, 456, 457, 386, 545, 601, 327, 598, 385, 145, 790 339, 329, 242, 330, 258, 475, 259, 476, 479, 480, 791 215, 287, 382, 149, 150, 417, 471, 419, 469, 473, 792 418, 392, 398, 399, 400, 401, 402, 403, 404, 405, 793 406, 407, 408, 409, 410, 390, 391, 472, 450, 449, 794 448,32767,32767, 415, 416,32767,32767,32767,32767,32767, 795 32767,32767,32767, 102,32767, 420, 389, 423, 421, 422, 796 439, 440, 437, 438, 441,32767,32767,32767,32767, 442, 797 443, 444, 445, 316,32767,32767, 366, 364, 316, 111, 798 32767,32767, 430, 431,32767,32767,32767,32767,32767,32767, 799 32767,32767,32767,32767,32767, 487, 538, 447,32767,32767, 800 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 801 32767, 102,32767, 100, 540, 412, 414, 507, 425, 426, 802 424, 393,32767, 514,32767, 102,32767, 516,32767,32767, 803 32767,32767,32767,32767,32767, 539,32767, 546, 546,32767, 804 500, 100, 195,32767,32767, 515,32767, 195, 195,32767, 805 32767,32767,32767,32767,32767,32767,32767, 609, 500, 110, 806 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 807 32767, 195, 110,32767,32767,32767, 100, 195, 195, 195, 808 195, 195, 195, 195, 195, 195, 195, 190,32767, 268, 809 270, 102, 563, 195,32767, 519,32767,32767,32767,32767, 810 32767,32767,32767,32767,32767,32767, 512,32767,32767,32767, 811 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 812 32767,32767, 500, 435, 138,32767, 138, 546, 427, 428, 813 429, 502, 546, 546, 546, 312, 289,32767,32767,32767, 814 32767, 517, 100, 100, 100, 100, 512,32767,32767,32767, 815 32767, 111, 486, 99, 99, 99, 99, 99, 103, 101, 816 32767,32767,32767,32767, 223,32767, 99,32767, 101, 101, 817 32767,32767, 223, 225, 212, 101, 227,32767, 567, 568, 818 223, 101, 227, 227, 227, 247, 247, 489, 318, 101, 819 99, 101, 101, 197, 318, 318,32767, 101, 489, 318, 820 489, 318, 199, 318, 318, 318, 489, 318,32767, 101, 821 318, 214, 99, 99, 318,32767,32767,32767, 502,32767, 822 32767,32767,32767,32767,32767,32767, 222,32767,32767,32767, 823 32767,32767,32767,32767,32767, 533,32767, 551, 565, 433, 824 434, 436, 550, 548, 458, 459, 460, 461, 462, 463, 825 464, 466, 597,32767, 506,32767,32767,32767, 338,32767, 826 607,32767,32767,32767,32767,32767,32767,32767,32767,32767, 827 32767,32767,32767,32767,32767,32767,32767,32767, 608,32767, 828 546,32767,32767,32767,32767, 432, 9, 74, 495, 42, 829 43, 51, 57, 523, 524, 525, 526, 520, 521, 527, 830 522,32767,32767, 528, 573,32767,32767, 547, 600,32767, 831 32767,32767,32767,32767,32767, 138,32767,32767,32767,32767, 832 32767,32767,32767,32767,32767,32767,32767, 533,32767, 136, 833 32767,32767,32767,32767,32767,32767,32767,32767, 529,32767, 834 32767,32767, 546,32767,32767,32767,32767, 314, 311,32767, 835 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 836 32767,32767,32767,32767,32767, 546,32767,32767,32767,32767, 837 32767, 291,32767, 308,32767,32767,32767,32767,32767,32767, 838 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 839 286,32767,32767, 381, 502, 294, 296, 297,32767,32767, 840 32767,32767, 360,32767,32767,32767,32767,32767,32767,32767, 841 32767,32767,32767,32767, 152, 152, 3, 3, 341, 152, 842 152, 152, 341, 341, 152, 341, 341, 341, 152, 152, 843 152, 152, 152, 152, 280, 185, 262, 265, 247, 247, 844 152, 352, 152 845 ); 846 847 protected array $goto = array( 848 196, 196, 1038, 1069, 701, 353, 433, 665, 856, 710, 849 427, 321, 315, 316, 337, 580, 432, 338, 434, 642, 850 658, 659, 857, 676, 677, 678, 979, 167, 167, 167, 851 167, 221, 197, 193, 193, 177, 179, 216, 193, 193, 852 193, 193, 193, 194, 194, 194, 194, 194, 194, 188, 853 189, 190, 191, 192, 218, 216, 219, 539, 540, 423, 854 541, 544, 545, 546, 547, 548, 549, 550, 551, 1140, 855 168, 169, 170, 195, 171, 172, 173, 166, 174, 175, 856 176, 178, 215, 217, 220, 238, 243, 244, 255, 257, 857 258, 259, 260, 261, 262, 263, 264, 269, 270, 271, 858 272, 282, 283, 318, 319, 320, 428, 429, 430, 585, 859 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 860 232, 233, 234, 235, 236, 180, 237, 181, 198, 199, 861 200, 239, 188, 189, 190, 191, 192, 218, 1140, 201, 862 182, 183, 184, 202, 198, 185, 240, 203, 201, 165, 863 204, 205, 186, 206, 207, 208, 187, 209, 210, 211, 864 212, 213, 214, 859, 421, 1041, 1041, 625, 662, 685, 865 956, 251, 251, 1033, 1049, 1050, 279, 279, 279, 279, 866 344, 831, 852, 627, 627, 890, 604, 1276, 1276, 1276, 867 1276, 1276, 1276, 1276, 1276, 1276, 1276, 351, 249, 249, 868 249, 249, 246, 252, 345, 344, 577, 864, 460, 913, 869 908, 909, 922, 865, 910, 862, 911, 912, 863, 469, 870 469, 916, 897, 855, 897, 897, 357, 917, 469, 918, 871 1336, 1091, 1086, 1087, 1088, 852, 357, 357, 613, 628, 872 631, 632, 633, 634, 655, 656, 657, 712, 396, 698, 873 357, 357, 833, 1000, 357, 441, 1363, 354, 355, 872, 874 1244, 698, 1244, 1244, 426, 698, 615, 558, 1038, 1038, 875 1244, 357, 357, 1038, 884, 1038, 1038, 871, 575, 1038, 876 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 877 1328, 1328, 1328, 1328, 1137, 1244, 356, 356, 356, 356, 878 1244, 1244, 1244, 1244, 1111, 1112, 1244, 1244, 1244, 1220, 879 948, 563, 556, 1221, 1224, 949, 1225, 1062, 554, 1307, 880 554, 554, 482, 603, 1104, 930, 713, 465, 554, 931, 881 484, 5, 946, 6, 1189, 946, 511, 704, 664, 1102, 882 690, 343, 556, 563, 572, 573, 346, 583, 606, 620, 883 621, 1044, 1043, 458, 852, 1047, 1048, 22, 973, 973, 884 973, 973, 327, 310, 458, 967, 974, 1295, 1295, 440, 885 558, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 886 1295, 1292, 1292, 837, 686, 1292, 1292, 1292, 1292, 1292, 887 1292, 1292, 1292, 1292, 1292, 543, 543, 1323, 1324, 543, 888 543, 543, 543, 543, 543, 543, 543, 543, 543, 542, 889 542, 254, 254, 542, 670, 542, 542, 542, 542, 542, 890 542, 542, 542, 339, 837, 962, 837, 557, 567, 581, 891 618, 557, 849, 567, 877, 1237, 399, 464, 451, 451, 892 451, 451, 405, 1318, 619, 1318, 1318, 1239, 874, 472, 893 584, 473, 474, 1318, 1235, 1075, 882, 570, 1022, 1354, 894 1355, 737, 641, 643, 740, 1079, 663, 479, 1321, 1322, 895 687, 691, 1014, 699, 708, 1010, 503, 886, 504, 1330, 896 1330, 1330, 1330, 1122, 510, 880, 984, 410, 411, 0, 897 1346, 1346, 674, 1261, 675, 0, 414, 415, 416, 0, 898 688, 1240, 1241, 417, 0, 0, 1314, 349, 1346, 0, 899 847, 885, 873, 1074, 1078, 552, 552, 552, 552, 0, 900 608, 0, 0, 982, 0, 1349, 1349, 0, 0, 1242, 901 1304, 1305, 451, 451, 451, 451, 451, 451, 451, 451, 902 451, 451, 451, 935, 1127, 451, 0, 972, 1077, 0, 903 623, 0, 1316, 1316, 1077, 0, 1019, 0, 326, 276, 904 326, 326, 0, 0, 876, 0, 668, 998, 435, 1120, 905 889, 0, 870, 435, 398, 401, 564, 605, 609, 0, 906 1003, 1045, 1045, 975, 1234, 736, 669, 1056, 1052, 1053, 907 971, 412, 709, 555, 1012, 1007, 635, 637, 639, 0, 908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 920 0, 0, 0, 0, 0, 0, 0, 0, 1017, 1017 921 ); 922 923 protected array $gotoCheck = array( 924 42, 42, 73, 127, 73, 97, 66, 66, 26, 9, 925 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 926 86, 86, 27, 86, 86, 86, 49, 42, 42, 42, 927 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 928 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 929 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 930 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 931 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 932 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 933 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 934 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 935 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 936 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 937 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 938 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 939 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 940 42, 42, 42, 15, 43, 89, 89, 56, 56, 89, 941 89, 5, 5, 89, 89, 89, 23, 23, 23, 23, 942 170, 6, 22, 108, 108, 45, 130, 108, 108, 108, 943 108, 108, 108, 108, 108, 108, 108, 181, 5, 5, 944 5, 5, 5, 5, 170, 170, 174, 15, 83, 15, 945 15, 15, 15, 15, 15, 15, 15, 15, 15, 149, 946 149, 15, 25, 25, 25, 25, 14, 65, 149, 65, 947 183, 15, 15, 15, 15, 22, 14, 14, 81, 81, 948 81, 81, 81, 81, 81, 81, 81, 81, 62, 7, 949 14, 14, 7, 103, 14, 83, 14, 97, 97, 35, 950 73, 7, 73, 73, 13, 7, 13, 14, 73, 73, 951 73, 14, 14, 73, 35, 73, 73, 35, 104, 73, 952 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 953 9, 9, 9, 9, 150, 73, 24, 24, 24, 24, 954 73, 73, 73, 73, 144, 144, 73, 73, 73, 79, 955 79, 76, 76, 79, 79, 79, 79, 114, 19, 14, 956 19, 19, 84, 8, 8, 73, 8, 151, 19, 73, 957 84, 46, 9, 46, 151, 9, 8, 8, 64, 8, 958 14, 76, 76, 76, 76, 76, 76, 76, 76, 76, 959 76, 118, 118, 19, 22, 119, 119, 76, 19, 19, 960 19, 19, 171, 171, 19, 19, 19, 172, 172, 113, 961 14, 172, 172, 172, 172, 172, 172, 172, 172, 172, 962 172, 173, 173, 12, 116, 173, 173, 173, 173, 173, 963 173, 173, 173, 173, 173, 175, 175, 180, 180, 175, 964 175, 175, 175, 175, 175, 175, 175, 175, 175, 158, 965 158, 5, 5, 158, 120, 158, 158, 158, 158, 158, 966 158, 158, 158, 29, 12, 92, 12, 9, 9, 2, 967 2, 9, 18, 9, 39, 14, 9, 9, 23, 23, 968 23, 23, 28, 130, 80, 130, 130, 20, 37, 9, 969 9, 9, 9, 130, 162, 129, 9, 48, 110, 9, 970 9, 48, 48, 48, 99, 132, 48, 178, 178, 178, 971 48, 48, 48, 48, 48, 48, 155, 41, 155, 130, 972 130, 130, 130, 147, 155, 9, 96, 82, 82, -1, 973 184, 184, 82, 20, 82, -1, 82, 82, 82, -1, 974 82, 20, 20, 82, -1, -1, 130, 82, 184, -1, 975 20, 16, 16, 16, 16, 107, 107, 107, 107, -1, 976 107, -1, -1, 16, -1, 184, 184, -1, -1, 20, 977 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, 978 23, 23, 23, 17, 17, 23, -1, 16, 130, -1, 979 17, -1, 130, 130, 130, -1, 17, -1, 24, 24, 980 24, 24, -1, -1, 17, -1, 17, 17, 117, 16, 981 16, -1, 17, 117, 59, 59, 59, 59, 59, -1, 982 50, 117, 117, 50, 17, 50, 117, 117, 117, 117, 983 93, 93, 93, 50, 50, 50, 85, 85, 85, -1, 984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 987 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 988 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 992 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 994 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 995 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 996 -1, -1, -1, -1, -1, -1, -1, -1, 107, 107 997 ); 998 999 protected array $gotoBase = array( 1000 0, 0, -287, 0, 0, 170, 161, 242, 315, -11, 1001 0, 0, 85, -75, -73, -187, 57, 75, 121, 53, 1002 52, 0, -97, 173, 293, 219, 4, 18, 103, 125, 1003 0, 0, 0, 0, 0, -114, 0, 107, 0, 109, 1004 0, 35, -1, 145, 0, 162, -409, 0, -258, 8, 1005 568, 0, 0, 0, 0, 0, 127, 0, 0, 529, 1006 0, 0, 206, 0, 96, 213, -235, 0, 0, 0, 1007 0, 0, 0, -5, 0, 0, -36, 0, 0, -101, 1008 98, -122, -7, -71, -150, 114, -702, 0, 0, -115, 1009 0, 0, 94, 284, 0, 0, 42, -481, 0, 55, 1010 0, 0, 0, 218, 235, 0, 0, 487, -58, 0, 1011 86, 0, 0, 91, 43, 0, 100, 295, 71, 69, 1012 123, 0, 0, 0, 0, 0, 0, 1, 0, 79, 1013 178, 0, 22, 0, 0, 0, 0, 0, 0, 0, 1014 0, 0, 0, 0, 28, 0, 0, 38, 0, 185, 1015 48, 59, 0, 0, 0, -22, 0, 0, 168, 0, 1016 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 1017 -119, 39, 126, 140, 177, 154, 0, 0, 165, 0, 1018 23, 167, 0, 199, 181, 0, 0 1019 ); 1020 1021 protected array $gotoDefault = array( 1022 -32768, 515, 744, 4, 745, 939, 820, 829, 601, 533, 1023 711, 350, 629, 424, 1312, 915, 1126, 582, 848, 1253, 1024 1227, 459, 851, 332, 734, 927, 898, 899, 402, 388, 1025 394, 400, 653, 630, 497, 883, 455, 875, 489, 878, 1026 454, 887, 164, 420, 513, 891, 3, 894, 561, 925, 1027 977, 389, 902, 390, 681, 904, 566, 906, 907, 397, 1028 403, 404, 1131, 574, 626, 919, 256, 568, 920, 387, 1029 921, 929, 392, 395, 692, 468, 508, 502, 413, 1106, 1030 569, 612, 650, 448, 476, 624, 636, 622, 483, 436, 1031 418, 331, 961, 969, 490, 466, 983, 352, 991, 742, 1032 1139, 644, 492, 999, 645, 1006, 1009, 534, 535, 481, 1033 1021, 273, 1024, 493, 19, 671, 1035, 1036, 672, 646, 1034 1058, 647, 673, 648, 1060, 475, 602, 1068, 456, 1076, 1035 1300, 457, 1080, 266, 1083, 278, 419, 437, 1089, 1090, 1036 9, 1096, 702, 703, 11, 277, 512, 1121, 693, 453, 1037 1138, 452, 1208, 1210, 562, 494, 1228, 480, 295, 1231, 1038 684, 509, 1236, 449, 1303, 450, 536, 477, 317, 537, 1039 1347, 309, 335, 314, 553, 296, 336, 538, 478, 1309, 1040 1317, 333, 31, 1337, 1348, 579, 617 1041 ); 1042 1043 protected array $ruleToNonTerminal = array( 1044 0, 1, 3, 3, 2, 5, 5, 6, 6, 6, 1045 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1046 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1047 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1048 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1049 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1050 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1051 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 1052 7, 7, 7, 7, 7, 8, 8, 9, 10, 11, 1053 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 1054 16, 17, 17, 18, 18, 21, 21, 22, 23, 23, 1055 24, 24, 4, 4, 4, 4, 4, 4, 4, 4, 1056 4, 4, 4, 29, 29, 30, 30, 32, 34, 34, 1057 28, 36, 36, 33, 38, 38, 35, 35, 37, 37, 1058 39, 39, 31, 40, 40, 41, 43, 44, 44, 45, 1059 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, 1060 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 1061 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 1062 49, 49, 25, 25, 50, 69, 69, 72, 72, 71, 1063 70, 70, 63, 75, 75, 76, 76, 77, 77, 78, 1064 78, 79, 79, 80, 80, 26, 26, 27, 27, 27, 1065 27, 27, 88, 88, 90, 90, 83, 83, 91, 91, 1066 92, 92, 92, 84, 84, 87, 87, 85, 85, 93, 1067 94, 94, 57, 57, 65, 65, 68, 68, 68, 67, 1068 95, 95, 96, 58, 58, 58, 58, 97, 97, 98, 1069 98, 99, 99, 100, 101, 101, 102, 102, 103, 103, 1070 55, 55, 51, 51, 105, 53, 53, 106, 52, 52, 1071 54, 54, 64, 64, 64, 64, 81, 81, 109, 109, 1072 111, 111, 112, 112, 112, 112, 110, 110, 110, 114, 1073 114, 114, 114, 89, 89, 117, 117, 117, 118, 118, 1074 115, 115, 119, 119, 121, 121, 122, 122, 116, 123, 1075 123, 120, 124, 124, 124, 124, 113, 113, 82, 82, 1076 82, 20, 20, 20, 126, 125, 125, 127, 127, 127, 1077 127, 60, 128, 128, 129, 61, 131, 131, 132, 132, 1078 133, 133, 86, 134, 134, 134, 134, 134, 134, 134, 1079 139, 139, 140, 140, 141, 141, 141, 141, 141, 142, 1080 143, 143, 138, 138, 135, 135, 137, 137, 145, 145, 1081 144, 144, 144, 144, 144, 144, 144, 136, 146, 146, 1082 148, 147, 147, 62, 104, 149, 149, 56, 56, 42, 1083 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1084 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1085 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1086 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1087 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1088 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1089 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1090 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1091 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 1092 42, 42, 42, 156, 158, 158, 159, 150, 150, 155, 1093 155, 160, 161, 161, 162, 163, 164, 164, 164, 164, 1094 19, 19, 73, 73, 73, 73, 151, 151, 151, 151, 1095 166, 166, 152, 152, 154, 154, 154, 157, 157, 172, 1096 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, 1097 173, 108, 175, 175, 175, 175, 153, 153, 153, 153, 1098 153, 153, 153, 153, 59, 59, 169, 169, 169, 169, 1099 169, 176, 176, 165, 165, 165, 165, 177, 177, 177, 1100 177, 177, 177, 74, 74, 66, 66, 66, 66, 130, 1101 130, 130, 130, 180, 179, 168, 168, 168, 168, 168, 1102 168, 168, 167, 167, 167, 178, 178, 178, 178, 107, 1103 174, 182, 182, 181, 181, 183, 183, 183, 183, 183, 1104 183, 183, 183, 171, 171, 171, 171, 170, 185, 184, 1105 184, 184, 184, 184, 184, 184, 184, 186, 186, 186, 1106 186 1107 ); 1108 1109 protected array $ruleToLength = array( 1110 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1111 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1112 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1113 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1114 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1115 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1116 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1117 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1118 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1119 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1120 1, 0, 1, 1, 2, 1, 3, 4, 1, 2, 1121 0, 1, 1, 1, 1, 4, 3, 5, 4, 3, 1122 4, 2, 3, 1, 1, 7, 6, 2, 3, 1, 1123 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, 1124 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, 1125 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, 1126 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, 1127 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, 1128 2, 1, 1, 1, 1, 0, 2, 1, 3, 8, 1129 0, 4, 2, 1, 3, 0, 1, 0, 1, 0, 1130 1, 3, 1, 1, 1, 8, 9, 7, 8, 7, 1131 6, 8, 0, 2, 0, 2, 1, 2, 1, 2, 1132 1, 1, 1, 0, 2, 0, 2, 0, 2, 2, 1133 1, 3, 1, 4, 1, 4, 1, 1, 4, 2, 1134 1, 3, 3, 3, 4, 4, 5, 0, 2, 4, 1135 3, 1, 1, 7, 0, 2, 1, 3, 3, 4, 1136 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, 1137 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, 1138 0, 2, 1, 1, 1, 1, 6, 8, 6, 1, 1139 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1140 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, 1141 3, 1, 1, 2, 1, 1, 0, 1, 0, 2, 1142 2, 2, 4, 3, 1, 1, 3, 1, 2, 2, 1143 3, 2, 3, 1, 1, 2, 3, 1, 1, 3, 1144 2, 0, 1, 5, 5, 6, 10, 3, 5, 1, 1145 1, 3, 0, 2, 4, 5, 4, 4, 4, 3, 1146 1, 1, 1, 1, 1, 1, 0, 1, 1, 2, 1147 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1148 1, 1, 3, 2, 2, 3, 1, 0, 1, 1, 1149 3, 3, 3, 4, 4, 1, 1, 2, 3, 3, 1150 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1151 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 1152 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1153 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 1154 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 1155 3, 4, 4, 2, 2, 4, 2, 2, 2, 2, 1156 2, 2, 2, 2, 2, 2, 2, 1, 3, 2, 1157 1, 2, 4, 2, 2, 8, 9, 8, 9, 9, 1158 10, 9, 10, 8, 3, 2, 2, 1, 1, 0, 1159 4, 2, 1, 3, 2, 1, 2, 2, 2, 4, 1160 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1161 1, 1, 0, 3, 0, 1, 1, 0, 1, 1, 1162 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 1163 3, 3, 4, 1, 1, 3, 1, 1, 1, 1, 1164 1, 3, 2, 3, 0, 1, 1, 3, 1, 1, 1165 1, 1, 1, 1, 3, 1, 1, 1, 4, 4, 1166 1, 4, 4, 0, 1, 1, 1, 3, 3, 1, 1167 4, 2, 2, 1, 3, 1, 4, 4, 3, 3, 1168 3, 3, 1, 3, 1, 1, 3, 1, 1, 4, 1169 1, 1, 1, 3, 1, 1, 2, 1, 3, 4, 1170 3, 2, 0, 2, 2, 1, 2, 1, 1, 1, 1171 4, 3, 3, 3, 3, 6, 3, 1, 1, 2, 1172 1 1173 ); 1174 1175 protected function initReduceCallbacks(): void { 1176 $this->reduceCallbacks = [ 1177 0 => null, 1178 1 => static function ($self, $stackPos) { 1179 $self->semValue = $self->handleNamespaces($self->semStack[$stackPos-(1-1)]); 1180 }, 1181 2 => static function ($self, $stackPos) { 1182 if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; 1183 }, 1184 3 => static function ($self, $stackPos) { 1185 $self->semValue = array(); 1186 }, 1187 4 => static function ($self, $stackPos) { 1188 $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; 1189 if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; 1190 }, 1191 5 => null, 1192 6 => null, 1193 7 => null, 1194 8 => null, 1195 9 => null, 1196 10 => null, 1197 11 => null, 1198 12 => null, 1199 13 => null, 1200 14 => null, 1201 15 => null, 1202 16 => null, 1203 17 => null, 1204 18 => null, 1205 19 => null, 1206 20 => null, 1207 21 => null, 1208 22 => null, 1209 23 => null, 1210 24 => null, 1211 25 => null, 1212 26 => null, 1213 27 => null, 1214 28 => null, 1215 29 => null, 1216 30 => null, 1217 31 => null, 1218 32 => null, 1219 33 => null, 1220 34 => null, 1221 35 => null, 1222 36 => null, 1223 37 => null, 1224 38 => null, 1225 39 => null, 1226 40 => null, 1227 41 => null, 1228 42 => null, 1229 43 => null, 1230 44 => null, 1231 45 => null, 1232 46 => null, 1233 47 => null, 1234 48 => null, 1235 49 => null, 1236 50 => null, 1237 51 => null, 1238 52 => null, 1239 53 => null, 1240 54 => null, 1241 55 => null, 1242 56 => null, 1243 57 => null, 1244 58 => null, 1245 59 => null, 1246 60 => null, 1247 61 => null, 1248 62 => null, 1249 63 => null, 1250 64 => null, 1251 65 => null, 1252 66 => null, 1253 67 => null, 1254 68 => null, 1255 69 => null, 1256 70 => null, 1257 71 => null, 1258 72 => null, 1259 73 => null, 1260 74 => null, 1261 75 => null, 1262 76 => static function ($self, $stackPos) { 1263 $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]))); 1264 }, 1265 77 => null, 1266 78 => null, 1267 79 => null, 1268 80 => null, 1269 81 => null, 1270 82 => null, 1271 83 => null, 1272 84 => null, 1273 85 => static function ($self, $stackPos) { 1274 $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1275 }, 1276 86 => static function ($self, $stackPos) { 1277 $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1278 }, 1279 87 => static function ($self, $stackPos) { 1280 $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1281 }, 1282 88 => static function ($self, $stackPos) { 1283 $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1284 }, 1285 89 => static function ($self, $stackPos) { 1286 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1287 }, 1288 90 => static function ($self, $stackPos) { 1289 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1290 }, 1291 91 => static function ($self, $stackPos) { 1292 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1293 }, 1294 92 => static function ($self, $stackPos) { 1295 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1296 }, 1297 93 => static function ($self, $stackPos) { 1298 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1299 }, 1300 94 => null, 1301 95 => static function ($self, $stackPos) { 1302 $self->semValue = new Name(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1303 }, 1304 96 => static function ($self, $stackPos) { 1305 $self->semValue = new Expr\Variable(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1306 }, 1307 97 => static function ($self, $stackPos) { 1308 /* nothing */ 1309 }, 1310 98 => static function ($self, $stackPos) { 1311 /* nothing */ 1312 }, 1313 99 => static function ($self, $stackPos) { 1314 /* nothing */ 1315 }, 1316 100 => static function ($self, $stackPos) { 1317 $self->emitError(new Error('A trailing comma is not allowed here', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]))); 1318 }, 1319 101 => null, 1320 102 => null, 1321 103 => static function ($self, $stackPos) { 1322 $self->semValue = new Node\Attribute($self->semStack[$stackPos-(1-1)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1323 }, 1324 104 => static function ($self, $stackPos) { 1325 $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])); 1326 }, 1327 105 => static function ($self, $stackPos) { 1328 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1329 }, 1330 106 => static function ($self, $stackPos) { 1331 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1332 }, 1333 107 => static function ($self, $stackPos) { 1334 $self->semValue = new Node\AttributeGroup($self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 1335 }, 1336 108 => static function ($self, $stackPos) { 1337 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1338 }, 1339 109 => static function ($self, $stackPos) { 1340 $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; 1341 }, 1342 110 => static function ($self, $stackPos) { 1343 $self->semValue = []; 1344 }, 1345 111 => null, 1346 112 => null, 1347 113 => null, 1348 114 => null, 1349 115 => static function ($self, $stackPos) { 1350 $self->semValue = new Stmt\HaltCompiler($self->handleHaltCompiler(), $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 1351 }, 1352 116 => static function ($self, $stackPos) { 1353 $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos-(3-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1354 $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); 1355 $self->checkNamespace($self->semValue); 1356 }, 1357 117 => static function ($self, $stackPos) { 1358 $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])); 1359 $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); 1360 $self->checkNamespace($self->semValue); 1361 }, 1362 118 => static function ($self, $stackPos) { 1363 $self->semValue = new Stmt\Namespace_(null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 1364 $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); 1365 $self->checkNamespace($self->semValue); 1366 }, 1367 119 => static function ($self, $stackPos) { 1368 $self->semValue = new Stmt\Use_($self->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1369 }, 1370 120 => static function ($self, $stackPos) { 1371 $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])); 1372 }, 1373 121 => null, 1374 122 => static function ($self, $stackPos) { 1375 $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1376 }, 1377 123 => static function ($self, $stackPos) { 1378 $self->semValue = Stmt\Use_::TYPE_FUNCTION; 1379 }, 1380 124 => static function ($self, $stackPos) { 1381 $self->semValue = Stmt\Use_::TYPE_CONSTANT; 1382 }, 1383 125 => static function ($self, $stackPos) { 1384 $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); 1385 }, 1386 126 => static function ($self, $stackPos) { 1387 $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); 1388 }, 1389 127 => null, 1390 128 => static function ($self, $stackPos) { 1391 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1392 }, 1393 129 => static function ($self, $stackPos) { 1394 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1395 }, 1396 130 => null, 1397 131 => static function ($self, $stackPos) { 1398 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1399 }, 1400 132 => static function ($self, $stackPos) { 1401 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1402 }, 1403 133 => null, 1404 134 => static function ($self, $stackPos) { 1405 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1406 }, 1407 135 => static function ($self, $stackPos) { 1408 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1409 }, 1410 136 => static function ($self, $stackPos) { 1411 $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)); 1412 }, 1413 137 => static function ($self, $stackPos) { 1414 $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)); 1415 }, 1416 138 => static function ($self, $stackPos) { 1417 $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)); 1418 }, 1419 139 => static function ($self, $stackPos) { 1420 $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)); 1421 }, 1422 140 => static function ($self, $stackPos) { 1423 $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->semValue->type = Stmt\Use_::TYPE_NORMAL; 1424 }, 1425 141 => static function ($self, $stackPos) { 1426 $self->semValue = $self->semStack[$stackPos-(2-2)]; $self->semValue->type = $self->semStack[$stackPos-(2-1)]; 1427 }, 1428 142 => null, 1429 143 => static function ($self, $stackPos) { 1430 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1431 }, 1432 144 => static function ($self, $stackPos) { 1433 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1434 }, 1435 145 => static function ($self, $stackPos) { 1436 $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])); 1437 }, 1438 146 => null, 1439 147 => static function ($self, $stackPos) { 1440 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1441 }, 1442 148 => static function ($self, $stackPos) { 1443 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1444 }, 1445 149 => static function ($self, $stackPos) { 1446 $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])); 1447 }, 1448 150 => static function ($self, $stackPos) { 1449 $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])); 1450 }, 1451 151 => static function ($self, $stackPos) { 1452 if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; 1453 }, 1454 152 => static function ($self, $stackPos) { 1455 $self->semValue = array(); 1456 }, 1457 153 => static function ($self, $stackPos) { 1458 $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; 1459 if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; 1460 }, 1461 154 => null, 1462 155 => null, 1463 156 => null, 1464 157 => static function ($self, $stackPos) { 1465 throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1466 }, 1467 158 => static function ($self, $stackPos) { 1468 $self->semValue = new Stmt\Block($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1469 }, 1470 159 => static function ($self, $stackPos) { 1471 $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])); 1472 }, 1473 160 => static function ($self, $stackPos) { 1474 $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])); 1475 }, 1476 161 => static function ($self, $stackPos) { 1477 $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])); 1478 }, 1479 162 => static function ($self, $stackPos) { 1480 $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])); 1481 }, 1482 163 => static function ($self, $stackPos) { 1483 $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])); 1484 }, 1485 164 => static function ($self, $stackPos) { 1486 $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])); 1487 }, 1488 165 => static function ($self, $stackPos) { 1489 $self->semValue = new Stmt\Break_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1490 }, 1491 166 => static function ($self, $stackPos) { 1492 $self->semValue = new Stmt\Continue_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1493 }, 1494 167 => static function ($self, $stackPos) { 1495 $self->semValue = new Stmt\Return_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1496 }, 1497 168 => static function ($self, $stackPos) { 1498 $self->semValue = new Stmt\Global_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1499 }, 1500 169 => static function ($self, $stackPos) { 1501 $self->semValue = new Stmt\Static_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1502 }, 1503 170 => static function ($self, $stackPos) { 1504 $self->semValue = new Stmt\Echo_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1505 }, 1506 171 => static function ($self, $stackPos) { 1507 1508 $self->semValue = new Stmt\InlineHTML($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1509 $self->semValue->setAttribute('hasLeadingNewline', $self->inlineHtmlHasLeadingNewline($stackPos-(1-1))); 1510 1511 }, 1512 172 => static function ($self, $stackPos) { 1513 $self->semValue = new Stmt\Expression($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 1514 }, 1515 173 => static function ($self, $stackPos) { 1516 $self->semValue = new Stmt\Unset_($self->semStack[$stackPos-(5-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); 1517 }, 1518 174 => static function ($self, $stackPos) { 1519 $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])); 1520 }, 1521 175 => static function ($self, $stackPos) { 1522 $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])); 1523 }, 1524 176 => static function ($self, $stackPos) { 1525 $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])); 1526 }, 1527 177 => static function ($self, $stackPos) { 1528 $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])); 1529 }, 1530 178 => static function ($self, $stackPos) { 1531 $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); 1532 }, 1533 179 => static function ($self, $stackPos) { 1534 $self->semValue = new Stmt\Goto_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1535 }, 1536 180 => static function ($self, $stackPos) { 1537 $self->semValue = new Stmt\Label($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 1538 }, 1539 181 => static function ($self, $stackPos) { 1540 $self->semValue = null; /* means: no statement */ 1541 }, 1542 182 => null, 1543 183 => static function ($self, $stackPos) { 1544 $self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); 1545 }, 1546 184 => static function ($self, $stackPos) { 1547 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)]]; }; 1548 }, 1549 185 => static function ($self, $stackPos) { 1550 $self->semValue = array(); 1551 }, 1552 186 => static function ($self, $stackPos) { 1553 $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; 1554 }, 1555 187 => static function ($self, $stackPos) { 1556 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1557 }, 1558 188 => static function ($self, $stackPos) { 1559 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1560 }, 1561 189 => static function ($self, $stackPos) { 1562 $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])); 1563 }, 1564 190 => static function ($self, $stackPos) { 1565 $self->semValue = null; 1566 }, 1567 191 => static function ($self, $stackPos) { 1568 $self->semValue = new Stmt\Finally_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 1569 }, 1570 192 => null, 1571 193 => static function ($self, $stackPos) { 1572 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1573 }, 1574 194 => static function ($self, $stackPos) { 1575 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1576 }, 1577 195 => static function ($self, $stackPos) { 1578 $self->semValue = false; 1579 }, 1580 196 => static function ($self, $stackPos) { 1581 $self->semValue = true; 1582 }, 1583 197 => static function ($self, $stackPos) { 1584 $self->semValue = false; 1585 }, 1586 198 => static function ($self, $stackPos) { 1587 $self->semValue = true; 1588 }, 1589 199 => static function ($self, $stackPos) { 1590 $self->semValue = false; 1591 }, 1592 200 => static function ($self, $stackPos) { 1593 $self->semValue = true; 1594 }, 1595 201 => static function ($self, $stackPos) { 1596 $self->semValue = $self->semStack[$stackPos-(3-2)]; 1597 }, 1598 202 => static function ($self, $stackPos) { 1599 $self->semValue = []; 1600 }, 1601 203 => null, 1602 204 => static function ($self, $stackPos) { 1603 $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1604 }, 1605 205 => static function ($self, $stackPos) { 1606 $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])); 1607 }, 1608 206 => static function ($self, $stackPos) { 1609 $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])); 1610 }, 1611 207 => static function ($self, $stackPos) { 1612 $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])); 1613 $self->checkClass($self->semValue, $stackPos-(7-2)); 1614 }, 1615 208 => static function ($self, $stackPos) { 1616 $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])); 1617 $self->checkClass($self->semValue, $stackPos-(8-3)); 1618 }, 1619 209 => static function ($self, $stackPos) { 1620 $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])); 1621 $self->checkInterface($self->semValue, $stackPos-(7-3)); 1622 }, 1623 210 => static function ($self, $stackPos) { 1624 $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])); 1625 }, 1626 211 => static function ($self, $stackPos) { 1627 $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])); 1628 $self->checkEnum($self->semValue, $stackPos-(8-3)); 1629 }, 1630 212 => static function ($self, $stackPos) { 1631 $self->semValue = null; 1632 }, 1633 213 => static function ($self, $stackPos) { 1634 $self->semValue = $self->semStack[$stackPos-(2-2)]; 1635 }, 1636 214 => static function ($self, $stackPos) { 1637 $self->semValue = null; 1638 }, 1639 215 => static function ($self, $stackPos) { 1640 $self->semValue = $self->semStack[$stackPos-(2-2)]; 1641 }, 1642 216 => static function ($self, $stackPos) { 1643 $self->semValue = 0; 1644 }, 1645 217 => null, 1646 218 => null, 1647 219 => static function ($self, $stackPos) { 1648 $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)]; 1649 }, 1650 220 => static function ($self, $stackPos) { 1651 $self->semValue = Modifiers::ABSTRACT; 1652 }, 1653 221 => static function ($self, $stackPos) { 1654 $self->semValue = Modifiers::FINAL; 1655 }, 1656 222 => static function ($self, $stackPos) { 1657 $self->semValue = Modifiers::READONLY; 1658 }, 1659 223 => static function ($self, $stackPos) { 1660 $self->semValue = null; 1661 }, 1662 224 => static function ($self, $stackPos) { 1663 $self->semValue = $self->semStack[$stackPos-(2-2)]; 1664 }, 1665 225 => static function ($self, $stackPos) { 1666 $self->semValue = array(); 1667 }, 1668 226 => static function ($self, $stackPos) { 1669 $self->semValue = $self->semStack[$stackPos-(2-2)]; 1670 }, 1671 227 => static function ($self, $stackPos) { 1672 $self->semValue = array(); 1673 }, 1674 228 => static function ($self, $stackPos) { 1675 $self->semValue = $self->semStack[$stackPos-(2-2)]; 1676 }, 1677 229 => null, 1678 230 => static function ($self, $stackPos) { 1679 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1680 }, 1681 231 => static function ($self, $stackPos) { 1682 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1683 }, 1684 232 => null, 1685 233 => static function ($self, $stackPos) { 1686 $self->semValue = $self->semStack[$stackPos-(4-2)]; 1687 }, 1688 234 => null, 1689 235 => static function ($self, $stackPos) { 1690 $self->semValue = $self->semStack[$stackPos-(4-2)]; 1691 }, 1692 236 => static function ($self, $stackPos) { 1693 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)]]; }; 1694 }, 1695 237 => static function ($self, $stackPos) { 1696 $self->semValue = null; 1697 }, 1698 238 => static function ($self, $stackPos) { 1699 $self->semValue = $self->semStack[$stackPos-(4-2)]; 1700 }, 1701 239 => null, 1702 240 => static function ($self, $stackPos) { 1703 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1704 }, 1705 241 => static function ($self, $stackPos) { 1706 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1707 }, 1708 242 => static function ($self, $stackPos) { 1709 $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])); 1710 }, 1711 243 => static function ($self, $stackPos) { 1712 $self->semValue = $self->semStack[$stackPos-(3-2)]; 1713 }, 1714 244 => static function ($self, $stackPos) { 1715 $self->semValue = $self->semStack[$stackPos-(4-3)]; 1716 }, 1717 245 => static function ($self, $stackPos) { 1718 $self->semValue = $self->semStack[$stackPos-(4-2)]; 1719 }, 1720 246 => static function ($self, $stackPos) { 1721 $self->semValue = $self->semStack[$stackPos-(5-3)]; 1722 }, 1723 247 => static function ($self, $stackPos) { 1724 $self->semValue = array(); 1725 }, 1726 248 => static function ($self, $stackPos) { 1727 $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; 1728 }, 1729 249 => static function ($self, $stackPos) { 1730 $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])); 1731 }, 1732 250 => static function ($self, $stackPos) { 1733 $self->semValue = new Stmt\Case_(null, $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 1734 }, 1735 251 => null, 1736 252 => null, 1737 253 => static function ($self, $stackPos) { 1738 $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])); 1739 }, 1740 254 => static function ($self, $stackPos) { 1741 $self->semValue = []; 1742 }, 1743 255 => null, 1744 256 => static function ($self, $stackPos) { 1745 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1746 }, 1747 257 => static function ($self, $stackPos) { 1748 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1749 }, 1750 258 => static function ($self, $stackPos) { 1751 $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])); 1752 }, 1753 259 => static function ($self, $stackPos) { 1754 $self->semValue = new Node\MatchArm(null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 1755 }, 1756 260 => static function ($self, $stackPos) { 1757 $self->semValue = $self->semStack[$stackPos-(1-1)]; 1758 }, 1759 261 => static function ($self, $stackPos) { 1760 $self->semValue = $self->semStack[$stackPos-(4-2)]; 1761 }, 1762 262 => static function ($self, $stackPos) { 1763 $self->semValue = array(); 1764 }, 1765 263 => static function ($self, $stackPos) { 1766 $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; 1767 }, 1768 264 => static function ($self, $stackPos) { 1769 $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])); 1770 }, 1771 265 => static function ($self, $stackPos) { 1772 $self->semValue = array(); 1773 }, 1774 266 => static function ($self, $stackPos) { 1775 $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; 1776 }, 1777 267 => static function ($self, $stackPos) { 1778 $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); 1779 }, 1780 268 => static function ($self, $stackPos) { 1781 $self->semValue = null; 1782 }, 1783 269 => static function ($self, $stackPos) { 1784 $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 1785 }, 1786 270 => static function ($self, $stackPos) { 1787 $self->semValue = null; 1788 }, 1789 271 => static function ($self, $stackPos) { 1790 $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); 1791 }, 1792 272 => static function ($self, $stackPos) { 1793 $self->semValue = array($self->semStack[$stackPos-(1-1)], false); 1794 }, 1795 273 => static function ($self, $stackPos) { 1796 $self->semValue = array($self->semStack[$stackPos-(2-2)], true); 1797 }, 1798 274 => static function ($self, $stackPos) { 1799 $self->semValue = array($self->semStack[$stackPos-(1-1)], false); 1800 }, 1801 275 => static function ($self, $stackPos) { 1802 $self->semValue = array($self->fixupArrayDestructuring($self->semStack[$stackPos-(1-1)]), false); 1803 }, 1804 276 => null, 1805 277 => static function ($self, $stackPos) { 1806 $self->semValue = array(); 1807 }, 1808 278 => static function ($self, $stackPos) { 1809 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1810 }, 1811 279 => static function ($self, $stackPos) { 1812 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1813 }, 1814 280 => static function ($self, $stackPos) { 1815 $self->semValue = 0; 1816 }, 1817 281 => static function ($self, $stackPos) { 1818 $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)]; 1819 }, 1820 282 => static function ($self, $stackPos) { 1821 $self->semValue = Modifiers::PUBLIC; 1822 }, 1823 283 => static function ($self, $stackPos) { 1824 $self->semValue = Modifiers::PROTECTED; 1825 }, 1826 284 => static function ($self, $stackPos) { 1827 $self->semValue = Modifiers::PRIVATE; 1828 }, 1829 285 => static function ($self, $stackPos) { 1830 $self->semValue = Modifiers::READONLY; 1831 }, 1832 286 => static function ($self, $stackPos) { 1833 $self->semValue = new Node\Param($self->semStack[$stackPos-(6-6)], 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)]); 1834 $self->checkParam($self->semValue); 1835 }, 1836 287 => static function ($self, $stackPos) { 1837 $self->semValue = new Node\Param($self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-8)], $self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(8-2)], $self->semStack[$stackPos-(8-1)]); 1838 $self->checkParam($self->semValue); 1839 }, 1840 288 => static function ($self, $stackPos) { 1841 $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)]); 1842 }, 1843 289 => null, 1844 290 => static function ($self, $stackPos) { 1845 $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 1846 }, 1847 291 => static function ($self, $stackPos) { 1848 $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1849 }, 1850 292 => null, 1851 293 => null, 1852 294 => static function ($self, $stackPos) { 1853 $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1854 }, 1855 295 => static function ($self, $stackPos) { 1856 $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); 1857 }, 1858 296 => static function ($self, $stackPos) { 1859 $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1860 }, 1861 297 => static function ($self, $stackPos) { 1862 $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1863 }, 1864 298 => null, 1865 299 => static function ($self, $stackPos) { 1866 $self->semValue = $self->semStack[$stackPos-(3-2)]; 1867 }, 1868 300 => static function ($self, $stackPos) { 1869 $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); 1870 }, 1871 301 => static function ($self, $stackPos) { 1872 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1873 }, 1874 302 => null, 1875 303 => static function ($self, $stackPos) { 1876 $self->semValue = $self->semStack[$stackPos-(3-2)]; 1877 }, 1878 304 => static function ($self, $stackPos) { 1879 $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); 1880 }, 1881 305 => static function ($self, $stackPos) { 1882 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1883 }, 1884 306 => static function ($self, $stackPos) { 1885 $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); 1886 }, 1887 307 => static function ($self, $stackPos) { 1888 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1889 }, 1890 308 => static function ($self, $stackPos) { 1891 $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1892 }, 1893 309 => static function ($self, $stackPos) { 1894 $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); 1895 }, 1896 310 => static function ($self, $stackPos) { 1897 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1898 }, 1899 311 => static function ($self, $stackPos) { 1900 $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1901 }, 1902 312 => null, 1903 313 => static function ($self, $stackPos) { 1904 $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 1905 }, 1906 314 => static function ($self, $stackPos) { 1907 $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1908 }, 1909 315 => null, 1910 316 => static function ($self, $stackPos) { 1911 $self->semValue = null; 1912 }, 1913 317 => null, 1914 318 => static function ($self, $stackPos) { 1915 $self->semValue = null; 1916 }, 1917 319 => static function ($self, $stackPos) { 1918 $self->semValue = $self->semStack[$stackPos-(2-2)]; 1919 }, 1920 320 => static function ($self, $stackPos) { 1921 $self->semValue = null; 1922 }, 1923 321 => static function ($self, $stackPos) { 1924 $self->semValue = array(); 1925 }, 1926 322 => static function ($self, $stackPos) { 1927 $self->semValue = $self->semStack[$stackPos-(4-2)]; 1928 }, 1929 323 => static function ($self, $stackPos) { 1930 $self->semValue = array($self->semStack[$stackPos-(3-2)]); 1931 }, 1932 324 => static function ($self, $stackPos) { 1933 $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1934 }, 1935 325 => static function ($self, $stackPos) { 1936 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1937 }, 1938 326 => static function ($self, $stackPos) { 1939 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1940 }, 1941 327 => static function ($self, $stackPos) { 1942 $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1943 }, 1944 328 => static function ($self, $stackPos) { 1945 $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 1946 }, 1947 329 => static function ($self, $stackPos) { 1948 $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 1949 }, 1950 330 => static function ($self, $stackPos) { 1951 $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)]); 1952 }, 1953 331 => null, 1954 332 => static function ($self, $stackPos) { 1955 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1956 }, 1957 333 => static function ($self, $stackPos) { 1958 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1959 }, 1960 334 => null, 1961 335 => null, 1962 336 => static function ($self, $stackPos) { 1963 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 1964 }, 1965 337 => static function ($self, $stackPos) { 1966 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 1967 }, 1968 338 => static function ($self, $stackPos) { 1969 $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 1970 }, 1971 339 => static function ($self, $stackPos) { 1972 $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])); 1973 }, 1974 340 => static function ($self, $stackPos) { 1975 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)]; } 1976 }, 1977 341 => static function ($self, $stackPos) { 1978 $self->semValue = array(); 1979 }, 1980 342 => static function ($self, $stackPos) { 1981 $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; 1982 if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; 1983 }, 1984 343 => static function ($self, $stackPos) { 1985 $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)]); 1986 $self->checkProperty($self->semValue, $stackPos-(5-2)); 1987 }, 1988 344 => static function ($self, $stackPos) { 1989 $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)]); 1990 $self->checkClassConst($self->semValue, $stackPos-(5-2)); 1991 }, 1992 345 => static function ($self, $stackPos) { 1993 $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)]); 1994 $self->checkClassConst($self->semValue, $stackPos-(6-2)); 1995 }, 1996 346 => static function ($self, $stackPos) { 1997 $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])); 1998 $self->checkClassMethod($self->semValue, $stackPos-(10-2)); 1999 }, 2000 347 => static function ($self, $stackPos) { 2001 $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])); 2002 }, 2003 348 => static function ($self, $stackPos) { 2004 $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])); 2005 }, 2006 349 => static function ($self, $stackPos) { 2007 $self->semValue = null; /* will be skipped */ 2008 }, 2009 350 => static function ($self, $stackPos) { 2010 $self->semValue = array(); 2011 }, 2012 351 => static function ($self, $stackPos) { 2013 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2014 }, 2015 352 => static function ($self, $stackPos) { 2016 $self->semValue = array(); 2017 }, 2018 353 => static function ($self, $stackPos) { 2019 $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; 2020 }, 2021 354 => static function ($self, $stackPos) { 2022 $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])); 2023 }, 2024 355 => static function ($self, $stackPos) { 2025 $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])); 2026 }, 2027 356 => static function ($self, $stackPos) { 2028 $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])); 2029 }, 2030 357 => static function ($self, $stackPos) { 2031 $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])); 2032 }, 2033 358 => static function ($self, $stackPos) { 2034 $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])); 2035 }, 2036 359 => static function ($self, $stackPos) { 2037 $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); 2038 }, 2039 360 => null, 2040 361 => static function ($self, $stackPos) { 2041 $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); 2042 }, 2043 362 => static function ($self, $stackPos) { 2044 $self->semValue = null; 2045 }, 2046 363 => null, 2047 364 => null, 2048 365 => static function ($self, $stackPos) { 2049 $self->semValue = 0; 2050 }, 2051 366 => static function ($self, $stackPos) { 2052 $self->semValue = 0; 2053 }, 2054 367 => null, 2055 368 => null, 2056 369 => static function ($self, $stackPos) { 2057 $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)]; 2058 }, 2059 370 => static function ($self, $stackPos) { 2060 $self->semValue = Modifiers::PUBLIC; 2061 }, 2062 371 => static function ($self, $stackPos) { 2063 $self->semValue = Modifiers::PROTECTED; 2064 }, 2065 372 => static function ($self, $stackPos) { 2066 $self->semValue = Modifiers::PRIVATE; 2067 }, 2068 373 => static function ($self, $stackPos) { 2069 $self->semValue = Modifiers::STATIC; 2070 }, 2071 374 => static function ($self, $stackPos) { 2072 $self->semValue = Modifiers::ABSTRACT; 2073 }, 2074 375 => static function ($self, $stackPos) { 2075 $self->semValue = Modifiers::FINAL; 2076 }, 2077 376 => static function ($self, $stackPos) { 2078 $self->semValue = Modifiers::READONLY; 2079 }, 2080 377 => null, 2081 378 => static function ($self, $stackPos) { 2082 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 2083 }, 2084 379 => static function ($self, $stackPos) { 2085 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 2086 }, 2087 380 => static function ($self, $stackPos) { 2088 $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2089 }, 2090 381 => static function ($self, $stackPos) { 2091 $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2092 }, 2093 382 => static function ($self, $stackPos) { 2094 $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])); 2095 }, 2096 383 => null, 2097 384 => null, 2098 385 => static function ($self, $stackPos) { 2099 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 2100 }, 2101 386 => static function ($self, $stackPos) { 2102 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 2103 }, 2104 387 => static function ($self, $stackPos) { 2105 $self->semValue = array(); 2106 }, 2107 388 => null, 2108 389 => null, 2109 390 => static function ($self, $stackPos) { 2110 $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])); 2111 }, 2112 391 => static function ($self, $stackPos) { 2113 $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])); 2114 }, 2115 392 => static function ($self, $stackPos) { 2116 $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])); 2117 }, 2118 393 => static function ($self, $stackPos) { 2119 $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])); 2120 }, 2121 394 => static function ($self, $stackPos) { 2122 $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])); 2123 if (!$self->phpVersion->allowsAssignNewByReference()) { 2124 $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); 2125 } 2126 2127 }, 2128 395 => null, 2129 396 => null, 2130 397 => static function ($self, $stackPos) { 2131 $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2132 }, 2133 398 => static function ($self, $stackPos) { 2134 $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])); 2135 }, 2136 399 => static function ($self, $stackPos) { 2137 $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])); 2138 }, 2139 400 => static function ($self, $stackPos) { 2140 $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])); 2141 }, 2142 401 => static function ($self, $stackPos) { 2143 $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])); 2144 }, 2145 402 => static function ($self, $stackPos) { 2146 $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])); 2147 }, 2148 403 => static function ($self, $stackPos) { 2149 $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])); 2150 }, 2151 404 => static function ($self, $stackPos) { 2152 $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])); 2153 }, 2154 405 => static function ($self, $stackPos) { 2155 $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])); 2156 }, 2157 406 => static function ($self, $stackPos) { 2158 $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])); 2159 }, 2160 407 => static function ($self, $stackPos) { 2161 $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])); 2162 }, 2163 408 => static function ($self, $stackPos) { 2164 $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])); 2165 }, 2166 409 => static function ($self, $stackPos) { 2167 $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])); 2168 }, 2169 410 => static function ($self, $stackPos) { 2170 $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])); 2171 }, 2172 411 => static function ($self, $stackPos) { 2173 $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2174 }, 2175 412 => static function ($self, $stackPos) { 2176 $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2177 }, 2178 413 => static function ($self, $stackPos) { 2179 $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2180 }, 2181 414 => static function ($self, $stackPos) { 2182 $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2183 }, 2184 415 => static function ($self, $stackPos) { 2185 $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])); 2186 }, 2187 416 => static function ($self, $stackPos) { 2188 $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])); 2189 }, 2190 417 => static function ($self, $stackPos) { 2191 $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])); 2192 }, 2193 418 => static function ($self, $stackPos) { 2194 $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])); 2195 }, 2196 419 => static function ($self, $stackPos) { 2197 $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])); 2198 }, 2199 420 => static function ($self, $stackPos) { 2200 $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])); 2201 }, 2202 421 => static function ($self, $stackPos) { 2203 $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])); 2204 }, 2205 422 => static function ($self, $stackPos) { 2206 $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])); 2207 }, 2208 423 => static function ($self, $stackPos) { 2209 $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])); 2210 }, 2211 424 => static function ($self, $stackPos) { 2212 $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])); 2213 }, 2214 425 => static function ($self, $stackPos) { 2215 $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])); 2216 }, 2217 426 => static function ($self, $stackPos) { 2218 $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])); 2219 }, 2220 427 => static function ($self, $stackPos) { 2221 $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])); 2222 }, 2223 428 => static function ($self, $stackPos) { 2224 $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])); 2225 }, 2226 429 => static function ($self, $stackPos) { 2227 $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])); 2228 }, 2229 430 => static function ($self, $stackPos) { 2230 $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])); 2231 }, 2232 431 => static function ($self, $stackPos) { 2233 $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])); 2234 }, 2235 432 => static function ($self, $stackPos) { 2236 $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])); 2237 }, 2238 433 => static function ($self, $stackPos) { 2239 $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2240 }, 2241 434 => static function ($self, $stackPos) { 2242 $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2243 }, 2244 435 => static function ($self, $stackPos) { 2245 $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2246 }, 2247 436 => static function ($self, $stackPos) { 2248 $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2249 }, 2250 437 => static function ($self, $stackPos) { 2251 $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])); 2252 }, 2253 438 => static function ($self, $stackPos) { 2254 $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])); 2255 }, 2256 439 => static function ($self, $stackPos) { 2257 $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])); 2258 }, 2259 440 => static function ($self, $stackPos) { 2260 $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])); 2261 }, 2262 441 => static function ($self, $stackPos) { 2263 $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])); 2264 }, 2265 442 => static function ($self, $stackPos) { 2266 $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])); 2267 }, 2268 443 => static function ($self, $stackPos) { 2269 $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])); 2270 }, 2271 444 => static function ($self, $stackPos) { 2272 $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])); 2273 }, 2274 445 => static function ($self, $stackPos) { 2275 $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])); 2276 }, 2277 446 => static function ($self, $stackPos) { 2278 $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])); 2279 }, 2280 447 => static function ($self, $stackPos) { 2281 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2282 }, 2283 448 => static function ($self, $stackPos) { 2284 $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])); 2285 }, 2286 449 => static function ($self, $stackPos) { 2287 $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])); 2288 }, 2289 450 => static function ($self, $stackPos) { 2290 $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])); 2291 }, 2292 451 => static function ($self, $stackPos) { 2293 $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 2294 }, 2295 452 => static function ($self, $stackPos) { 2296 $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 2297 }, 2298 453 => static function ($self, $stackPos) { 2299 $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2300 }, 2301 454 => static function ($self, $stackPos) { 2302 $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])); 2303 }, 2304 455 => static function ($self, $stackPos) { 2305 $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 2306 }, 2307 456 => static function ($self, $stackPos) { 2308 $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2309 }, 2310 457 => static function ($self, $stackPos) { 2311 $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])); 2312 }, 2313 458 => static function ($self, $stackPos) { 2314 $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2315 }, 2316 459 => static function ($self, $stackPos) { 2317 $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); 2318 $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); 2319 $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); 2320 }, 2321 460 => static function ($self, $stackPos) { 2322 $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2323 }, 2324 461 => static function ($self, $stackPos) { 2325 $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2326 }, 2327 462 => static function ($self, $stackPos) { 2328 $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2329 }, 2330 463 => static function ($self, $stackPos) { 2331 $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2332 }, 2333 464 => static function ($self, $stackPos) { 2334 $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2335 }, 2336 465 => static function ($self, $stackPos) { 2337 $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); 2338 $attrs['kind'] = strtolower($self->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; 2339 $self->semValue = new Expr\Exit_($self->semStack[$stackPos-(2-2)], $attrs); 2340 }, 2341 466 => static function ($self, $stackPos) { 2342 $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2343 }, 2344 467 => null, 2345 468 => static function ($self, $stackPos) { 2346 $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 2347 }, 2348 469 => static function ($self, $stackPos) { 2349 $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2350 }, 2351 470 => static function ($self, $stackPos) { 2352 $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2353 }, 2354 471 => static function ($self, $stackPos) { 2355 $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2356 }, 2357 472 => static function ($self, $stackPos) { 2358 $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])); 2359 }, 2360 473 => static function ($self, $stackPos) { 2361 $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2362 }, 2363 474 => static function ($self, $stackPos) { 2364 $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2365 }, 2366 475 => static function ($self, $stackPos) { 2367 $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])); 2368 }, 2369 476 => static function ($self, $stackPos) { 2370 $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])); 2371 }, 2372 477 => static function ($self, $stackPos) { 2373 $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])); 2374 }, 2375 478 => static function ($self, $stackPos) { 2376 $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])); 2377 }, 2378 479 => static function ($self, $stackPos) { 2379 $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])); 2380 }, 2381 480 => static function ($self, $stackPos) { 2382 $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])); 2383 }, 2384 481 => static function ($self, $stackPos) { 2385 $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])); 2386 }, 2387 482 => static function ($self, $stackPos) { 2388 $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])); 2389 }, 2390 483 => static function ($self, $stackPos) { 2391 $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)]); 2392 $self->checkClass($self->semValue[0], -1); 2393 }, 2394 484 => static function ($self, $stackPos) { 2395 $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])); 2396 }, 2397 485 => static function ($self, $stackPos) { 2398 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])); 2399 }, 2400 486 => static function ($self, $stackPos) { 2401 $self->semValue = new Expr\New_($self->semStack[$stackPos-(2-2)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2402 }, 2403 487 => null, 2404 488 => null, 2405 489 => static function ($self, $stackPos) { 2406 $self->semValue = array(); 2407 }, 2408 490 => static function ($self, $stackPos) { 2409 $self->semValue = $self->semStack[$stackPos-(4-3)]; 2410 }, 2411 491 => null, 2412 492 => static function ($self, $stackPos) { 2413 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 2414 }, 2415 493 => static function ($self, $stackPos) { 2416 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 2417 }, 2418 494 => static function ($self, $stackPos) { 2419 $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])); 2420 }, 2421 495 => static function ($self, $stackPos) { 2422 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2423 }, 2424 496 => static function ($self, $stackPos) { 2425 $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])); 2426 }, 2427 497 => static function ($self, $stackPos) { 2428 $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])); 2429 }, 2430 498 => static function ($self, $stackPos) { 2431 $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])); 2432 }, 2433 499 => static function ($self, $stackPos) { 2434 $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])); 2435 }, 2436 500 => static function ($self, $stackPos) { 2437 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2438 }, 2439 501 => null, 2440 502 => static function ($self, $stackPos) { 2441 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2442 }, 2443 503 => static function ($self, $stackPos) { 2444 $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2445 }, 2446 504 => static function ($self, $stackPos) { 2447 $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2448 }, 2449 505 => static function ($self, $stackPos) { 2450 $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2451 }, 2452 506 => null, 2453 507 => null, 2454 508 => static function ($self, $stackPos) { 2455 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2456 }, 2457 509 => static function ($self, $stackPos) { 2458 $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; 2459 }, 2460 510 => null, 2461 511 => null, 2462 512 => static function ($self, $stackPos) { 2463 $self->semValue = null; 2464 }, 2465 513 => static function ($self, $stackPos) { 2466 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2467 }, 2468 514 => static function ($self, $stackPos) { 2469 $self->semValue = array(); 2470 }, 2471 515 => static function ($self, $stackPos) { 2472 $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()); } }; 2473 }, 2474 516 => static function ($self, $stackPos) { 2475 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)]; 2476 }, 2477 517 => static function ($self, $stackPos) { 2478 $self->semValue = array(); 2479 }, 2480 518 => null, 2481 519 => static function ($self, $stackPos) { 2482 $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2483 }, 2484 520 => static function ($self, $stackPos) { 2485 $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2486 }, 2487 521 => static function ($self, $stackPos) { 2488 $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2489 }, 2490 522 => static function ($self, $stackPos) { 2491 $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2492 }, 2493 523 => static function ($self, $stackPos) { 2494 $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2495 }, 2496 524 => static function ($self, $stackPos) { 2497 $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2498 }, 2499 525 => static function ($self, $stackPos) { 2500 $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2501 }, 2502 526 => static function ($self, $stackPos) { 2503 $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2504 }, 2505 527 => static function ($self, $stackPos) { 2506 $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2507 }, 2508 528 => static function ($self, $stackPos) { 2509 $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])); 2510 }, 2511 529 => static function ($self, $stackPos) { 2512 $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])); 2513 }, 2514 530 => static function ($self, $stackPos) { 2515 $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; 2516 }, 2517 531 => static function ($self, $stackPos) { 2518 $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; 2519 $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); 2520 }, 2521 532 => static function ($self, $stackPos) { 2522 $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; 2523 $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); 2524 $self->createdArrays->attach($self->semValue); 2525 }, 2526 533 => static function ($self, $stackPos) { 2527 $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); 2528 }, 2529 534 => static function ($self, $stackPos) { 2530 $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); 2531 }, 2532 535 => static function ($self, $stackPos) { 2533 $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; 2534 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); 2535 }, 2536 536 => static function ($self, $stackPos) { 2537 $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); 2538 }, 2539 537 => static function ($self, $stackPos) { 2540 $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2541 }, 2542 538 => null, 2543 539 => null, 2544 540 => null, 2545 541 => static function ($self, $stackPos) { 2546 $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); 2547 }, 2548 542 => static function ($self, $stackPos) { 2549 $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); 2550 }, 2551 543 => static function ($self, $stackPos) { 2552 $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); 2553 }, 2554 544 => static function ($self, $stackPos) { 2555 $self->semValue = null; 2556 }, 2557 545 => null, 2558 546 => null, 2559 547 => static function ($self, $stackPos) { 2560 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2561 }, 2562 548 => null, 2563 549 => null, 2564 550 => null, 2565 551 => null, 2566 552 => null, 2567 553 => null, 2568 554 => static function ($self, $stackPos) { 2569 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2570 }, 2571 555 => null, 2572 556 => null, 2573 557 => null, 2574 558 => static function ($self, $stackPos) { 2575 $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])); 2576 }, 2577 559 => static function ($self, $stackPos) { 2578 $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])); 2579 }, 2580 560 => null, 2581 561 => static function ($self, $stackPos) { 2582 $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])); 2583 }, 2584 562 => static function ($self, $stackPos) { 2585 $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])); 2586 }, 2587 563 => static function ($self, $stackPos) { 2588 $self->semValue = null; 2589 }, 2590 564 => null, 2591 565 => null, 2592 566 => null, 2593 567 => static function ($self, $stackPos) { 2594 $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])); 2595 }, 2596 568 => static function ($self, $stackPos) { 2597 $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])); 2598 }, 2599 569 => null, 2600 570 => static function ($self, $stackPos) { 2601 $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); 2602 }, 2603 571 => static function ($self, $stackPos) { 2604 $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2605 }, 2606 572 => static function ($self, $stackPos) { 2607 $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; 2608 }, 2609 573 => static function ($self, $stackPos) { 2610 $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; 2611 }, 2612 574 => static function ($self, $stackPos) { 2613 $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])); 2614 }, 2615 575 => null, 2616 576 => static function ($self, $stackPos) { 2617 $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])); 2618 }, 2619 577 => static function ($self, $stackPos) { 2620 $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])); 2621 }, 2622 578 => static function ($self, $stackPos) { 2623 $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])); 2624 }, 2625 579 => static function ($self, $stackPos) { 2626 $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])); 2627 }, 2628 580 => static function ($self, $stackPos) { 2629 $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])); 2630 }, 2631 581 => static function ($self, $stackPos) { 2632 $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])); 2633 }, 2634 582 => null, 2635 583 => static function ($self, $stackPos) { 2636 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2637 }, 2638 584 => null, 2639 585 => null, 2640 586 => static function ($self, $stackPos) { 2641 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2642 }, 2643 587 => null, 2644 588 => static function ($self, $stackPos) { 2645 $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; 2646 }, 2647 589 => static function ($self, $stackPos) { 2648 $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); 2649 $self->postprocessList($self->semValue); 2650 }, 2651 590 => static function ($self, $stackPos) { 2652 $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); 2653 }, 2654 591 => null, 2655 592 => static function ($self, $stackPos) { 2656 /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ 2657 }, 2658 593 => static function ($self, $stackPos) { 2659 $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; 2660 }, 2661 594 => static function ($self, $stackPos) { 2662 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 2663 }, 2664 595 => static function ($self, $stackPos) { 2665 $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2666 }, 2667 596 => static function ($self, $stackPos) { 2668 $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2669 }, 2670 597 => static function ($self, $stackPos) { 2671 $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2672 }, 2673 598 => static function ($self, $stackPos) { 2674 $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])); 2675 }, 2676 599 => static function ($self, $stackPos) { 2677 $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])); 2678 }, 2679 600 => static function ($self, $stackPos) { 2680 $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])); 2681 }, 2682 601 => static function ($self, $stackPos) { 2683 $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); 2684 }, 2685 602 => static function ($self, $stackPos) { 2686 /* Create an Error node now to remember the position. We'll later either report an error, 2687 or convert this into a null element, depending on whether this is a creation or destructuring context. */ 2688 $attrs = $self->createEmptyElemAttributes($self->tokenPos); 2689 $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); 2690 }, 2691 603 => static function ($self, $stackPos) { 2692 $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; 2693 }, 2694 604 => static function ($self, $stackPos) { 2695 $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; 2696 }, 2697 605 => static function ($self, $stackPos) { 2698 $self->semValue = array($self->semStack[$stackPos-(1-1)]); 2699 }, 2700 606 => static function ($self, $stackPos) { 2701 $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); 2702 }, 2703 607 => static function ($self, $stackPos) { 2704 $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); 2705 }, 2706 608 => static function ($self, $stackPos) { 2707 $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2708 }, 2709 609 => null, 2710 610 => static function ($self, $stackPos) { 2711 $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])); 2712 }, 2713 611 => static function ($self, $stackPos) { 2714 $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])); 2715 }, 2716 612 => static function ($self, $stackPos) { 2717 $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])); 2718 }, 2719 613 => static function ($self, $stackPos) { 2720 $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 2721 }, 2722 614 => static function ($self, $stackPos) { 2723 $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); 2724 }, 2725 615 => static function ($self, $stackPos) { 2726 $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])); 2727 }, 2728 616 => static function ($self, $stackPos) { 2729 $self->semValue = $self->semStack[$stackPos-(3-2)]; 2730 }, 2731 617 => static function ($self, $stackPos) { 2732 $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2733 }, 2734 618 => static function ($self, $stackPos) { 2735 $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); 2736 }, 2737 619 => static function ($self, $stackPos) { 2738 $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); 2739 }, 2740 620 => null, 2741 ]; 2742 } 2743} 2744