Php8.php 178 KB

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