Php7.php 148 KB

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