Php7.php 129 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707
  1. <?php
  2. namespace PhpParser\Parser;
  3. use PhpParser\Error;
  4. use PhpParser\Node;
  5. use PhpParser\Node\Expr;
  6. use PhpParser\Node\Name;
  7. use PhpParser\Node\Scalar;
  8. use PhpParser\Node\Stmt;
  9. /* This is an automatically GENERATED file, which should not be manually edited.
  10. * Instead edit one of the following:
  11. * * the grammar files grammar/php5.y or grammar/php7.y
  12. * * the skeleton file grammar/parser.template
  13. * * the preprocessing script grammar/rebuildParsers.php
  14. */
  15. class Php7 extends \PhpParser\ParserAbstract
  16. {
  17. protected $tokenToSymbolMapSize = 392;
  18. protected $actionTableSize = 879;
  19. protected $gotoTableSize = 412;
  20. protected $invalidSymbol = 157;
  21. protected $errorSymbol = 1;
  22. protected $defaultAction = -32766;
  23. protected $unexpectedTokenRule = 32767;
  24. protected $YY2TBLSTATE = 328;
  25. protected $YYNLSTATES = 554;
  26. protected $symbolToName = array(
  27. "EOF",
  28. "error",
  29. "T_INCLUDE",
  30. "T_INCLUDE_ONCE",
  31. "T_EVAL",
  32. "T_REQUIRE",
  33. "T_REQUIRE_ONCE",
  34. "','",
  35. "T_LOGICAL_OR",
  36. "T_LOGICAL_XOR",
  37. "T_LOGICAL_AND",
  38. "T_PRINT",
  39. "T_YIELD",
  40. "T_DOUBLE_ARROW",
  41. "T_YIELD_FROM",
  42. "'='",
  43. "T_PLUS_EQUAL",
  44. "T_MINUS_EQUAL",
  45. "T_MUL_EQUAL",
  46. "T_DIV_EQUAL",
  47. "T_CONCAT_EQUAL",
  48. "T_MOD_EQUAL",
  49. "T_AND_EQUAL",
  50. "T_OR_EQUAL",
  51. "T_XOR_EQUAL",
  52. "T_SL_EQUAL",
  53. "T_SR_EQUAL",
  54. "T_POW_EQUAL",
  55. "'?'",
  56. "':'",
  57. "T_COALESCE",
  58. "T_BOOLEAN_OR",
  59. "T_BOOLEAN_AND",
  60. "'|'",
  61. "'^'",
  62. "'&'",
  63. "T_IS_EQUAL",
  64. "T_IS_NOT_EQUAL",
  65. "T_IS_IDENTICAL",
  66. "T_IS_NOT_IDENTICAL",
  67. "T_SPACESHIP",
  68. "'<'",
  69. "T_IS_SMALLER_OR_EQUAL",
  70. "'>'",
  71. "T_IS_GREATER_OR_EQUAL",
  72. "T_SL",
  73. "T_SR",
  74. "'+'",
  75. "'-'",
  76. "'.'",
  77. "'*'",
  78. "'/'",
  79. "'%'",
  80. "'!'",
  81. "T_INSTANCEOF",
  82. "'~'",
  83. "T_INC",
  84. "T_DEC",
  85. "T_INT_CAST",
  86. "T_DOUBLE_CAST",
  87. "T_STRING_CAST",
  88. "T_ARRAY_CAST",
  89. "T_OBJECT_CAST",
  90. "T_BOOL_CAST",
  91. "T_UNSET_CAST",
  92. "'@'",
  93. "T_POW",
  94. "'['",
  95. "T_NEW",
  96. "T_CLONE",
  97. "T_EXIT",
  98. "T_IF",
  99. "T_ELSEIF",
  100. "T_ELSE",
  101. "T_ENDIF",
  102. "T_LNUMBER",
  103. "T_DNUMBER",
  104. "T_STRING",
  105. "T_STRING_VARNAME",
  106. "T_VARIABLE",
  107. "T_NUM_STRING",
  108. "T_INLINE_HTML",
  109. "T_ENCAPSED_AND_WHITESPACE",
  110. "T_CONSTANT_ENCAPSED_STRING",
  111. "T_ECHO",
  112. "T_DO",
  113. "T_WHILE",
  114. "T_ENDWHILE",
  115. "T_FOR",
  116. "T_ENDFOR",
  117. "T_FOREACH",
  118. "T_ENDFOREACH",
  119. "T_DECLARE",
  120. "T_ENDDECLARE",
  121. "T_AS",
  122. "T_SWITCH",
  123. "T_ENDSWITCH",
  124. "T_CASE",
  125. "T_DEFAULT",
  126. "T_BREAK",
  127. "T_CONTINUE",
  128. "T_GOTO",
  129. "T_FUNCTION",
  130. "T_CONST",
  131. "T_RETURN",
  132. "T_TRY",
  133. "T_CATCH",
  134. "T_FINALLY",
  135. "T_THROW",
  136. "T_USE",
  137. "T_INSTEADOF",
  138. "T_GLOBAL",
  139. "T_STATIC",
  140. "T_ABSTRACT",
  141. "T_FINAL",
  142. "T_PRIVATE",
  143. "T_PROTECTED",
  144. "T_PUBLIC",
  145. "T_VAR",
  146. "T_UNSET",
  147. "T_ISSET",
  148. "T_EMPTY",
  149. "T_HALT_COMPILER",
  150. "T_CLASS",
  151. "T_TRAIT",
  152. "T_INTERFACE",
  153. "T_EXTENDS",
  154. "T_IMPLEMENTS",
  155. "T_OBJECT_OPERATOR",
  156. "T_LIST",
  157. "T_ARRAY",
  158. "T_CALLABLE",
  159. "T_CLASS_C",
  160. "T_TRAIT_C",
  161. "T_METHOD_C",
  162. "T_FUNC_C",
  163. "T_LINE",
  164. "T_FILE",
  165. "T_START_HEREDOC",
  166. "T_END_HEREDOC",
  167. "T_DOLLAR_OPEN_CURLY_BRACES",
  168. "T_CURLY_OPEN",
  169. "T_PAAMAYIM_NEKUDOTAYIM",
  170. "T_NAMESPACE",
  171. "T_NS_C",
  172. "T_DIR",
  173. "T_NS_SEPARATOR",
  174. "T_ELLIPSIS",
  175. "';'",
  176. "'{'",
  177. "'}'",
  178. "'('",
  179. "')'",
  180. "'`'",
  181. "']'",
  182. "'\"'",
  183. "'$'"
  184. );
  185. protected $tokenToSymbol = array(
  186. 0, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  187. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  188. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  189. 157, 157, 157, 53, 155, 157, 156, 52, 35, 157,
  190. 151, 152, 50, 47, 7, 48, 49, 51, 157, 157,
  191. 157, 157, 157, 157, 157, 157, 157, 157, 29, 148,
  192. 41, 15, 43, 28, 65, 157, 157, 157, 157, 157,
  193. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  194. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  195. 157, 67, 157, 154, 34, 157, 153, 157, 157, 157,
  196. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  197. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  198. 157, 157, 157, 149, 33, 150, 55, 157, 157, 157,
  199. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  200. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  201. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  202. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  203. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  204. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  205. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  206. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  207. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  208. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  209. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  210. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
  211. 157, 157, 157, 157, 157, 157, 1, 2, 3, 4,
  212. 5, 6, 8, 9, 10, 11, 12, 13, 14, 16,
  213. 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
  214. 27, 30, 31, 32, 36, 37, 38, 39, 40, 42,
  215. 44, 45, 46, 54, 56, 57, 58, 59, 60, 61,
  216. 62, 63, 64, 66, 68, 69, 70, 71, 72, 73,
  217. 74, 75, 76, 77, 78, 79, 80, 81, 157, 157,
  218. 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
  219. 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
  220. 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
  221. 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
  222. 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
  223. 132, 133, 134, 135, 136, 137, 157, 157, 157, 157,
  224. 157, 157, 138, 139, 140, 141, 142, 143, 144, 145,
  225. 146, 147
  226. );
  227. protected $action = array(
  228. 559, 560, 561, 562, 563, 704, 564, 565, 566, 602,
  229. 603,-32766,-32766,-32766,-32767,-32767,-32767,-32767, 88, 89,
  230. 90, 91, 92, 520,-32766,-32766,-32766,-32766,-32766,-32766,
  231. 0,-32766, 111,-32766,-32766,-32766,-32766,-32766,-32766,-32767,
  232. -32767,-32767,-32767,-32767,-32766, 335,-32766,-32766,-32766,-32766,
  233. -32766,-32766, 567,-32766,-32766,-32766,-32766, 279, 825, 826,
  234. 827, 824, 823, 822,-32766,-32766, 568, 569, 570, 571,
  235. 572, 573, 574, 265,-32766, 634,-32766,-32766,-32766,-32766,
  236. -32766, 258, 575, 576, 577, 578, 579, 580, 581, 582,
  237. 583, 584, 585, 605, 606, 607, 608, 609, 597, 598,
  238. 599, 600, 601, 586, 587, 588, 589, 590, 591, 592,
  239. 628, 629, 630, 631, 632, 633, 593, 594, 595, 596,
  240. 626, 617, 615, 616, 612, 613, 24, 604, 610, 611,
  241. 618, 619, 621, 620, 622, 623, 40, 41, 373, 42,
  242. 43, 614, 625, 624, 6, 44, 45, 7, 46, -262,
  243. 261, -418, 695, 825, 826, 827, 824, 823, 822, 817,
  244. 113, 22, 93, 94, 95, 636, 235, 985, 236, 22,
  245. 650, 651, 1027,-32766, 1029, 1028, -417, 949, 96,-32766,
  246. 985, 47, 48, 509, -233, 949, 219, 49,-32766, 50,
  247. 214, 215, 51, 52, 53, 54, 55, 56, 57, 58,
  248. 929, 22, 229, 59, 342,-32766,-32766,-32766, -450, 950,
  249. 951, 636, -418, 985, 330, -459, 221, 949,-32766,-32766,
  250. -32766, 705, -160, 390, 391,-32766, -418,-32766,-32766,-32766,
  251. -32766, 400, 391, -418, 344, -421, 346, -417,-32766, 209,
  252. -32766,-32766,-32766, 361, 267, 63, 399, 28, 359, 510,
  253. 118, -417, 344, 63, 386, 387, 803, 267, -417, 128,
  254. -420, 370, 219, 390, 391, 39, 955, 956, 957, 958,
  255. 952, 953, 237,-32766,-32766,-32766, -460, 400, 959, 954,
  256. 344, 126,-32766,-32766,-32766, 61, 211, 247, 799, 248,
  257. 267, 374, -122, -122, -122, -4, 705, 375, 117, 282,
  258. -416, 694,-32766, 782, 32, 17, 376, -122, 377, -122,
  259. 378, -122, 379, -122, 985, 380, -122, -122, -122, 33,
  260. 34, 381, 343, 752, 35, 382, 251, 299, 60, -233,
  261. 1019, 280, 281, 383, 384,-32766,-32766,-32766,-32766, 385,
  262. 288, 21, 680, 723, 388, 389, 341, 112, 90, 91,
  263. 92, 269, 37, -450, 354,-32766, 122,-32766,-32766,-32766,
  264. -459, -416, -459, 362, 537, -159, 374, -160, 707, 525,
  265. -122,-32766, 375, 353, 117, -416, 694, 125, -212, 32,
  266. 17, 376, -416, 377, 222, 378, 121, 379, 25, 217,
  267. 380, 267,-32766, 16, 33, 34, 381, 343, 336, 35,
  268. 382, 998, 798, 60, 246, 705, 280, 281, 383, 384,
  269. 776, 777, 447, 250, 385,-32766, 22, 642, 723, 388,
  270. 389, -460, 115, -460, 114, 426, 70, 71, 72, 494,
  271. 495, 1001, 949, 529, 110, 123,-32766, 109, 263, 1024,
  272. 691, 542, 753, 707, 525, -4, 26, 235, 73, 74,
  273. 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
  274. 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
  275. 95, 116, 235, 119, 705, 374, 238, 350, 390, 391,
  276. 527, 375, 963, 703, 96, 694, 783,-32766, 32, 17,
  277. 376, 922, 377, 216, 378, 692, 379, 484, 18, 380,
  278. 63, 220, 530, 33, 34, 381, 705, 716, 35, 382,
  279. -159, 218, 60, 38, 649, 280, 281, 124, 290, 96,
  280. -32766, 650, 651, 385, 802, 553, 504, 479, 480, 814,
  281. 543, 643, 528, 439, 531, 309, 438, 425, 776, 777,
  282. 420, 419, 351, 430, 374, 349, 637, 663, 636,-32766,
  283. 375, 1022, 707, 525, 694, 489, 424, 32, 17, 376,
  284. -216, 377, 508, 378,-32766, 379, 925, 493, 380, 482,
  285. 435, 519, 33, 34, 381, 705, 374, 35, 382, 485,
  286. 505, 60, 375, 348, 280, 281, 694, -80, 208, 32,
  287. 17, 376, 385, 377, 442, 378, 10, 379, 368, 498,
  288. 380, 262, 490, 538, 33, 34, 381, 705, 477, 35,
  289. 382, 259, 264, 60, 965, 0, 280, 281, 725, 962,
  290. 337, 707, 525, 0, 385, 260, 718, 724, 710, 0,
  291. 0, 0, 0, 0, 0, 532, 0, 0, 0, 0,
  292. 0, 0, 0, 3, 0, 374, 0, 0, 0, -376,
  293. 9, 375, 287, 739, 525, 694, 0, 331, 32, 17,
  294. 376, 302, 377, 314, 378, 315, 379, 319, 350, 380,
  295. 432, 332, 328, 33, 34, 381, 705, 374, 35, 382,
  296. 648, 693, 60, 375, 808, 280, 281, 694, 552, 551,
  297. 32, 17, 376, 385, 377, 31, 378, 647, 379, 701,
  298. 30, 380, 646, 807, 810, 33, 34, 381, 806, 735,
  299. 35, 382, 737, 683, 60, 747, 746, 280, 281, 740,
  300. 755, 685, 707, 525, 696, 385, 690, 702, 689, 688,
  301. 27, 97, 98, 99, 100, 101, 102, 103, 104, 105,
  302. 106, 107, 108, 809, 917, 257, 374, 256, 69, 549,
  303. 548, 546, 375, 544, 707, 525, 694, 541, 540, 32,
  304. 17, 376, 536, 377, 535, 378, 533, 379, 526, 329,
  305. 380, 854, 856, 916, 33, 34, 381, 719, 712, 35,
  306. 382, 1025, -416, 60, 815, 645, 280, 281, 1026, 721,
  307. 653, 652, 720, 918, 385, 744, 655, 654, 722, 545,
  308. 681, 1023, 986, 979, 991, 996, 999, 745, 644, 0,
  309. 36, -441, 339, 334, 266, 234, 233, 232, 231, 213,
  310. 212, 210, 129, 707, 525, -421, 910, 127, -420, -419,
  311. 120, 20, 23, 68, 67, 29, 62, 64, 66, 65,
  312. -443, 0, 15, -416, 19, 242, 894, 289, 456, -213,
  313. 473, 893, 461, 518, 897, 11, 947, -416, 939, 515,
  314. -212, 371, 367, 365, -416, 363, 14, 964, 13, 12,
  315. 0, -387, 0, 483, 990, 1021, 977, 978, 948
  316. );
  317. protected $actionCheck = array(
  318. 2, 3, 4, 5, 6, 1, 8, 9, 10, 11,
  319. 12, 8, 9, 10, 41, 42, 43, 44, 45, 46,
  320. 47, 48, 49, 77, 8, 9, 10, 8, 9, 10,
  321. 0, 28, 13, 30, 31, 32, 33, 34, 35, 36,
  322. 37, 38, 39, 40, 28, 7, 30, 31, 32, 33,
  323. 34, 35, 54, 8, 8, 9, 10, 7, 112, 113,
  324. 114, 115, 116, 117, 8, 9, 68, 69, 70, 71,
  325. 72, 73, 74, 7, 28, 77, 30, 31, 32, 33,
  326. 34, 7, 84, 85, 86, 87, 88, 89, 90, 91,
  327. 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
  328. 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
  329. 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
  330. 122, 123, 124, 125, 126, 127, 7, 129, 130, 131,
  331. 132, 133, 134, 135, 136, 137, 2, 3, 4, 5,
  332. 6, 143, 144, 145, 103, 11, 12, 7, 14, 79,
  333. 109, 67, 148, 112, 113, 114, 115, 116, 117, 118,
  334. 7, 67, 50, 51, 52, 77, 54, 79, 7, 67,
  335. 102, 103, 77, 103, 79, 80, 67, 83, 66, 109,
  336. 79, 47, 48, 77, 7, 83, 35, 53, 118, 55,
  337. 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
  338. 112, 67, 68, 69, 70, 8, 9, 10, 7, 75,
  339. 76, 77, 128, 79, 146, 7, 7, 83, 8, 9,
  340. 10, 1, 7, 129, 130, 28, 142, 30, 31, 32,
  341. 33, 143, 130, 149, 146, 151, 102, 128, 28, 13,
  342. 30, 31, 32, 29, 156, 151, 112, 13, 7, 143,
  343. 149, 142, 146, 151, 120, 121, 150, 156, 149, 15,
  344. 151, 7, 35, 129, 130, 67, 132, 133, 134, 135,
  345. 136, 137, 138, 8, 9, 10, 7, 143, 144, 145,
  346. 146, 15, 8, 9, 10, 151, 7, 153, 148, 155,
  347. 156, 71, 72, 73, 74, 0, 1, 77, 147, 7,
  348. 67, 81, 28, 152, 84, 85, 86, 87, 88, 89,
  349. 90, 91, 92, 93, 79, 95, 96, 97, 98, 99,
  350. 100, 101, 102, 29, 104, 105, 128, 79, 108, 152,
  351. 82, 111, 112, 113, 114, 8, 9, 10, 79, 119,
  352. 142, 7, 122, 123, 124, 125, 7, 149, 47, 48,
  353. 49, 67, 67, 152, 7, 28, 67, 30, 31, 79,
  354. 152, 128, 154, 149, 29, 7, 71, 152, 148, 149,
  355. 150, 112, 77, 7, 147, 142, 81, 15, 152, 84,
  356. 85, 86, 149, 88, 35, 90, 15, 92, 140, 141,
  357. 95, 156, 112, 152, 99, 100, 101, 102, 103, 104,
  358. 105, 77, 148, 108, 109, 1, 111, 112, 113, 114,
  359. 130, 131, 128, 128, 119, 156, 67, 122, 123, 124,
  360. 125, 152, 15, 154, 15, 82, 8, 9, 10, 72,
  361. 73, 152, 83, 29, 149, 29, 156, 15, 143, 150,
  362. 148, 29, 148, 148, 149, 150, 28, 54, 30, 31,
  363. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
  364. 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
  365. 52, 29, 54, 149, 1, 71, 29, 146, 129, 130,
  366. 149, 77, 139, 29, 66, 81, 152, 79, 84, 85,
  367. 86, 152, 88, 35, 90, 148, 92, 72, 73, 95,
  368. 151, 35, 29, 99, 100, 101, 1, 35, 104, 105,
  369. 152, 35, 108, 67, 148, 111, 112, 97, 98, 66,
  370. 112, 102, 103, 119, 148, 149, 74, 106, 107, 148,
  371. 149, 148, 149, 77, 29, 78, 77, 77, 130, 131,
  372. 77, 77, 77, 82, 71, 77, 77, 77, 77, 82,
  373. 77, 77, 148, 149, 81, 93, 79, 84, 85, 86,
  374. 152, 88, 79, 90, 156, 92, 79, 79, 95, 79,
  375. 86, 89, 99, 100, 101, 1, 71, 104, 105, 87,
  376. 91, 108, 77, 102, 111, 112, 81, 94, 94, 84,
  377. 85, 86, 119, 88, 94, 90, 94, 92, 102, 96,
  378. 95, 110, 96, 29, 99, 100, 101, 1, 109, 104,
  379. 105, 126, 126, 108, 139, -1, 111, 112, 123, 139,
  380. 123, 148, 149, -1, 119, 127, 147, 123, 150, -1,
  381. -1, -1, -1, -1, -1, 29, -1, -1, -1, -1,
  382. -1, -1, -1, 142, -1, 71, -1, -1, -1, 142,
  383. 142, 77, 142, 148, 149, 81, -1, 146, 84, 85,
  384. 86, 146, 88, 146, 90, 146, 92, 146, 146, 95,
  385. 146, 146, 149, 99, 100, 101, 1, 71, 104, 105,
  386. 148, 148, 108, 77, 148, 111, 112, 81, 148, 148,
  387. 84, 85, 86, 119, 88, 148, 90, 148, 92, 148,
  388. 148, 95, 148, 148, 148, 99, 100, 101, 148, 148,
  389. 104, 105, 148, 148, 108, 148, 148, 111, 112, 148,
  390. 148, 148, 148, 149, 148, 119, 148, 148, 148, 148,
  391. 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
  392. 25, 26, 27, 148, 150, 149, 71, 149, 149, 149,
  393. 149, 149, 77, 149, 148, 149, 81, 149, 149, 84,
  394. 85, 86, 149, 88, 149, 90, 149, 92, 149, 149,
  395. 95, 56, 57, 150, 99, 100, 101, 150, 150, 104,
  396. 105, 150, 67, 108, 150, 150, 111, 112, 150, 150,
  397. 150, 150, 150, 150, 119, 150, 150, 150, 150, 150,
  398. 150, 150, 150, 150, 150, 150, 150, 150, 150, -1,
  399. 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
  400. 151, 151, 151, 148, 149, 151, 153, 151, 151, 151,
  401. 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
  402. 151, -1, 152, 128, 152, 152, 152, 152, 152, 152,
  403. 152, 152, 152, 152, 152, 152, 152, 142, 152, 152,
  404. 152, 152, 152, 152, 149, 152, 152, 155, 152, 152,
  405. -1, 153, -1, 154, 154, 154, 154, 154, 154
  406. );
  407. protected $actionBase = array(
  408. 0, 220, 295, 101, 106, 536, -2, -2, -2, -2,
  409. -54, 473, 606, 574, 606, 404, 505, 675, 675, 675,
  410. 151, 227, 458, 458, 458, 457, 442, 476, 466, 134,
  411. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  412. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  413. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  414. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  415. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  416. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  417. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  418. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  419. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  420. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  421. 294, 4, 234, 551, 693, 702, 696, 690, 703, 494,
  422. 695, 694, 651, 652, 406, 653, 654, 655, 656, 698,
  423. 719, 692, 701, 418, 418, 418, 418, 418, 418, 418,
  424. 418, 418, 418, 418, 418, 418, 418, 418, 418, 45,
  425. 19, 56, 265, 265, 265, 265, 265, 265, 265, 265,
  426. 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
  427. 274, 274, 274, 327, 210, 197, 46, 715, 16, 3,
  428. 3, 3, 3, 3, -27, -27, -27, -27, 349, 349,
  429. 94, 94, 102, 102, 102, 102, 102, 102, 102, 102,
  430. 102, 102, 102, 648, 639, 642, 643, 301, 301, 497,
  431. 70, 408, 408, 408, 408, 88, 280, 343, 280, 475,
  432. 712, 84, 109, 112, 112, 112, 68, 461, 248, 248,
  433. 324, 324, 233, 233, 198, 233, 419, 419, 419, 259,
  434. 259, 259, 259, 331, 259, 259, 259, 599, 467, 95,
  435. 506, 645, 376, 503, 657, 285, 269, 208, 511, 525,
  436. 235, 481, 235, 421, 425, 357, 507, 235, 235, 214,
  437. 294, 381, 393, 533, 456, 366, 554, 292, 347, 284,
  438. 383, 241, 598, 549, 700, 358, 699, 201, 279, 289,
  439. 393, 393, 393, 334, 596, 523, 177, 226, 647, 620,
  440. 215, 646, 641, 140, 254, 640, 339, 560, 471, 471,
  441. 471, 471, 471, 471, 472, 471, 463, 680, 680, 459,
  442. 490, 472, 659, 472, 471, 680, 472, 119, 472, 485,
  443. 471, 486, 486, 463, 477, 498, 680, 680, 498, 459,
  444. 472, 541, 540, 499, 479, 447, 447, 499, 472, 447,
  445. 490, 447, 30, 685, 686, 454, 688, 684, 687, 661,
  446. 683, 464, 619, 504, 495, 669, 668, 682, 460, 468,
  447. 670, 681, 524, 532, 465, 422, 501, 446, 678, 481,
  448. 522, 453, 453, 453, 446, 674, 453, 453, 453, 453,
  449. 453, 453, 453, 453, 724, 510, 484, 581, 580, 579,
  450. 409, 578, 515, 500, 407, 604, 480, 524, 524, 650,
  451. 718, 673, 469, 667, 706, 679, 552, 153, 371, 666,
  452. 649, 517, 470, 519, 665, 602, 704, 474, 638, 524,
  453. 635, 453, 660, 689, 722, 723, 677, 720, 713, 161,
  454. 521, 576, 66, 721, 658, 601, 600, 547, 717, 711,
  455. 710, 496, 66, 573, 492, 697, 462, 662, 488, 663,
  456. 617, 362, 266, 631, 676, 572, 716, 714, 708, 571,
  457. 568, 615, 613, 244, 671, 335, 452, 489, 567, 487,
  458. 483, 628, 609, 664, 565, 564, 627, 623, 707, 493,
  459. 522, 508, 491, 502, 482, 608, 594, 709, 412, 561,
  460. 595, 556, 478, 555, 634, 0, 0, 0, 0, 0,
  461. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  462. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  463. 0, 0, 0, 0, 0, 134, 134, -2, -2, -2,
  464. 0, 0, 0, 0, -2, 134, 134, 134, 134, 134,
  465. 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
  466. 134, 134, 134, 0, 0, 0, 0, 0, 0, 0,
  467. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  468. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  469. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  470. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  471. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  472. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  473. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  474. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  475. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  476. 0, 0, 0, 0, 418, 418, 418, 418, 418, 418,
  477. 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
  478. 418, 418, 418, 418, 418, 418, 418, 0, 0, 0,
  479. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  480. 0, 0, 0, 418, 418, 418, 418, 418, 418, 418,
  481. 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
  482. 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
  483. 418, 0, 418, 418, 418, 418, 418, 418, 112, 112,
  484. 112, 112, 88, 88, 88, 88, 88, 88, 88, 88,
  485. 88, 88, 88, 88, 88, 88, 88, 41, 41, 41,
  486. 41, 112, 112, 88, 41, 88, 88, 88, 88, 0,
  487. 88, 248, 88, 248, 248, 0, 0, 0, 0, 0,
  488. 471, 248, 0, 0, 235, 235, 0, 0, 0, 0,
  489. 471, 471, 471, 88, 88, 88, 88, 471, 88, 88,
  490. 88, 235, 248, 0, 420, 420, 66, 420, 420, 0,
  491. 0, 0, 471, 471, 0, 477, 0, 0, 0, 0,
  492. 680, 0, 0, 0, 0, 0, 453, 153, 667, 0,
  493. 50, 0, 0, 0, 0, 0, 469, 50, 209, 0,
  494. 209, 0, 0, 0, 453, 453, 453, 0, 469, 469,
  495. 0, 0, 74, 469, 0, 74, 38, 0, 0, 38,
  496. 0, 66
  497. );
  498. protected $actionDefault = array(
  499. 3,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  500. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  501. 32767,32767, 453, 453, 413,32767,32767,32767,32767, 280,
  502. 280, 280,32767, 414, 414, 414, 414, 414, 414, 414,
  503. 32767,32767,32767,32767,32767, 358,32767,32767,32767,32767,
  504. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  505. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  506. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  507. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  508. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  509. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  510. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  511. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  512. 32767,32767, 458,32767,32767,32767,32767,32767,32767,32767,
  513. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  514. 32767,32767,32767, 341, 342, 344, 345, 279, 415, 232,
  515. 457, 278, 116, 241, 234, 189, 119, 277, 220, 306,
  516. 359, 308, 357, 361, 307, 284, 288, 289, 290, 291,
  517. 292, 293, 294, 295, 296, 297, 298, 299, 283, 360,
  518. 338, 337, 336, 304, 305, 309, 311, 282, 310, 327,
  519. 328, 325, 326, 329, 330, 331, 332, 333,32767,32767,
  520. 452, 452,32767,32767,32767,32767,32767,32767,32767,32767,
  521. 32767,32767,32767, 264, 264, 264, 264, 318, 319,32767,
  522. 265, 224, 224, 224, 224,32767, 224,32767,32767,32767,
  523. 32767, 406, 335, 313, 314, 312,32767, 386,32767, 388,
  524. 32767,32767, 301, 303, 381, 285,32767,32767,32767,32767,
  525. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  526. 32767,32767,32767,32767,32767, 383, 416, 416,32767,32767,
  527. 32767, 375,32767, 157, 208, 210, 391,32767,32767,32767,
  528. 32767,32767, 323,32767,32767,32767,32767,32767,32767, 466,
  529. 32767,32767,32767,32767,32767, 416,32767, 416,32767,32767,
  530. 315, 316, 317,32767,32767,32767, 416, 416,32767,32767,
  531. 416,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  532. 32767,32767,32767,32767, 161,32767,32767, 389, 389,32767,
  533. 32767, 161, 384, 161,32767,32767, 161, 412, 161, 174,
  534. 32767, 172, 172,32767,32767, 176,32767, 430, 176,32767,
  535. 161, 194, 194, 367, 163, 226, 226, 367, 161, 226,
  536. 32767, 226,32767,32767,32767, 82,32767,32767,32767,32767,
  537. 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
  538. 32767,32767, 377,32767,32767,32767,32767, 407, 428, 375,
  539. 32767, 321, 322, 324,32767, 418, 346, 347, 348, 349,
  540. 350, 351, 352, 354,32767, 380,32767,32767,32767,32767,
  541. 32767,32767, 84, 108, 240,32767, 465, 84, 378,32767,
  542. 465,32767,32767,32767,32767,32767,32767, 281,32767,32767,
  543. 32767, 84,32767, 84,32767,32767,32767,32767, 416, 379,
  544. 32767, 320, 392, 434,32767,32767, 417,32767,32767, 215,
  545. 84,32767, 175,32767,32767,32767,32767,32767,32767,32767,
  546. 32767,32767, 177,32767,32767, 416,32767,32767,32767,32767,
  547. 32767,32767, 276,32767,32767,32767,32767,32767, 416,32767,
  548. 32767,32767,32767, 219,32767,32767,32767,32767,32767,32767,
  549. 32767,32767,32767,32767,32767,32767,32767,32767,32767, 82,
  550. 60,32767, 258,32767,32767,32767,32767,32767,32767,32767,
  551. 32767,32767,32767,32767,32767, 121, 121, 3, 3, 121,
  552. 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
  553. 121, 121, 121, 121, 243, 154, 243, 202, 243, 243,
  554. 205, 194, 194, 250
  555. );
  556. protected $goto = array(
  557. 159, 159, 132, 132, 132, 142, 144, 175, 160, 157,
  558. 157, 157, 157, 158, 158, 158, 158, 158, 158, 158,
  559. 153, 154, 155, 156, 172, 170, 173, 401, 402, 292,
  560. 403, 406, 407, 408, 409, 410, 411, 412, 413, 841,
  561. 133, 134, 135, 136, 137, 138, 139, 140, 141, 143,
  562. 169, 171, 174, 190, 193, 194, 195, 196, 198, 199,
  563. 200, 201, 202, 203, 204, 205, 206, 207, 227, 228,
  564. 243, 244, 245, 310, 311, 312, 451, 176, 177, 178,
  565. 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
  566. 145, 189, 146, 161, 162, 163, 191, 164, 147, 148,
  567. 149, 165, 150, 192, 130, 166, 167, 151, 168, 152,
  568. 511, 422, 452, 813, 523, 677, 639, 503, 811, 271,
  569. 641, 427, 427, 427, 640, 754, 453, 734, 427, 547,
  570. 5, 416, 763, 758, 418, 421, 434, 454, 455, 457,
  571. 467, 486, 440, 443, 427, 550, 474, 476, 497, 501,
  572. 751, 506, 507, 765, 514, 750, 516, 522, 761, 524,
  573. 317, 488, 307, 307, 305, 305, 252, 253, 276, 448,
  574. 255, 316, 277, 320, 475, 404, 404, 404, 404, 404,
  575. 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  576. 926, 249, 240, 427, 427, 441, 460, 427, 427, 664,
  577. 427, 768, 768, 1005, 1005, 492, 415, 671, 502, 428,
  578. 291, 224, 415, 225, 226, 449, 405, 405, 405, 405,
  579. 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
  580. 405, 664, 664, 294, 1015, 1015, 433, 521, 444, 450,
  581. 464, 1016, 1016, 698, 1015, 469, 470, 517, 738, 927,
  582. 364, 1016, 472, 272, 327, 785, 446, 293, 8, 1009,
  583. 928, 981, 487, 1018, 306, 1002, 888, 781, 772, 278,
  584. 992, 321, 300, 660, 303, 534, 658, 325, 919, 924,
  585. 789, 657, 657, 665, 665, 665, 667, 358, 656, 668,
  586. 466, 792, 742, 369, 829, 0, 0, 0, 0, 0,
  587. 0, 0, 0, 0, 0, 0, 0, 0, 273, 274,
  588. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  589. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  590. 0, 0, 0, 0, 0, 930, 0, 775, 775, 775,
  591. 775, 930, 775, 0, 775, 0, 0, 0, 0, 0,
  592. 821, 0, 989, 0, 0, 0, 0, 0, 989, 0,
  593. 0, 0, 0, 0, 0, 732, 732, 732, 732, 0,
  594. 727, 733, 500, 1000, 1000, 0, 0, 0, 0, 0,
  595. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  596. 987, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  597. 0, 0, 0, 791, 0, 791, 0, 0, 0, 0,
  598. 993, 994
  599. );
  600. protected $gotoCheck = array(
  601. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  602. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  603. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  604. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  605. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  606. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  607. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  608. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  609. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  610. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  611. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  612. 51, 8, 7, 7, 7, 10, 10, 7, 7, 63,
  613. 12, 8, 8, 8, 11, 10, 77, 10, 8, 10,
  614. 89, 10, 10, 10, 38, 38, 38, 38, 38, 38,
  615. 35, 35, 28, 8, 8, 28, 28, 28, 28, 28,
  616. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  617. 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
  618. 45, 45, 45, 45, 45, 110, 110, 110, 110, 110,
  619. 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
  620. 73, 109, 109, 8, 8, 8, 8, 8, 8, 19,
  621. 8, 68, 68, 68, 68, 55, 106, 25, 55, 8,
  622. 55, 59, 106, 59, 59, 8, 111, 111, 111, 111,
  623. 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
  624. 111, 19, 19, 52, 121, 121, 52, 5, 52, 2,
  625. 2, 122, 122, 44, 121, 54, 54, 54, 29, 73,
  626. 52, 122, 61, 61, 61, 75, 112, 41, 52, 120,
  627. 73, 73, 43, 121, 42, 118, 93, 72, 70, 14,
  628. 115, 18, 9, 21, 13, 65, 20, 17, 99, 101,
  629. 76, 19, 19, 19, 19, 19, 19, 57, 19, 22,
  630. 58, 78, 62, 97, 91, -1, -1, -1, -1, -1,
  631. -1, -1, -1, -1, -1, -1, -1, -1, 63, 63,
  632. -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  633. -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  634. -1, -1, -1, -1, -1, 51, -1, 51, 51, 51,
  635. 51, 51, 51, -1, 51, -1, -1, -1, -1, -1,
  636. 89, -1, 77, -1, -1, -1, -1, -1, 77, -1,
  637. -1, -1, -1, -1, -1, 51, 51, 51, 51, -1,
  638. 51, 51, 51, 77, 77, -1, -1, -1, -1, -1,
  639. -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  640. 77, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  641. -1, -1, -1, 77, -1, 77, -1, -1, -1, -1,
  642. 77, 77
  643. );
  644. protected $gotoBase = array(
  645. 0, 0, -288, 0, 0, 227, 0, 109, -135, 9,
  646. 114, 122, 118, -4, 23, 0, 0, -52, 14, -47,
  647. -3, 15, -64, -20, 0, 200, 0, 0, -384, 232,
  648. 0, 0, 0, 0, 0, 110, 0, 0, 100, 0,
  649. 0, 225, 51, 53, 229, -48, 0, 0, 0, 0,
  650. 0, 106, -110, 0, 13, -161, 0, -65, -68, -335,
  651. 0, -8, -67, -243, 0, -15, 0, 0, -7, 0,
  652. 32, 0, 29, -96, 0, 234, -2, 123, -63, 0,
  653. 0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
  654. 0, -76, 0, 31, 0, 0, 0, -74, 0, -60,
  655. 0, -62, 0, 0, 0, 0, -23, 0, 0, -56,
  656. -33, 8, 233, 0, 0, 19, 0, 0, 54, 0,
  657. 235, -5, 2, 0
  658. );
  659. protected $gotoDefault = array(
  660. -32768, 372, 555, 2, 556, 627, 635, 481, 392, 423,
  661. 736, 678, 679, 296, 333, 393, 295, 322, 318, 666,
  662. 659, 661, 669, 131, 323, 672, 1, 674, 429, 706,
  663. 284, 682, 285, 496, 684, 436, 686, 687, 417, 297,
  664. 298, 437, 304, 468, 697, 197, 301, 699, 283, 700,
  665. 709, 286, 499, 478, 458, 491, 394, 355, 465, 223,
  666. 445, 462, 741, 270, 749, 539, 757, 760, 395, 459,
  667. 771, 360, 779, 944, 313, 784, 790, 976, 793, 796,
  668. 340, 324, 471, 800, 801, 4, 805, 512, 513, 820,
  669. 230, 828, 840, 338, 907, 909, 431, 366, 920, 352,
  670. 326, 923, 980, 345, 396, 356, 936, 254, 275, 239,
  671. 397, 241, 414, 1008, 398, 357, 983, 308, 1003, 347,
  672. 1010, 1017, 268, 463
  673. );
  674. protected $ruleToNonTerminal = array(
  675. 0, 1, 3, 3, 2, 5, 5, 5, 5, 5,
  676. 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  677. 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  678. 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  679. 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  680. 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  681. 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  682. 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
  683. 7, 7, 8, 8, 9, 4, 4, 4, 4, 4,
  684. 4, 4, 4, 4, 4, 4, 14, 14, 15, 15,
  685. 15, 15, 17, 17, 13, 13, 18, 18, 19, 19,
  686. 20, 20, 21, 21, 16, 16, 22, 24, 24, 25,
  687. 26, 26, 28, 27, 27, 27, 27, 29, 29, 29,
  688. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  689. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  690. 29, 29, 10, 10, 48, 48, 50, 49, 49, 42,
  691. 42, 52, 52, 53, 53, 11, 12, 12, 12, 56,
  692. 56, 56, 57, 57, 60, 60, 58, 58, 61, 61,
  693. 36, 36, 44, 44, 47, 47, 47, 46, 46, 62,
  694. 37, 37, 37, 37, 63, 63, 64, 64, 65, 65,
  695. 34, 34, 30, 30, 66, 32, 32, 67, 31, 31,
  696. 33, 33, 43, 43, 43, 54, 54, 69, 69, 70,
  697. 70, 72, 72, 72, 71, 71, 55, 55, 73, 73,
  698. 74, 74, 75, 75, 75, 39, 39, 76, 40, 40,
  699. 78, 78, 59, 59, 79, 79, 79, 79, 84, 84,
  700. 85, 85, 86, 86, 86, 86, 86, 87, 88, 88,
  701. 83, 83, 80, 80, 82, 82, 90, 90, 89, 89,
  702. 89, 89, 89, 89, 81, 81, 91, 91, 41, 41,
  703. 35, 35, 23, 23, 23, 23, 23, 23, 23, 23,
  704. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  705. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  706. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  707. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  708. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  709. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  710. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  711. 23, 23, 23, 23, 98, 92, 92, 97, 97, 100,
  712. 100, 101, 102, 102, 102, 106, 106, 51, 51, 51,
  713. 93, 93, 104, 104, 94, 94, 96, 96, 96, 99,
  714. 99, 110, 110, 111, 111, 111, 95, 95, 95, 95,
  715. 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
  716. 95, 95, 113, 113, 38, 38, 108, 108, 108, 103,
  717. 103, 103, 114, 114, 114, 114, 114, 114, 45, 45,
  718. 45, 77, 77, 77, 116, 107, 107, 107, 107, 107,
  719. 107, 105, 105, 105, 115, 115, 115, 68, 117, 117,
  720. 118, 118, 118, 112, 112, 119, 119, 120, 120, 120,
  721. 120, 109, 109, 109, 109, 122, 121, 121, 121, 121,
  722. 121, 121, 121, 123, 123, 123
  723. );
  724. protected $ruleToLength = array(
  725. 1, 1, 2, 0, 1, 1, 1, 1, 1, 1,
  726. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  727. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  728. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  729. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  730. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  731. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  732. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  733. 1, 1, 1, 3, 1, 1, 1, 1, 1, 3,
  734. 5, 4, 3, 4, 2, 3, 1, 1, 7, 8,
  735. 6, 7, 3, 1, 3, 1, 3, 1, 1, 3,
  736. 1, 2, 1, 2, 3, 1, 3, 3, 1, 3,
  737. 2, 0, 1, 1, 1, 1, 1, 3, 7, 10,
  738. 5, 7, 9, 5, 3, 3, 3, 3, 3, 3,
  739. 1, 2, 5, 7, 9, 5, 6, 3, 3, 2,
  740. 2, 1, 1, 1, 0, 2, 8, 0, 4, 1,
  741. 3, 0, 1, 0, 1, 10, 7, 6, 5, 1,
  742. 2, 2, 0, 2, 0, 2, 0, 2, 1, 3,
  743. 1, 4, 1, 4, 1, 1, 4, 1, 3, 3,
  744. 3, 4, 4, 5, 0, 2, 4, 3, 1, 1,
  745. 1, 4, 0, 2, 5, 0, 2, 6, 0, 2,
  746. 0, 3, 1, 2, 1, 1, 0, 1, 3, 4,
  747. 6, 1, 1, 1, 0, 1, 0, 2, 2, 3,
  748. 1, 3, 1, 2, 2, 3, 1, 1, 3, 1,
  749. 1, 3, 2, 0, 3, 3, 9, 3, 1, 3,
  750. 0, 2, 4, 5, 4, 4, 4, 3, 1, 1,
  751. 1, 3, 1, 1, 0, 1, 1, 2, 1, 1,
  752. 1, 1, 1, 1, 1, 3, 1, 3, 3, 1,
  753. 0, 1, 1, 3, 3, 4, 1, 2, 3, 3,
  754. 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  755. 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
  756. 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  757. 3, 2, 2, 2, 2, 3, 3, 3, 3, 3,
  758. 3, 3, 3, 3, 3, 3, 5, 4, 3, 4,
  759. 4, 2, 2, 4, 2, 2, 2, 2, 2, 2,
  760. 2, 2, 2, 2, 2, 1, 3, 2, 1, 2,
  761. 4, 2, 10, 11, 7, 3, 2, 0, 4, 1,
  762. 3, 2, 2, 2, 4, 1, 1, 1, 2, 3,
  763. 1, 1, 1, 1, 0, 3, 0, 1, 1, 0,
  764. 1, 1, 3, 4, 3, 1, 1, 1, 1, 1,
  765. 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
  766. 3, 3, 0, 1, 0, 1, 1, 3, 1, 1,
  767. 3, 1, 1, 4, 4, 4, 1, 4, 1, 1,
  768. 3, 1, 4, 2, 3, 1, 4, 4, 3, 3,
  769. 3, 1, 3, 1, 1, 3, 1, 4, 3, 1,
  770. 1, 1, 0, 0, 2, 3, 1, 3, 1, 4,
  771. 2, 2, 2, 1, 2, 1, 1, 4, 3, 3,
  772. 3, 6, 3, 1, 1, 1
  773. );
  774. protected function reduceRule0() {
  775. $this->semValue = $this->semStack[$this->stackPos];
  776. }
  777. protected function reduceRule1() {
  778. $this->semValue = $this->handleNamespaces($this->semStack[$this->stackPos-(1-1)]);
  779. }
  780. protected function reduceRule2() {
  781. if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; };
  782. }
  783. protected function reduceRule3() {
  784. $this->semValue = array();
  785. }
  786. protected function reduceRule4() {
  787. $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; };
  788. if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  789. }
  790. protected function reduceRule5() {
  791. $this->semValue = $this->semStack[$this->stackPos];
  792. }
  793. protected function reduceRule6() {
  794. $this->semValue = $this->semStack[$this->stackPos];
  795. }
  796. protected function reduceRule7() {
  797. $this->semValue = $this->semStack[$this->stackPos];
  798. }
  799. protected function reduceRule8() {
  800. $this->semValue = $this->semStack[$this->stackPos];
  801. }
  802. protected function reduceRule9() {
  803. $this->semValue = $this->semStack[$this->stackPos];
  804. }
  805. protected function reduceRule10() {
  806. $this->semValue = $this->semStack[$this->stackPos];
  807. }
  808. protected function reduceRule11() {
  809. $this->semValue = $this->semStack[$this->stackPos];
  810. }
  811. protected function reduceRule12() {
  812. $this->semValue = $this->semStack[$this->stackPos];
  813. }
  814. protected function reduceRule13() {
  815. $this->semValue = $this->semStack[$this->stackPos];
  816. }
  817. protected function reduceRule14() {
  818. $this->semValue = $this->semStack[$this->stackPos];
  819. }
  820. protected function reduceRule15() {
  821. $this->semValue = $this->semStack[$this->stackPos];
  822. }
  823. protected function reduceRule16() {
  824. $this->semValue = $this->semStack[$this->stackPos];
  825. }
  826. protected function reduceRule17() {
  827. $this->semValue = $this->semStack[$this->stackPos];
  828. }
  829. protected function reduceRule18() {
  830. $this->semValue = $this->semStack[$this->stackPos];
  831. }
  832. protected function reduceRule19() {
  833. $this->semValue = $this->semStack[$this->stackPos];
  834. }
  835. protected function reduceRule20() {
  836. $this->semValue = $this->semStack[$this->stackPos];
  837. }
  838. protected function reduceRule21() {
  839. $this->semValue = $this->semStack[$this->stackPos];
  840. }
  841. protected function reduceRule22() {
  842. $this->semValue = $this->semStack[$this->stackPos];
  843. }
  844. protected function reduceRule23() {
  845. $this->semValue = $this->semStack[$this->stackPos];
  846. }
  847. protected function reduceRule24() {
  848. $this->semValue = $this->semStack[$this->stackPos];
  849. }
  850. protected function reduceRule25() {
  851. $this->semValue = $this->semStack[$this->stackPos];
  852. }
  853. protected function reduceRule26() {
  854. $this->semValue = $this->semStack[$this->stackPos];
  855. }
  856. protected function reduceRule27() {
  857. $this->semValue = $this->semStack[$this->stackPos];
  858. }
  859. protected function reduceRule28() {
  860. $this->semValue = $this->semStack[$this->stackPos];
  861. }
  862. protected function reduceRule29() {
  863. $this->semValue = $this->semStack[$this->stackPos];
  864. }
  865. protected function reduceRule30() {
  866. $this->semValue = $this->semStack[$this->stackPos];
  867. }
  868. protected function reduceRule31() {
  869. $this->semValue = $this->semStack[$this->stackPos];
  870. }
  871. protected function reduceRule32() {
  872. $this->semValue = $this->semStack[$this->stackPos];
  873. }
  874. protected function reduceRule33() {
  875. $this->semValue = $this->semStack[$this->stackPos];
  876. }
  877. protected function reduceRule34() {
  878. $this->semValue = $this->semStack[$this->stackPos];
  879. }
  880. protected function reduceRule35() {
  881. $this->semValue = $this->semStack[$this->stackPos];
  882. }
  883. protected function reduceRule36() {
  884. $this->semValue = $this->semStack[$this->stackPos];
  885. }
  886. protected function reduceRule37() {
  887. $this->semValue = $this->semStack[$this->stackPos];
  888. }
  889. protected function reduceRule38() {
  890. $this->semValue = $this->semStack[$this->stackPos];
  891. }
  892. protected function reduceRule39() {
  893. $this->semValue = $this->semStack[$this->stackPos];
  894. }
  895. protected function reduceRule40() {
  896. $this->semValue = $this->semStack[$this->stackPos];
  897. }
  898. protected function reduceRule41() {
  899. $this->semValue = $this->semStack[$this->stackPos];
  900. }
  901. protected function reduceRule42() {
  902. $this->semValue = $this->semStack[$this->stackPos];
  903. }
  904. protected function reduceRule43() {
  905. $this->semValue = $this->semStack[$this->stackPos];
  906. }
  907. protected function reduceRule44() {
  908. $this->semValue = $this->semStack[$this->stackPos];
  909. }
  910. protected function reduceRule45() {
  911. $this->semValue = $this->semStack[$this->stackPos];
  912. }
  913. protected function reduceRule46() {
  914. $this->semValue = $this->semStack[$this->stackPos];
  915. }
  916. protected function reduceRule47() {
  917. $this->semValue = $this->semStack[$this->stackPos];
  918. }
  919. protected function reduceRule48() {
  920. $this->semValue = $this->semStack[$this->stackPos];
  921. }
  922. protected function reduceRule49() {
  923. $this->semValue = $this->semStack[$this->stackPos];
  924. }
  925. protected function reduceRule50() {
  926. $this->semValue = $this->semStack[$this->stackPos];
  927. }
  928. protected function reduceRule51() {
  929. $this->semValue = $this->semStack[$this->stackPos];
  930. }
  931. protected function reduceRule52() {
  932. $this->semValue = $this->semStack[$this->stackPos];
  933. }
  934. protected function reduceRule53() {
  935. $this->semValue = $this->semStack[$this->stackPos];
  936. }
  937. protected function reduceRule54() {
  938. $this->semValue = $this->semStack[$this->stackPos];
  939. }
  940. protected function reduceRule55() {
  941. $this->semValue = $this->semStack[$this->stackPos];
  942. }
  943. protected function reduceRule56() {
  944. $this->semValue = $this->semStack[$this->stackPos];
  945. }
  946. protected function reduceRule57() {
  947. $this->semValue = $this->semStack[$this->stackPos];
  948. }
  949. protected function reduceRule58() {
  950. $this->semValue = $this->semStack[$this->stackPos];
  951. }
  952. protected function reduceRule59() {
  953. $this->semValue = $this->semStack[$this->stackPos];
  954. }
  955. protected function reduceRule60() {
  956. $this->semValue = $this->semStack[$this->stackPos];
  957. }
  958. protected function reduceRule61() {
  959. $this->semValue = $this->semStack[$this->stackPos];
  960. }
  961. protected function reduceRule62() {
  962. $this->semValue = $this->semStack[$this->stackPos];
  963. }
  964. protected function reduceRule63() {
  965. $this->semValue = $this->semStack[$this->stackPos];
  966. }
  967. protected function reduceRule64() {
  968. $this->semValue = $this->semStack[$this->stackPos];
  969. }
  970. protected function reduceRule65() {
  971. $this->semValue = $this->semStack[$this->stackPos];
  972. }
  973. protected function reduceRule66() {
  974. $this->semValue = $this->semStack[$this->stackPos];
  975. }
  976. protected function reduceRule67() {
  977. $this->semValue = $this->semStack[$this->stackPos];
  978. }
  979. protected function reduceRule68() {
  980. $this->semValue = $this->semStack[$this->stackPos];
  981. }
  982. protected function reduceRule69() {
  983. $this->semValue = $this->semStack[$this->stackPos];
  984. }
  985. protected function reduceRule70() {
  986. $this->semValue = $this->semStack[$this->stackPos];
  987. }
  988. protected function reduceRule71() {
  989. $this->semValue = $this->semStack[$this->stackPos];
  990. }
  991. protected function reduceRule72() {
  992. $this->semValue = $this->semStack[$this->stackPos];
  993. }
  994. protected function reduceRule73() {
  995. $this->semValue = $this->semStack[$this->stackPos];
  996. }
  997. protected function reduceRule74() {
  998. $this->semValue = $this->semStack[$this->stackPos];
  999. }
  1000. protected function reduceRule75() {
  1001. $this->semValue = $this->semStack[$this->stackPos];
  1002. }
  1003. protected function reduceRule76() {
  1004. $this->semValue = $this->semStack[$this->stackPos];
  1005. }
  1006. protected function reduceRule77() {
  1007. $this->semValue = $this->semStack[$this->stackPos];
  1008. }
  1009. protected function reduceRule78() {
  1010. $this->semValue = $this->semStack[$this->stackPos];
  1011. }
  1012. protected function reduceRule79() {
  1013. $this->semValue = $this->semStack[$this->stackPos];
  1014. }
  1015. protected function reduceRule80() {
  1016. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1017. }
  1018. protected function reduceRule81() {
  1019. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1020. }
  1021. protected function reduceRule82() {
  1022. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1023. }
  1024. protected function reduceRule83() {
  1025. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1026. }
  1027. protected function reduceRule84() {
  1028. $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1029. }
  1030. protected function reduceRule85() {
  1031. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1032. }
  1033. protected function reduceRule86() {
  1034. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1035. }
  1036. protected function reduceRule87() {
  1037. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1038. }
  1039. protected function reduceRule88() {
  1040. $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1041. }
  1042. protected function reduceRule89() {
  1043. $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1044. }
  1045. protected function reduceRule90() {
  1046. $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1047. }
  1048. protected function reduceRule91() {
  1049. $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1050. }
  1051. protected function reduceRule92() {
  1052. $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1053. }
  1054. protected function reduceRule93() {
  1055. $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1056. }
  1057. protected function reduceRule94() {
  1058. $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1059. }
  1060. protected function reduceRule95() {
  1061. $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1062. }
  1063. protected function reduceRule96() {
  1064. $this->semValue = Stmt\Use_::TYPE_FUNCTION;
  1065. }
  1066. protected function reduceRule97() {
  1067. $this->semValue = Stmt\Use_::TYPE_CONSTANT;
  1068. }
  1069. protected function reduceRule98() {
  1070. $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-6)], $this->semStack[$this->stackPos-(7-2)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
  1071. }
  1072. protected function reduceRule99() {
  1073. $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(8-4)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(8-7)], $this->semStack[$this->stackPos-(8-2)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes);
  1074. }
  1075. protected function reduceRule100() {
  1076. $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
  1077. }
  1078. protected function reduceRule101() {
  1079. $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
  1080. }
  1081. protected function reduceRule102() {
  1082. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1083. }
  1084. protected function reduceRule103() {
  1085. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1086. }
  1087. protected function reduceRule104() {
  1088. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1089. }
  1090. protected function reduceRule105() {
  1091. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1092. }
  1093. protected function reduceRule106() {
  1094. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1095. }
  1096. protected function reduceRule107() {
  1097. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1098. }
  1099. protected function reduceRule108() {
  1100. $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1101. }
  1102. protected function reduceRule109() {
  1103. $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1104. }
  1105. protected function reduceRule110() {
  1106. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1107. }
  1108. protected function reduceRule111() {
  1109. $this->semValue = $this->semStack[$this->stackPos-(2-2)];
  1110. }
  1111. protected function reduceRule112() {
  1112. $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL;
  1113. }
  1114. protected function reduceRule113() {
  1115. $this->semValue = $this->semStack[$this->stackPos-(2-2)]; $this->semValue->type = $this->semStack[$this->stackPos-(2-1)];
  1116. }
  1117. protected function reduceRule114() {
  1118. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1119. }
  1120. protected function reduceRule115() {
  1121. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1122. }
  1123. protected function reduceRule116() {
  1124. $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1125. }
  1126. protected function reduceRule117() {
  1127. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1128. }
  1129. protected function reduceRule118() {
  1130. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1131. }
  1132. protected function reduceRule119() {
  1133. $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1134. }
  1135. protected function reduceRule120() {
  1136. if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; };
  1137. }
  1138. protected function reduceRule121() {
  1139. $this->semValue = array();
  1140. }
  1141. protected function reduceRule122() {
  1142. $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; };
  1143. if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1144. }
  1145. protected function reduceRule123() {
  1146. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1147. }
  1148. protected function reduceRule124() {
  1149. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1150. }
  1151. protected function reduceRule125() {
  1152. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1153. }
  1154. protected function reduceRule126() {
  1155. throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1156. }
  1157. protected function reduceRule127() {
  1158. $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments']) && isset($stmts[0])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); };
  1159. }
  1160. protected function reduceRule128() {
  1161. $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(7-3)], ['stmts' => is_array($this->semStack[$this->stackPos-(7-5)]) ? $this->semStack[$this->stackPos-(7-5)] : array($this->semStack[$this->stackPos-(7-5)]), 'elseifs' => $this->semStack[$this->stackPos-(7-6)], 'else' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
  1162. }
  1163. protected function reduceRule129() {
  1164. $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(10-3)], ['stmts' => $this->semStack[$this->stackPos-(10-6)], 'elseifs' => $this->semStack[$this->stackPos-(10-7)], 'else' => $this->semStack[$this->stackPos-(10-8)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes);
  1165. }
  1166. protected function reduceRule130() {
  1167. $this->semValue = new Stmt\While_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1168. }
  1169. protected function reduceRule131() {
  1170. $this->semValue = new Stmt\Do_($this->semStack[$this->stackPos-(7-5)], is_array($this->semStack[$this->stackPos-(7-2)]) ? $this->semStack[$this->stackPos-(7-2)] : array($this->semStack[$this->stackPos-(7-2)]), $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
  1171. }
  1172. protected function reduceRule132() {
  1173. $this->semValue = new Stmt\For_(['init' => $this->semStack[$this->stackPos-(9-3)], 'cond' => $this->semStack[$this->stackPos-(9-5)], 'loop' => $this->semStack[$this->stackPos-(9-7)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
  1174. }
  1175. protected function reduceRule133() {
  1176. $this->semValue = new Stmt\Switch_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1177. }
  1178. protected function reduceRule134() {
  1179. $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1180. }
  1181. protected function reduceRule135() {
  1182. $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1183. }
  1184. protected function reduceRule136() {
  1185. $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1186. }
  1187. protected function reduceRule137() {
  1188. $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1189. }
  1190. protected function reduceRule138() {
  1191. $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1192. }
  1193. protected function reduceRule139() {
  1194. $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1195. }
  1196. protected function reduceRule140() {
  1197. $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1198. }
  1199. protected function reduceRule141() {
  1200. $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1201. }
  1202. protected function reduceRule142() {
  1203. $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1204. }
  1205. protected function reduceRule143() {
  1206. $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(7-3)], $this->semStack[$this->stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$this->stackPos-(7-5)][1], 'stmts' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
  1207. }
  1208. protected function reduceRule144() {
  1209. $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(9-3)], $this->semStack[$this->stackPos-(9-7)][0], ['keyVar' => $this->semStack[$this->stackPos-(9-5)], 'byRef' => $this->semStack[$this->stackPos-(9-7)][1], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
  1210. }
  1211. protected function reduceRule145() {
  1212. $this->semValue = new Stmt\Declare_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1213. }
  1214. protected function reduceRule146() {
  1215. $this->semValue = new Stmt\TryCatch($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-5)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
  1216. }
  1217. protected function reduceRule147() {
  1218. $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1219. }
  1220. protected function reduceRule148() {
  1221. $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1222. }
  1223. protected function reduceRule149() {
  1224. $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1225. }
  1226. protected function reduceRule150() {
  1227. $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1228. }
  1229. protected function reduceRule151() {
  1230. $this->semValue = array(); /* means: no statement */
  1231. }
  1232. protected function reduceRule152() {
  1233. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1234. }
  1235. protected function reduceRule153() {
  1236. $startAttributes = $this->startAttributeStack[$this->stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $this->semValue = null; };
  1237. if ($this->semValue === null) $this->semValue = array(); /* means: no statement */
  1238. }
  1239. protected function reduceRule154() {
  1240. $this->semValue = array();
  1241. }
  1242. protected function reduceRule155() {
  1243. $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1244. }
  1245. protected function reduceRule156() {
  1246. $this->semValue = new Stmt\Catch_($this->semStack[$this->stackPos-(8-3)], substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes);
  1247. }
  1248. protected function reduceRule157() {
  1249. $this->semValue = null;
  1250. }
  1251. protected function reduceRule158() {
  1252. $this->semValue = $this->semStack[$this->stackPos-(4-3)];
  1253. }
  1254. protected function reduceRule159() {
  1255. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1256. }
  1257. protected function reduceRule160() {
  1258. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1259. }
  1260. protected function reduceRule161() {
  1261. $this->semValue = false;
  1262. }
  1263. protected function reduceRule162() {
  1264. $this->semValue = true;
  1265. }
  1266. protected function reduceRule163() {
  1267. $this->semValue = false;
  1268. }
  1269. protected function reduceRule164() {
  1270. $this->semValue = true;
  1271. }
  1272. protected function reduceRule165() {
  1273. $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes);
  1274. }
  1275. protected function reduceRule166() {
  1276. $this->semValue = new Stmt\Class_($this->semStack[$this->stackPos-(7-2)], ['type' => $this->semStack[$this->stackPos-(7-1)], 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
  1277. }
  1278. protected function reduceRule167() {
  1279. $this->semValue = new Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], ['extends' => $this->semStack[$this->stackPos-(6-3)], 'stmts' => $this->semStack[$this->stackPos-(6-5)]], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
  1280. }
  1281. protected function reduceRule168() {
  1282. $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1283. }
  1284. protected function reduceRule169() {
  1285. $this->semValue = 0;
  1286. }
  1287. protected function reduceRule170() {
  1288. $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
  1289. }
  1290. protected function reduceRule171() {
  1291. $this->semValue = Stmt\Class_::MODIFIER_FINAL;
  1292. }
  1293. protected function reduceRule172() {
  1294. $this->semValue = null;
  1295. }
  1296. protected function reduceRule173() {
  1297. $this->semValue = $this->semStack[$this->stackPos-(2-2)];
  1298. }
  1299. protected function reduceRule174() {
  1300. $this->semValue = array();
  1301. }
  1302. protected function reduceRule175() {
  1303. $this->semValue = $this->semStack[$this->stackPos-(2-2)];
  1304. }
  1305. protected function reduceRule176() {
  1306. $this->semValue = array();
  1307. }
  1308. protected function reduceRule177() {
  1309. $this->semValue = $this->semStack[$this->stackPos-(2-2)];
  1310. }
  1311. protected function reduceRule178() {
  1312. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1313. }
  1314. protected function reduceRule179() {
  1315. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1316. }
  1317. protected function reduceRule180() {
  1318. $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
  1319. }
  1320. protected function reduceRule181() {
  1321. $this->semValue = $this->semStack[$this->stackPos-(4-2)];
  1322. }
  1323. protected function reduceRule182() {
  1324. $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
  1325. }
  1326. protected function reduceRule183() {
  1327. $this->semValue = $this->semStack[$this->stackPos-(4-2)];
  1328. }
  1329. protected function reduceRule184() {
  1330. $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
  1331. }
  1332. protected function reduceRule185() {
  1333. $this->semValue = null;
  1334. }
  1335. protected function reduceRule186() {
  1336. $this->semValue = $this->semStack[$this->stackPos-(4-2)];
  1337. }
  1338. protected function reduceRule187() {
  1339. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1340. }
  1341. protected function reduceRule188() {
  1342. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1343. }
  1344. protected function reduceRule189() {
  1345. $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1346. }
  1347. protected function reduceRule190() {
  1348. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  1349. }
  1350. protected function reduceRule191() {
  1351. $this->semValue = $this->semStack[$this->stackPos-(4-3)];
  1352. }
  1353. protected function reduceRule192() {
  1354. $this->semValue = $this->semStack[$this->stackPos-(4-2)];
  1355. }
  1356. protected function reduceRule193() {
  1357. $this->semValue = $this->semStack[$this->stackPos-(5-3)];
  1358. }
  1359. protected function reduceRule194() {
  1360. $this->semValue = array();
  1361. }
  1362. protected function reduceRule195() {
  1363. $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1364. }
  1365. protected function reduceRule196() {
  1366. $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1367. }
  1368. protected function reduceRule197() {
  1369. $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1370. }
  1371. protected function reduceRule198() {
  1372. $this->semValue = $this->semStack[$this->stackPos];
  1373. }
  1374. protected function reduceRule199() {
  1375. $this->semValue = $this->semStack[$this->stackPos];
  1376. }
  1377. protected function reduceRule200() {
  1378. $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
  1379. }
  1380. protected function reduceRule201() {
  1381. $this->semValue = $this->semStack[$this->stackPos-(4-2)];
  1382. }
  1383. protected function reduceRule202() {
  1384. $this->semValue = array();
  1385. }
  1386. protected function reduceRule203() {
  1387. $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1388. }
  1389. protected function reduceRule204() {
  1390. $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(5-3)], is_array($this->semStack[$this->stackPos-(5-5)]) ? $this->semStack[$this->stackPos-(5-5)] : array($this->semStack[$this->stackPos-(5-5)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1391. }
  1392. protected function reduceRule205() {
  1393. $this->semValue = array();
  1394. }
  1395. protected function reduceRule206() {
  1396. $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1397. }
  1398. protected function reduceRule207() {
  1399. $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
  1400. }
  1401. protected function reduceRule208() {
  1402. $this->semValue = null;
  1403. }
  1404. protected function reduceRule209() {
  1405. $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1406. }
  1407. protected function reduceRule210() {
  1408. $this->semValue = null;
  1409. }
  1410. protected function reduceRule211() {
  1411. $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1412. }
  1413. protected function reduceRule212() {
  1414. $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false);
  1415. }
  1416. protected function reduceRule213() {
  1417. $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true);
  1418. }
  1419. protected function reduceRule214() {
  1420. $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false);
  1421. }
  1422. protected function reduceRule215() {
  1423. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1424. }
  1425. protected function reduceRule216() {
  1426. $this->semValue = array();
  1427. }
  1428. protected function reduceRule217() {
  1429. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1430. }
  1431. protected function reduceRule218() {
  1432. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1433. }
  1434. protected function reduceRule219() {
  1435. $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(4-4)], 1), null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1436. }
  1437. protected function reduceRule220() {
  1438. $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(6-4)], 1), $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
  1439. }
  1440. protected function reduceRule221() {
  1441. $this->semValue = $this->handleScalarTypes($this->semStack[$this->stackPos-(1-1)]);
  1442. }
  1443. protected function reduceRule222() {
  1444. $this->semValue = 'array';
  1445. }
  1446. protected function reduceRule223() {
  1447. $this->semValue = 'callable';
  1448. }
  1449. protected function reduceRule224() {
  1450. $this->semValue = null;
  1451. }
  1452. protected function reduceRule225() {
  1453. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1454. }
  1455. protected function reduceRule226() {
  1456. $this->semValue = null;
  1457. }
  1458. protected function reduceRule227() {
  1459. $this->semValue = $this->semStack[$this->stackPos-(2-2)];
  1460. }
  1461. protected function reduceRule228() {
  1462. $this->semValue = array();
  1463. }
  1464. protected function reduceRule229() {
  1465. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  1466. }
  1467. protected function reduceRule230() {
  1468. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1469. }
  1470. protected function reduceRule231() {
  1471. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1472. }
  1473. protected function reduceRule232() {
  1474. $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1475. }
  1476. protected function reduceRule233() {
  1477. $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1478. }
  1479. protected function reduceRule234() {
  1480. $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1481. }
  1482. protected function reduceRule235() {
  1483. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1484. }
  1485. protected function reduceRule236() {
  1486. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1487. }
  1488. protected function reduceRule237() {
  1489. $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1490. }
  1491. protected function reduceRule238() {
  1492. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1493. }
  1494. protected function reduceRule239() {
  1495. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1496. }
  1497. protected function reduceRule240() {
  1498. $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1499. }
  1500. protected function reduceRule241() {
  1501. $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1502. }
  1503. protected function reduceRule242() {
  1504. $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1505. }
  1506. protected function reduceRule243() {
  1507. $this->semValue = array();
  1508. }
  1509. protected function reduceRule244() {
  1510. $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1511. }
  1512. protected function reduceRule245() {
  1513. $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1514. }
  1515. protected function reduceRule246() {
  1516. $this->semValue = new Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], ['type' => $this->semStack[$this->stackPos-(9-1)], 'byRef' => $this->semStack[$this->stackPos-(9-3)], 'params' => $this->semStack[$this->stackPos-(9-6)], 'returnType' => $this->semStack[$this->stackPos-(9-8)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
  1517. }
  1518. protected function reduceRule247() {
  1519. $this->semValue = new Stmt\TraitUse($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1520. }
  1521. protected function reduceRule248() {
  1522. $this->semValue = array();
  1523. }
  1524. protected function reduceRule249() {
  1525. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  1526. }
  1527. protected function reduceRule250() {
  1528. $this->semValue = array();
  1529. }
  1530. protected function reduceRule251() {
  1531. $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  1532. }
  1533. protected function reduceRule252() {
  1534. $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1535. }
  1536. protected function reduceRule253() {
  1537. $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1538. }
  1539. protected function reduceRule254() {
  1540. $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1541. }
  1542. protected function reduceRule255() {
  1543. $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1544. }
  1545. protected function reduceRule256() {
  1546. $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1547. }
  1548. protected function reduceRule257() {
  1549. $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]);
  1550. }
  1551. protected function reduceRule258() {
  1552. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1553. }
  1554. protected function reduceRule259() {
  1555. $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]);
  1556. }
  1557. protected function reduceRule260() {
  1558. $this->semValue = null;
  1559. }
  1560. protected function reduceRule261() {
  1561. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  1562. }
  1563. protected function reduceRule262() {
  1564. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1565. }
  1566. protected function reduceRule263() {
  1567. $this->semValue = 0;
  1568. }
  1569. protected function reduceRule264() {
  1570. $this->semValue = 0;
  1571. }
  1572. protected function reduceRule265() {
  1573. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1574. }
  1575. protected function reduceRule266() {
  1576. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1577. }
  1578. protected function reduceRule267() {
  1579. Stmt\Class_::verifyModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)];
  1580. }
  1581. protected function reduceRule268() {
  1582. $this->semValue = Stmt\Class_::MODIFIER_PUBLIC;
  1583. }
  1584. protected function reduceRule269() {
  1585. $this->semValue = Stmt\Class_::MODIFIER_PROTECTED;
  1586. }
  1587. protected function reduceRule270() {
  1588. $this->semValue = Stmt\Class_::MODIFIER_PRIVATE;
  1589. }
  1590. protected function reduceRule271() {
  1591. $this->semValue = Stmt\Class_::MODIFIER_STATIC;
  1592. }
  1593. protected function reduceRule272() {
  1594. $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
  1595. }
  1596. protected function reduceRule273() {
  1597. $this->semValue = Stmt\Class_::MODIFIER_FINAL;
  1598. }
  1599. protected function reduceRule274() {
  1600. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1601. }
  1602. protected function reduceRule275() {
  1603. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1604. }
  1605. protected function reduceRule276() {
  1606. $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1607. }
  1608. protected function reduceRule277() {
  1609. $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1610. }
  1611. protected function reduceRule278() {
  1612. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1613. }
  1614. protected function reduceRule279() {
  1615. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1616. }
  1617. protected function reduceRule280() {
  1618. $this->semValue = array();
  1619. }
  1620. protected function reduceRule281() {
  1621. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1622. }
  1623. protected function reduceRule282() {
  1624. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1625. }
  1626. protected function reduceRule283() {
  1627. $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1628. }
  1629. protected function reduceRule284() {
  1630. $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1631. }
  1632. protected function reduceRule285() {
  1633. $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1634. }
  1635. protected function reduceRule286() {
  1636. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1637. }
  1638. protected function reduceRule287() {
  1639. $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1640. }
  1641. protected function reduceRule288() {
  1642. $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1643. }
  1644. protected function reduceRule289() {
  1645. $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1646. }
  1647. protected function reduceRule290() {
  1648. $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1649. }
  1650. protected function reduceRule291() {
  1651. $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1652. }
  1653. protected function reduceRule292() {
  1654. $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1655. }
  1656. protected function reduceRule293() {
  1657. $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1658. }
  1659. protected function reduceRule294() {
  1660. $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1661. }
  1662. protected function reduceRule295() {
  1663. $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1664. }
  1665. protected function reduceRule296() {
  1666. $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1667. }
  1668. protected function reduceRule297() {
  1669. $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1670. }
  1671. protected function reduceRule298() {
  1672. $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1673. }
  1674. protected function reduceRule299() {
  1675. $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1676. }
  1677. protected function reduceRule300() {
  1678. $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1679. }
  1680. protected function reduceRule301() {
  1681. $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1682. }
  1683. protected function reduceRule302() {
  1684. $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1685. }
  1686. protected function reduceRule303() {
  1687. $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1688. }
  1689. protected function reduceRule304() {
  1690. $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1691. }
  1692. protected function reduceRule305() {
  1693. $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1694. }
  1695. protected function reduceRule306() {
  1696. $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1697. }
  1698. protected function reduceRule307() {
  1699. $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1700. }
  1701. protected function reduceRule308() {
  1702. $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1703. }
  1704. protected function reduceRule309() {
  1705. $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1706. }
  1707. protected function reduceRule310() {
  1708. $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1709. }
  1710. protected function reduceRule311() {
  1711. $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1712. }
  1713. protected function reduceRule312() {
  1714. $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1715. }
  1716. protected function reduceRule313() {
  1717. $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1718. }
  1719. protected function reduceRule314() {
  1720. $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1721. }
  1722. protected function reduceRule315() {
  1723. $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1724. }
  1725. protected function reduceRule316() {
  1726. $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1727. }
  1728. protected function reduceRule317() {
  1729. $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1730. }
  1731. protected function reduceRule318() {
  1732. $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1733. }
  1734. protected function reduceRule319() {
  1735. $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1736. }
  1737. protected function reduceRule320() {
  1738. $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1739. }
  1740. protected function reduceRule321() {
  1741. $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1742. }
  1743. protected function reduceRule322() {
  1744. $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1745. }
  1746. protected function reduceRule323() {
  1747. $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1748. }
  1749. protected function reduceRule324() {
  1750. $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1751. }
  1752. protected function reduceRule325() {
  1753. $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1754. }
  1755. protected function reduceRule326() {
  1756. $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1757. }
  1758. protected function reduceRule327() {
  1759. $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1760. }
  1761. protected function reduceRule328() {
  1762. $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1763. }
  1764. protected function reduceRule329() {
  1765. $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1766. }
  1767. protected function reduceRule330() {
  1768. $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1769. }
  1770. protected function reduceRule331() {
  1771. $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1772. }
  1773. protected function reduceRule332() {
  1774. $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1775. }
  1776. protected function reduceRule333() {
  1777. $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1778. }
  1779. protected function reduceRule334() {
  1780. $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1781. }
  1782. protected function reduceRule335() {
  1783. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  1784. }
  1785. protected function reduceRule336() {
  1786. $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
  1787. }
  1788. protected function reduceRule337() {
  1789. $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1790. }
  1791. protected function reduceRule338() {
  1792. $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1793. }
  1794. protected function reduceRule339() {
  1795. $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1796. }
  1797. protected function reduceRule340() {
  1798. $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1799. }
  1800. protected function reduceRule341() {
  1801. $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1802. }
  1803. protected function reduceRule342() {
  1804. $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1805. }
  1806. protected function reduceRule343() {
  1807. $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1808. }
  1809. protected function reduceRule344() {
  1810. $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1811. }
  1812. protected function reduceRule345() {
  1813. $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1814. }
  1815. protected function reduceRule346() {
  1816. $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1817. }
  1818. protected function reduceRule347() {
  1819. $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1820. }
  1821. protected function reduceRule348() {
  1822. $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1823. }
  1824. protected function reduceRule349() {
  1825. $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1826. }
  1827. protected function reduceRule350() {
  1828. $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1829. }
  1830. protected function reduceRule351() {
  1831. $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1832. }
  1833. protected function reduceRule352() {
  1834. $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1835. }
  1836. protected function reduceRule353() {
  1837. $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes;
  1838. $attrs['kind'] = strtolower($this->semStack[$this->stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE;
  1839. $this->semValue = new Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $attrs);
  1840. }
  1841. protected function reduceRule354() {
  1842. $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1843. }
  1844. protected function reduceRule355() {
  1845. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1846. }
  1847. protected function reduceRule356() {
  1848. $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1849. }
  1850. protected function reduceRule357() {
  1851. $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1852. }
  1853. protected function reduceRule358() {
  1854. $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1855. }
  1856. protected function reduceRule359() {
  1857. $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1858. }
  1859. protected function reduceRule360() {
  1860. $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1861. }
  1862. protected function reduceRule361() {
  1863. $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1864. }
  1865. protected function reduceRule362() {
  1866. $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-4)], 'uses' => $this->semStack[$this->stackPos-(10-6)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes);
  1867. }
  1868. protected function reduceRule363() {
  1869. $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$this->stackPos-(11-3)], 'params' => $this->semStack[$this->stackPos-(11-5)], 'uses' => $this->semStack[$this->stackPos-(11-7)], 'returnType' => $this->semStack[$this->stackPos-(11-8)], 'stmts' => $this->semStack[$this->stackPos-(11-10)]], $this->startAttributeStack[$this->stackPos-(11-1)] + $this->endAttributes);
  1870. }
  1871. protected function reduceRule364() {
  1872. $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-2)]);
  1873. }
  1874. protected function reduceRule365() {
  1875. $this->semValue = new Expr\New_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1876. }
  1877. protected function reduceRule366() {
  1878. list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1879. }
  1880. protected function reduceRule367() {
  1881. $this->semValue = array();
  1882. }
  1883. protected function reduceRule368() {
  1884. $this->semValue = $this->semStack[$this->stackPos-(4-3)];
  1885. }
  1886. protected function reduceRule369() {
  1887. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  1888. }
  1889. protected function reduceRule370() {
  1890. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  1891. }
  1892. protected function reduceRule371() {
  1893. $this->semValue = new Expr\ClosureUse(substr($this->semStack[$this->stackPos-(2-2)], 1), $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1894. }
  1895. protected function reduceRule372() {
  1896. $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1897. }
  1898. protected function reduceRule373() {
  1899. $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1900. }
  1901. protected function reduceRule374() {
  1902. $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  1903. }
  1904. protected function reduceRule375() {
  1905. $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1906. }
  1907. protected function reduceRule376() {
  1908. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1909. }
  1910. protected function reduceRule377() {
  1911. $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1912. }
  1913. protected function reduceRule378() {
  1914. $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  1915. }
  1916. protected function reduceRule379() {
  1917. $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1918. }
  1919. protected function reduceRule380() {
  1920. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1921. }
  1922. protected function reduceRule381() {
  1923. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1924. }
  1925. protected function reduceRule382() {
  1926. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1927. }
  1928. protected function reduceRule383() {
  1929. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1930. }
  1931. protected function reduceRule384() {
  1932. $this->semValue = null;
  1933. }
  1934. protected function reduceRule385() {
  1935. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  1936. }
  1937. protected function reduceRule386() {
  1938. $this->semValue = array();
  1939. }
  1940. protected function reduceRule387() {
  1941. $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`'), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes));
  1942. }
  1943. protected function reduceRule388() {
  1944. foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1945. }
  1946. protected function reduceRule389() {
  1947. $this->semValue = array();
  1948. }
  1949. protected function reduceRule390() {
  1950. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  1951. }
  1952. protected function reduceRule391() {
  1953. $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1954. }
  1955. protected function reduceRule392() {
  1956. $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  1957. }
  1958. protected function reduceRule393() {
  1959. $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG;
  1960. $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $attrs);
  1961. }
  1962. protected function reduceRule394() {
  1963. $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT;
  1964. $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $attrs);
  1965. }
  1966. protected function reduceRule395() {
  1967. $attrs = $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(1-1)][0] === "'" || ($this->semStack[$this->stackPos-(1-1)][1] === "'" && ($this->semStack[$this->stackPos-(1-1)][0] === 'b' || $this->semStack[$this->stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED);
  1968. $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)]), $attrs);
  1969. }
  1970. protected function reduceRule396() {
  1971. $this->semValue = Scalar\LNumber::fromString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1972. }
  1973. protected function reduceRule397() {
  1974. $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1975. }
  1976. protected function reduceRule398() {
  1977. $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1978. }
  1979. protected function reduceRule399() {
  1980. $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1981. }
  1982. protected function reduceRule400() {
  1983. $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1984. }
  1985. protected function reduceRule401() {
  1986. $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1987. }
  1988. protected function reduceRule402() {
  1989. $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1990. }
  1991. protected function reduceRule403() {
  1992. $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1993. }
  1994. protected function reduceRule404() {
  1995. $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1996. }
  1997. protected function reduceRule405() {
  1998. $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  1999. }
  2000. protected function reduceRule406() {
  2001. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2002. }
  2003. protected function reduceRule407() {
  2004. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2005. }
  2006. protected function reduceRule408() {
  2007. $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];;
  2008. $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)]), $attrs);
  2009. }
  2010. protected function reduceRule409() {
  2011. $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];;
  2012. $this->semValue = new Scalar\String_('', $attrs);
  2013. }
  2014. protected function reduceRule410() {
  2015. $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
  2016. foreach ($this->semStack[$this->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[$this->stackPos-(3-2)], $attrs);
  2017. }
  2018. protected function reduceRule411() {
  2019. $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];;
  2020. foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$this->stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs);
  2021. }
  2022. protected function reduceRule412() {
  2023. $this->semValue = $this->semStack[$this->stackPos];
  2024. }
  2025. protected function reduceRule413() {
  2026. $this->semValue = $this->semStack[$this->stackPos];
  2027. }
  2028. protected function reduceRule414() {
  2029. $this->semValue = null;
  2030. }
  2031. protected function reduceRule415() {
  2032. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2033. }
  2034. protected function reduceRule416() {
  2035. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2036. }
  2037. protected function reduceRule417() {
  2038. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  2039. }
  2040. protected function reduceRule418() {
  2041. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2042. }
  2043. protected function reduceRule419() {
  2044. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2045. }
  2046. protected function reduceRule420() {
  2047. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  2048. }
  2049. protected function reduceRule421() {
  2050. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2051. }
  2052. protected function reduceRule422() {
  2053. $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2054. }
  2055. protected function reduceRule423() {
  2056. $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2057. }
  2058. protected function reduceRule424() {
  2059. $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2060. }
  2061. protected function reduceRule425() {
  2062. $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2063. }
  2064. protected function reduceRule426() {
  2065. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2066. }
  2067. protected function reduceRule427() {
  2068. $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2069. }
  2070. protected function reduceRule428() {
  2071. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2072. }
  2073. protected function reduceRule429() {
  2074. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2075. }
  2076. protected function reduceRule430() {
  2077. $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2078. }
  2079. protected function reduceRule431() {
  2080. $this->semValue = substr($this->semStack[$this->stackPos-(1-1)], 1);
  2081. }
  2082. protected function reduceRule432() {
  2083. $this->semValue = $this->semStack[$this->stackPos-(4-3)];
  2084. }
  2085. protected function reduceRule433() {
  2086. $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  2087. }
  2088. protected function reduceRule434() {
  2089. $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2090. }
  2091. protected function reduceRule435() {
  2092. $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2093. }
  2094. protected function reduceRule436() {
  2095. $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2096. }
  2097. protected function reduceRule437() {
  2098. $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2099. }
  2100. protected function reduceRule438() {
  2101. $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2102. }
  2103. protected function reduceRule439() {
  2104. $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2105. }
  2106. protected function reduceRule440() {
  2107. $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2108. }
  2109. protected function reduceRule441() {
  2110. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2111. }
  2112. protected function reduceRule442() {
  2113. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  2114. }
  2115. protected function reduceRule443() {
  2116. $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2117. }
  2118. protected function reduceRule444() {
  2119. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2120. }
  2121. protected function reduceRule445() {
  2122. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  2123. }
  2124. protected function reduceRule446() {
  2125. $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2126. }
  2127. protected function reduceRule447() {
  2128. $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2129. }
  2130. protected function reduceRule448() {
  2131. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  2132. }
  2133. protected function reduceRule449() {
  2134. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  2135. }
  2136. protected function reduceRule450() {
  2137. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2138. }
  2139. protected function reduceRule451() {
  2140. $this->semValue = $this->semStack[$this->stackPos-(1-1)];
  2141. }
  2142. protected function reduceRule452() {
  2143. $this->semValue = null;
  2144. }
  2145. protected function reduceRule453() {
  2146. $this->semValue = array();
  2147. }
  2148. protected function reduceRule454() {
  2149. $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  2150. }
  2151. protected function reduceRule455() {
  2152. $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
  2153. }
  2154. protected function reduceRule456() {
  2155. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  2156. }
  2157. protected function reduceRule457() {
  2158. $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2159. }
  2160. protected function reduceRule458() {
  2161. $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2162. }
  2163. protected function reduceRule459() {
  2164. $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2165. }
  2166. protected function reduceRule460() {
  2167. $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
  2168. }
  2169. protected function reduceRule461() {
  2170. $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  2171. }
  2172. protected function reduceRule462() {
  2173. $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
  2174. }
  2175. protected function reduceRule463() {
  2176. $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
  2177. }
  2178. protected function reduceRule464() {
  2179. $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]);
  2180. }
  2181. protected function reduceRule465() {
  2182. $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2183. }
  2184. protected function reduceRule466() {
  2185. $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2186. }
  2187. protected function reduceRule467() {
  2188. $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(4-1)], 1), $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
  2189. }
  2190. protected function reduceRule468() {
  2191. $this->semValue = new Expr\PropertyFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2192. }
  2193. protected function reduceRule469() {
  2194. $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2195. }
  2196. protected function reduceRule470() {
  2197. $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
  2198. }
  2199. protected function reduceRule471() {
  2200. $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
  2201. }
  2202. protected function reduceRule472() {
  2203. $this->semValue = $this->semStack[$this->stackPos-(3-2)];
  2204. }
  2205. protected function reduceRule473() {
  2206. $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2207. }
  2208. protected function reduceRule474() {
  2209. $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2210. }
  2211. protected function reduceRule475() {
  2212. $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
  2213. }
  2214. }