You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2778 lines
166 KiB

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