Php7.php 144 KB

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