Parser.php 142 KB

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