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.

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