1. /* Generated By:JJTree&JavaCC: Do not edit this line. Parser.java */
  2. package org.apache.commons.jexl.parser;
  3. import java.io.Reader;
  4. public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants, ParserConstants {/*@bgen(jjtree)*/
  5. protected JJTParserState jjtree = new JJTParserState();public SimpleNode parse(Reader reader)
  6. throws Exception
  7. {
  8. ReInit(reader);
  9. /*
  10. * lets do the 'Unique Init' in here to be
  11. * safe - it's a pain to remember
  12. */
  13. SimpleNode tree = JexlScript();
  14. return tree;
  15. }
  16. /*
  17. * Program structuring syntax follows.
  18. */
  19. final public SimpleNode JexlScript() throws ParseException {
  20. /*@bgen(jjtree) JexlScript */
  21. ASTJexlScript jjtn000 = new ASTJexlScript(this, JJTJEXLSCRIPT);
  22. boolean jjtc000 = true;
  23. jjtree.openNodeScope(jjtn000);String name;
  24. try {
  25. label_1:
  26. while (true) {
  27. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  28. case INTEGER_LITERAL:
  29. case FLOAT_LITERAL:
  30. case 9:
  31. case 11:
  32. case 12:
  33. case 14:
  34. case 36:
  35. case 42:
  36. case 43:
  37. case 44:
  38. case 45:
  39. case 46:
  40. case 47:
  41. case 48:
  42. case 49:
  43. case 51:
  44. case 52:
  45. case IDENTIFIER:
  46. case STRING_LITERAL:
  47. ;
  48. break;
  49. default:
  50. jj_la1[0] = jj_gen;
  51. break label_1;
  52. }
  53. Statement();
  54. }
  55. jj_consume_token(0);
  56. jjtree.closeNodeScope(jjtn000, true);
  57. jjtc000 = false;
  58. {if (true) return jjtn000;}
  59. } catch (Throwable jjte000) {
  60. if (jjtc000) {
  61. jjtree.clearNodeScope(jjtn000);
  62. jjtc000 = false;
  63. } else {
  64. jjtree.popNode();
  65. }
  66. if (jjte000 instanceof RuntimeException) {
  67. {if (true) throw (RuntimeException)jjte000;}
  68. }
  69. if (jjte000 instanceof ParseException) {
  70. {if (true) throw (ParseException)jjte000;}
  71. }
  72. {if (true) throw (Error)jjte000;}
  73. } finally {
  74. if (jjtc000) {
  75. jjtree.closeNodeScope(jjtn000, true);
  76. }
  77. }
  78. throw new Error("Missing return statement in function");
  79. }
  80. final public void Block() throws ParseException {
  81. /*@bgen(jjtree) Block */
  82. ASTBlock jjtn000 = new ASTBlock(this, JJTBLOCK);
  83. boolean jjtc000 = true;
  84. jjtree.openNodeScope(jjtn000);
  85. try {
  86. jj_consume_token(9);
  87. label_2:
  88. while (true) {
  89. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  90. case INTEGER_LITERAL:
  91. case FLOAT_LITERAL:
  92. case 9:
  93. case 11:
  94. case 12:
  95. case 14:
  96. case 36:
  97. case 42:
  98. case 43:
  99. case 44:
  100. case 45:
  101. case 46:
  102. case 47:
  103. case 48:
  104. case 49:
  105. case 51:
  106. case 52:
  107. case IDENTIFIER:
  108. case STRING_LITERAL:
  109. ;
  110. break;
  111. default:
  112. jj_la1[1] = jj_gen;
  113. break label_2;
  114. }
  115. Statement();
  116. }
  117. jj_consume_token(10);
  118. } catch (Throwable jjte000) {
  119. if (jjtc000) {
  120. jjtree.clearNodeScope(jjtn000);
  121. jjtc000 = false;
  122. } else {
  123. jjtree.popNode();
  124. }
  125. if (jjte000 instanceof RuntimeException) {
  126. {if (true) throw (RuntimeException)jjte000;}
  127. }
  128. if (jjte000 instanceof ParseException) {
  129. {if (true) throw (ParseException)jjte000;}
  130. }
  131. {if (true) throw (Error)jjte000;}
  132. } finally {
  133. if (jjtc000) {
  134. jjtree.closeNodeScope(jjtn000, true);
  135. }
  136. }
  137. }
  138. final public void EmptyFunction() throws ParseException {
  139. /*@bgen(jjtree) EmptyFunction */
  140. ASTEmptyFunction jjtn000 = new ASTEmptyFunction(this, JJTEMPTYFUNCTION);
  141. boolean jjtc000 = true;
  142. jjtree.openNodeScope(jjtn000);
  143. try {
  144. jj_consume_token(11);
  145. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  146. case IDENTIFIER:
  147. Reference();
  148. break;
  149. case 12:
  150. jj_consume_token(12);
  151. Reference();
  152. jj_consume_token(13);
  153. break;
  154. default:
  155. jj_la1[2] = jj_gen;
  156. jj_consume_token(-1);
  157. throw new ParseException();
  158. }
  159. } catch (Throwable jjte000) {
  160. if (jjtc000) {
  161. jjtree.clearNodeScope(jjtn000);
  162. jjtc000 = false;
  163. } else {
  164. jjtree.popNode();
  165. }
  166. if (jjte000 instanceof RuntimeException) {
  167. {if (true) throw (RuntimeException)jjte000;}
  168. }
  169. if (jjte000 instanceof ParseException) {
  170. {if (true) throw (ParseException)jjte000;}
  171. }
  172. {if (true) throw (Error)jjte000;}
  173. } finally {
  174. if (jjtc000) {
  175. jjtree.closeNodeScope(jjtn000, true);
  176. }
  177. }
  178. }
  179. final public void SizeFunction() throws ParseException {
  180. /*@bgen(jjtree) SizeFunction */
  181. ASTSizeFunction jjtn000 = new ASTSizeFunction(this, JJTSIZEFUNCTION);
  182. boolean jjtc000 = true;
  183. jjtree.openNodeScope(jjtn000);
  184. try {
  185. jj_consume_token(14);
  186. jj_consume_token(12);
  187. Reference();
  188. jj_consume_token(13);
  189. } catch (Throwable jjte000) {
  190. if (jjtc000) {
  191. jjtree.clearNodeScope(jjtn000);
  192. jjtc000 = false;
  193. } else {
  194. jjtree.popNode();
  195. }
  196. if (jjte000 instanceof RuntimeException) {
  197. {if (true) throw (RuntimeException)jjte000;}
  198. }
  199. if (jjte000 instanceof ParseException) {
  200. {if (true) throw (ParseException)jjte000;}
  201. }
  202. {if (true) throw (Error)jjte000;}
  203. } finally {
  204. if (jjtc000) {
  205. jjtree.closeNodeScope(jjtn000, true);
  206. }
  207. }
  208. }
  209. final public void Identifier() throws ParseException {
  210. /*@bgen(jjtree) Identifier */
  211. ASTIdentifier jjtn000 = new ASTIdentifier(this, JJTIDENTIFIER);
  212. boolean jjtc000 = true;
  213. jjtree.openNodeScope(jjtn000);Token t;
  214. try {
  215. t = jj_consume_token(IDENTIFIER);
  216. jjtree.closeNodeScope(jjtn000, true);
  217. jjtc000 = false;
  218. jjtn000.val = t.image;
  219. } finally {
  220. if (jjtc000) {
  221. jjtree.closeNodeScope(jjtn000, true);
  222. }
  223. }
  224. }
  225. /*
  226. * Expression syntax follows.
  227. */
  228. final public void Expression() throws ParseException {
  229. /*@bgen(jjtree) Expression */
  230. ASTExpression jjtn000 = new ASTExpression(this, JJTEXPRESSION);
  231. boolean jjtc000 = true;
  232. jjtree.openNodeScope(jjtn000);
  233. try {
  234. if (jj_2_1(2147483647)) {
  235. Assignment();
  236. } else {
  237. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  238. case INTEGER_LITERAL:
  239. case FLOAT_LITERAL:
  240. case 11:
  241. case 12:
  242. case 14:
  243. case 36:
  244. case 42:
  245. case 43:
  246. case 44:
  247. case 45:
  248. case 46:
  249. case 47:
  250. case IDENTIFIER:
  251. case STRING_LITERAL:
  252. ConditionalOrExpression();
  253. break;
  254. default:
  255. jj_la1[3] = jj_gen;
  256. jj_consume_token(-1);
  257. throw new ParseException();
  258. }
  259. }
  260. } catch (Throwable jjte000) {
  261. if (jjtc000) {
  262. jjtree.clearNodeScope(jjtn000);
  263. jjtc000 = false;
  264. } else {
  265. jjtree.popNode();
  266. }
  267. if (jjte000 instanceof RuntimeException) {
  268. {if (true) throw (RuntimeException)jjte000;}
  269. }
  270. if (jjte000 instanceof ParseException) {
  271. {if (true) throw (ParseException)jjte000;}
  272. }
  273. {if (true) throw (Error)jjte000;}
  274. } finally {
  275. if (jjtc000) {
  276. jjtree.closeNodeScope(jjtn000, true);
  277. }
  278. }
  279. }
  280. final public void Assignment() throws ParseException {
  281. /*@bgen(jjtree) #Assignment( 2) */
  282. ASTAssignment jjtn000 = new ASTAssignment(this, JJTASSIGNMENT);
  283. boolean jjtc000 = true;
  284. jjtree.openNodeScope(jjtn000);
  285. try {
  286. PrimaryExpression();
  287. jj_consume_token(15);
  288. Expression();
  289. } catch (Throwable jjte000) {
  290. if (jjtc000) {
  291. jjtree.clearNodeScope(jjtn000);
  292. jjtc000 = false;
  293. } else {
  294. jjtree.popNode();
  295. }
  296. if (jjte000 instanceof RuntimeException) {
  297. {if (true) throw (RuntimeException)jjte000;}
  298. }
  299. if (jjte000 instanceof ParseException) {
  300. {if (true) throw (ParseException)jjte000;}
  301. }
  302. {if (true) throw (Error)jjte000;}
  303. } finally {
  304. if (jjtc000) {
  305. jjtree.closeNodeScope(jjtn000, 2);
  306. }
  307. }
  308. }
  309. final public void ConditionalOrExpression() throws ParseException {
  310. ConditionalAndExpression();
  311. label_3:
  312. while (true) {
  313. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  314. case 16:
  315. case 17:
  316. ;
  317. break;
  318. default:
  319. jj_la1[4] = jj_gen;
  320. break label_3;
  321. }
  322. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  323. case 16:
  324. jj_consume_token(16);
  325. ASTOrNode jjtn001 = new ASTOrNode(this, JJTORNODE);
  326. boolean jjtc001 = true;
  327. jjtree.openNodeScope(jjtn001);
  328. try {
  329. ConditionalAndExpression();
  330. } catch (Throwable jjte001) {
  331. if (jjtc001) {
  332. jjtree.clearNodeScope(jjtn001);
  333. jjtc001 = false;
  334. } else {
  335. jjtree.popNode();
  336. }
  337. if (jjte001 instanceof RuntimeException) {
  338. {if (true) throw (RuntimeException)jjte001;}
  339. }
  340. if (jjte001 instanceof ParseException) {
  341. {if (true) throw (ParseException)jjte001;}
  342. }
  343. {if (true) throw (Error)jjte001;}
  344. } finally {
  345. if (jjtc001) {
  346. jjtree.closeNodeScope(jjtn001, 2);
  347. }
  348. }
  349. break;
  350. case 17:
  351. jj_consume_token(17);
  352. ASTOrNode jjtn002 = new ASTOrNode(this, JJTORNODE);
  353. boolean jjtc002 = true;
  354. jjtree.openNodeScope(jjtn002);
  355. try {
  356. ConditionalAndExpression();
  357. } catch (Throwable jjte002) {
  358. if (jjtc002) {
  359. jjtree.clearNodeScope(jjtn002);
  360. jjtc002 = false;
  361. } else {
  362. jjtree.popNode();
  363. }
  364. if (jjte002 instanceof RuntimeException) {
  365. {if (true) throw (RuntimeException)jjte002;}
  366. }
  367. if (jjte002 instanceof ParseException) {
  368. {if (true) throw (ParseException)jjte002;}
  369. }
  370. {if (true) throw (Error)jjte002;}
  371. } finally {
  372. if (jjtc002) {
  373. jjtree.closeNodeScope(jjtn002, 2);
  374. }
  375. }
  376. break;
  377. default:
  378. jj_la1[5] = jj_gen;
  379. jj_consume_token(-1);
  380. throw new ParseException();
  381. }
  382. }
  383. }
  384. final public void ConditionalAndExpression() throws ParseException {
  385. InclusiveOrExpression();
  386. label_4:
  387. while (true) {
  388. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  389. case 18:
  390. case 19:
  391. ;
  392. break;
  393. default:
  394. jj_la1[6] = jj_gen;
  395. break label_4;
  396. }
  397. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  398. case 18:
  399. jj_consume_token(18);
  400. ASTAndNode jjtn001 = new ASTAndNode(this, JJTANDNODE);
  401. boolean jjtc001 = true;
  402. jjtree.openNodeScope(jjtn001);
  403. try {
  404. InclusiveOrExpression();
  405. } catch (Throwable jjte001) {
  406. if (jjtc001) {
  407. jjtree.clearNodeScope(jjtn001);
  408. jjtc001 = false;
  409. } else {
  410. jjtree.popNode();
  411. }
  412. if (jjte001 instanceof RuntimeException) {
  413. {if (true) throw (RuntimeException)jjte001;}
  414. }
  415. if (jjte001 instanceof ParseException) {
  416. {if (true) throw (ParseException)jjte001;}
  417. }
  418. {if (true) throw (Error)jjte001;}
  419. } finally {
  420. if (jjtc001) {
  421. jjtree.closeNodeScope(jjtn001, 2);
  422. }
  423. }
  424. break;
  425. case 19:
  426. jj_consume_token(19);
  427. ASTAndNode jjtn002 = new ASTAndNode(this, JJTANDNODE);
  428. boolean jjtc002 = true;
  429. jjtree.openNodeScope(jjtn002);
  430. try {
  431. InclusiveOrExpression();
  432. } catch (Throwable jjte002) {
  433. if (jjtc002) {
  434. jjtree.clearNodeScope(jjtn002);
  435. jjtc002 = false;
  436. } else {
  437. jjtree.popNode();
  438. }
  439. if (jjte002 instanceof RuntimeException) {
  440. {if (true) throw (RuntimeException)jjte002;}
  441. }
  442. if (jjte002 instanceof ParseException) {
  443. {if (true) throw (ParseException)jjte002;}
  444. }
  445. {if (true) throw (Error)jjte002;}
  446. } finally {
  447. if (jjtc002) {
  448. jjtree.closeNodeScope(jjtn002, 2);
  449. }
  450. }
  451. break;
  452. default:
  453. jj_la1[7] = jj_gen;
  454. jj_consume_token(-1);
  455. throw new ParseException();
  456. }
  457. }
  458. }
  459. final public void InclusiveOrExpression() throws ParseException {
  460. ExclusiveOrExpression();
  461. label_5:
  462. while (true) {
  463. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  464. case 20:
  465. ;
  466. break;
  467. default:
  468. jj_la1[8] = jj_gen;
  469. break label_5;
  470. }
  471. jj_consume_token(20);
  472. ASTBitwiseOrNode jjtn001 = new ASTBitwiseOrNode(this, JJTBITWISEORNODE);
  473. boolean jjtc001 = true;
  474. jjtree.openNodeScope(jjtn001);
  475. try {
  476. ExclusiveOrExpression();
  477. } catch (Throwable jjte001) {
  478. if (jjtc001) {
  479. jjtree.clearNodeScope(jjtn001);
  480. jjtc001 = false;
  481. } else {
  482. jjtree.popNode();
  483. }
  484. if (jjte001 instanceof RuntimeException) {
  485. {if (true) throw (RuntimeException)jjte001;}
  486. }
  487. if (jjte001 instanceof ParseException) {
  488. {if (true) throw (ParseException)jjte001;}
  489. }
  490. {if (true) throw (Error)jjte001;}
  491. } finally {
  492. if (jjtc001) {
  493. jjtree.closeNodeScope(jjtn001, 2);
  494. }
  495. }
  496. }
  497. }
  498. final public void ExclusiveOrExpression() throws ParseException {
  499. AndExpression();
  500. label_6:
  501. while (true) {
  502. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  503. case 21:
  504. ;
  505. break;
  506. default:
  507. jj_la1[9] = jj_gen;
  508. break label_6;
  509. }
  510. jj_consume_token(21);
  511. ASTBitwiseXorNode jjtn001 = new ASTBitwiseXorNode(this, JJTBITWISEXORNODE);
  512. boolean jjtc001 = true;
  513. jjtree.openNodeScope(jjtn001);
  514. try {
  515. AndExpression();
  516. } catch (Throwable jjte001) {
  517. if (jjtc001) {
  518. jjtree.clearNodeScope(jjtn001);
  519. jjtc001 = false;
  520. } else {
  521. jjtree.popNode();
  522. }
  523. if (jjte001 instanceof RuntimeException) {
  524. {if (true) throw (RuntimeException)jjte001;}
  525. }
  526. if (jjte001 instanceof ParseException) {
  527. {if (true) throw (ParseException)jjte001;}
  528. }
  529. {if (true) throw (Error)jjte001;}
  530. } finally {
  531. if (jjtc001) {
  532. jjtree.closeNodeScope(jjtn001, 2);
  533. }
  534. }
  535. }
  536. }
  537. final public void AndExpression() throws ParseException {
  538. EqualityExpression();
  539. label_7:
  540. while (true) {
  541. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  542. case 22:
  543. ;
  544. break;
  545. default:
  546. jj_la1[10] = jj_gen;
  547. break label_7;
  548. }
  549. jj_consume_token(22);
  550. ASTBitwiseAndNode jjtn001 = new ASTBitwiseAndNode(this, JJTBITWISEANDNODE);
  551. boolean jjtc001 = true;
  552. jjtree.openNodeScope(jjtn001);
  553. try {
  554. EqualityExpression();
  555. } catch (Throwable jjte001) {
  556. if (jjtc001) {
  557. jjtree.clearNodeScope(jjtn001);
  558. jjtc001 = false;
  559. } else {
  560. jjtree.popNode();
  561. }
  562. if (jjte001 instanceof RuntimeException) {
  563. {if (true) throw (RuntimeException)jjte001;}
  564. }
  565. if (jjte001 instanceof ParseException) {
  566. {if (true) throw (ParseException)jjte001;}
  567. }
  568. {if (true) throw (Error)jjte001;}
  569. } finally {
  570. if (jjtc001) {
  571. jjtree.closeNodeScope(jjtn001, 2);
  572. }
  573. }
  574. }
  575. }
  576. final public void EqualityExpression() throws ParseException {
  577. RelationalExpression();
  578. label_8:
  579. while (true) {
  580. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  581. case 23:
  582. case 24:
  583. case 25:
  584. case 26:
  585. ;
  586. break;
  587. default:
  588. jj_la1[11] = jj_gen;
  589. break label_8;
  590. }
  591. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  592. case 23:
  593. jj_consume_token(23);
  594. ASTEQNode jjtn001 = new ASTEQNode(this, JJTEQNODE);
  595. boolean jjtc001 = true;
  596. jjtree.openNodeScope(jjtn001);
  597. try {
  598. RelationalExpression();
  599. } catch (Throwable jjte001) {
  600. if (jjtc001) {
  601. jjtree.clearNodeScope(jjtn001);
  602. jjtc001 = false;
  603. } else {
  604. jjtree.popNode();
  605. }
  606. if (jjte001 instanceof RuntimeException) {
  607. {if (true) throw (RuntimeException)jjte001;}
  608. }
  609. if (jjte001 instanceof ParseException) {
  610. {if (true) throw (ParseException)jjte001;}
  611. }
  612. {if (true) throw (Error)jjte001;}
  613. } finally {
  614. if (jjtc001) {
  615. jjtree.closeNodeScope(jjtn001, 2);
  616. }
  617. }
  618. break;
  619. case 24:
  620. jj_consume_token(24);
  621. ASTEQNode jjtn002 = new ASTEQNode(this, JJTEQNODE);
  622. boolean jjtc002 = true;
  623. jjtree.openNodeScope(jjtn002);
  624. try {
  625. RelationalExpression();
  626. } catch (Throwable jjte002) {
  627. if (jjtc002) {
  628. jjtree.clearNodeScope(jjtn002);
  629. jjtc002 = false;
  630. } else {
  631. jjtree.popNode();
  632. }
  633. if (jjte002 instanceof RuntimeException) {
  634. {if (true) throw (RuntimeException)jjte002;}
  635. }
  636. if (jjte002 instanceof ParseException) {
  637. {if (true) throw (ParseException)jjte002;}
  638. }
  639. {if (true) throw (Error)jjte002;}
  640. } finally {
  641. if (jjtc002) {
  642. jjtree.closeNodeScope(jjtn002, 2);
  643. }
  644. }
  645. break;
  646. case 25:
  647. jj_consume_token(25);
  648. ASTNENode jjtn003 = new ASTNENode(this, JJTNENODE);
  649. boolean jjtc003 = true;
  650. jjtree.openNodeScope(jjtn003);
  651. try {
  652. RelationalExpression();
  653. } catch (Throwable jjte003) {
  654. if (jjtc003) {
  655. jjtree.clearNodeScope(jjtn003);
  656. jjtc003 = false;
  657. } else {
  658. jjtree.popNode();
  659. }
  660. if (jjte003 instanceof RuntimeException) {
  661. {if (true) throw (RuntimeException)jjte003;}
  662. }
  663. if (jjte003 instanceof ParseException) {
  664. {if (true) throw (ParseException)jjte003;}
  665. }
  666. {if (true) throw (Error)jjte003;}
  667. } finally {
  668. if (jjtc003) {
  669. jjtree.closeNodeScope(jjtn003, 2);
  670. }
  671. }
  672. break;
  673. case 26:
  674. jj_consume_token(26);
  675. ASTNENode jjtn004 = new ASTNENode(this, JJTNENODE);
  676. boolean jjtc004 = true;
  677. jjtree.openNodeScope(jjtn004);
  678. try {
  679. RelationalExpression();
  680. } catch (Throwable jjte004) {
  681. if (jjtc004) {
  682. jjtree.clearNodeScope(jjtn004);
  683. jjtc004 = false;
  684. } else {
  685. jjtree.popNode();
  686. }
  687. if (jjte004 instanceof RuntimeException) {
  688. {if (true) throw (RuntimeException)jjte004;}
  689. }
  690. if (jjte004 instanceof ParseException) {
  691. {if (true) throw (ParseException)jjte004;}
  692. }
  693. {if (true) throw (Error)jjte004;}
  694. } finally {
  695. if (jjtc004) {
  696. jjtree.closeNodeScope(jjtn004, 2);
  697. }
  698. }
  699. break;
  700. default:
  701. jj_la1[12] = jj_gen;
  702. jj_consume_token(-1);
  703. throw new ParseException();
  704. }
  705. }
  706. }
  707. final public void RelationalExpression() throws ParseException {
  708. AdditiveExpression();
  709. label_9:
  710. while (true) {
  711. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  712. case 27:
  713. case 28:
  714. case 29:
  715. case 30:
  716. case 31:
  717. case 32:
  718. case 33:
  719. case 34:
  720. ;
  721. break;
  722. default:
  723. jj_la1[13] = jj_gen;
  724. break label_9;
  725. }
  726. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  727. case 27:
  728. jj_consume_token(27);
  729. ASTLTNode jjtn001 = new ASTLTNode(this, JJTLTNODE);
  730. boolean jjtc001 = true;
  731. jjtree.openNodeScope(jjtn001);
  732. try {
  733. AdditiveExpression();
  734. } catch (Throwable jjte001) {
  735. if (jjtc001) {
  736. jjtree.clearNodeScope(jjtn001);
  737. jjtc001 = false;
  738. } else {
  739. jjtree.popNode();
  740. }
  741. if (jjte001 instanceof RuntimeException) {
  742. {if (true) throw (RuntimeException)jjte001;}
  743. }
  744. if (jjte001 instanceof ParseException) {
  745. {if (true) throw (ParseException)jjte001;}
  746. }
  747. {if (true) throw (Error)jjte001;}
  748. } finally {
  749. if (jjtc001) {
  750. jjtree.closeNodeScope(jjtn001, 2);
  751. }
  752. }
  753. break;
  754. case 28:
  755. jj_consume_token(28);
  756. ASTLTNode jjtn002 = new ASTLTNode(this, JJTLTNODE);
  757. boolean jjtc002 = true;
  758. jjtree.openNodeScope(jjtn002);
  759. try {
  760. AdditiveExpression();
  761. } catch (Throwable jjte002) {
  762. if (jjtc002) {
  763. jjtree.clearNodeScope(jjtn002);
  764. jjtc002 = false;
  765. } else {
  766. jjtree.popNode();
  767. }
  768. if (jjte002 instanceof RuntimeException) {
  769. {if (true) throw (RuntimeException)jjte002;}
  770. }
  771. if (jjte002 instanceof ParseException) {
  772. {if (true) throw (ParseException)jjte002;}
  773. }
  774. {if (true) throw (Error)jjte002;}
  775. } finally {
  776. if (jjtc002) {
  777. jjtree.closeNodeScope(jjtn002, 2);
  778. }
  779. }
  780. break;
  781. case 29:
  782. jj_consume_token(29);
  783. ASTGTNode jjtn003 = new ASTGTNode(this, JJTGTNODE);
  784. boolean jjtc003 = true;
  785. jjtree.openNodeScope(jjtn003);
  786. try {
  787. AdditiveExpression();
  788. } catch (Throwable jjte003) {
  789. if (jjtc003) {
  790. jjtree.clearNodeScope(jjtn003);
  791. jjtc003 = false;
  792. } else {
  793. jjtree.popNode();
  794. }
  795. if (jjte003 instanceof RuntimeException) {
  796. {if (true) throw (RuntimeException)jjte003;}
  797. }
  798. if (jjte003 instanceof ParseException) {
  799. {if (true) throw (ParseException)jjte003;}
  800. }
  801. {if (true) throw (Error)jjte003;}
  802. } finally {
  803. if (jjtc003) {
  804. jjtree.closeNodeScope(jjtn003, 2);
  805. }
  806. }
  807. break;
  808. case 30:
  809. jj_consume_token(30);
  810. ASTGTNode jjtn004 = new ASTGTNode(this, JJTGTNODE);
  811. boolean jjtc004 = true;
  812. jjtree.openNodeScope(jjtn004);
  813. try {
  814. AdditiveExpression();
  815. } catch (Throwable jjte004) {
  816. if (jjtc004) {
  817. jjtree.clearNodeScope(jjtn004);
  818. jjtc004 = false;
  819. } else {
  820. jjtree.popNode();
  821. }
  822. if (jjte004 instanceof RuntimeException) {
  823. {if (true) throw (RuntimeException)jjte004;}
  824. }
  825. if (jjte004 instanceof ParseException) {
  826. {if (true) throw (ParseException)jjte004;}
  827. }
  828. {if (true) throw (Error)jjte004;}
  829. } finally {
  830. if (jjtc004) {
  831. jjtree.closeNodeScope(jjtn004, 2);
  832. }
  833. }
  834. break;
  835. case 31:
  836. jj_consume_token(31);
  837. ASTLENode jjtn005 = new ASTLENode(this, JJTLENODE);
  838. boolean jjtc005 = true;
  839. jjtree.openNodeScope(jjtn005);
  840. try {
  841. AdditiveExpression();
  842. } catch (Throwable jjte005) {
  843. if (jjtc005) {
  844. jjtree.clearNodeScope(jjtn005);
  845. jjtc005 = false;
  846. } else {
  847. jjtree.popNode();
  848. }
  849. if (jjte005 instanceof RuntimeException) {
  850. {if (true) throw (RuntimeException)jjte005;}
  851. }
  852. if (jjte005 instanceof ParseException) {
  853. {if (true) throw (ParseException)jjte005;}
  854. }
  855. {if (true) throw (Error)jjte005;}
  856. } finally {
  857. if (jjtc005) {
  858. jjtree.closeNodeScope(jjtn005, 2);
  859. }
  860. }
  861. break;
  862. case 32:
  863. jj_consume_token(32);
  864. ASTLENode jjtn006 = new ASTLENode(this, JJTLENODE);
  865. boolean jjtc006 = true;
  866. jjtree.openNodeScope(jjtn006);
  867. try {
  868. AdditiveExpression();
  869. } catch (Throwable jjte006) {
  870. if (jjtc006) {
  871. jjtree.clearNodeScope(jjtn006);
  872. jjtc006 = false;
  873. } else {
  874. jjtree.popNode();
  875. }
  876. if (jjte006 instanceof RuntimeException) {
  877. {if (true) throw (RuntimeException)jjte006;}
  878. }
  879. if (jjte006 instanceof ParseException) {
  880. {if (true) throw (ParseException)jjte006;}
  881. }
  882. {if (true) throw (Error)jjte006;}
  883. } finally {
  884. if (jjtc006) {
  885. jjtree.closeNodeScope(jjtn006, 2);
  886. }
  887. }
  888. break;
  889. case 33:
  890. jj_consume_token(33);
  891. ASTGENode jjtn007 = new ASTGENode(this, JJTGENODE);
  892. boolean jjtc007 = true;
  893. jjtree.openNodeScope(jjtn007);
  894. try {
  895. AdditiveExpression();
  896. } catch (Throwable jjte007) {
  897. if (jjtc007) {
  898. jjtree.clearNodeScope(jjtn007);
  899. jjtc007 = false;
  900. } else {
  901. jjtree.popNode();
  902. }
  903. if (jjte007 instanceof RuntimeException) {
  904. {if (true) throw (RuntimeException)jjte007;}
  905. }
  906. if (jjte007 instanceof ParseException) {
  907. {if (true) throw (ParseException)jjte007;}
  908. }
  909. {if (true) throw (Error)jjte007;}
  910. } finally {
  911. if (jjtc007) {
  912. jjtree.closeNodeScope(jjtn007, 2);
  913. }
  914. }
  915. break;
  916. case 34:
  917. jj_consume_token(34);
  918. ASTGENode jjtn008 = new ASTGENode(this, JJTGENODE);
  919. boolean jjtc008 = true;
  920. jjtree.openNodeScope(jjtn008);
  921. try {
  922. AdditiveExpression();
  923. } catch (Throwable jjte008) {
  924. if (jjtc008) {
  925. jjtree.clearNodeScope(jjtn008);
  926. jjtc008 = false;
  927. } else {
  928. jjtree.popNode();
  929. }
  930. if (jjte008 instanceof RuntimeException) {
  931. {if (true) throw (RuntimeException)jjte008;}
  932. }
  933. if (jjte008 instanceof ParseException) {
  934. {if (true) throw (ParseException)jjte008;}
  935. }
  936. {if (true) throw (Error)jjte008;}
  937. } finally {
  938. if (jjtc008) {
  939. jjtree.closeNodeScope(jjtn008, 2);
  940. }
  941. }
  942. break;
  943. default:
  944. jj_la1[14] = jj_gen;
  945. jj_consume_token(-1);
  946. throw new ParseException();
  947. }
  948. }
  949. }
  950. final public void AdditiveExpression() throws ParseException {
  951. MultiplicativeExpression();
  952. label_10:
  953. while (true) {
  954. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  955. case 35:
  956. case 36:
  957. ;
  958. break;
  959. default:
  960. jj_la1[15] = jj_gen;
  961. break label_10;
  962. }
  963. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  964. case 35:
  965. jj_consume_token(35);
  966. ASTAddNode jjtn001 = new ASTAddNode(this, JJTADDNODE);
  967. boolean jjtc001 = true;
  968. jjtree.openNodeScope(jjtn001);
  969. try {
  970. MultiplicativeExpression();
  971. } catch (Throwable jjte001) {
  972. if (jjtc001) {
  973. jjtree.clearNodeScope(jjtn001);
  974. jjtc001 = false;
  975. } else {
  976. jjtree.popNode();
  977. }
  978. if (jjte001 instanceof RuntimeException) {
  979. {if (true) throw (RuntimeException)jjte001;}
  980. }
  981. if (jjte001 instanceof ParseException) {
  982. {if (true) throw (ParseException)jjte001;}
  983. }
  984. {if (true) throw (Error)jjte001;}
  985. } finally {
  986. if (jjtc001) {
  987. jjtree.closeNodeScope(jjtn001, 2);
  988. }
  989. }
  990. break;
  991. case 36:
  992. jj_consume_token(36);
  993. ASTSubtractNode jjtn002 = new ASTSubtractNode(this, JJTSUBTRACTNODE);
  994. boolean jjtc002 = true;
  995. jjtree.openNodeScope(jjtn002);
  996. try {
  997. MultiplicativeExpression();
  998. } catch (Throwable jjte002) {
  999. if (jjtc002) {
  1000. jjtree.clearNodeScope(jjtn002);
  1001. jjtc002 = false;
  1002. } else {
  1003. jjtree.popNode();
  1004. }
  1005. if (jjte002 instanceof RuntimeException) {
  1006. {if (true) throw (RuntimeException)jjte002;}
  1007. }
  1008. if (jjte002 instanceof ParseException) {
  1009. {if (true) throw (ParseException)jjte002;}
  1010. }
  1011. {if (true) throw (Error)jjte002;}
  1012. } finally {
  1013. if (jjtc002) {
  1014. jjtree.closeNodeScope(jjtn002, 2);
  1015. }
  1016. }
  1017. break;
  1018. default:
  1019. jj_la1[16] = jj_gen;
  1020. jj_consume_token(-1);
  1021. throw new ParseException();
  1022. }
  1023. }
  1024. }
  1025. final public void MultiplicativeExpression() throws ParseException {
  1026. UnaryExpression();
  1027. label_11:
  1028. while (true) {
  1029. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1030. case 37:
  1031. case 38:
  1032. case 39:
  1033. case 40:
  1034. case 41:
  1035. ;
  1036. break;
  1037. default:
  1038. jj_la1[17] = jj_gen;
  1039. break label_11;
  1040. }
  1041. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1042. case 37:
  1043. jj_consume_token(37);
  1044. ASTMulNode jjtn001 = new ASTMulNode(this, JJTMULNODE);
  1045. boolean jjtc001 = true;
  1046. jjtree.openNodeScope(jjtn001);
  1047. try {
  1048. UnaryExpression();
  1049. } catch (Throwable jjte001) {
  1050. if (jjtc001) {
  1051. jjtree.clearNodeScope(jjtn001);
  1052. jjtc001 = false;
  1053. } else {
  1054. jjtree.popNode();
  1055. }
  1056. if (jjte001 instanceof RuntimeException) {
  1057. {if (true) throw (RuntimeException)jjte001;}
  1058. }
  1059. if (jjte001 instanceof ParseException) {
  1060. {if (true) throw (ParseException)jjte001;}
  1061. }
  1062. {if (true) throw (Error)jjte001;}
  1063. } finally {
  1064. if (jjtc001) {
  1065. jjtree.closeNodeScope(jjtn001, 2);
  1066. }
  1067. }
  1068. break;
  1069. case 38:
  1070. jj_consume_token(38);
  1071. ASTDivNode jjtn002 = new ASTDivNode(this, JJTDIVNODE);
  1072. boolean jjtc002 = true;
  1073. jjtree.openNodeScope(jjtn002);
  1074. try {
  1075. UnaryExpression();
  1076. } catch (Throwable jjte002) {
  1077. if (jjtc002) {
  1078. jjtree.clearNodeScope(jjtn002);
  1079. jjtc002 = false;
  1080. } else {
  1081. jjtree.popNode();
  1082. }
  1083. if (jjte002 instanceof RuntimeException) {
  1084. {if (true) throw (RuntimeException)jjte002;}
  1085. }
  1086. if (jjte002 instanceof ParseException) {
  1087. {if (true) throw (ParseException)jjte002;}
  1088. }
  1089. {if (true) throw (Error)jjte002;}
  1090. } finally {
  1091. if (jjtc002) {
  1092. jjtree.closeNodeScope(jjtn002, 2);
  1093. }
  1094. }
  1095. break;
  1096. case 39:
  1097. jj_consume_token(39);
  1098. ASTDivNode jjtn003 = new ASTDivNode(this, JJTDIVNODE);
  1099. boolean jjtc003 = true;
  1100. jjtree.openNodeScope(jjtn003);
  1101. try {
  1102. UnaryExpression();
  1103. } catch (Throwable jjte003) {
  1104. if (jjtc003) {
  1105. jjtree.clearNodeScope(jjtn003);
  1106. jjtc003 = false;
  1107. } else {
  1108. jjtree.popNode();
  1109. }
  1110. if (jjte003 instanceof RuntimeException) {
  1111. {if (true) throw (RuntimeException)jjte003;}
  1112. }
  1113. if (jjte003 instanceof ParseException) {
  1114. {if (true) throw (ParseException)jjte003;}
  1115. }
  1116. {if (true) throw (Error)jjte003;}
  1117. } finally {
  1118. if (jjtc003) {
  1119. jjtree.closeNodeScope(jjtn003, 2);
  1120. }
  1121. }
  1122. break;
  1123. case 40:
  1124. jj_consume_token(40);
  1125. ASTModNode jjtn004 = new ASTModNode(this, JJTMODNODE);
  1126. boolean jjtc004 = true;
  1127. jjtree.openNodeScope(jjtn004);
  1128. try {
  1129. UnaryExpression();
  1130. } catch (Throwable jjte004) {
  1131. if (jjtc004) {
  1132. jjtree.clearNodeScope(jjtn004);
  1133. jjtc004 = false;
  1134. } else {
  1135. jjtree.popNode();
  1136. }
  1137. if (jjte004 instanceof RuntimeException) {
  1138. {if (true) throw (RuntimeException)jjte004;}
  1139. }
  1140. if (jjte004 instanceof ParseException) {
  1141. {if (true) throw (ParseException)jjte004;}
  1142. }
  1143. {if (true) throw (Error)jjte004;}
  1144. } finally {
  1145. if (jjtc004) {
  1146. jjtree.closeNodeScope(jjtn004, 2);
  1147. }
  1148. }
  1149. break;
  1150. case 41:
  1151. jj_consume_token(41);
  1152. ASTModNode jjtn005 = new ASTModNode(this, JJTMODNODE);
  1153. boolean jjtc005 = true;
  1154. jjtree.openNodeScope(jjtn005);
  1155. try {
  1156. UnaryExpression();
  1157. } catch (Throwable jjte005) {
  1158. if (jjtc005) {
  1159. jjtree.clearNodeScope(jjtn005);
  1160. jjtc005 = false;
  1161. } else {
  1162. jjtree.popNode();
  1163. }
  1164. if (jjte005 instanceof RuntimeException) {
  1165. {if (true) throw (RuntimeException)jjte005;}
  1166. }
  1167. if (jjte005 instanceof ParseException) {
  1168. {if (true) throw (ParseException)jjte005;}
  1169. }
  1170. {if (true) throw (Error)jjte005;}
  1171. } finally {
  1172. if (jjtc005) {
  1173. jjtree.closeNodeScope(jjtn005, 2);
  1174. }
  1175. }
  1176. break;
  1177. default:
  1178. jj_la1[18] = jj_gen;
  1179. jj_consume_token(-1);
  1180. throw new ParseException();
  1181. }
  1182. }
  1183. }
  1184. final public void UnaryExpression() throws ParseException {
  1185. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1186. case 36:
  1187. jj_consume_token(36);
  1188. ASTUnaryMinusNode jjtn001 = new ASTUnaryMinusNode(this, JJTUNARYMINUSNODE);
  1189. boolean jjtc001 = true;
  1190. jjtree.openNodeScope(jjtn001);
  1191. try {
  1192. UnaryExpression();
  1193. } catch (Throwable jjte001) {
  1194. if (jjtc001) {
  1195. jjtree.clearNodeScope(jjtn001);
  1196. jjtc001 = false;
  1197. } else {
  1198. jjtree.popNode();
  1199. }
  1200. if (jjte001 instanceof RuntimeException) {
  1201. {if (true) throw (RuntimeException)jjte001;}
  1202. }
  1203. if (jjte001 instanceof ParseException) {
  1204. {if (true) throw (ParseException)jjte001;}
  1205. }
  1206. {if (true) throw (Error)jjte001;}
  1207. } finally {
  1208. if (jjtc001) {
  1209. jjtree.closeNodeScope(jjtn001, 1);
  1210. }
  1211. }
  1212. break;
  1213. case 42:
  1214. jj_consume_token(42);
  1215. ASTBitwiseComplNode jjtn002 = new ASTBitwiseComplNode(this, JJTBITWISECOMPLNODE);
  1216. boolean jjtc002 = true;
  1217. jjtree.openNodeScope(jjtn002);
  1218. try {
  1219. UnaryExpression();
  1220. } catch (Throwable jjte002) {
  1221. if (jjtc002) {
  1222. jjtree.clearNodeScope(jjtn002);
  1223. jjtc002 = false;
  1224. } else {
  1225. jjtree.popNode();
  1226. }
  1227. if (jjte002 instanceof RuntimeException) {
  1228. {if (true) throw (RuntimeException)jjte002;}
  1229. }
  1230. if (jjte002 instanceof ParseException) {
  1231. {if (true) throw (ParseException)jjte002;}
  1232. }
  1233. {if (true) throw (Error)jjte002;}
  1234. } finally {
  1235. if (jjtc002) {
  1236. jjtree.closeNodeScope(jjtn002, 1);
  1237. }
  1238. }
  1239. break;
  1240. case 43:
  1241. jj_consume_token(43);
  1242. ASTNotNode jjtn003 = new ASTNotNode(this, JJTNOTNODE);
  1243. boolean jjtc003 = true;
  1244. jjtree.openNodeScope(jjtn003);
  1245. try {
  1246. UnaryExpression();
  1247. } catch (Throwable jjte003) {
  1248. if (jjtc003) {
  1249. jjtree.clearNodeScope(jjtn003);
  1250. jjtc003 = false;
  1251. } else {
  1252. jjtree.popNode();
  1253. }
  1254. if (jjte003 instanceof RuntimeException) {
  1255. {if (true) throw (RuntimeException)jjte003;}
  1256. }
  1257. if (jjte003 instanceof ParseException) {
  1258. {if (true) throw (ParseException)jjte003;}
  1259. }
  1260. {if (true) throw (Error)jjte003;}
  1261. } finally {
  1262. if (jjtc003) {
  1263. jjtree.closeNodeScope(jjtn003, 1);
  1264. }
  1265. }
  1266. break;
  1267. case 44:
  1268. jj_consume_token(44);
  1269. ASTNotNode jjtn004 = new ASTNotNode(this, JJTNOTNODE);
  1270. boolean jjtc004 = true;
  1271. jjtree.openNodeScope(jjtn004);
  1272. try {
  1273. UnaryExpression();
  1274. } catch (Throwable jjte004) {
  1275. if (jjtc004) {
  1276. jjtree.clearNodeScope(jjtn004);
  1277. jjtc004 = false;
  1278. } else {
  1279. jjtree.popNode();
  1280. }
  1281. if (jjte004 instanceof RuntimeException) {
  1282. {if (true) throw (RuntimeException)jjte004;}
  1283. }
  1284. if (jjte004 instanceof ParseException) {
  1285. {if (true) throw (ParseException)jjte004;}
  1286. }
  1287. {if (true) throw (Error)jjte004;}
  1288. } finally {
  1289. if (jjtc004) {
  1290. jjtree.closeNodeScope(jjtn004, 1);
  1291. }
  1292. }
  1293. break;
  1294. case INTEGER_LITERAL:
  1295. case FLOAT_LITERAL:
  1296. case 11:
  1297. case 12:
  1298. case 14:
  1299. case 45:
  1300. case 46:
  1301. case 47:
  1302. case IDENTIFIER:
  1303. case STRING_LITERAL:
  1304. PrimaryExpression();
  1305. break;
  1306. default:
  1307. jj_la1[19] = jj_gen;
  1308. jj_consume_token(-1);
  1309. throw new ParseException();
  1310. }
  1311. }
  1312. final public void PrimaryExpression() throws ParseException {
  1313. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1314. case INTEGER_LITERAL:
  1315. case FLOAT_LITERAL:
  1316. case 45:
  1317. case 46:
  1318. case 47:
  1319. case STRING_LITERAL:
  1320. Literal();
  1321. break;
  1322. case IDENTIFIER:
  1323. Reference();
  1324. break;
  1325. case 12:
  1326. jj_consume_token(12);
  1327. Expression();
  1328. jj_consume_token(13);
  1329. break;
  1330. case 11:
  1331. EmptyFunction();
  1332. break;
  1333. case 14:
  1334. SizeFunction();
  1335. break;
  1336. default:
  1337. jj_la1[20] = jj_gen;
  1338. jj_consume_token(-1);
  1339. throw new ParseException();
  1340. }
  1341. }
  1342. final public void Literal() throws ParseException {
  1343. Token t;
  1344. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1345. case INTEGER_LITERAL:
  1346. IntegerLiteral();
  1347. break;
  1348. case FLOAT_LITERAL:
  1349. FloatLiteral();
  1350. break;
  1351. case 46:
  1352. case 47:
  1353. BooleanLiteral();
  1354. break;
  1355. case STRING_LITERAL:
  1356. StringLiteral();
  1357. break;
  1358. case 45:
  1359. NullLiteral();
  1360. break;
  1361. default:
  1362. jj_la1[21] = jj_gen;
  1363. jj_consume_token(-1);
  1364. throw new ParseException();
  1365. }
  1366. }
  1367. final public void NullLiteral() throws ParseException {
  1368. /*@bgen(jjtree) NullLiteral */
  1369. ASTNullLiteral jjtn000 = new ASTNullLiteral(this, JJTNULLLITERAL);
  1370. boolean jjtc000 = true;
  1371. jjtree.openNodeScope(jjtn000);
  1372. try {
  1373. jj_consume_token(45);
  1374. } finally {
  1375. if (jjtc000) {
  1376. jjtree.closeNodeScope(jjtn000, true);
  1377. }
  1378. }
  1379. }
  1380. final public void BooleanLiteral() throws ParseException {
  1381. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1382. case 46:
  1383. ASTTrueNode jjtn001 = new ASTTrueNode(this, JJTTRUENODE);
  1384. boolean jjtc001 = true;
  1385. jjtree.openNodeScope(jjtn001);
  1386. try {
  1387. jj_consume_token(46);
  1388. } finally {
  1389. if (jjtc001) {
  1390. jjtree.closeNodeScope(jjtn001, true);
  1391. }
  1392. }
  1393. break;
  1394. case 47:
  1395. ASTFalseNode jjtn002 = new ASTFalseNode(this, JJTFALSENODE);
  1396. boolean jjtc002 = true;
  1397. jjtree.openNodeScope(jjtn002);
  1398. try {
  1399. jj_consume_token(47);
  1400. } finally {
  1401. if (jjtc002) {
  1402. jjtree.closeNodeScope(jjtn002, true);
  1403. }
  1404. }
  1405. break;
  1406. default:
  1407. jj_la1[22] = jj_gen;
  1408. jj_consume_token(-1);
  1409. throw new ParseException();
  1410. }
  1411. }
  1412. final public void IntegerLiteral() throws ParseException {
  1413. /*@bgen(jjtree) IntegerLiteral */
  1414. ASTIntegerLiteral jjtn000 = new ASTIntegerLiteral(this, JJTINTEGERLITERAL);
  1415. boolean jjtc000 = true;
  1416. jjtree.openNodeScope(jjtn000);Token t;
  1417. try {
  1418. t = jj_consume_token(INTEGER_LITERAL);
  1419. jjtree.closeNodeScope(jjtn000, true);
  1420. jjtc000 = false;
  1421. jjtn000.val = Integer.valueOf(t.image);
  1422. } finally {
  1423. if (jjtc000) {
  1424. jjtree.closeNodeScope(jjtn000, true);
  1425. }
  1426. }
  1427. }
  1428. final public void FloatLiteral() throws ParseException {
  1429. /*@bgen(jjtree) FloatLiteral */
  1430. ASTFloatLiteral jjtn000 = new ASTFloatLiteral(this, JJTFLOATLITERAL);
  1431. boolean jjtc000 = true;
  1432. jjtree.openNodeScope(jjtn000);Token t;
  1433. try {
  1434. t = jj_consume_token(FLOAT_LITERAL);
  1435. jjtree.closeNodeScope(jjtn000, true);
  1436. jjtc000 = false;
  1437. jjtn000.val = Float.valueOf(t.image);
  1438. } finally {
  1439. if (jjtc000) {
  1440. jjtree.closeNodeScope(jjtn000, true);
  1441. }
  1442. }
  1443. }
  1444. final public void StringLiteral() throws ParseException {
  1445. /*@bgen(jjtree) StringLiteral */
  1446. ASTStringLiteral jjtn000 = new ASTStringLiteral(this, JJTSTRINGLITERAL);
  1447. boolean jjtc000 = true;
  1448. jjtree.openNodeScope(jjtn000);Token t;
  1449. try {
  1450. t = jj_consume_token(STRING_LITERAL);
  1451. jjtree.closeNodeScope(jjtn000, true);
  1452. jjtc000 = false;
  1453. jjtn000.literal = t.image.substring(1,t.image.length()-1);
  1454. } finally {
  1455. if (jjtc000) {
  1456. jjtree.closeNodeScope(jjtn000, true);
  1457. }
  1458. }
  1459. }
  1460. /*
  1461. * Statement syntax follows.
  1462. */
  1463. final public void Statement() throws ParseException {
  1464. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1465. case 48:
  1466. jj_consume_token(48);
  1467. break;
  1468. case 9:
  1469. Block();
  1470. break;
  1471. default:
  1472. jj_la1[23] = jj_gen;
  1473. if (jj_2_2(2147483647)) {
  1474. ReferenceExpression();
  1475. } else if (jj_2_3(2147483647)) {
  1476. StatementExpression();
  1477. } else {
  1478. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1479. case INTEGER_LITERAL:
  1480. case FLOAT_LITERAL:
  1481. case 11:
  1482. case 12:
  1483. case 14:
  1484. case 36:
  1485. case 42:
  1486. case 43:
  1487. case 44:
  1488. case 45:
  1489. case 46:
  1490. case 47:
  1491. case IDENTIFIER:
  1492. case STRING_LITERAL:
  1493. ExpressionExpression();
  1494. break;
  1495. case 49:
  1496. IfStatement();
  1497. break;
  1498. case 52:
  1499. ForeachStatement();
  1500. break;
  1501. case 51:
  1502. WhileStatement();
  1503. break;
  1504. default:
  1505. jj_la1[24] = jj_gen;
  1506. jj_consume_token(-1);
  1507. throw new ParseException();
  1508. }
  1509. }
  1510. }
  1511. }
  1512. final public void ExpressionExpression() throws ParseException {
  1513. /*@bgen(jjtree) ExpressionExpression */
  1514. ASTExpressionExpression jjtn000 = new ASTExpressionExpression(this, JJTEXPRESSIONEXPRESSION);
  1515. boolean jjtc000 = true;
  1516. jjtree.openNodeScope(jjtn000);
  1517. try {
  1518. Expression();
  1519. jj_consume_token(48);
  1520. } catch (Throwable jjte000) {
  1521. if (jjtc000) {
  1522. jjtree.clearNodeScope(jjtn000);
  1523. jjtc000 = false;
  1524. } else {
  1525. jjtree.popNode();
  1526. }
  1527. if (jjte000 instanceof RuntimeException) {
  1528. {if (true) throw (RuntimeException)jjte000;}
  1529. }
  1530. if (jjte000 instanceof ParseException) {
  1531. {if (true) throw (ParseException)jjte000;}
  1532. }
  1533. {if (true) throw (Error)jjte000;}
  1534. } finally {
  1535. if (jjtc000) {
  1536. jjtree.closeNodeScope(jjtn000, true);
  1537. }
  1538. }
  1539. }
  1540. final public void StatementExpression() throws ParseException {
  1541. /*@bgen(jjtree) StatementExpression */
  1542. ASTStatementExpression jjtn000 = new ASTStatementExpression(this, JJTSTATEMENTEXPRESSION);
  1543. boolean jjtc000 = true;
  1544. jjtree.openNodeScope(jjtn000);
  1545. try {
  1546. Assignment();
  1547. jj_consume_token(48);
  1548. } catch (Throwable jjte000) {
  1549. if (jjtc000) {
  1550. jjtree.clearNodeScope(jjtn000);
  1551. jjtc000 = false;
  1552. } else {
  1553. jjtree.popNode();
  1554. }
  1555. if (jjte000 instanceof RuntimeException) {
  1556. {if (true) throw (RuntimeException)jjte000;}
  1557. }
  1558. if (jjte000 instanceof ParseException) {
  1559. {if (true) throw (ParseException)jjte000;}
  1560. }
  1561. {if (true) throw (Error)jjte000;}
  1562. } finally {
  1563. if (jjtc000) {
  1564. jjtree.closeNodeScope(jjtn000, true);
  1565. }
  1566. }
  1567. }
  1568. final public void ReferenceExpression() throws ParseException {
  1569. /*@bgen(jjtree) ReferenceExpression */
  1570. ASTReferenceExpression jjtn000 = new ASTReferenceExpression(this, JJTREFERENCEEXPRESSION);
  1571. boolean jjtc000 = true;
  1572. jjtree.openNodeScope(jjtn000);
  1573. try {
  1574. Reference();
  1575. jj_consume_token(48);
  1576. } catch (Throwable jjte000) {
  1577. if (jjtc000) {
  1578. jjtree.clearNodeScope(jjtn000);
  1579. jjtc000 = false;
  1580. } else {
  1581. jjtree.popNode();
  1582. }
  1583. if (jjte000 instanceof RuntimeException) {
  1584. {if (true) throw (RuntimeException)jjte000;}
  1585. }
  1586. if (jjte000 instanceof ParseException) {
  1587. {if (true) throw (ParseException)jjte000;}
  1588. }
  1589. {if (true) throw (Error)jjte000;}
  1590. } finally {
  1591. if (jjtc000) {
  1592. jjtree.closeNodeScope(jjtn000, true);
  1593. }
  1594. }
  1595. }
  1596. final public void IfStatement() throws ParseException {
  1597. /*@bgen(jjtree) IfStatement */
  1598. ASTIfStatement jjtn000 = new ASTIfStatement(this, JJTIFSTATEMENT);
  1599. boolean jjtc000 = true;
  1600. jjtree.openNodeScope(jjtn000);
  1601. try {
  1602. jj_consume_token(49);
  1603. jj_consume_token(12);
  1604. Expression();
  1605. jj_consume_token(13);
  1606. Statement();
  1607. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1608. case 50:
  1609. jj_consume_token(50);
  1610. Statement();
  1611. break;
  1612. default:
  1613. jj_la1[25] = jj_gen;
  1614. ;
  1615. }
  1616. } catch (Throwable jjte000) {
  1617. if (jjtc000) {
  1618. jjtree.clearNodeScope(jjtn000);
  1619. jjtc000 = false;
  1620. } else {
  1621. jjtree.popNode();
  1622. }
  1623. if (jjte000 instanceof RuntimeException) {
  1624. {if (true) throw (RuntimeException)jjte000;}
  1625. }
  1626. if (jjte000 instanceof ParseException) {
  1627. {if (true) throw (ParseException)jjte000;}
  1628. }
  1629. {if (true) throw (Error)jjte000;}
  1630. } finally {
  1631. if (jjtc000) {
  1632. jjtree.closeNodeScope(jjtn000, true);
  1633. }
  1634. }
  1635. }
  1636. final public void WhileStatement() throws ParseException {
  1637. /*@bgen(jjtree) WhileStatement */
  1638. ASTWhileStatement jjtn000 = new ASTWhileStatement(this, JJTWHILESTATEMENT);
  1639. boolean jjtc000 = true;
  1640. jjtree.openNodeScope(jjtn000);
  1641. try {
  1642. jj_consume_token(51);
  1643. jj_consume_token(12);
  1644. Expression();
  1645. jj_consume_token(13);
  1646. Statement();
  1647. } catch (Throwable jjte000) {
  1648. if (jjtc000) {
  1649. jjtree.clearNodeScope(jjtn000);
  1650. jjtc000 = false;
  1651. } else {
  1652. jjtree.popNode();
  1653. }
  1654. if (jjte000 instanceof RuntimeException) {
  1655. {if (true) throw (RuntimeException)jjte000;}
  1656. }
  1657. if (jjte000 instanceof ParseException) {
  1658. {if (true) throw (ParseException)jjte000;}
  1659. }
  1660. {if (true) throw (Error)jjte000;}
  1661. } finally {
  1662. if (jjtc000) {
  1663. jjtree.closeNodeScope(jjtn000, true);
  1664. }
  1665. }
  1666. }
  1667. final public void ForeachStatement() throws ParseException {
  1668. /*@bgen(jjtree) ForeachStatement */
  1669. ASTForeachStatement jjtn000 = new ASTForeachStatement(this, JJTFOREACHSTATEMENT);
  1670. boolean jjtc000 = true;
  1671. jjtree.openNodeScope(jjtn000);
  1672. try {
  1673. jj_consume_token(52);
  1674. jj_consume_token(12);
  1675. Reference();
  1676. jj_consume_token(53);
  1677. Reference();
  1678. jj_consume_token(13);
  1679. Statement();
  1680. } catch (Throwable jjte000) {
  1681. if (jjtc000) {
  1682. jjtree.clearNodeScope(jjtn000);
  1683. jjtc000 = false;
  1684. } else {
  1685. jjtree.popNode();
  1686. }
  1687. if (jjte000 instanceof RuntimeException) {
  1688. {if (true) throw (RuntimeException)jjte000;}
  1689. }
  1690. if (jjte000 instanceof ParseException) {
  1691. {if (true) throw (ParseException)jjte000;}
  1692. }
  1693. {if (true) throw (Error)jjte000;}
  1694. } finally {
  1695. if (jjtc000) {
  1696. jjtree.closeNodeScope(jjtn000, true);
  1697. }
  1698. }
  1699. }
  1700. final public void Method() throws ParseException {
  1701. /*@bgen(jjtree) Method */
  1702. ASTMethod jjtn000 = new ASTMethod(this, JJTMETHOD);
  1703. boolean jjtc000 = true;
  1704. jjtree.openNodeScope(jjtn000);
  1705. try {
  1706. Identifier();
  1707. jj_consume_token(12);
  1708. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1709. case INTEGER_LITERAL:
  1710. case FLOAT_LITERAL:
  1711. case 11:
  1712. case 12:
  1713. case 14:
  1714. case 36:
  1715. case 42:
  1716. case 43:
  1717. case 44:
  1718. case 45:
  1719. case 46:
  1720. case 47:
  1721. case IDENTIFIER:
  1722. case STRING_LITERAL:
  1723. Parameter();
  1724. label_12:
  1725. while (true) {
  1726. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1727. case 54:
  1728. ;
  1729. break;
  1730. default:
  1731. jj_la1[26] = jj_gen;
  1732. break label_12;
  1733. }
  1734. jj_consume_token(54);
  1735. Parameter();
  1736. }
  1737. break;
  1738. default:
  1739. jj_la1[27] = jj_gen;
  1740. ;
  1741. }
  1742. jj_consume_token(13);
  1743. } catch (Throwable jjte000) {
  1744. if (jjtc000) {
  1745. jjtree.clearNodeScope(jjtn000);
  1746. jjtc000 = false;
  1747. } else {
  1748. jjtree.popNode();
  1749. }
  1750. if (jjte000 instanceof RuntimeException) {
  1751. {if (true) throw (RuntimeException)jjte000;}
  1752. }
  1753. if (jjte000 instanceof ParseException) {
  1754. {if (true) throw (ParseException)jjte000;}
  1755. }
  1756. {if (true) throw (Error)jjte000;}
  1757. } finally {
  1758. if (jjtc000) {
  1759. jjtree.closeNodeScope(jjtn000, true);
  1760. }
  1761. }
  1762. }
  1763. final public void ArrayAccess() throws ParseException {
  1764. /*@bgen(jjtree) ArrayAccess */
  1765. ASTArrayAccess jjtn000 = new ASTArrayAccess(this, JJTARRAYACCESS);
  1766. boolean jjtc000 = true;
  1767. jjtree.openNodeScope(jjtn000);
  1768. try {
  1769. Identifier();
  1770. label_13:
  1771. while (true) {
  1772. jj_consume_token(55);
  1773. if (jj_2_4(3)) {
  1774. Expression();
  1775. } else {
  1776. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1777. case INTEGER_LITERAL:
  1778. IntegerLiteral();
  1779. break;
  1780. case IDENTIFIER:
  1781. Reference();
  1782. break;
  1783. default:
  1784. jj_la1[28] = jj_gen;
  1785. jj_consume_token(-1);
  1786. throw new ParseException();
  1787. }
  1788. }
  1789. jj_consume_token(56);
  1790. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1791. case 55:
  1792. ;
  1793. break;
  1794. default:
  1795. jj_la1[29] = jj_gen;
  1796. break label_13;
  1797. }
  1798. }
  1799. } catch (Throwable jjte000) {
  1800. if (jjtc000) {
  1801. jjtree.clearNodeScope(jjtn000);
  1802. jjtc000 = false;
  1803. } else {
  1804. jjtree.popNode();
  1805. }
  1806. if (jjte000 instanceof RuntimeException) {
  1807. {if (true) throw (RuntimeException)jjte000;}
  1808. }
  1809. if (jjte000 instanceof ParseException) {
  1810. {if (true) throw (ParseException)jjte000;}
  1811. }
  1812. {if (true) throw (Error)jjte000;}
  1813. } finally {
  1814. if (jjtc000) {
  1815. jjtree.closeNodeScope(jjtn000, true);
  1816. }
  1817. }
  1818. }
  1819. final public void SizeMethod() throws ParseException {
  1820. /*@bgen(jjtree) SizeMethod */
  1821. ASTSizeMethod jjtn000 = new ASTSizeMethod(this, JJTSIZEMETHOD);
  1822. boolean jjtc000 = true;
  1823. jjtree.openNodeScope(jjtn000);
  1824. try {
  1825. jj_consume_token(14);
  1826. jj_consume_token(12);
  1827. jj_consume_token(13);
  1828. } finally {
  1829. if (jjtc000) {
  1830. jjtree.closeNodeScope(jjtn000, true);
  1831. }
  1832. }
  1833. }
  1834. final public void Reference() throws ParseException {
  1835. /*@bgen(jjtree) Reference */
  1836. ASTReference jjtn000 = new ASTReference(this, JJTREFERENCE);
  1837. boolean jjtc000 = true;
  1838. jjtree.openNodeScope(jjtn000);
  1839. try {
  1840. if (jj_2_5(2147483647)) {
  1841. ArrayAccess();
  1842. } else {
  1843. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1844. case IDENTIFIER:
  1845. Identifier();
  1846. break;
  1847. default:
  1848. jj_la1[30] = jj_gen;
  1849. jj_consume_token(-1);
  1850. throw new ParseException();
  1851. }
  1852. }
  1853. label_14:
  1854. while (true) {
  1855. if (jj_2_6(2)) {
  1856. ;
  1857. } else {
  1858. break label_14;
  1859. }
  1860. jj_consume_token(57);
  1861. if (jj_2_8(2147483647)) {
  1862. ArrayAccess();
  1863. } else {
  1864. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1865. case INTEGER_LITERAL:
  1866. case 14:
  1867. case IDENTIFIER:
  1868. if (jj_2_7(3)) {
  1869. Method();
  1870. } else {
  1871. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1872. case 14:
  1873. SizeMethod();
  1874. break;
  1875. case IDENTIFIER:
  1876. Identifier();
  1877. break;
  1878. case INTEGER_LITERAL:
  1879. IntegerLiteral();
  1880. break;
  1881. default:
  1882. jj_la1[31] = jj_gen;
  1883. jj_consume_token(-1);
  1884. throw new ParseException();
  1885. }
  1886. }
  1887. break;
  1888. default:
  1889. jj_la1[32] = jj_gen;
  1890. jj_consume_token(-1);
  1891. throw new ParseException();
  1892. }
  1893. }
  1894. }
  1895. } catch (Throwable jjte000) {
  1896. if (jjtc000) {
  1897. jjtree.clearNodeScope(jjtn000);
  1898. jjtc000 = false;
  1899. } else {
  1900. jjtree.popNode();
  1901. }
  1902. if (jjte000 instanceof RuntimeException) {
  1903. {if (true) throw (RuntimeException)jjte000;}
  1904. }
  1905. if (jjte000 instanceof ParseException) {
  1906. {if (true) throw (ParseException)jjte000;}
  1907. }
  1908. {if (true) throw (Error)jjte000;}
  1909. } finally {
  1910. if (jjtc000) {
  1911. jjtree.closeNodeScope(jjtn000, true);
  1912. }
  1913. }
  1914. }
  1915. final public void Parameter() throws ParseException {
  1916. if (jj_2_9(3)) {
  1917. Expression();
  1918. } else {
  1919. switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  1920. case INTEGER_LITERAL:
  1921. case FLOAT_LITERAL:
  1922. case 45:
  1923. case 46:
  1924. case 47:
  1925. case STRING_LITERAL:
  1926. Literal();
  1927. break;
  1928. case IDENTIFIER:
  1929. Reference();
  1930. break;
  1931. default:
  1932. jj_la1[33] = jj_gen;
  1933. jj_consume_token(-1);
  1934. throw new ParseException();
  1935. }
  1936. }
  1937. }
  1938. final private boolean jj_2_1(int xla) {
  1939. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1940. boolean retval = !jj_3_1();
  1941. jj_save(0, xla);
  1942. return retval;
  1943. }
  1944. final private boolean jj_2_2(int xla) {
  1945. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1946. boolean retval = !jj_3_2();
  1947. jj_save(1, xla);
  1948. return retval;
  1949. }
  1950. final private boolean jj_2_3(int xla) {
  1951. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1952. boolean retval = !jj_3_3();
  1953. jj_save(2, xla);
  1954. return retval;
  1955. }
  1956. final private boolean jj_2_4(int xla) {
  1957. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1958. boolean retval = !jj_3_4();
  1959. jj_save(3, xla);
  1960. return retval;
  1961. }
  1962. final private boolean jj_2_5(int xla) {
  1963. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1964. boolean retval = !jj_3_5();
  1965. jj_save(4, xla);
  1966. return retval;
  1967. }
  1968. final private boolean jj_2_6(int xla) {
  1969. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1970. boolean retval = !jj_3_6();
  1971. jj_save(5, xla);
  1972. return retval;
  1973. }
  1974. final private boolean jj_2_7(int xla) {
  1975. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1976. boolean retval = !jj_3_7();
  1977. jj_save(6, xla);
  1978. return retval;
  1979. }
  1980. final private boolean jj_2_8(int xla) {
  1981. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1982. boolean retval = !jj_3_8();
  1983. jj_save(7, xla);
  1984. return retval;
  1985. }
  1986. final private boolean jj_2_9(int xla) {
  1987. jj_la = xla; jj_lastpos = jj_scanpos = token;
  1988. boolean retval = !jj_3_9();
  1989. jj_save(8, xla);
  1990. return retval;
  1991. }
  1992. final private boolean jj_3R_71() {
  1993. if (jj_scan_token(17)) return true;
  1994. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  1995. if (jj_3R_58()) return true;
  1996. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  1997. return false;
  1998. }
  1999. final private boolean jj_3R_59() {
  2000. Token xsp;
  2001. xsp = jj_scanpos;
  2002. if (jj_3R_70()) {
  2003. jj_scanpos = xsp;
  2004. if (jj_3R_71()) return true;
  2005. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2006. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2007. return false;
  2008. }
  2009. final private boolean jj_3R_70() {
  2010. if (jj_scan_token(16)) return true;
  2011. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2012. if (jj_3R_58()) return true;
  2013. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2014. return false;
  2015. }
  2016. final private boolean jj_3R_64() {
  2017. if (jj_scan_token(STRING_LITERAL)) return true;
  2018. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2019. return false;
  2020. }
  2021. final private boolean jj_3R_47() {
  2022. if (jj_3R_58()) return true;
  2023. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2024. Token xsp;
  2025. while (true) {
  2026. xsp = jj_scanpos;
  2027. if (jj_3R_59()) { jj_scanpos = xsp; break; }
  2028. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2029. }
  2030. return false;
  2031. }
  2032. final private boolean jj_3_1() {
  2033. if (jj_3R_15()) return true;
  2034. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2035. if (jj_scan_token(15)) return true;
  2036. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2037. return false;
  2038. }
  2039. final private boolean jj_3R_46() {
  2040. if (jj_3R_15()) return true;
  2041. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2042. if (jj_scan_token(15)) return true;
  2043. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2044. if (jj_3R_17()) return true;
  2045. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2046. return false;
  2047. }
  2048. final private boolean jj_3R_34() {
  2049. if (jj_3R_18()) return true;
  2050. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2051. return false;
  2052. }
  2053. final private boolean jj_3R_62() {
  2054. if (jj_scan_token(FLOAT_LITERAL)) return true;
  2055. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2056. return false;
  2057. }
  2058. final private boolean jj_3R_36() {
  2059. if (jj_3R_47()) return true;
  2060. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2061. return false;
  2062. }
  2063. final private boolean jj_3R_35() {
  2064. if (jj_3R_46()) return true;
  2065. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2066. return false;
  2067. }
  2068. final private boolean jj_3R_17() {
  2069. Token xsp;
  2070. xsp = jj_scanpos;
  2071. if (jj_3R_35()) {
  2072. jj_scanpos = xsp;
  2073. if (jj_3R_36()) return true;
  2074. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2075. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2076. return false;
  2077. }
  2078. final private boolean jj_3R_56() {
  2079. if (jj_scan_token(12)) return true;
  2080. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2081. if (jj_3R_16()) return true;
  2082. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2083. if (jj_scan_token(13)) return true;
  2084. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2085. return false;
  2086. }
  2087. final private boolean jj_3R_37() {
  2088. if (jj_scan_token(INTEGER_LITERAL)) return true;
  2089. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2090. return false;
  2091. }
  2092. final private boolean jj_3R_18() {
  2093. if (jj_scan_token(IDENTIFIER)) return true;
  2094. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2095. return false;
  2096. }
  2097. final private boolean jj_3R_73() {
  2098. if (jj_scan_token(47)) return true;
  2099. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2100. return false;
  2101. }
  2102. final private boolean jj_3R_63() {
  2103. Token xsp;
  2104. xsp = jj_scanpos;
  2105. if (jj_3R_72()) {
  2106. jj_scanpos = xsp;
  2107. if (jj_3R_73()) return true;
  2108. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2109. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2110. return false;
  2111. }
  2112. final private boolean jj_3R_72() {
  2113. if (jj_scan_token(46)) return true;
  2114. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2115. return false;
  2116. }
  2117. final private boolean jj_3R_45() {
  2118. if (jj_scan_token(14)) return true;
  2119. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2120. if (jj_scan_token(12)) return true;
  2121. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2122. if (jj_3R_16()) return true;
  2123. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2124. if (jj_scan_token(13)) return true;
  2125. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2126. return false;
  2127. }
  2128. final private boolean jj_3R_27() {
  2129. if (jj_3R_16()) return true;
  2130. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2131. return false;
  2132. }
  2133. final private boolean jj_3R_65() {
  2134. if (jj_scan_token(45)) return true;
  2135. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2136. return false;
  2137. }
  2138. final private boolean jj_3R_55() {
  2139. if (jj_3R_16()) return true;
  2140. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2141. return false;
  2142. }
  2143. final private boolean jj_3R_41() {
  2144. if (jj_3R_37()) return true;
  2145. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2146. return false;
  2147. }
  2148. final private boolean jj_3R_44() {
  2149. if (jj_scan_token(11)) return true;
  2150. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2151. Token xsp;
  2152. xsp = jj_scanpos;
  2153. if (jj_3R_55()) {
  2154. jj_scanpos = xsp;
  2155. if (jj_3R_56()) return true;
  2156. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2157. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2158. return false;
  2159. }
  2160. final private boolean jj_3R_21() {
  2161. if (jj_3R_16()) return true;
  2162. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2163. return false;
  2164. }
  2165. final private boolean jj_3R_54() {
  2166. if (jj_3R_65()) return true;
  2167. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2168. return false;
  2169. }
  2170. final private boolean jj_3R_53() {
  2171. if (jj_3R_64()) return true;
  2172. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2173. return false;
  2174. }
  2175. final private boolean jj_3R_67() {
  2176. if (jj_3R_16()) return true;
  2177. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2178. return false;
  2179. }
  2180. final private boolean jj_3R_52() {
  2181. if (jj_3R_63()) return true;
  2182. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2183. return false;
  2184. }
  2185. final private boolean jj_3R_61() {
  2186. if (jj_3R_16()) return true;
  2187. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2188. return false;
  2189. }
  2190. final private boolean jj_3R_51() {
  2191. if (jj_3R_62()) return true;
  2192. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2193. return false;
  2194. }
  2195. final private boolean jj_3R_43() {
  2196. Token xsp;
  2197. xsp = jj_scanpos;
  2198. if (jj_3R_50()) {
  2199. jj_scanpos = xsp;
  2200. if (jj_3R_51()) {
  2201. jj_scanpos = xsp;
  2202. if (jj_3R_52()) {
  2203. jj_scanpos = xsp;
  2204. if (jj_3R_53()) {
  2205. jj_scanpos = xsp;
  2206. if (jj_3R_54()) return true;
  2207. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2208. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2209. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2210. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2211. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2212. return false;
  2213. }
  2214. final private boolean jj_3R_50() {
  2215. if (jj_3R_37()) return true;
  2216. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2217. return false;
  2218. }
  2219. final private boolean jj_3R_26() {
  2220. if (jj_3R_37()) return true;
  2221. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2222. return false;
  2223. }
  2224. final private boolean jj_3R_40() {
  2225. if (jj_3R_18()) return true;
  2226. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2227. return false;
  2228. }
  2229. final private boolean jj_3R_20() {
  2230. if (jj_3R_37()) return true;
  2231. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2232. return false;
  2233. }
  2234. final private boolean jj_3R_32() {
  2235. if (jj_3R_45()) return true;
  2236. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2237. return false;
  2238. }
  2239. final private boolean jj_3R_60() {
  2240. if (jj_3R_43()) return true;
  2241. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2242. return false;
  2243. }
  2244. final private boolean jj_3R_31() {
  2245. if (jj_3R_44()) return true;
  2246. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2247. return false;
  2248. }
  2249. final private boolean jj_3R_30() {
  2250. if (jj_scan_token(12)) return true;
  2251. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2252. if (jj_3R_17()) return true;
  2253. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2254. if (jj_scan_token(13)) return true;
  2255. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2256. return false;
  2257. }
  2258. final private boolean jj_3R_66() {
  2259. if (jj_3R_37()) return true;
  2260. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2261. return false;
  2262. }
  2263. final private boolean jj_3R_29() {
  2264. if (jj_3R_16()) return true;
  2265. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2266. return false;
  2267. }
  2268. final private boolean jj_3R_28() {
  2269. if (jj_3R_43()) return true;
  2270. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2271. return false;
  2272. }
  2273. final private boolean jj_3R_15() {
  2274. Token xsp;
  2275. xsp = jj_scanpos;
  2276. if (jj_3R_28()) {
  2277. jj_scanpos = xsp;
  2278. if (jj_3R_29()) {
  2279. jj_scanpos = xsp;
  2280. if (jj_3R_30()) {
  2281. jj_scanpos = xsp;
  2282. if (jj_3R_31()) {
  2283. jj_scanpos = xsp;
  2284. if (jj_3R_32()) return true;
  2285. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2286. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2287. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2288. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2289. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2290. return false;
  2291. }
  2292. final private boolean jj_3R_25() {
  2293. if (jj_3R_17()) return true;
  2294. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2295. return false;
  2296. }
  2297. final private boolean jj_3R_39() {
  2298. if (jj_3R_48()) return true;
  2299. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2300. return false;
  2301. }
  2302. final private boolean jj_3R_109() {
  2303. if (jj_3R_15()) return true;
  2304. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2305. return false;
  2306. }
  2307. final private boolean jj_3R_19() {
  2308. if (jj_3R_17()) return true;
  2309. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2310. return false;
  2311. }
  2312. final private boolean jj_3R_108() {
  2313. if (jj_scan_token(44)) return true;
  2314. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2315. if (jj_3R_101()) return true;
  2316. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2317. return false;
  2318. }
  2319. final private boolean jj_3R_107() {
  2320. if (jj_scan_token(43)) return true;
  2321. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2322. if (jj_3R_101()) return true;
  2323. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2324. return false;
  2325. }
  2326. final private boolean jj_3R_106() {
  2327. if (jj_scan_token(42)) return true;
  2328. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2329. if (jj_3R_101()) return true;
  2330. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2331. return false;
  2332. }
  2333. final private boolean jj_3R_105() {
  2334. if (jj_scan_token(36)) return true;
  2335. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2336. if (jj_3R_101()) return true;
  2337. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2338. return false;
  2339. }
  2340. final private boolean jj_3R_101() {
  2341. Token xsp;
  2342. xsp = jj_scanpos;
  2343. if (jj_3R_105()) {
  2344. jj_scanpos = xsp;
  2345. if (jj_3R_106()) {
  2346. jj_scanpos = xsp;
  2347. if (jj_3R_107()) {
  2348. jj_scanpos = xsp;
  2349. if (jj_3R_108()) {
  2350. jj_scanpos = xsp;
  2351. if (jj_3R_109()) return true;
  2352. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2353. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2354. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2355. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2356. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2357. return false;
  2358. }
  2359. final private boolean jj_3R_78() {
  2360. if (jj_scan_token(54)) return true;
  2361. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2362. if (jj_3R_49()) return true;
  2363. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2364. return false;
  2365. }
  2366. final private boolean jj_3R_114() {
  2367. if (jj_scan_token(41)) return true;
  2368. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2369. if (jj_3R_101()) return true;
  2370. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2371. return false;
  2372. }
  2373. final private boolean jj_3_8() {
  2374. if (jj_3R_18()) return true;
  2375. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2376. if (jj_scan_token(55)) return true;
  2377. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2378. Token xsp;
  2379. xsp = jj_scanpos;
  2380. if (jj_3R_25()) {
  2381. jj_scanpos = xsp;
  2382. if (jj_3R_26()) {
  2383. jj_scanpos = xsp;
  2384. if (jj_3R_27()) return true;
  2385. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2386. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2387. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2388. if (jj_scan_token(56)) return true;
  2389. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2390. return false;
  2391. }
  2392. final private boolean jj_3R_113() {
  2393. if (jj_scan_token(40)) return true;
  2394. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2395. if (jj_3R_101()) return true;
  2396. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2397. return false;
  2398. }
  2399. final private boolean jj_3_9() {
  2400. if (jj_3R_17()) return true;
  2401. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2402. return false;
  2403. }
  2404. final private boolean jj_3R_49() {
  2405. Token xsp;
  2406. xsp = jj_scanpos;
  2407. if (jj_3_9()) {
  2408. jj_scanpos = xsp;
  2409. if (jj_3R_60()) {
  2410. jj_scanpos = xsp;
  2411. if (jj_3R_61()) return true;
  2412. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2413. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2414. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2415. return false;
  2416. }
  2417. final private boolean jj_3R_112() {
  2418. if (jj_scan_token(39)) return true;
  2419. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2420. if (jj_3R_101()) return true;
  2421. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2422. return false;
  2423. }
  2424. final private boolean jj_3_4() {
  2425. if (jj_3R_17()) return true;
  2426. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2427. return false;
  2428. }
  2429. final private boolean jj_3R_111() {
  2430. if (jj_scan_token(38)) return true;
  2431. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2432. if (jj_3R_101()) return true;
  2433. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2434. return false;
  2435. }
  2436. final private boolean jj_3_5() {
  2437. if (jj_3R_18()) return true;
  2438. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2439. if (jj_scan_token(55)) return true;
  2440. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2441. Token xsp;
  2442. xsp = jj_scanpos;
  2443. if (jj_3R_19()) {
  2444. jj_scanpos = xsp;
  2445. if (jj_3R_20()) {
  2446. jj_scanpos = xsp;
  2447. if (jj_3R_21()) return true;
  2448. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2449. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2450. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2451. if (jj_scan_token(56)) return true;
  2452. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2453. return false;
  2454. }
  2455. final private boolean jj_3_7() {
  2456. if (jj_3R_24()) return true;
  2457. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2458. return false;
  2459. }
  2460. final private boolean jj_3R_110() {
  2461. if (jj_scan_token(37)) return true;
  2462. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2463. if (jj_3R_101()) return true;
  2464. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2465. return false;
  2466. }
  2467. final private boolean jj_3R_102() {
  2468. Token xsp;
  2469. xsp = jj_scanpos;
  2470. if (jj_3R_110()) {
  2471. jj_scanpos = xsp;
  2472. if (jj_3R_111()) {
  2473. jj_scanpos = xsp;
  2474. if (jj_3R_112()) {
  2475. jj_scanpos = xsp;
  2476. if (jj_3R_113()) {
  2477. jj_scanpos = xsp;
  2478. if (jj_3R_114()) return true;
  2479. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2480. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2481. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2482. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2483. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2484. return false;
  2485. }
  2486. final private boolean jj_3R_23() {
  2487. Token xsp;
  2488. xsp = jj_scanpos;
  2489. if (jj_3_7()) {
  2490. jj_scanpos = xsp;
  2491. if (jj_3R_39()) {
  2492. jj_scanpos = xsp;
  2493. if (jj_3R_40()) {
  2494. jj_scanpos = xsp;
  2495. if (jj_3R_41()) return true;
  2496. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2497. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2498. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2499. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2500. return false;
  2501. }
  2502. final private boolean jj_3R_22() {
  2503. if (jj_3R_38()) return true;
  2504. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2505. return false;
  2506. }
  2507. final private boolean jj_3R_57() {
  2508. if (jj_scan_token(55)) return true;
  2509. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2510. Token xsp;
  2511. xsp = jj_scanpos;
  2512. if (jj_3_4()) {
  2513. jj_scanpos = xsp;
  2514. if (jj_3R_66()) {
  2515. jj_scanpos = xsp;
  2516. if (jj_3R_67()) return true;
  2517. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2518. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2519. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2520. if (jj_scan_token(56)) return true;
  2521. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2522. return false;
  2523. }
  2524. final private boolean jj_3R_91() {
  2525. if (jj_3R_101()) return true;
  2526. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2527. Token xsp;
  2528. while (true) {
  2529. xsp = jj_scanpos;
  2530. if (jj_3R_102()) { jj_scanpos = xsp; break; }
  2531. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2532. }
  2533. return false;
  2534. }
  2535. final private boolean jj_3R_42() {
  2536. if (jj_3R_49()) return true;
  2537. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2538. Token xsp;
  2539. while (true) {
  2540. xsp = jj_scanpos;
  2541. if (jj_3R_78()) { jj_scanpos = xsp; break; }
  2542. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2543. }
  2544. return false;
  2545. }
  2546. final private boolean jj_3_6() {
  2547. if (jj_scan_token(57)) return true;
  2548. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2549. Token xsp;
  2550. xsp = jj_scanpos;
  2551. if (jj_3R_22()) {
  2552. jj_scanpos = xsp;
  2553. if (jj_3R_23()) return true;
  2554. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2555. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2556. return false;
  2557. }
  2558. final private boolean jj_3R_33() {
  2559. if (jj_3R_38()) return true;
  2560. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2561. return false;
  2562. }
  2563. final private boolean jj_3R_48() {
  2564. if (jj_scan_token(14)) return true;
  2565. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2566. if (jj_scan_token(12)) return true;
  2567. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2568. if (jj_scan_token(13)) return true;
  2569. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2570. return false;
  2571. }
  2572. final private boolean jj_3R_104() {
  2573. if (jj_scan_token(36)) return true;
  2574. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2575. if (jj_3R_91()) return true;
  2576. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2577. return false;
  2578. }
  2579. final private boolean jj_3R_16() {
  2580. Token xsp;
  2581. xsp = jj_scanpos;
  2582. if (jj_3R_33()) {
  2583. jj_scanpos = xsp;
  2584. if (jj_3R_34()) return true;
  2585. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2586. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2587. while (true) {
  2588. xsp = jj_scanpos;
  2589. if (jj_3_6()) { jj_scanpos = xsp; break; }
  2590. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2591. }
  2592. return false;
  2593. }
  2594. final private boolean jj_3R_103() {
  2595. if (jj_scan_token(35)) return true;
  2596. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2597. if (jj_3R_91()) return true;
  2598. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2599. return false;
  2600. }
  2601. final private boolean jj_3R_92() {
  2602. Token xsp;
  2603. xsp = jj_scanpos;
  2604. if (jj_3R_103()) {
  2605. jj_scanpos = xsp;
  2606. if (jj_3R_104()) return true;
  2607. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2608. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2609. return false;
  2610. }
  2611. final private boolean jj_3R_85() {
  2612. if (jj_3R_91()) return true;
  2613. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2614. Token xsp;
  2615. while (true) {
  2616. xsp = jj_scanpos;
  2617. if (jj_3R_92()) { jj_scanpos = xsp; break; }
  2618. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2619. }
  2620. return false;
  2621. }
  2622. final private boolean jj_3R_38() {
  2623. if (jj_3R_18()) return true;
  2624. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2625. Token xsp;
  2626. if (jj_3R_57()) return true;
  2627. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2628. while (true) {
  2629. xsp = jj_scanpos;
  2630. if (jj_3R_57()) { jj_scanpos = xsp; break; }
  2631. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2632. }
  2633. return false;
  2634. }
  2635. final private boolean jj_3R_100() {
  2636. if (jj_scan_token(34)) return true;
  2637. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2638. if (jj_3R_85()) return true;
  2639. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2640. return false;
  2641. }
  2642. final private boolean jj_3R_99() {
  2643. if (jj_scan_token(33)) return true;
  2644. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2645. if (jj_3R_85()) return true;
  2646. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2647. return false;
  2648. }
  2649. final private boolean jj_3R_24() {
  2650. if (jj_3R_18()) return true;
  2651. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2652. if (jj_scan_token(12)) return true;
  2653. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2654. Token xsp;
  2655. xsp = jj_scanpos;
  2656. if (jj_3R_42()) jj_scanpos = xsp;
  2657. else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2658. if (jj_scan_token(13)) return true;
  2659. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2660. return false;
  2661. }
  2662. final private boolean jj_3R_98() {
  2663. if (jj_scan_token(32)) return true;
  2664. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2665. if (jj_3R_85()) return true;
  2666. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2667. return false;
  2668. }
  2669. final private boolean jj_3R_97() {
  2670. if (jj_scan_token(31)) return true;
  2671. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2672. if (jj_3R_85()) return true;
  2673. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2674. return false;
  2675. }
  2676. final private boolean jj_3R_96() {
  2677. if (jj_scan_token(30)) return true;
  2678. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2679. if (jj_3R_85()) return true;
  2680. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2681. return false;
  2682. }
  2683. final private boolean jj_3R_95() {
  2684. if (jj_scan_token(29)) return true;
  2685. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2686. if (jj_3R_85()) return true;
  2687. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2688. return false;
  2689. }
  2690. final private boolean jj_3R_94() {
  2691. if (jj_scan_token(28)) return true;
  2692. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2693. if (jj_3R_85()) return true;
  2694. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2695. return false;
  2696. }
  2697. final private boolean jj_3R_93() {
  2698. if (jj_scan_token(27)) return true;
  2699. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2700. if (jj_3R_85()) return true;
  2701. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2702. return false;
  2703. }
  2704. final private boolean jj_3R_86() {
  2705. Token xsp;
  2706. xsp = jj_scanpos;
  2707. if (jj_3R_93()) {
  2708. jj_scanpos = xsp;
  2709. if (jj_3R_94()) {
  2710. jj_scanpos = xsp;
  2711. if (jj_3R_95()) {
  2712. jj_scanpos = xsp;
  2713. if (jj_3R_96()) {
  2714. jj_scanpos = xsp;
  2715. if (jj_3R_97()) {
  2716. jj_scanpos = xsp;
  2717. if (jj_3R_98()) {
  2718. jj_scanpos = xsp;
  2719. if (jj_3R_99()) {
  2720. jj_scanpos = xsp;
  2721. if (jj_3R_100()) return true;
  2722. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2723. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2724. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2725. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2726. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2727. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2728. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2729. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2730. return false;
  2731. }
  2732. final private boolean jj_3R_83() {
  2733. if (jj_3R_85()) return true;
  2734. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2735. Token xsp;
  2736. while (true) {
  2737. xsp = jj_scanpos;
  2738. if (jj_3R_86()) { jj_scanpos = xsp; break; }
  2739. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2740. }
  2741. return false;
  2742. }
  2743. final private boolean jj_3R_90() {
  2744. if (jj_scan_token(26)) return true;
  2745. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2746. if (jj_3R_83()) return true;
  2747. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2748. return false;
  2749. }
  2750. final private boolean jj_3R_89() {
  2751. if (jj_scan_token(25)) return true;
  2752. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2753. if (jj_3R_83()) return true;
  2754. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2755. return false;
  2756. }
  2757. final private boolean jj_3R_88() {
  2758. if (jj_scan_token(24)) return true;
  2759. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2760. if (jj_3R_83()) return true;
  2761. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2762. return false;
  2763. }
  2764. final private boolean jj_3R_87() {
  2765. if (jj_scan_token(23)) return true;
  2766. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2767. if (jj_3R_83()) return true;
  2768. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2769. return false;
  2770. }
  2771. final private boolean jj_3R_84() {
  2772. Token xsp;
  2773. xsp = jj_scanpos;
  2774. if (jj_3R_87()) {
  2775. jj_scanpos = xsp;
  2776. if (jj_3R_88()) {
  2777. jj_scanpos = xsp;
  2778. if (jj_3R_89()) {
  2779. jj_scanpos = xsp;
  2780. if (jj_3R_90()) return true;
  2781. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2782. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2783. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2784. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2785. return false;
  2786. }
  2787. final private boolean jj_3R_81() {
  2788. if (jj_3R_83()) return true;
  2789. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2790. Token xsp;
  2791. while (true) {
  2792. xsp = jj_scanpos;
  2793. if (jj_3R_84()) { jj_scanpos = xsp; break; }
  2794. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2795. }
  2796. return false;
  2797. }
  2798. final private boolean jj_3R_82() {
  2799. if (jj_scan_token(22)) return true;
  2800. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2801. if (jj_3R_81()) return true;
  2802. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2803. return false;
  2804. }
  2805. final private boolean jj_3R_79() {
  2806. if (jj_3R_81()) return true;
  2807. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2808. Token xsp;
  2809. while (true) {
  2810. xsp = jj_scanpos;
  2811. if (jj_3R_82()) { jj_scanpos = xsp; break; }
  2812. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2813. }
  2814. return false;
  2815. }
  2816. final private boolean jj_3_3() {
  2817. if (jj_3R_15()) return true;
  2818. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2819. if (jj_scan_token(15)) return true;
  2820. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2821. return false;
  2822. }
  2823. final private boolean jj_3_2() {
  2824. if (jj_3R_16()) return true;
  2825. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2826. if (jj_scan_token(48)) return true;
  2827. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2828. return false;
  2829. }
  2830. final private boolean jj_3R_80() {
  2831. if (jj_scan_token(21)) return true;
  2832. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2833. if (jj_3R_79()) return true;
  2834. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2835. return false;
  2836. }
  2837. final private boolean jj_3R_74() {
  2838. if (jj_3R_79()) return true;
  2839. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2840. Token xsp;
  2841. while (true) {
  2842. xsp = jj_scanpos;
  2843. if (jj_3R_80()) { jj_scanpos = xsp; break; }
  2844. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2845. }
  2846. return false;
  2847. }
  2848. final private boolean jj_3R_75() {
  2849. if (jj_scan_token(20)) return true;
  2850. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2851. if (jj_3R_74()) return true;
  2852. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2853. return false;
  2854. }
  2855. final private boolean jj_3R_68() {
  2856. if (jj_3R_74()) return true;
  2857. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2858. Token xsp;
  2859. while (true) {
  2860. xsp = jj_scanpos;
  2861. if (jj_3R_75()) { jj_scanpos = xsp; break; }
  2862. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2863. }
  2864. return false;
  2865. }
  2866. final private boolean jj_3R_77() {
  2867. if (jj_scan_token(19)) return true;
  2868. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2869. if (jj_3R_68()) return true;
  2870. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2871. return false;
  2872. }
  2873. final private boolean jj_3R_69() {
  2874. Token xsp;
  2875. xsp = jj_scanpos;
  2876. if (jj_3R_76()) {
  2877. jj_scanpos = xsp;
  2878. if (jj_3R_77()) return true;
  2879. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2880. } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2881. return false;
  2882. }
  2883. final private boolean jj_3R_76() {
  2884. if (jj_scan_token(18)) return true;
  2885. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2886. if (jj_3R_68()) return true;
  2887. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2888. return false;
  2889. }
  2890. final private boolean jj_3R_58() {
  2891. if (jj_3R_68()) return true;
  2892. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2893. Token xsp;
  2894. while (true) {
  2895. xsp = jj_scanpos;
  2896. if (jj_3R_69()) { jj_scanpos = xsp; break; }
  2897. if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  2898. }
  2899. return false;
  2900. }
  2901. public ParserTokenManager token_source;
  2902. SimpleCharStream jj_input_stream;
  2903. public Token token, jj_nt;
  2904. private int jj_ntk;
  2905. private Token jj_scanpos, jj_lastpos;
  2906. private int jj_la;
  2907. public boolean lookingAhead = false;
  2908. private boolean jj_semLA;
  2909. private int jj_gen;
  2910. final private int[] jj_la1 = new int[34];
  2911. final private int[] jj_la1_0 = {0x5b80,0x5b80,0x1000,0x5980,0x30000,0x30000,0xc0000,0xc0000,0x100000,0x200000,0x400000,0x7800000,0x7800000,0xf8000000,0xf8000000,0x0,0x0,0x0,0x0,0x5980,0x5980,0x180,0x0,0x200,0x5980,0x0,0x0,0x5980,0x80,0x0,0x0,0x4080,0x4080,0x180,};
  2912. final private int[] jj_la1_1 = {0x241bfc10,0x241bfc10,0x4000000,0x2400fc10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x7,0x18,0x18,0x3e0,0x3e0,0x2400fc10,0x2400e000,0x2000e000,0xc000,0x10000,0x241afc10,0x40000,0x400000,0x2400fc10,0x4000000,0x800000,0x4000000,0x4000000,0x4000000,0x2400e000,};
  2913. final private JJCalls[] jj_2_rtns = new JJCalls[9];
  2914. private boolean jj_rescan = false;
  2915. private int jj_gc = 0;
  2916. public Parser(java.io.InputStream stream) {
  2917. jj_input_stream = new SimpleCharStream(stream, 1, 1);
  2918. token_source = new ParserTokenManager(jj_input_stream);
  2919. token = new Token();
  2920. jj_ntk = -1;
  2921. jj_gen = 0;
  2922. for (int i = 0; i < 34; i++) jj_la1[i] = -1;
  2923. for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  2924. }
  2925. public void ReInit(java.io.InputStream stream) {
  2926. jj_input_stream.ReInit(stream, 1, 1);
  2927. token_source.ReInit(jj_input_stream);
  2928. token = new Token();
  2929. jj_ntk = -1;
  2930. jjtree.reset();
  2931. jj_gen = 0;
  2932. for (int i = 0; i < 34; i++) jj_la1[i] = -1;
  2933. for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  2934. }
  2935. public Parser(java.io.Reader stream) {
  2936. jj_input_stream = new SimpleCharStream(stream, 1, 1);
  2937. token_source = new ParserTokenManager(jj_input_stream);
  2938. token = new Token();
  2939. jj_ntk = -1;
  2940. jj_gen = 0;
  2941. for (int i = 0; i < 34; i++) jj_la1[i] = -1;
  2942. for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  2943. }
  2944. public void ReInit(java.io.Reader stream) {
  2945. jj_input_stream.ReInit(stream, 1, 1);
  2946. token_source.ReInit(jj_input_stream);
  2947. token = new Token();
  2948. jj_ntk = -1;
  2949. jjtree.reset();
  2950. jj_gen = 0;
  2951. for (int i = 0; i < 34; i++) jj_la1[i] = -1;
  2952. for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  2953. }
  2954. public Parser(ParserTokenManager tm) {
  2955. token_source = tm;
  2956. token = new Token();
  2957. jj_ntk = -1;
  2958. jj_gen = 0;
  2959. for (int i = 0; i < 34; i++) jj_la1[i] = -1;
  2960. for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  2961. }
  2962. public void ReInit(ParserTokenManager tm) {
  2963. token_source = tm;
  2964. token = new Token();
  2965. jj_ntk = -1;
  2966. jjtree.reset();
  2967. jj_gen = 0;
  2968. for (int i = 0; i < 34; i++) jj_la1[i] = -1;
  2969. for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  2970. }
  2971. final private Token jj_consume_token(int kind) throws ParseException {
  2972. Token oldToken;
  2973. if ((oldToken = token).next != null) token = token.next;
  2974. else token = token.next = token_source.getNextToken();
  2975. jj_ntk = -1;
  2976. if (token.kind == kind) {
  2977. jj_gen++;
  2978. if (++jj_gc > 100) {
  2979. jj_gc = 0;
  2980. for (int i = 0; i < jj_2_rtns.length; i++) {
  2981. JJCalls c = jj_2_rtns[i];
  2982. while (c != null) {
  2983. if (c.gen < jj_gen) c.first = null;
  2984. c = c.next;
  2985. }
  2986. }
  2987. }
  2988. return token;
  2989. }
  2990. token = oldToken;
  2991. jj_kind = kind;
  2992. throw generateParseException();
  2993. }
  2994. final private boolean jj_scan_token(int kind) {
  2995. if (jj_scanpos == jj_lastpos) {
  2996. jj_la--;
  2997. if (jj_scanpos.next == null) {
  2998. jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
  2999. } else {
  3000. jj_lastpos = jj_scanpos = jj_scanpos.next;
  3001. }
  3002. } else {
  3003. jj_scanpos = jj_scanpos.next;
  3004. }
  3005. if (jj_rescan) {
  3006. int i = 0; Token tok = token;
  3007. while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
  3008. if (tok != null) jj_add_error_token(kind, i);
  3009. }
  3010. return (jj_scanpos.kind != kind);
  3011. }
  3012. final public Token getNextToken() {
  3013. if (token.next != null) token = token.next;
  3014. else token = token.next = token_source.getNextToken();
  3015. jj_ntk = -1;
  3016. jj_gen++;
  3017. return token;
  3018. }
  3019. final public Token getToken(int index) {
  3020. Token t = lookingAhead ? jj_scanpos : token;
  3021. for (int i = 0; i < index; i++) {
  3022. if (t.next != null) t = t.next;
  3023. else t = t.next = token_source.getNextToken();
  3024. }
  3025. return t;
  3026. }
  3027. final private int jj_ntk() {
  3028. if ((jj_nt=token.next) == null)
  3029. return (jj_ntk = (token.next=token_source.getNextToken()).kind);
  3030. else
  3031. return (jj_ntk = jj_nt.kind);
  3032. }
  3033. private java.util.Vector jj_expentries = new java.util.Vector();
  3034. private int[] jj_expentry;
  3035. private int jj_kind = -1;
  3036. private int[] jj_lasttokens = new int[100];
  3037. private int jj_endpos;
  3038. private void jj_add_error_token(int kind, int pos) {
  3039. if (pos >= 100) return;
  3040. if (pos == jj_endpos + 1) {
  3041. jj_lasttokens[jj_endpos++] = kind;
  3042. } else if (jj_endpos != 0) {
  3043. jj_expentry = new int[jj_endpos];
  3044. for (int i = 0; i < jj_endpos; i++) {
  3045. jj_expentry[i] = jj_lasttokens[i];
  3046. }
  3047. boolean exists = false;
  3048. for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
  3049. int[] oldentry = (int[])(enum.nextElement());
  3050. if (oldentry.length == jj_expentry.length) {
  3051. exists = true;
  3052. for (int i = 0; i < jj_expentry.length; i++) {
  3053. if (oldentry[i] != jj_expentry[i]) {
  3054. exists = false;
  3055. break;
  3056. }
  3057. }
  3058. if (exists) break;
  3059. }
  3060. }
  3061. if (!exists) jj_expentries.addElement(jj_expentry);
  3062. if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
  3063. }
  3064. }
  3065. final public ParseException generateParseException() {
  3066. jj_expentries.removeAllElements();
  3067. boolean[] la1tokens = new boolean[62];
  3068. for (int i = 0; i < 62; i++) {
  3069. la1tokens[i] = false;
  3070. }
  3071. if (jj_kind >= 0) {
  3072. la1tokens[jj_kind] = true;
  3073. jj_kind = -1;
  3074. }
  3075. for (int i = 0; i < 34; i++) {
  3076. if (jj_la1[i] == jj_gen) {
  3077. for (int j = 0; j < 32; j++) {
  3078. if ((jj_la1_0[i] & (1<<j)) != 0) {
  3079. la1tokens[j] = true;
  3080. }
  3081. if ((jj_la1_1[i] & (1<<j)) != 0) {
  3082. la1tokens[32+j] = true;
  3083. }
  3084. }
  3085. }
  3086. }
  3087. for (int i = 0; i < 62; i++) {
  3088. if (la1tokens[i]) {
  3089. jj_expentry = new int[1];
  3090. jj_expentry[0] = i;
  3091. jj_expentries.addElement(jj_expentry);
  3092. }
  3093. }
  3094. jj_endpos = 0;
  3095. jj_rescan_token();
  3096. jj_add_error_token(0, 0);
  3097. int[][] exptokseq = new int[jj_expentries.size()][];
  3098. for (int i = 0; i < jj_expentries.size(); i++) {
  3099. exptokseq[i] = (int[])jj_expentries.elementAt(i);
  3100. }
  3101. return new ParseException(token, exptokseq, tokenImage);
  3102. }
  3103. final public void enable_tracing() {
  3104. }
  3105. final public void disable_tracing() {
  3106. }
  3107. final private void jj_rescan_token() {
  3108. jj_rescan = true;
  3109. for (int i = 0; i < 9; i++) {
  3110. JJCalls p = jj_2_rtns[i];
  3111. do {
  3112. if (p.gen > jj_gen) {
  3113. jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
  3114. switch (i) {
  3115. case 0: jj_3_1(); break;
  3116. case 1: jj_3_2(); break;
  3117. case 2: jj_3_3(); break;
  3118. case 3: jj_3_4(); break;
  3119. case 4: jj_3_5(); break;
  3120. case 5: jj_3_6(); break;
  3121. case 6: jj_3_7(); break;
  3122. case 7: jj_3_8(); break;
  3123. case 8: jj_3_9(); break;
  3124. }
  3125. }
  3126. p = p.next;
  3127. } while (p != null);
  3128. }
  3129. jj_rescan = false;
  3130. }
  3131. final private void jj_save(int index, int xla) {
  3132. JJCalls p = jj_2_rtns[index];
  3133. while (p.gen > jj_gen) {
  3134. if (p.next == null) { p = p.next = new JJCalls(); break; }
  3135. p = p.next;
  3136. }
  3137. p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
  3138. }
  3139. static final class JJCalls {
  3140. int gen;
  3141. Token first;
  3142. int arg;
  3143. JJCalls next;
  3144. }
  3145. }