/NRefactory/ICSharpCode.NRefactory.VB/Lexer/Parser.cs

http://github.com/icsharpcode/ILSpy · C# · 8631 lines · 8598 code · 26 blank · 7 comment · 2920 complexity · 45c98f12a202b28535469a920eccc8c0 MD5 · raw file

  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. namespace ICSharpCode.NRefactory.VB.Parser {
  5. partial class ExpressionFinder {
  6. const int startOfExpression = 55;
  7. const int endOfStatementTerminatorAndBlock = 263;
  8. static BitArray GetExpectedSet(int state)
  9. {
  10. switch (state) {
  11. case 0:
  12. case 1:
  13. return set[0];
  14. case 2:
  15. return set[1];
  16. case 3:
  17. case 4:
  18. return set[2];
  19. case 5:
  20. return set[3];
  21. case 6:
  22. case 88:
  23. case 264:
  24. case 530:
  25. {
  26. BitArray a = new BitArray(239);
  27. return a;
  28. }
  29. case 7:
  30. return set[4];
  31. case 8:
  32. return set[5];
  33. case 9:
  34. case 10:
  35. case 20:
  36. {
  37. BitArray a = new BitArray(239);
  38. a.Set(142, true);
  39. return a;
  40. }
  41. case 11:
  42. case 193:
  43. case 199:
  44. case 205:
  45. case 244:
  46. case 248:
  47. case 295:
  48. case 399:
  49. case 405:
  50. case 474:
  51. case 520:
  52. case 527:
  53. case 535:
  54. case 565:
  55. case 601:
  56. case 650:
  57. case 664:
  58. case 743:
  59. return set[6];
  60. case 12:
  61. case 13:
  62. case 566:
  63. case 567:
  64. case 612:
  65. case 622:
  66. {
  67. BitArray a = new BitArray(239);
  68. a.Set(1, true);
  69. a.Set(21, true);
  70. a.Set(37, true);
  71. return a;
  72. }
  73. case 14:
  74. case 21:
  75. case 23:
  76. case 24:
  77. case 36:
  78. case 256:
  79. case 259:
  80. case 260:
  81. case 296:
  82. case 300:
  83. case 322:
  84. case 337:
  85. case 348:
  86. case 351:
  87. case 357:
  88. case 362:
  89. case 372:
  90. case 373:
  91. case 396:
  92. case 423:
  93. case 526:
  94. case 532:
  95. case 538:
  96. case 542:
  97. case 550:
  98. case 558:
  99. case 568:
  100. case 577:
  101. case 594:
  102. case 599:
  103. case 607:
  104. case 613:
  105. case 616:
  106. case 623:
  107. case 626:
  108. case 645:
  109. case 648:
  110. case 672:
  111. case 680:
  112. case 716:
  113. {
  114. BitArray a = new BitArray(239);
  115. a.Set(1, true);
  116. a.Set(21, true);
  117. return a;
  118. }
  119. case 15:
  120. case 16:
  121. return set[7];
  122. case 17:
  123. case 18:
  124. return set[8];
  125. case 19:
  126. case 257:
  127. case 271:
  128. case 298:
  129. case 352:
  130. case 397:
  131. case 454:
  132. case 575:
  133. case 595:
  134. case 614:
  135. case 618:
  136. case 624:
  137. case 646:
  138. case 681:
  139. {
  140. BitArray a = new BitArray(239);
  141. a.Set(113, true);
  142. return a;
  143. }
  144. case 22:
  145. case 543:
  146. case 578:
  147. return set[9];
  148. case 25:
  149. {
  150. BitArray a = new BitArray(239);
  151. a.Set(1, true);
  152. return a;
  153. }
  154. case 26:
  155. case 27:
  156. return set[10];
  157. case 28:
  158. case 720:
  159. return set[11];
  160. case 29:
  161. return set[12];
  162. case 30:
  163. return set[13];
  164. case 31:
  165. case 32:
  166. case 152:
  167. case 217:
  168. case 218:
  169. case 265:
  170. case 276:
  171. case 277:
  172. case 444:
  173. case 445:
  174. case 462:
  175. case 463:
  176. case 464:
  177. case 465:
  178. case 553:
  179. case 554:
  180. case 587:
  181. case 588:
  182. case 675:
  183. case 676:
  184. case 729:
  185. case 730:
  186. return set[14];
  187. case 33:
  188. case 34:
  189. case 521:
  190. case 522:
  191. case 528:
  192. case 529:
  193. case 555:
  194. case 556:
  195. case 669:
  196. return set[15];
  197. case 35:
  198. case 37:
  199. case 157:
  200. case 168:
  201. case 171:
  202. case 187:
  203. case 203:
  204. case 221:
  205. case 307:
  206. case 332:
  207. case 422:
  208. case 440:
  209. case 477:
  210. case 531:
  211. case 549:
  212. case 557:
  213. case 629:
  214. case 632:
  215. case 654:
  216. case 657:
  217. case 659:
  218. case 671:
  219. case 684:
  220. case 686:
  221. case 709:
  222. case 712:
  223. case 715:
  224. case 721:
  225. case 724:
  226. case 742:
  227. return set[16];
  228. case 38:
  229. case 41:
  230. return set[17];
  231. case 39:
  232. return set[18];
  233. case 40:
  234. case 97:
  235. case 101:
  236. case 163:
  237. case 388:
  238. case 481:
  239. return set[19];
  240. case 42:
  241. case 177:
  242. case 184:
  243. case 189:
  244. case 253:
  245. case 424:
  246. case 451:
  247. case 473:
  248. case 476:
  249. case 589:
  250. case 590:
  251. case 642:
  252. {
  253. BitArray a = new BitArray(239);
  254. a.Set(37, true);
  255. return a;
  256. }
  257. case 43:
  258. case 44:
  259. case 165:
  260. case 166:
  261. return set[20];
  262. case 45:
  263. case 46:
  264. case 167:
  265. case 188:
  266. case 392:
  267. case 427:
  268. case 475:
  269. case 478:
  270. case 498:
  271. case 561:
  272. case 592:
  273. case 644:
  274. case 690:
  275. case 719:
  276. case 728:
  277. {
  278. BitArray a = new BitArray(239);
  279. a.Set(38, true);
  280. return a;
  281. }
  282. case 47:
  283. case 48:
  284. return set[21];
  285. case 49:
  286. case 179:
  287. case 186:
  288. case 394:
  289. {
  290. BitArray a = new BitArray(239);
  291. a.Set(22, true);
  292. return a;
  293. }
  294. case 50:
  295. case 51:
  296. case 52:
  297. case 54:
  298. case 390:
  299. case 391:
  300. case 412:
  301. case 413:
  302. case 419:
  303. case 420:
  304. case 489:
  305. case 490:
  306. case 703:
  307. case 704:
  308. return set[22];
  309. case 53:
  310. case 169:
  311. case 170:
  312. case 172:
  313. case 181:
  314. case 414:
  315. case 421:
  316. case 429:
  317. case 438:
  318. case 442:
  319. case 485:
  320. case 488:
  321. case 492:
  322. case 494:
  323. case 495:
  324. case 505:
  325. case 512:
  326. case 519:
  327. case 705:
  328. {
  329. BitArray a = new BitArray(239);
  330. a.Set(22, true);
  331. a.Set(38, true);
  332. return a;
  333. }
  334. case 55:
  335. case 56:
  336. case 70:
  337. case 75:
  338. case 76:
  339. case 77:
  340. case 83:
  341. case 99:
  342. case 155:
  343. case 178:
  344. case 180:
  345. case 182:
  346. case 185:
  347. case 195:
  348. case 197:
  349. case 215:
  350. case 239:
  351. case 274:
  352. case 284:
  353. case 286:
  354. case 287:
  355. case 304:
  356. case 321:
  357. case 326:
  358. case 335:
  359. case 341:
  360. case 343:
  361. case 347:
  362. case 350:
  363. case 356:
  364. case 367:
  365. case 369:
  366. case 370:
  367. case 376:
  368. case 393:
  369. case 395:
  370. case 415:
  371. case 439:
  372. case 467:
  373. case 483:
  374. case 484:
  375. case 486:
  376. case 487:
  377. case 548:
  378. case 628:
  379. return set[23];
  380. case 57:
  381. case 78:
  382. case 158:
  383. return set[24];
  384. case 58:
  385. return set[25];
  386. case 59:
  387. {
  388. BitArray a = new BitArray(239);
  389. a.Set(216, true);
  390. return a;
  391. }
  392. case 60:
  393. {
  394. BitArray a = new BitArray(239);
  395. a.Set(145, true);
  396. return a;
  397. }
  398. case 61:
  399. case 156:
  400. {
  401. BitArray a = new BitArray(239);
  402. a.Set(144, true);
  403. return a;
  404. }
  405. case 62:
  406. {
  407. BitArray a = new BitArray(239);
  408. a.Set(236, true);
  409. return a;
  410. }
  411. case 63:
  412. {
  413. BitArray a = new BitArray(239);
  414. a.Set(177, true);
  415. return a;
  416. }
  417. case 64:
  418. {
  419. BitArray a = new BitArray(239);
  420. a.Set(175, true);
  421. return a;
  422. }
  423. case 65:
  424. {
  425. BitArray a = new BitArray(239);
  426. a.Set(61, true);
  427. return a;
  428. }
  429. case 66:
  430. {
  431. BitArray a = new BitArray(239);
  432. a.Set(60, true);
  433. return a;
  434. }
  435. case 67:
  436. {
  437. BitArray a = new BitArray(239);
  438. a.Set(150, true);
  439. return a;
  440. }
  441. case 68:
  442. {
  443. BitArray a = new BitArray(239);
  444. a.Set(42, true);
  445. return a;
  446. }
  447. case 69:
  448. {
  449. BitArray a = new BitArray(239);
  450. a.Set(43, true);
  451. return a;
  452. }
  453. case 71:
  454. case 443:
  455. {
  456. BitArray a = new BitArray(239);
  457. a.Set(40, true);
  458. return a;
  459. }
  460. case 72:
  461. {
  462. BitArray a = new BitArray(239);
  463. a.Set(41, true);
  464. return a;
  465. }
  466. case 73:
  467. case 98:
  468. case 222:
  469. case 223:
  470. case 282:
  471. case 283:
  472. case 334:
  473. case 744:
  474. {
  475. BitArray a = new BitArray(239);
  476. a.Set(20, true);
  477. return a;
  478. }
  479. case 74:
  480. {
  481. BitArray a = new BitArray(239);
  482. a.Set(154, true);
  483. return a;
  484. }
  485. case 79:
  486. case 91:
  487. case 93:
  488. case 148:
  489. {
  490. BitArray a = new BitArray(239);
  491. a.Set(35, true);
  492. return a;
  493. }
  494. case 80:
  495. case 81:
  496. return set[26];
  497. case 82:
  498. {
  499. BitArray a = new BitArray(239);
  500. a.Set(36, true);
  501. return a;
  502. }
  503. case 84:
  504. case 100:
  505. case 515:
  506. {
  507. BitArray a = new BitArray(239);
  508. a.Set(22, true);
  509. a.Set(36, true);
  510. return a;
  511. }
  512. case 85:
  513. case 121:
  514. {
  515. BitArray a = new BitArray(239);
  516. a.Set(162, true);
  517. return a;
  518. }
  519. case 86:
  520. case 87:
  521. return set[27];
  522. case 89:
  523. case 92:
  524. case 149:
  525. case 150:
  526. case 153:
  527. return set[28];
  528. case 90:
  529. case 102:
  530. case 147:
  531. {
  532. BitArray a = new BitArray(239);
  533. a.Set(233, true);
  534. return a;
  535. }
  536. case 94:
  537. {
  538. BitArray a = new BitArray(239);
  539. a.Set(26, true);
  540. a.Set(36, true);
  541. a.Set(147, true);
  542. return a;
  543. }
  544. case 95:
  545. {
  546. BitArray a = new BitArray(239);
  547. a.Set(26, true);
  548. a.Set(147, true);
  549. return a;
  550. }
  551. case 96:
  552. case 685:
  553. {
  554. BitArray a = new BitArray(239);
  555. a.Set(26, true);
  556. return a;
  557. }
  558. case 103:
  559. case 353:
  560. {
  561. BitArray a = new BitArray(239);
  562. a.Set(231, true);
  563. return a;
  564. }
  565. case 104:
  566. {
  567. BitArray a = new BitArray(239);
  568. a.Set(230, true);
  569. return a;
  570. }
  571. case 105:
  572. {
  573. BitArray a = new BitArray(239);
  574. a.Set(224, true);
  575. return a;
  576. }
  577. case 106:
  578. {
  579. BitArray a = new BitArray(239);
  580. a.Set(223, true);
  581. return a;
  582. }
  583. case 107:
  584. case 299:
  585. {
  586. BitArray a = new BitArray(239);
  587. a.Set(218, true);
  588. return a;
  589. }
  590. case 108:
  591. {
  592. BitArray a = new BitArray(239);
  593. a.Set(213, true);
  594. return a;
  595. }
  596. case 109:
  597. {
  598. BitArray a = new BitArray(239);
  599. a.Set(212, true);
  600. return a;
  601. }
  602. case 110:
  603. {
  604. BitArray a = new BitArray(239);
  605. a.Set(211, true);
  606. return a;
  607. }
  608. case 111:
  609. case 455:
  610. {
  611. BitArray a = new BitArray(239);
  612. a.Set(210, true);
  613. return a;
  614. }
  615. case 112:
  616. {
  617. BitArray a = new BitArray(239);
  618. a.Set(209, true);
  619. return a;
  620. }
  621. case 113:
  622. {
  623. BitArray a = new BitArray(239);
  624. a.Set(206, true);
  625. return a;
  626. }
  627. case 114:
  628. {
  629. BitArray a = new BitArray(239);
  630. a.Set(203, true);
  631. return a;
  632. }
  633. case 115:
  634. case 359:
  635. {
  636. BitArray a = new BitArray(239);
  637. a.Set(197, true);
  638. return a;
  639. }
  640. case 116:
  641. case 600:
  642. case 619:
  643. {
  644. BitArray a = new BitArray(239);
  645. a.Set(186, true);
  646. return a;
  647. }
  648. case 117:
  649. {
  650. BitArray a = new BitArray(239);
  651. a.Set(184, true);
  652. return a;
  653. }
  654. case 118:
  655. {
  656. BitArray a = new BitArray(239);
  657. a.Set(176, true);
  658. return a;
  659. }
  660. case 119:
  661. {
  662. BitArray a = new BitArray(239);
  663. a.Set(170, true);
  664. return a;
  665. }
  666. case 120:
  667. case 316:
  668. case 323:
  669. case 338:
  670. {
  671. BitArray a = new BitArray(239);
  672. a.Set(163, true);
  673. return a;
  674. }
  675. case 122:
  676. {
  677. BitArray a = new BitArray(239);
  678. a.Set(147, true);
  679. return a;
  680. }
  681. case 123:
  682. case 226:
  683. case 231:
  684. case 233:
  685. {
  686. BitArray a = new BitArray(239);
  687. a.Set(146, true);
  688. return a;
  689. }
  690. case 124:
  691. case 228:
  692. case 232:
  693. {
  694. BitArray a = new BitArray(239);
  695. a.Set(143, true);
  696. return a;
  697. }
  698. case 125:
  699. {
  700. BitArray a = new BitArray(239);
  701. a.Set(139, true);
  702. return a;
  703. }
  704. case 126:
  705. {
  706. BitArray a = new BitArray(239);
  707. a.Set(133, true);
  708. return a;
  709. }
  710. case 127:
  711. case 258:
  712. {
  713. BitArray a = new BitArray(239);
  714. a.Set(127, true);
  715. return a;
  716. }
  717. case 128:
  718. case 151:
  719. case 251:
  720. {
  721. BitArray a = new BitArray(239);
  722. a.Set(126, true);
  723. return a;
  724. }
  725. case 129:
  726. {
  727. BitArray a = new BitArray(239);
  728. a.Set(124, true);
  729. return a;
  730. }
  731. case 130:
  732. {
  733. BitArray a = new BitArray(239);
  734. a.Set(121, true);
  735. return a;
  736. }
  737. case 131:
  738. case 196:
  739. {
  740. BitArray a = new BitArray(239);
  741. a.Set(116, true);
  742. return a;
  743. }
  744. case 132:
  745. {
  746. BitArray a = new BitArray(239);
  747. a.Set(108, true);
  748. return a;
  749. }
  750. case 133:
  751. {
  752. BitArray a = new BitArray(239);
  753. a.Set(107, true);
  754. return a;
  755. }
  756. case 134:
  757. {
  758. BitArray a = new BitArray(239);
  759. a.Set(104, true);
  760. return a;
  761. }
  762. case 135:
  763. case 637:
  764. {
  765. BitArray a = new BitArray(239);
  766. a.Set(98, true);
  767. return a;
  768. }
  769. case 136:
  770. {
  771. BitArray a = new BitArray(239);
  772. a.Set(87, true);
  773. return a;
  774. }
  775. case 137:
  776. {
  777. BitArray a = new BitArray(239);
  778. a.Set(84, true);
  779. return a;
  780. }
  781. case 138:
  782. case 208:
  783. case 238:
  784. {
  785. BitArray a = new BitArray(239);
  786. a.Set(70, true);
  787. return a;
  788. }
  789. case 139:
  790. {
  791. BitArray a = new BitArray(239);
  792. a.Set(67, true);
  793. return a;
  794. }
  795. case 140:
  796. {
  797. BitArray a = new BitArray(239);
  798. a.Set(66, true);
  799. return a;
  800. }
  801. case 141:
  802. {
  803. BitArray a = new BitArray(239);
  804. a.Set(65, true);
  805. return a;
  806. }
  807. case 142:
  808. {
  809. BitArray a = new BitArray(239);
  810. a.Set(64, true);
  811. return a;
  812. }
  813. case 143:
  814. {
  815. BitArray a = new BitArray(239);
  816. a.Set(62, true);
  817. return a;
  818. }
  819. case 144:
  820. case 250:
  821. {
  822. BitArray a = new BitArray(239);
  823. a.Set(58, true);
  824. return a;
  825. }
  826. case 145:
  827. {
  828. BitArray a = new BitArray(239);
  829. a.Set(2, true);
  830. return a;
  831. }
  832. case 146:
  833. return set[29];
  834. case 154:
  835. return set[30];
  836. case 159:
  837. return set[31];
  838. case 160:
  839. return set[32];
  840. case 161:
  841. case 162:
  842. case 479:
  843. case 480:
  844. return set[33];
  845. case 164:
  846. return set[34];
  847. case 173:
  848. case 174:
  849. case 319:
  850. case 328:
  851. return set[35];
  852. case 175:
  853. case 457:
  854. return set[36];
  855. case 176:
  856. case 375:
  857. {
  858. BitArray a = new BitArray(239);
  859. a.Set(135, true);
  860. return a;
  861. }
  862. case 183:
  863. return set[37];
  864. case 190:
  865. {
  866. BitArray a = new BitArray(239);
  867. a.Set(58, true);
  868. a.Set(126, true);
  869. return a;
  870. }
  871. case 191:
  872. case 192:
  873. return set[38];
  874. case 194:
  875. {
  876. BitArray a = new BitArray(239);
  877. a.Set(171, true);
  878. return a;
  879. }
  880. case 198:
  881. case 212:
  882. case 230:
  883. case 235:
  884. case 241:
  885. case 243:
  886. case 247:
  887. case 249:
  888. return set[39];
  889. case 200:
  890. case 201:
  891. {
  892. BitArray a = new BitArray(239);
  893. a.Set(63, true);
  894. a.Set(138, true);
  895. return a;
  896. }
  897. case 202:
  898. case 204:
  899. case 320:
  900. {
  901. BitArray a = new BitArray(239);
  902. a.Set(138, true);
  903. return a;
  904. }
  905. case 206:
  906. case 207:
  907. case 209:
  908. case 211:
  909. case 213:
  910. case 214:
  911. case 224:
  912. case 229:
  913. case 234:
  914. case 242:
  915. case 246:
  916. case 269:
  917. case 273:
  918. return set[40];
  919. case 210:
  920. {
  921. BitArray a = new BitArray(239);
  922. a.Set(22, true);
  923. a.Set(143, true);
  924. return a;
  925. }
  926. case 216:
  927. return set[41];
  928. case 219:
  929. case 278:
  930. return set[42];
  931. case 220:
  932. case 279:
  933. return set[43];
  934. case 225:
  935. {
  936. BitArray a = new BitArray(239);
  937. a.Set(22, true);
  938. a.Set(70, true);
  939. return a;
  940. }
  941. case 227:
  942. {
  943. BitArray a = new BitArray(239);
  944. a.Set(133, true);
  945. a.Set(143, true);
  946. a.Set(146, true);
  947. return a;
  948. }
  949. case 236:
  950. case 237:
  951. return set[44];
  952. case 240:
  953. {
  954. BitArray a = new BitArray(239);
  955. a.Set(64, true);
  956. a.Set(104, true);
  957. return a;
  958. }
  959. case 245:
  960. return set[45];
  961. case 252:
  962. case 552:
  963. case 663:
  964. case 674:
  965. case 682:
  966. {
  967. BitArray a = new BitArray(239);
  968. a.Set(127, true);
  969. a.Set(210, true);
  970. return a;
  971. }
  972. case 254:
  973. case 255:
  974. return set[46];
  975. case 261:
  976. case 262:
  977. return set[47];
  978. case 263:
  979. return set[48];
  980. case 266:
  981. return set[49];
  982. case 267:
  983. case 268:
  984. case 381:
  985. return set[50];
  986. case 270:
  987. case 275:
  988. case 365:
  989. case 655:
  990. case 656:
  991. case 658:
  992. case 693:
  993. case 710:
  994. case 711:
  995. case 713:
  996. case 722:
  997. case 723:
  998. case 725:
  999. case 737:
  1000. {
  1001. BitArray a = new BitArray(239);
  1002. a.Set(1, true);
  1003. a.Set(21, true);
  1004. a.Set(22, true);
  1005. return a;
  1006. }
  1007. case 272:
  1008. {
  1009. BitArray a = new BitArray(239);
  1010. a.Set(226, true);
  1011. return a;
  1012. }
  1013. case 280:
  1014. case 281:
  1015. return set[51];
  1016. case 285:
  1017. case 327:
  1018. case 342:
  1019. case 404:
  1020. return set[52];
  1021. case 288:
  1022. case 289:
  1023. case 309:
  1024. case 310:
  1025. case 324:
  1026. case 325:
  1027. case 339:
  1028. case 340:
  1029. return set[53];
  1030. case 290:
  1031. case 382:
  1032. case 385:
  1033. {
  1034. BitArray a = new BitArray(239);
  1035. a.Set(1, true);
  1036. a.Set(21, true);
  1037. a.Set(111, true);
  1038. return a;
  1039. }
  1040. case 291:
  1041. {
  1042. BitArray a = new BitArray(239);
  1043. a.Set(108, true);
  1044. a.Set(124, true);
  1045. a.Set(231, true);
  1046. return a;
  1047. }
  1048. case 292:
  1049. return set[54];
  1050. case 293:
  1051. case 312:
  1052. return set[55];
  1053. case 294:
  1054. {
  1055. BitArray a = new BitArray(239);
  1056. a.Set(5, true);
  1057. return a;
  1058. }
  1059. case 297:
  1060. {
  1061. BitArray a = new BitArray(239);
  1062. a.Set(75, true);
  1063. a.Set(113, true);
  1064. a.Set(123, true);
  1065. return a;
  1066. }
  1067. case 301:
  1068. case 302:
  1069. return set[56];
  1070. case 303:
  1071. case 308:
  1072. {
  1073. BitArray a = new BitArray(239);
  1074. a.Set(1, true);
  1075. a.Set(21, true);
  1076. a.Set(229, true);
  1077. return a;
  1078. }
  1079. case 305:
  1080. case 306:
  1081. return set[57];
  1082. case 311:
  1083. return set[58];
  1084. case 313:
  1085. {
  1086. BitArray a = new BitArray(239);
  1087. a.Set(118, true);
  1088. return a;
  1089. }
  1090. case 314:
  1091. case 315:
  1092. return set[59];
  1093. case 317:
  1094. case 318:
  1095. return set[60];
  1096. case 329:
  1097. case 330:
  1098. return set[61];
  1099. case 331:
  1100. return set[62];
  1101. case 333:
  1102. {
  1103. BitArray a = new BitArray(239);
  1104. a.Set(20, true);
  1105. a.Set(138, true);
  1106. return a;
  1107. }
  1108. case 336:
  1109. {
  1110. BitArray a = new BitArray(239);
  1111. a.Set(1, true);
  1112. a.Set(21, true);
  1113. a.Set(205, true);
  1114. return a;
  1115. }
  1116. case 344:
  1117. return set[63];
  1118. case 345:
  1119. case 349:
  1120. {
  1121. BitArray a = new BitArray(239);
  1122. a.Set(152, true);
  1123. return a;
  1124. }
  1125. case 346:
  1126. return set[64];
  1127. case 354:
  1128. case 355:
  1129. return set[65];
  1130. case 358:
  1131. {
  1132. BitArray a = new BitArray(239);
  1133. a.Set(74, true);
  1134. a.Set(113, true);
  1135. return a;
  1136. }
  1137. case 360:
  1138. case 361:
  1139. return set[66];
  1140. case 363:
  1141. case 364:
  1142. return set[67];
  1143. case 366:
  1144. case 368:
  1145. return set[68];
  1146. case 371:
  1147. case 377:
  1148. {
  1149. BitArray a = new BitArray(239);
  1150. a.Set(1, true);
  1151. a.Set(21, true);
  1152. a.Set(214, true);
  1153. return a;
  1154. }
  1155. case 374:
  1156. {
  1157. BitArray a = new BitArray(239);
  1158. a.Set(111, true);
  1159. a.Set(112, true);
  1160. a.Set(113, true);
  1161. return a;
  1162. }
  1163. case 378:
  1164. {
  1165. BitArray a = new BitArray(239);
  1166. a.Set(1, true);
  1167. a.Set(21, true);
  1168. a.Set(135, true);
  1169. return a;
  1170. }
  1171. case 379:
  1172. case 380:
  1173. case 452:
  1174. case 453:
  1175. return set[69];
  1176. case 383:
  1177. case 384:
  1178. case 386:
  1179. case 387:
  1180. return set[70];
  1181. case 389:
  1182. return set[71];
  1183. case 398:
  1184. {
  1185. BitArray a = new BitArray(239);
  1186. a.Set(211, true);
  1187. a.Set(233, true);
  1188. return a;
  1189. }
  1190. case 400:
  1191. case 401:
  1192. case 406:
  1193. case 407:
  1194. return set[72];
  1195. case 402:
  1196. case 408:
  1197. return set[73];
  1198. case 403:
  1199. case 411:
  1200. case 418:
  1201. return set[74];
  1202. case 409:
  1203. case 410:
  1204. case 416:
  1205. case 417:
  1206. case 700:
  1207. case 701:
  1208. return set[75];
  1209. case 425:
  1210. case 426:
  1211. return set[76];
  1212. case 428:
  1213. case 430:
  1214. case 431:
  1215. case 591:
  1216. case 643:
  1217. return set[77];
  1218. case 432:
  1219. case 433:
  1220. return set[78];
  1221. case 434:
  1222. case 435:
  1223. return set[79];
  1224. case 436:
  1225. return set[80];
  1226. case 437:
  1227. case 441:
  1228. {
  1229. BitArray a = new BitArray(239);
  1230. a.Set(20, true);
  1231. a.Set(22, true);
  1232. a.Set(38, true);
  1233. return a;
  1234. }
  1235. case 446:
  1236. case 450:
  1237. return set[81];
  1238. case 447:
  1239. case 448:
  1240. return set[82];
  1241. case 449:
  1242. {
  1243. BitArray a = new BitArray(239);
  1244. a.Set(21, true);
  1245. return a;
  1246. }
  1247. case 456:
  1248. return set[83];
  1249. case 458:
  1250. case 471:
  1251. return set[84];
  1252. case 459:
  1253. case 472:
  1254. return set[85];
  1255. case 460:
  1256. case 461:
  1257. case 736:
  1258. {
  1259. BitArray a = new BitArray(239);
  1260. a.Set(10, true);
  1261. return a;
  1262. }
  1263. case 466:
  1264. {
  1265. BitArray a = new BitArray(239);
  1266. a.Set(12, true);
  1267. return a;
  1268. }
  1269. case 468:
  1270. {
  1271. BitArray a = new BitArray(239);
  1272. a.Set(13, true);
  1273. return a;
  1274. }
  1275. case 469:
  1276. return set[86];
  1277. case 470:
  1278. return set[87];
  1279. case 482:
  1280. return set[88];
  1281. case 491:
  1282. case 493:
  1283. return set[89];
  1284. case 496:
  1285. case 497:
  1286. case 559:
  1287. case 560:
  1288. case 688:
  1289. case 689:
  1290. return set[90];
  1291. case 499:
  1292. case 500:
  1293. case 501:
  1294. case 506:
  1295. case 507:
  1296. case 562:
  1297. case 691:
  1298. case 718:
  1299. case 727:
  1300. return set[91];
  1301. case 502:
  1302. case 508:
  1303. case 517:
  1304. return set[92];
  1305. case 503:
  1306. case 504:
  1307. case 509:
  1308. case 510:
  1309. {
  1310. BitArray a = new BitArray(239);
  1311. a.Set(22, true);
  1312. a.Set(38, true);
  1313. a.Set(63, true);
  1314. return a;
  1315. }
  1316. case 511:
  1317. case 513:
  1318. case 518:
  1319. return set[93];
  1320. case 514:
  1321. case 516:
  1322. return set[94];
  1323. case 523:
  1324. case 536:
  1325. case 537:
  1326. case 593:
  1327. case 670:
  1328. {
  1329. BitArray a = new BitArray(239);
  1330. a.Set(1, true);
  1331. a.Set(21, true);
  1332. a.Set(63, true);
  1333. return a;
  1334. }
  1335. case 524:
  1336. case 525:
  1337. case 597:
  1338. case 598:
  1339. return set[95];
  1340. case 533:
  1341. case 534:
  1342. case 541:
  1343. {
  1344. BitArray a = new BitArray(239);
  1345. a.Set(115, true);
  1346. return a;
  1347. }
  1348. case 539:
  1349. case 540:
  1350. return set[96];
  1351. case 544:
  1352. case 545:
  1353. return set[97];
  1354. case 546:
  1355. case 547:
  1356. case 606:
  1357. {
  1358. BitArray a = new BitArray(239);
  1359. a.Set(1, true);
  1360. a.Set(20, true);
  1361. a.Set(21, true);
  1362. return a;
  1363. }
  1364. case 551:
  1365. {
  1366. BitArray a = new BitArray(239);
  1367. a.Set(103, true);
  1368. return a;
  1369. }
  1370. case 563:
  1371. case 564:
  1372. case 576:
  1373. {
  1374. BitArray a = new BitArray(239);
  1375. a.Set(84, true);
  1376. a.Set(155, true);
  1377. a.Set(209, true);
  1378. return a;
  1379. }
  1380. case 569:
  1381. case 570:
  1382. return set[98];
  1383. case 571:
  1384. case 572:
  1385. return set[99];
  1386. case 573:
  1387. case 574:
  1388. case 585:
  1389. return set[100];
  1390. case 579:
  1391. case 580:
  1392. return set[101];
  1393. case 581:
  1394. case 582:
  1395. case 707:
  1396. return set[102];
  1397. case 583:
  1398. return set[103];
  1399. case 584:
  1400. return set[104];
  1401. case 586:
  1402. case 596:
  1403. {
  1404. BitArray a = new BitArray(239);
  1405. a.Set(172, true);
  1406. return a;
  1407. }
  1408. case 602:
  1409. case 603:
  1410. return set[105];
  1411. case 604:
  1412. return set[106];
  1413. case 605:
  1414. case 636:
  1415. return set[107];
  1416. case 608:
  1417. case 609:
  1418. case 610:
  1419. case 627:
  1420. return set[108];
  1421. case 611:
  1422. case 615:
  1423. case 625:
  1424. {
  1425. BitArray a = new BitArray(239);
  1426. a.Set(128, true);
  1427. a.Set(198, true);
  1428. return a;
  1429. }
  1430. case 617:
  1431. return set[109];
  1432. case 620:
  1433. return set[110];
  1434. case 621:
  1435. return set[111];
  1436. case 630:
  1437. case 631:
  1438. case 633:
  1439. case 699:
  1440. case 702:
  1441. return set[112];
  1442. case 634:
  1443. case 635:
  1444. return set[113];
  1445. case 638:
  1446. case 640:
  1447. case 649:
  1448. {
  1449. BitArray a = new BitArray(239);
  1450. a.Set(119, true);
  1451. return a;
  1452. }
  1453. case 639:
  1454. return set[114];
  1455. case 641:
  1456. return set[115];
  1457. case 647:
  1458. {
  1459. BitArray a = new BitArray(239);
  1460. a.Set(56, true);
  1461. a.Set(189, true);
  1462. a.Set(193, true);
  1463. return a;
  1464. }
  1465. case 651:
  1466. case 652:
  1467. return set[116];
  1468. case 653:
  1469. case 660:
  1470. {
  1471. BitArray a = new BitArray(239);
  1472. a.Set(1, true);
  1473. a.Set(21, true);
  1474. a.Set(136, true);
  1475. return a;
  1476. }
  1477. case 661:
  1478. {
  1479. BitArray a = new BitArray(239);
  1480. a.Set(101, true);
  1481. return a;
  1482. }
  1483. case 662:
  1484. return set[117];
  1485. case 665:
  1486. case 666:
  1487. {
  1488. BitArray a = new BitArray(239);
  1489. a.Set(149, true);
  1490. return a;
  1491. }
  1492. case 667:
  1493. case 673:
  1494. case 745:
  1495. {
  1496. BitArray a = new BitArray(239);
  1497. a.Set(3, true);
  1498. return a;
  1499. }
  1500. case 668:
  1501. return set[118];
  1502. case 677:
  1503. case 678:
  1504. return set[119];
  1505. case 679:
  1506. case 687:
  1507. return set[120];
  1508. case 683:
  1509. return set[121];
  1510. case 692:
  1511. case 694:
  1512. return set[122];
  1513. case 695:
  1514. case 706:
  1515. return set[123];
  1516. case 696:
  1517. case 697:
  1518. return set[124];
  1519. case 698:
  1520. return set[125];
  1521. case 708:
  1522. {
  1523. BitArray a = new BitArray(239);
  1524. a.Set(136, true);
  1525. return a;
  1526. }
  1527. case 714:
  1528. {
  1529. BitArray a = new BitArray(239);
  1530. a.Set(140, true);
  1531. return a;
  1532. }
  1533. case 717:
  1534. case 726:
  1535. {
  1536. BitArray a = new BitArray(239);
  1537. a.Set(169, true);
  1538. return a;
  1539. }
  1540. case 731:
  1541. return set[126];
  1542. case 732:
  1543. {
  1544. BitArray a = new BitArray(239);
  1545. a.Set(160, true);
  1546. return a;
  1547. }
  1548. case 733:
  1549. {
  1550. BitArray a = new BitArray(239);
  1551. a.Set(137, true);
  1552. return a;
  1553. }
  1554. case 734:
  1555. case 735:
  1556. case 738:
  1557. case 739:
  1558. return set[127];
  1559. case 740:
  1560. case 747:
  1561. return set[128];
  1562. case 741:
  1563. return set[129];
  1564. case 746:
  1565. {
  1566. BitArray a = new BitArray(239);
  1567. a.Set(11, true);
  1568. return a;
  1569. }
  1570. case 748:
  1571. {
  1572. BitArray a = new BitArray(239);
  1573. a.Set(173, true);
  1574. return a;
  1575. }
  1576. case 749:
  1577. return set[130];
  1578. case 750:
  1579. {
  1580. BitArray a = new BitArray(239);
  1581. a.Set(67, true);
  1582. a.Set(213, true);
  1583. return a;
  1584. }
  1585. case 751:
  1586. return set[131];
  1587. default: throw new InvalidOperationException();
  1588. }
  1589. }
  1590. const bool T = true;
  1591. const bool x = false;
  1592. int currentState = 0;
  1593. readonly Stack<int> stateStack = new Stack<int>();
  1594. bool wasQualifierTokenAtStart = false;
  1595. bool nextTokenIsPotentialStartOfExpression = false;
  1596. bool readXmlIdentifier = false;
  1597. bool identifierExpected = false;
  1598. bool nextTokenIsStartOfImportsOrAccessExpression = false;
  1599. bool isMissingModifier = false;
  1600. bool isAlreadyInExpr = false;
  1601. bool wasNormalAttribute = false;
  1602. int activeArgument = 0;
  1603. List<Token> errors = new List<Token>();
  1604. public ExpressionFinder()
  1605. {
  1606. stateStack.Push(-1); // required so that we don't crash when leaving the root production
  1607. }
  1608. void Expect(int expectedKind, Token la)
  1609. {
  1610. if (la.kind != expectedKind) {
  1611. Error(la);
  1612. output.AppendLine("expected: " + expectedKind);
  1613. //Console.WriteLine("expected: " + expectedKind);
  1614. }
  1615. }
  1616. void Error(Token la)
  1617. {
  1618. output.AppendLine("not expected: " + la);
  1619. //Console.WriteLine("not expected: " + la);
  1620. errors.Add(la);
  1621. }
  1622. Token t;
  1623. public void InformToken(Token la)
  1624. {
  1625. switchlbl: switch (currentState) {
  1626. case 0: {
  1627. PushContext(Context.Global, la, t);
  1628. goto case 1;
  1629. }
  1630. case 1: {
  1631. if (la == null) { currentState = 1; break; }
  1632. if (la.kind == 173) {
  1633. stateStack.Push(1);
  1634. goto case 748;
  1635. } else {
  1636. goto case 2;
  1637. }
  1638. }
  1639. case 2: {
  1640. if (la == null) { currentState = 2; break; }
  1641. if (la.kind == 137) {
  1642. stateStack.Push(2);
  1643. goto case 733;
  1644. } else {
  1645. goto case 3;
  1646. }
  1647. }
  1648. case 3: {
  1649. if (la == null) { currentState = 3; break; }
  1650. if (la.kind == 40) {
  1651. stateStack.Push(3);
  1652. goto case 443;
  1653. } else {
  1654. goto case 4;
  1655. }
  1656. }
  1657. case 4: {
  1658. if (la == null) { currentState = 4; break; }
  1659. if (set[3].Get(la.kind)) {
  1660. stateStack.Push(4);
  1661. goto case 5;
  1662. } else {
  1663. PopContext();
  1664. currentState = stateStack.Pop();
  1665. goto switchlbl;
  1666. }
  1667. }
  1668. case 5: {
  1669. if (la == null) { currentState = 5; break; }
  1670. if (la.kind == 160) {
  1671. currentState = 729;
  1672. break;
  1673. } else {
  1674. if (set[4].Get(la.kind)) {
  1675. goto case 7;
  1676. } else {
  1677. goto case 6;
  1678. }
  1679. }
  1680. }
  1681. case 6: {
  1682. Error(la);
  1683. currentState = stateStack.Pop();
  1684. goto switchlbl;
  1685. }
  1686. case 7: {
  1687. if (la == null) { currentState = 7; break; }
  1688. if (la.kind == 40) {
  1689. stateStack.Push(7);
  1690. goto case 443;
  1691. } else {
  1692. goto case 8;
  1693. }
  1694. }
  1695. case 8: {
  1696. if (la == null) { currentState = 8; break; }
  1697. if (set[132].Get(la.kind)) {
  1698. currentState = 8;
  1699. break;
  1700. } else {
  1701. if (la.kind == 84 || la.kind == 155 || la.kind == 209) {
  1702. goto case 563;
  1703. } else {
  1704. if (la.kind == 103) {
  1705. currentState = 552;
  1706. break;
  1707. } else {
  1708. if (la.kind == 115) {
  1709. goto case 533;
  1710. } else {
  1711. if (la.kind == 142) {
  1712. goto case 9;
  1713. } else {
  1714. goto case 6;
  1715. }
  1716. }
  1717. }
  1718. }
  1719. }
  1720. }
  1721. case 9: {
  1722. PushContext(Context.TypeDeclaration, la, t);
  1723. goto case 10;
  1724. }
  1725. case 10: {
  1726. if (la == null) { currentState = 10; break; }
  1727. Expect(142, la); // "Interface"
  1728. currentState = 11;
  1729. break;
  1730. }
  1731. case 11: {
  1732. PushContext(Context.Identifier, la, t);
  1733. SetIdentifierExpected(la);
  1734. stateStack.Push(12);
  1735. goto case 205;
  1736. }
  1737. case 12: {
  1738. PopContext();
  1739. goto case 13;
  1740. }
  1741. case 13: {
  1742. if (la == null) { currentState = 13; break; }
  1743. if (la.kind == 37) {
  1744. currentState = 726;
  1745. break;
  1746. } else {
  1747. goto case 14;
  1748. }
  1749. }
  1750. case 14: {
  1751. stateStack.Push(15);
  1752. goto case 23;
  1753. }
  1754. case 15: {
  1755. isMissingModifier = true;
  1756. goto case 16;
  1757. }
  1758. case 16: {
  1759. if (la == null) { currentState = 16; break; }
  1760. if (la.kind == 140) {
  1761. currentState = 721;
  1762. break;
  1763. } else {
  1764. goto case 17;
  1765. }
  1766. }
  1767. case 17: {
  1768. isMissingModifier = true;
  1769. goto case 18;
  1770. }
  1771. case 18: {
  1772. if (la == null) { currentState = 18; break; }
  1773. if (set[10].Get(la.kind)) {
  1774. goto case 26;
  1775. } else {
  1776. isMissingModifier = false;
  1777. goto case 19;
  1778. }
  1779. }
  1780. case 19: {
  1781. if (la == null) { currentState = 19; break; }
  1782. Expect(113, la); // "End"
  1783. currentState = 20;
  1784. break;
  1785. }
  1786. case 20: {
  1787. if (la == null) { currentState = 20; break; }
  1788. Expect(142, la); // "Interface"
  1789. currentState = 21;
  1790. break;
  1791. }
  1792. case 21: {
  1793. stateStack.Push(22);
  1794. goto case 23;
  1795. }
  1796. case 22: {
  1797. PopContext();
  1798. currentState = stateStack.Pop();
  1799. goto switchlbl;
  1800. }
  1801. case 23: {
  1802. if (la != null) CurrentBlock.lastExpressionStart = la.Location;
  1803. goto case 24;
  1804. }
  1805. case 24: {
  1806. if (la == null) { currentState = 24; break; }
  1807. if (la.kind == 1) {
  1808. goto case 25;
  1809. } else {
  1810. if (la.kind == 21) {
  1811. currentState = stateStack.Pop();
  1812. break;
  1813. } else {
  1814. goto case 6;
  1815. }
  1816. }
  1817. }
  1818. case 25: {
  1819. if (la == null) { currentState = 25; break; }
  1820. currentState = stateStack.Pop();
  1821. break;
  1822. }
  1823. case 26: {
  1824. isMissingModifier = true;
  1825. goto case 27;
  1826. }
  1827. case 27: {
  1828. if (la == null) { currentState = 27; break; }
  1829. if (la.kind == 40) {
  1830. stateStack.Push(26);
  1831. goto case 443;
  1832. } else {
  1833. isMissingModifier = true;
  1834. goto case 28;
  1835. }
  1836. }
  1837. case 28: {
  1838. if (la == null) { currentState = 28; break; }
  1839. if (set[133].Get(la.kind)) {
  1840. currentState = 720;
  1841. break;
  1842. } else {
  1843. isMissingModifier = false;
  1844. goto case 29;
  1845. }
  1846. }
  1847. case 29: {
  1848. if (la == null) { currentState = 29; break; }
  1849. if (la.kind == 84 || la.kind == 155 || la.kind == 209) {
  1850. stateStack.Push(17);
  1851. goto case 563;
  1852. } else {
  1853. if (la.kind == 103) {
  1854. stateStack.Push(17);
  1855. goto case 551;
  1856. } else {
  1857. if (la.kind == 115) {
  1858. stateStack.Push(17);
  1859. goto case 533;
  1860. } else {
  1861. if (la.kind == 142) {
  1862. stateStack.Push(17);
  1863. goto case 9;
  1864. } else {
  1865. if (set[13].Get(la.kind)) {
  1866. stateStack.Push(17);
  1867. goto case 30;
  1868. } else {
  1869. Error(la);
  1870. goto case 17;
  1871. }
  1872. }
  1873. }
  1874. }
  1875. }
  1876. }
  1877. case 30: {
  1878. if (la == null) { currentState = 30; break; }
  1879. if (la.kind == 119) {
  1880. currentState = 527;
  1881. break;
  1882. } else {
  1883. if (la.kind == 186) {
  1884. currentState = 520;
  1885. break;
  1886. } else {
  1887. if (la.kind == 127 || la.kind == 210) {
  1888. currentState = 31;
  1889. break;
  1890. } else {
  1891. goto case 6;
  1892. }
  1893. }
  1894. }
  1895. }
  1896. case 31: {
  1897. PushContext(Context.Identifier, la, t);
  1898. SetIdentifierExpected(la);
  1899. goto case 32;
  1900. }
  1901. case 32: {
  1902. if (la == null) { currentState = 32; break; }
  1903. currentState = 33;
  1904. break;
  1905. }
  1906. case 33: {
  1907. PopContext();
  1908. goto case 34;
  1909. }
  1910. case 34: {
  1911. if (la == null) { currentState = 34; break; }
  1912. if (la.kind == 37) {
  1913. currentState = 496;
  1914. break;
  1915. } else {
  1916. if (la.kind == 63) {
  1917. currentState = 35;
  1918. break;
  1919. } else {
  1920. goto case 23;
  1921. }
  1922. }
  1923. }
  1924. case 35: {
  1925. PushContext(Context.Type, la, t);
  1926. stateStack.Push(36);
  1927. goto case 37;
  1928. }
  1929. case 36: {
  1930. PopContext();
  1931. goto case 23;
  1932. }
  1933. case 37: {
  1934. if (la == null) { currentState = 37; break; }
  1935. if (la.kind == 130) {
  1936. currentState = 38;
  1937. break;
  1938. } else {
  1939. if (set[6].Get(la.kind)) {
  1940. currentState = 38;
  1941. break;
  1942. } else {
  1943. if (set[134].Get(la.kind)) {
  1944. currentState = 38;
  1945. break;
  1946. } else {
  1947. if (la.kind == 33) {
  1948. currentState = 38;
  1949. break;
  1950. } else {
  1951. Error(la);
  1952. goto case 38;
  1953. }
  1954. }
  1955. }
  1956. }
  1957. }
  1958. case 38: {
  1959. if (la == null) { currentState = 38; break; }
  1960. if (la.kind == 37) {
  1961. stateStack.Push(38);
  1962. goto case 42;
  1963. } else {
  1964. goto case 39;
  1965. }
  1966. }
  1967. case 39: {
  1968. if (la == null) { currentState = 39; break; }
  1969. if (la.kind == 26) {
  1970. currentState = 40;
  1971. break;
  1972. } else {
  1973. currentState = stateStack.Pop();
  1974. goto switchlbl;
  1975. }
  1976. }
  1977. case 40: {
  1978. stateStack.Push(41);
  1979. goto case 101;
  1980. }
  1981. case 41: {
  1982. if (la == null) { currentState = 41; break; }
  1983. if (la.kind == 37) {
  1984. stateStack.Push(41);
  1985. goto case 42;
  1986. } else {
  1987. goto case 39;
  1988. }
  1989. }
  1990. case 42: {
  1991. if (la == null) { currentState = 42; break; }
  1992. Expect(37, la); // "("
  1993. currentState = 43;
  1994. break;
  1995. }
  1996. case 43: {
  1997. PushContext(Context.Expression, la, t);
  1998. nextTokenIsPotentialStartOfExpression = true;
  1999. goto case 44;
  2000. }
  2001. case 44: {
  2002. if (la == null) { currentState = 44; break; }
  2003. if (la.kind == 169) {
  2004. currentState = 491;
  2005. break;
  2006. } else {
  2007. if (set[22].Get(la.kind)) {
  2008. if (set[21].Get(la.kind)) {
  2009. stateStack.Push(45);
  2010. goto case 47;
  2011. } else {
  2012. goto case 45;
  2013. }
  2014. } else {
  2015. Error(la);
  2016. goto case 45;
  2017. }
  2018. }
  2019. }
  2020. case 45: {
  2021. PopContext();
  2022. goto case 46;
  2023. }
  2024. case 46: {
  2025. if (la == null) { currentState = 46; break; }
  2026. Expect(38, la); // ")"
  2027. currentState = stateStack.Pop();
  2028. break;
  2029. }
  2030. case 47: {
  2031. nextTokenIsPotentialStartOfExpression = true;
  2032. goto case 48;
  2033. }
  2034. case 48: {
  2035. if (la == null) { currentState = 48; break; }
  2036. if (set[23].Get(la.kind)) {
  2037. activeArgument = 0;
  2038. goto case 487;
  2039. } else {
  2040. if (la.kind == 22) {
  2041. activeArgument = 0;
  2042. goto case 49;
  2043. } else {
  2044. goto case 6;
  2045. }
  2046. }
  2047. }
  2048. case 49: {
  2049. if (la == null) { currentState = 49; break; }
  2050. Expect(22, la); // ","
  2051. currentState = 50;
  2052. break;
  2053. }
  2054. case 50: {
  2055. activeArgument++;
  2056. goto case 51;
  2057. }
  2058. case 51: {
  2059. nextTokenIsPotentialStartOfExpression = true;
  2060. goto case 52;
  2061. }
  2062. case 52: {
  2063. if (la == null) { currentState = 52; break; }
  2064. if (set[23].Get(la.kind)) {
  2065. stateStack.Push(53);
  2066. goto case 55;
  2067. } else {
  2068. goto case 53;
  2069. }
  2070. }
  2071. case 53: {
  2072. if (la == null) { currentState = 53; break; }
  2073. if (la.kind == 22) {
  2074. currentState = 54;
  2075. break;
  2076. } else {
  2077. currentState = stateStack.Pop();
  2078. goto switchlbl;
  2079. }
  2080. }
  2081. case 54: {
  2082. activeArgument++;
  2083. goto case 51;
  2084. }
  2085. case 55: {
  2086. PushContext(Context.Expression, la, t);
  2087. goto case 56;
  2088. }
  2089. case 56: {
  2090. stateStack.Push(57);
  2091. goto case 75;
  2092. }
  2093. case 57: {
  2094. if (la == null) { currentState = 57; break; }
  2095. if (set[25].Get(la.kind)) {
  2096. stateStack.Push(56);
  2097. goto case 58;
  2098. } else {
  2099. PopContext();
  2100. currentState = stateStack.Pop();
  2101. goto switchlbl;
  2102. }
  2103. }
  2104. case 58: {
  2105. if (la == null) { currentState = 58; break; }
  2106. if (la.kind == 31) {
  2107. currentState = stateStack.Pop();
  2108. break;
  2109. } else {
  2110. if (la.kind == 30) {
  2111. currentState = stateStack.Pop();
  2112. break;
  2113. } else {
  2114. if (la.kind == 34) {
  2115. currentState = stateStack.Pop();
  2116. break;
  2117. } else {
  2118. if (la.kind == 25) {
  2119. currentState = stateStack.Pop();
  2120. break;
  2121. } else {
  2122. if (la.kind == 24) {
  2123. currentState = stateStack.Pop();
  2124. break;
  2125. } else {
  2126. if (la.kind == 32) {
  2127. currentState = stateStack.Pop();
  2128. break;
  2129. } else {
  2130. if (la.kind == 154) {
  2131. goto case 74;
  2132. } else {
  2133. if (la.kind == 20) {
  2134. goto case 73;
  2135. } else {
  2136. if (la.kind == 41) {
  2137. goto case 72;
  2138. } else {
  2139. if (la.kind == 40) {
  2140. goto case 71;
  2141. } else {
  2142. if (la.kind == 39) {
  2143. currentState = 70;
  2144. break;
  2145. } else {
  2146. if (la.kind == 43) {
  2147. goto case 69;
  2148. } else {
  2149. if (la.kind == 42) {
  2150. goto case 68;
  2151. } else {
  2152. if (la.kind == 150) {
  2153. goto case 67;
  2154. } else {
  2155. if (la.kind == 23) {
  2156. currentState = stateStack.Pop();
  2157. break;
  2158. } else {
  2159. if (la.kind == 60) {
  2160. goto case 66;
  2161. } else {
  2162. if (la.kind == 61) {
  2163. goto case 65;
  2164. } else {
  2165. if (la.kind == 175) {
  2166. goto case 64;
  2167. } else {
  2168. if (la.kind == 177) {
  2169. goto case 63;
  2170. } else {
  2171. if (la.kind == 236) {
  2172. goto case 62;
  2173. } else {
  2174. if (la.kind == 44) {
  2175. currentState = stateStack.Pop();
  2176. break;
  2177. } else {
  2178. if (la.kind == 45) {
  2179. currentState = stateStack.Pop();
  2180. break;
  2181. } else {
  2182. if (la.kind == 144) {
  2183. goto case 61;
  2184. } else {
  2185. if (la.kind == 145) {
  2186. goto case 60;
  2187. } else {
  2188. if (la.kind == 47) {
  2189. currentState = stateStack.Pop();
  2190. break;
  2191. } else {
  2192. if (la.kind == 49) {
  2193. currentState = stateStack.Pop();
  2194. break;
  2195. } else {
  2196. if (la.kind == 50) {
  2197. currentState = stateStack.Pop();
  2198. break;
  2199. } else {
  2200. if (la.kind == 51) {
  2201. currentState = stateStack.Pop();
  2202. break;
  2203. } else {
  2204. if (la.kind == 46) {
  2205. currentState = stateStack.Pop();
  2206. break;
  2207. } else {
  2208. if (la.kind == 48) {
  2209. currentState = stateStack.Pop();
  2210. break;
  2211. } else {
  2212. if (la.kind == 54) {
  2213. currentState = stateStack.Pop();
  2214. break;
  2215. } else {
  2216. if (la.kind == 52) {
  2217. currentState = stateStack.Pop();
  2218. break;
  2219. } else {
  2220. if (la.kind == 53) {
  2221. currentState = stateStack.Pop();
  2222. break;
  2223. } else {
  2224. if (la.kind == 216) {
  2225. goto case 59;
  2226. } else {
  2227. if (la.kind == 55) {
  2228. currentState = stateStack.Pop();
  2229. break;
  2230. } else {
  2231. goto case 6;
  2232. }
  2233. }
  2234. }
  2235. }
  2236. }
  2237. }
  2238. }
  2239. }
  2240. }
  2241. }
  2242. }
  2243. }
  2244. }
  2245. }
  2246. }
  2247. }
  2248. }
  2249. }
  2250. }
  2251. }
  2252. }
  2253. }
  2254. }
  2255. }
  2256. }
  2257. }
  2258. }
  2259. }
  2260. }
  2261. }
  2262. }
  2263. }
  2264. }
  2265. }
  2266. }
  2267. }
  2268. case 59: {
  2269. if (la == null) { currentState = 59; break; }
  2270. currentState = stateStack.Pop();
  2271. break;
  2272. }
  2273. case 60: {
  2274. if (la == null) { currentState = 60; break; }
  2275. currentState = stateStack.Pop();
  2276. break;
  2277. }
  2278. case 61: {
  2279. if (la == null) { currentState = 61; break; }
  2280. currentState = stateStack.Pop();
  2281. break;
  2282. }
  2283. case 62: {
  2284. if (la == null) { currentState = 62; break; }
  2285. currentState = stateStack.Pop();
  2286. break;
  2287. }
  2288. case 63: {
  2289. if (la == null) { currentState = 63; break; }
  2290. currentState = stateStack.Pop();
  2291. break;
  2292. }
  2293. case 64: {
  2294. if (la == null) { currentState = 64; break; }
  2295. currentState = stateStack.Pop();
  2296. break;
  2297. }
  2298. case 65: {
  2299. if (la == null) { currentState = 65; break; }
  2300. currentState = stateStack.Pop();
  2301. break;
  2302. }
  2303. case 66: {
  2304. if (la == null) { currentState = 66; break; }
  2305. currentState = stateStack.Pop();
  2306. break;
  2307. }
  2308. case 67: {
  2309. if (la == null) { currentState = 67; break; }
  2310. currentState = stateStack.Pop();
  2311. break;
  2312. }
  2313. case 68: {
  2314. if (la == null) { currentState = 68; break; }
  2315. currentState = stateStack.Pop();
  2316. break;
  2317. }
  2318. case 69: {
  2319. if (la == null) { currentState = 69; break; }
  2320. currentState = stateStack.Pop();
  2321. break;
  2322. }
  2323. case 70: {
  2324. wasNormalAttribute = false;
  2325. currentState = stateStack.Pop();
  2326. goto switchlbl;
  2327. }
  2328. case 71: {
  2329. if (la == null) { currentState = 71; break; }
  2330. currentState = stateStack.Pop();
  2331. break;
  2332. }
  2333. case 72: {
  2334. if (la == null) { currentState = 72; break; }
  2335. currentState = stateStack.Pop();
  2336. break;
  2337. }
  2338. case 73: {
  2339. if (la == null) { currentState = 73; break; }
  2340. currentState = stateStack.Pop();
  2341. break;
  2342. }
  2343. case 74: {
  2344. if (la == null) { currentState = 74; break; }
  2345. currentState = stateStack.Pop();
  2346. break;
  2347. }
  2348. case 75: {
  2349. PushContext(Context.Expression, la, t);
  2350. goto case 76;
  2351. }
  2352. case 76: {
  2353. nextTokenIsPotentialStartOfExpression = true;
  2354. goto case 77;
  2355. }
  2356. case 77: {
  2357. if (la == null) { currentState = 77; break; }
  2358. if (set[135].Get(la.kind)) {
  2359. currentState = 76;
  2360. break;
  2361. } else {
  2362. if (set[35].Get(la.kind)) {
  2363. stateStack.Push(159);
  2364. goto case 173;
  2365. } else {
  2366. if (la.kind == 220) {
  2367. currentState = 155;
  2368. break;
  2369. } else {
  2370. if (la.kind == 162) {
  2371. stateStack.Push(78);
  2372. goto case 85;
  2373. } else {
  2374. if (la.kind == 35) {
  2375. stateStack.Push(78);
  2376. goto case 79;
  2377. } else {
  2378. Error(la);
  2379. goto case 78;
  2380. }
  2381. }
  2382. }
  2383. }
  2384. }
  2385. }
  2386. case 78: {
  2387. PopContext();
  2388. currentState = stateStack.Pop();
  2389. goto switchlbl;
  2390. }
  2391. case 79: {
  2392. if (la == null) { currentState = 79; break; }
  2393. Expect(35, la); // "{"
  2394. currentState = 80;
  2395. break;
  2396. }
  2397. case 80: {
  2398. nextTokenIsPotentialStartOfExpression = true;
  2399. goto case 81;
  2400. }
  2401. case 81: {
  2402. if (la == null) { currentState = 81; break; }
  2403. if (set[23].Get(la.kind)) {
  2404. goto case 83;
  2405. } else {
  2406. goto case 82;
  2407. }
  2408. }
  2409. case 82: {
  2410. if (la == null) { currentState = 82; break; }
  2411. Expect(36, la); // "}"
  2412. currentState = stateStack.Pop();
  2413. break;
  2414. }
  2415. case 83: {
  2416. stateStack.Push(84);
  2417. goto case 55;
  2418. }
  2419. case 84: {
  2420. if (la == null) { currentState = 84; break; }
  2421. if (la.kind == 22) {
  2422. currentState = 83;
  2423. break;
  2424. } else {
  2425. goto case 82;
  2426. }
  2427. }
  2428. case 85: {
  2429. if (la == null) { currentState = 85; break; }
  2430. Expect(162, la); // "New"
  2431. currentState = 86;
  2432. break;
  2433. }
  2434. case 86: {
  2435. PushContext(Context.ObjectCreation, la, t);
  2436. goto case 87;
  2437. }
  2438. case 87: {
  2439. if (la == null) { currentState = 87; break; }
  2440. if (set[16].Get(la.kind)) {
  2441. stateStack.Push(146);
  2442. goto case 37;
  2443. } else {
  2444. if (la.kind == 233) {
  2445. PushContext(Context.ObjectInitializer, la, t);
  2446. goto case 90;
  2447. } else {
  2448. goto case 88;
  2449. }
  2450. }
  2451. }
  2452. case 88: {
  2453. Error(la);
  2454. goto case 89;
  2455. }
  2456. case 89: {
  2457. PopContext();
  2458. currentState = stateStack.Pop();
  2459. goto switchlbl;
  2460. }
  2461. case 90: {
  2462. if (la == null) { currentState = 90; break; }
  2463. Expect(233, la); // "With"
  2464. currentState = 91;
  2465. break;
  2466. }
  2467. case 91: {
  2468. stateStack.Push(92);
  2469. goto case 93;
  2470. }
  2471. case 92: {
  2472. PopContext();
  2473. goto case 89;
  2474. }
  2475. case 93: {
  2476. if (la == null) { currentState = 93; break; }
  2477. Expect(35, la); // "{"
  2478. currentState = 94;
  2479. break;
  2480. }
  2481. case 94: {
  2482. if (la == null) { currentState = 94; break; }
  2483. if (la.kind == 26 || la.kind == 147) {
  2484. goto case 95;
  2485. } else {
  2486. goto case 82;
  2487. }
  2488. }
  2489. case 95: {
  2490. if (la == null) { currentState = 95; break; }
  2491. if (la.kind == 147) {
  2492. currentState = 96;
  2493. break;
  2494. } else {
  2495. goto case 96;
  2496. }
  2497. }
  2498. case 96: {
  2499. if (la == null) { currentState = 96; break; }
  2500. Expect(26, la); // "."
  2501. currentState = 97;
  2502. break;
  2503. }
  2504. case 97: {
  2505. stateStack.Push(98);
  2506. goto case 101;
  2507. }
  2508. case 98: {
  2509. if (la == null) { currentState = 98; break; }
  2510. Expect(20, la); // "="
  2511. currentState = 99;
  2512. break;
  2513. }
  2514. case 99: {
  2515. stateStack.Push(100);
  2516. goto case 55;
  2517. }
  2518. case 100: {
  2519. if (la == null) { currentState = 100; break; }
  2520. if (la.kind == 22) {
  2521. currentState = 95;
  2522. break;
  2523. } else {
  2524. goto case 82;
  2525. }
  2526. }
  2527. case 101: {
  2528. if (la == null) { currentState = 101; break; }
  2529. if (la.kind == 2) {
  2530. goto case 145;
  2531. } else {
  2532. if (la.kind == 56) {
  2533. currentState = stateStack.Pop();
  2534. break;
  2535. } else {
  2536. if (la.kind == 57) {
  2537. currentState = stateStack.Pop();
  2538. break;
  2539. } else {
  2540. if (la.kind == 58) {
  2541. goto case 144;
  2542. } else {
  2543. if (la.kind == 59) {
  2544. currentState = stateStack.Pop();
  2545. break;
  2546. } else {
  2547. if (la.kind == 60) {
  2548. goto case 66;
  2549. } else {
  2550. if (la.kind == 61) {
  2551. goto case 65;
  2552. } else {
  2553. if (la.kind == 62) {
  2554. goto case 143;
  2555. } else {
  2556. if (la.kind == 63) {
  2557. currentState = stateStack.Pop();
  2558. break;
  2559. } else {
  2560. if (la.kind == 64) {
  2561. goto case 142;
  2562. } else {
  2563. if (la.kind == 65) {
  2564. goto case 141;
  2565. } else {
  2566. if (la.kind == 66) {
  2567. goto case 140;
  2568. } else {
  2569. if (la.kind == 67) {
  2570. goto case 139;
  2571. } else {
  2572. if (la.kind == 68) {
  2573. currentState = stateStack.Pop();
  2574. break;
  2575. } else {
  2576. if (la.kind == 69) {
  2577. currentState = stateStack.Pop();
  2578. break;
  2579. } else {
  2580. if (la.kind == 70) {
  2581. goto case 138;
  2582. } else {
  2583. if (la.kind == 71) {
  2584. currentState = stateStack.Pop();
  2585. break;
  2586. } else {
  2587. if (la.kind == 72) {
  2588. currentState = stateStack.Pop();
  2589. break;
  2590. } else {
  2591. if (la.kind == 73) {
  2592. currentState = stateStack.Pop();
  2593. break;
  2594. } else {
  2595. if (la.kind == 74) {
  2596. currentState = stateStack.Pop();
  2597. break;
  2598. } else {
  2599. if (la.kind == 75) {
  2600. currentState = stateStack.Pop();
  2601. break;
  2602. } else {
  2603. if (la.kind == 76) {
  2604. currentState = stateStack.Pop();
  2605. break;
  2606. } else {
  2607. if (la.kind == 77) {
  2608. currentState = stateStack.Pop();
  2609. break;
  2610. } else {
  2611. if (la.kind == 78) {
  2612. currentState = stateStack.Pop();
  2613. break;
  2614. } else {
  2615. if (la.kind == 79) {
  2616. currentState = stateStack.Pop();
  2617. break;
  2618. } else {
  2619. if (la.kind == 80) {
  2620. currentState = stateStack.Pop();
  2621. break;
  2622. } else {
  2623. if (la.kind == 81) {
  2624. currentState = stateStack.Pop();
  2625. break;
  2626. } else {
  2627. if (la.kind == 82) {
  2628. currentState = stateStack.Pop();
  2629. break;
  2630. } else {
  2631. if (la.kind == 83) {
  2632. currentState = stateStack.Pop();
  2633. break;
  2634. } else {
  2635. if (la.kind == 84) {
  2636. goto case 137;
  2637. } else {
  2638. if (la.kind == 85) {
  2639. currentState = stateStack.Pop();
  2640. break;
  2641. } else {
  2642. if (la.kind == 86) {
  2643. currentState = stateStack.Pop();
  2644. break;
  2645. } else {
  2646. if (la.kind == 87) {
  2647. goto case 136;
  2648. } else {
  2649. if (la.kind == 88) {
  2650. currentState = stateStack.Pop();
  2651. break;
  2652. } else {
  2653. if (la.kind == 89) {
  2654. currentState = stateStack.Pop();
  2655. break;
  2656. } else {
  2657. if (la.kind == 90) {
  2658. currentState = stateStack.Pop();
  2659. break;
  2660. } else {
  2661. if (la.kind == 91) {
  2662. currentState = stateStack.Pop();
  2663. break;
  2664. } else {
  2665. if (la.kind == 92) {
  2666. currentState = stateStack.Pop();
  2667. break;
  2668. } else {
  2669. if (la.kind == 93) {
  2670. currentState = stateStack.Pop();
  2671. break;
  2672. } else {
  2673. if (la.kind == 94) {
  2674. currentState = stateStack.Pop();
  2675. break;
  2676. } else {
  2677. if (la.kind == 95) {
  2678. currentState = stateStack.Pop();
  2679. break;
  2680. } else {
  2681. if (la.kind == 96) {
  2682. currentState = stateStack.Pop();
  2683. break;
  2684. } else {
  2685. if (la.kind == 97) {
  2686. currentState = stateStack.Pop();
  2687. break;
  2688. } else {
  2689. if (la.kind == 98) {
  2690. goto case 135;
  2691. } else {
  2692. if (la.kind == 99) {
  2693. currentState = stateStack.Pop();
  2694. break;
  2695. } else {
  2696. if (la.kind == 100) {
  2697. currentState = stateStack.Pop();
  2698. break;
  2699. } else {
  2700. if (la.kind == 101) {
  2701. currentState = stateStack.Pop();
  2702. break;
  2703. } else {
  2704. if (la.kind == 102) {
  2705. currentState = stateStack.Pop();
  2706. break;
  2707. } else {
  2708. if (la.kind == 103) {
  2709. currentState = stateStack.Pop();
  2710. break;
  2711. } else {
  2712. if (la.kind == 104) {
  2713. goto case 134;
  2714. } else {
  2715. if (la.kind == 105) {
  2716. currentState = stateStack.Pop();
  2717. break;
  2718. } else {
  2719. if (la.kind == 106) {
  2720. currentState = stateStack.Pop();
  2721. break;
  2722. } else {
  2723. if (la.kind == 107) {
  2724. goto case 133;
  2725. } else {
  2726. if (la.kind == 108) {
  2727. goto case 132;
  2728. } else {
  2729. if (la.kind == 109) {
  2730. currentState = stateStack.Pop();
  2731. break;
  2732. } else {
  2733. if (la.kind == 110) {
  2734. currentState = stateStack.Pop();
  2735. break;
  2736. } else {
  2737. if (la.kind == 111) {
  2738. currentState = stateStack.Pop();
  2739. break;
  2740. } else {
  2741. if (la.kind == 112) {
  2742. currentState = stateStack.Pop();
  2743. break;
  2744. } else {
  2745. if (la.kind == 113) {
  2746. currentState = stateStack.Pop();
  2747. break;
  2748. } else {
  2749. if (la.kind == 114) {
  2750. currentState = stateStack.Pop();
  2751. break;
  2752. } else {
  2753. if (la.kind == 115) {
  2754. currentState = stateStack.Pop();
  2755. break;
  2756. } else {
  2757. if (la.kind == 116) {
  2758. goto case 131;
  2759. } else {
  2760. if (la.kind == 117) {
  2761. currentState = stateStack.Pop();
  2762. break;
  2763. } else {
  2764. if (la.kind == 118) {
  2765. currentState = stateStack.Pop();
  2766. break;
  2767. } else {
  2768. if (la.kind == 119) {
  2769. currentState = stateStack.Pop();
  2770. break;
  2771. } else {
  2772. if (la.kind == 120) {
  2773. currentState = stateStack.Pop();
  2774. break;
  2775. } else {
  2776. if (la.kind == 121) {
  2777. goto case 130;
  2778. } else {
  2779. if (la.kind == 122) {
  2780. currentState = stateStack.Pop();
  2781. break;
  2782. } else {
  2783. if (la.kind == 123) {
  2784. currentState = stateStack.Pop();
  2785. break;
  2786. } else {
  2787. if (la.kind == 124) {
  2788. goto case 129;
  2789. } else {
  2790. if (la.kind == 125) {
  2791. currentState = stateStack.Pop();
  2792. break;
  2793. } else {
  2794. if (la.kind == 126) {
  2795. goto case 128;
  2796. } else {
  2797. if (la.kind == 127) {
  2798. goto case 127;
  2799. } else {
  2800. if (la.kind == 128) {
  2801. currentState = stateStack.Pop();
  2802. break;
  2803. } else {
  2804. if (la.kind == 129) {
  2805. currentState = stateStack.Pop();
  2806. break;
  2807. } else {
  2808. if (la.kind == 130) {
  2809. currentState = stateStack.Pop();
  2810. break;
  2811. } else {
  2812. if (la.kind == 131) {
  2813. currentState = stateStack.Pop();
  2814. break;
  2815. } else {
  2816. if (la.kind == 132) {
  2817. currentState = stateStack.Pop();
  2818. break;
  2819. } else {
  2820. if (la.kind == 133) {
  2821. goto case 126;
  2822. } else {
  2823. if (la.kind == 134) {
  2824. currentState = stateStack.Pop();
  2825. break;
  2826. } else {
  2827. if (la.kind == 135) {
  2828. currentState = stateStack.Pop();
  2829. break;
  2830. } else {
  2831. if (la.kind == 136) {
  2832. currentState = stateStack.Pop();
  2833. break;
  2834. } else {
  2835. if (la.kind == 137) {
  2836. currentState = stateStack.Pop();
  2837. break;
  2838. } else {
  2839. if (la.kind == 138) {
  2840. currentState = stateStack.Pop();
  2841. break;
  2842. } else {
  2843. if (la.kind == 139) {
  2844. goto case 125;
  2845. } else {
  2846. if (la.kind == 140) {
  2847. currentState = stateStack.Pop();
  2848. break;
  2849. } else {
  2850. if (la.kind == 141) {
  2851. currentState = stateStack.Pop();
  2852. break;
  2853. } else {
  2854. if (la.kind == 142) {
  2855. currentState = stateStack.Pop();
  2856. break;
  2857. } else {
  2858. if (la.kind == 143) {
  2859. goto case 124;
  2860. } else {
  2861. if (la.kind == 144) {
  2862. goto case 61;
  2863. } else {
  2864. if (la.kind == 145) {
  2865. goto case 60;
  2866. } else {
  2867. if (la.kind == 146) {
  2868. goto case 123;
  2869. } else {
  2870. if (la.kind == 147) {
  2871. goto case 122;
  2872. } else {
  2873. if (la.kind == 148) {
  2874. currentState = stateStack.Pop();
  2875. break;
  2876. } else {
  2877. if (la.kind == 149) {
  2878. currentState = stateStack.Pop();
  2879. break;
  2880. } else {
  2881. if (la.kind == 150) {
  2882. goto case 67;
  2883. } else {
  2884. if (la.kind == 151) {
  2885. currentState = stateStack.Pop();
  2886. break;
  2887. } else {
  2888. if (la.kind == 152) {
  2889. currentState = stateStack.Pop();
  2890. break;
  2891. } else {
  2892. if (la.kind == 153) {
  2893. currentState = stateStack.Pop();
  2894. break;
  2895. } else {
  2896. if (la.kind == 154) {
  2897. goto case 74;
  2898. } else {
  2899. if (la.kind == 155) {
  2900. currentState = stateStack.Pop();
  2901. break;
  2902. } else {
  2903. if (la.kind == 156) {
  2904. currentState = stateStack.Pop();
  2905. break;
  2906. } else {
  2907. if (la.kind == 157) {
  2908. currentState = stateStack.Pop();
  2909. break;
  2910. } else {
  2911. if (la.kind == 158) {
  2912. currentState = stateStack.Pop();
  2913. break;
  2914. } else {
  2915. if (la.kind == 159) {
  2916. currentState = stateStack.Pop();
  2917. break;
  2918. } else {
  2919. if (la.kind == 160) {
  2920. currentState = stateStack.Pop();
  2921. break;
  2922. } else {
  2923. if (la.kind == 161) {
  2924. currentState = stateStack.Pop();
  2925. break;
  2926. } else {
  2927. if (la.kind == 162) {
  2928. goto case 121;
  2929. } else {
  2930. if (la.kind == 163) {
  2931. goto case 120;
  2932. } else {
  2933. if (la.kind == 164) {
  2934. currentState = stateStack.Pop();
  2935. break;
  2936. } else {
  2937. if (la.kind == 165) {
  2938. currentState = stateStack.Pop();
  2939. break;
  2940. } else {
  2941. if (la.kind == 166) {
  2942. currentState = stateStack.Pop();
  2943. break;
  2944. } else {
  2945. if (la.kind == 167) {
  2946. currentState = stateStack.Pop();
  2947. break;
  2948. } else {
  2949. if (la.kind == 168) {
  2950. currentState = stateStack.Pop();
  2951. break;
  2952. } else {
  2953. if (la.kind == 169) {
  2954. currentState = stateStack.Pop();
  2955. break;
  2956. } else {
  2957. if (la.kind == 170) {
  2958. goto case 119;
  2959. } else {
  2960. if (la.kind == 171) {
  2961. currentState = stateStack.Pop();
  2962. break;
  2963. } else {
  2964. if (la.kind == 172) {
  2965. currentState = stateStack.Pop();
  2966. break;
  2967. } else {
  2968. if (la.kind == 173) {
  2969. currentState = stateStack.Pop();
  2970. break;
  2971. } else {
  2972. if (la.kind == 174) {
  2973. currentState = stateStack.Pop();
  2974. break;
  2975. } else {
  2976. if (la.kind == 175) {
  2977. goto case 64;
  2978. } else {
  2979. if (la.kind == 176) {
  2980. goto case 118;
  2981. } else {
  2982. if (la.kind == 177) {
  2983. goto case 63;
  2984. } else {
  2985. if (la.kind == 178) {
  2986. currentState = stateStack.Pop();
  2987. break;
  2988. } else {
  2989. if (la.kind == 179) {
  2990. currentState = stateStack.Pop();
  2991. break;
  2992. } else {
  2993. if (la.kind == 180) {
  2994. currentState = stateStack.Pop();
  2995. break;
  2996. } else {
  2997. if (la.kind == 181) {
  2998. currentState = stateStack.Pop();
  2999. break;
  3000. } else {
  3001. if (la.kind == 182) {
  3002. currentState = stateStack.Pop();
  3003. break;
  3004. } else {
  3005. if (la.kind == 183) {
  3006. currentState = stateStack.Pop();
  3007. break;
  3008. } else {
  3009. if (la.kind == 184) {
  3010. goto case 117;
  3011. } else {
  3012. if (la.kind == 185) {
  3013. currentState = stateStack.Pop();
  3014. break;
  3015. } else {
  3016. if (la.kind == 186) {
  3017. goto case 116;
  3018. } else {
  3019. if (la.kind == 187) {
  3020. currentState = stateStack.Pop();
  3021. break;
  3022. } else {
  3023. if (la.kind == 188) {
  3024. currentState = stateStack.Pop();
  3025. break;
  3026. } else {
  3027. if (la.kind == 189) {
  3028. currentState = stateStack.Pop();
  3029. break;
  3030. } else {
  3031. if (la.kind == 190) {
  3032. currentState = stateStack.Pop();
  3033. break;
  3034. } else {
  3035. if (la.kind == 191) {
  3036. currentState = stateStack.Pop();
  3037. break;
  3038. } else {
  3039. if (la.kind == 192) {
  3040. currentState = stateStack.Pop();
  3041. break;
  3042. } else {
  3043. if (la.kind == 193) {
  3044. currentState = stateStack.Pop();
  3045. break;
  3046. } else {
  3047. if (la.kind == 194) {
  3048. currentState = stateStack.Pop();
  3049. break;
  3050. } else {
  3051. if (la.kind == 195) {
  3052. currentState = stateStack.Pop();
  3053. break;
  3054. } else {
  3055. if (la.kind == 196) {
  3056. currentState = stateStack.Pop();
  3057. break;
  3058. } else {
  3059. if (la.kind == 197) {
  3060. goto case 115;
  3061. } else {
  3062. if (la.kind == 198) {
  3063. currentState = stateStack.Pop();
  3064. break;
  3065. } else {
  3066. if (la.kind == 199) {
  3067. currentState = stateStack.Pop();
  3068. break;
  3069. } else {
  3070. if (la.kind == 200) {
  3071. currentState = stateStack.Pop();
  3072. break;
  3073. } else {
  3074. if (la.kind == 201) {
  3075. currentState = stateStack.Pop();
  3076. break;
  3077. } else {
  3078. if (la.kind == 202) {
  3079. currentState = stateStack.Pop();
  3080. break;
  3081. } else {
  3082. if (la.kind == 203) {
  3083. goto case 114;
  3084. } else {
  3085. if (la.kind == 204) {
  3086. currentState = stateStack.Pop();
  3087. break;
  3088. } else {
  3089. if (la.kind == 205) {
  3090. currentState = stateStack.Pop();
  3091. break;
  3092. } else {
  3093. if (la.kind == 206) {
  3094. goto case 113;
  3095. } else {
  3096. if (la.kind == 207) {
  3097. currentState = stateStack.Pop();
  3098. break;
  3099. } else {
  3100. if (la.kind == 208) {
  3101. currentState = stateStack.Pop();
  3102. break;
  3103. } else {
  3104. if (la.kind == 209) {
  3105. goto case 112;
  3106. } else {
  3107. if (la.kind == 210) {
  3108. goto case 111;
  3109. } else {
  3110. if (la.kind == 211) {
  3111. goto case 110;
  3112. } else {
  3113. if (la.kind == 212) {
  3114. goto case 109;
  3115. } else {
  3116. if (la.kind == 213) {
  3117. goto case 108;
  3118. } else {
  3119. if (la.kind == 214) {
  3120. currentState = stateStack.Pop();
  3121. break;
  3122. } else {
  3123. if (la.kind == 215) {
  3124. currentState = stateStack.Pop();
  3125. break;
  3126. } else {
  3127. if (la.kind == 216) {
  3128. goto case 59;
  3129. } else {
  3130. if (la.kind == 217) {
  3131. currentState = stateStack.Pop();
  3132. break;
  3133. } else {
  3134. if (la.kind == 218) {
  3135. goto case 107;
  3136. } else {
  3137. if (la.kind == 219) {
  3138. currentState = stateStack.Pop();
  3139. break;
  3140. } else {
  3141. if (la.kind == 220) {
  3142. currentState = stateStack.Pop();
  3143. break;
  3144. } else {
  3145. if (la.kind == 221) {
  3146. currentState = stateStack.Pop();
  3147. break;
  3148. } else {
  3149. if (la.kind == 222) {
  3150. currentState = stateStack.Pop();
  3151. break;
  3152. } else {
  3153. if (la.kind == 223) {
  3154. goto case 106;
  3155. } else {
  3156. if (la.kind == 224) {
  3157. goto case 105;
  3158. } else {
  3159. if (la.kind == 225) {
  3160. currentState = stateStack.Pop();
  3161. break;
  3162. } else {
  3163. if (la.kind == 226) {
  3164. currentState = stateStack.Pop();
  3165. break;
  3166. } else {
  3167. if (la.kind == 227) {
  3168. currentState = stateStack.Pop();
  3169. break;
  3170. } else {
  3171. if (la.kind == 228) {
  3172. currentState = stateStack.Pop();
  3173. break;
  3174. } else {
  3175. if (la.kind == 229) {
  3176. currentState = stateStack.Pop();
  3177. break;
  3178. } else {
  3179. if (la.kind == 230) {
  3180. goto case 104;
  3181. } else {
  3182. if (la.kind == 231) {
  3183. goto case 103;
  3184. } else {
  3185. if (la.kind == 232) {
  3186. currentState = stateStack.Pop();
  3187. break;
  3188. } else {
  3189. if (la.kind == 233) {
  3190. goto case 102;
  3191. } else {
  3192. if (la.kind == 234) {
  3193. currentState = stateStack.Pop();
  3194. break;
  3195. } else {
  3196. if (la.kind == 235) {
  3197. currentState = stateStack.Pop();
  3198. break;
  3199. } else {
  3200. if (la.kind == 236) {
  3201. goto case 62;
  3202. } else {
  3203. if (la.kind == 237) {
  3204. currentState = stateStack.Pop();
  3205. break;
  3206. } else {
  3207. goto case 6;
  3208. }
  3209. }
  3210. }
  3211. }
  3212. }
  3213. }
  3214. }
  3215. }
  3216. }
  3217. }
  3218. }
  3219. }
  3220. }
  3221. }
  3222. }
  3223. }
  3224. }
  3225. }
  3226. }
  3227. }
  3228. }
  3229. }
  3230. }
  3231. }
  3232. }
  3233. }
  3234. }
  3235. }
  3236. }
  3237. }
  3238. }
  3239. }
  3240. }
  3241. }
  3242. }
  3243. }
  3244. }
  3245. }
  3246. }
  3247. }
  3248. }
  3249. }
  3250. }
  3251. }
  3252. }
  3253. }
  3254. }
  3255. }
  3256. }
  3257. }
  3258. }
  3259. }
  3260. }
  3261. }
  3262. }
  3263. }
  3264. }
  3265. }
  3266. }
  3267. }
  3268. }
  3269. }
  3270. }
  3271. }
  3272. }
  3273. }
  3274. }
  3275. }
  3276. }
  3277. }
  3278. }
  3279. }
  3280. }
  3281. }
  3282. }
  3283. }
  3284. }
  3285. }
  3286. }
  3287. }
  3288. }
  3289. }
  3290. }
  3291. }
  3292. }
  3293. }
  3294. }
  3295. }
  3296. }
  3297. }
  3298. }
  3299. }
  3300. }
  3301. }
  3302. }
  3303. }
  3304. }
  3305. }
  3306. }
  3307. }
  3308. }
  3309. }
  3310. }
  3311. }
  3312. }
  3313. }
  3314. }
  3315. }
  3316. }
  3317. }
  3318. }
  3319. }
  3320. }
  3321. }
  3322. }
  3323. }
  3324. }
  3325. }
  3326. }
  3327. }
  3328. }
  3329. }
  3330. }
  3331. }
  3332. }
  3333. }
  3334. }
  3335. }
  3336. }
  3337. }
  3338. }
  3339. }
  3340. }
  3341. }
  3342. }
  3343. }
  3344. }
  3345. }
  3346. }
  3347. }
  3348. }
  3349. }
  3350. }
  3351. }
  3352. }
  3353. }
  3354. }
  3355. }
  3356. }
  3357. }
  3358. }
  3359. }
  3360. }
  3361. }
  3362. }
  3363. }
  3364. }
  3365. }
  3366. }
  3367. }
  3368. }
  3369. }
  3370. }
  3371. }
  3372. }
  3373. }
  3374. }
  3375. }
  3376. }
  3377. }
  3378. }
  3379. }
  3380. }
  3381. }
  3382. }
  3383. }
  3384. }
  3385. }
  3386. }
  3387. }
  3388. }
  3389. }
  3390. }
  3391. }
  3392. case 102: {
  3393. if (la == null) { currentState = 102; break; }
  3394. currentState = stateStack.Pop();
  3395. break;
  3396. }
  3397. case 103: {
  3398. if (la == null) { currentState = 103; break; }
  3399. currentState = stateStack.Pop();
  3400. break;
  3401. }
  3402. case 104: {
  3403. if (la == null) { currentState = 104; break; }
  3404. currentState = stateStack.Pop();
  3405. break;
  3406. }
  3407. case 105: {
  3408. if (la == null) { currentState = 105; break; }
  3409. currentState = stateStack.Pop();
  3410. break;
  3411. }
  3412. case 106: {
  3413. if (la == null) { currentState = 106; break; }
  3414. currentState = stateStack.Pop();
  3415. break;
  3416. }
  3417. case 107: {
  3418. if (la == null) { currentState = 107; break; }
  3419. currentState = stateStack.Pop();
  3420. break;
  3421. }
  3422. case 108: {
  3423. if (la == null) { currentState = 108; break; }
  3424. currentState = stateStack.Pop();
  3425. break;
  3426. }
  3427. case 109: {
  3428. if (la == null) { currentState = 109; break; }
  3429. currentState = stateStack.Pop();
  3430. break;
  3431. }
  3432. case 110: {
  3433. if (la == null) { currentState = 110; break; }
  3434. currentState = stateStack.Pop();
  3435. break;
  3436. }
  3437. case 111: {
  3438. if (la == null) { currentState = 111; break; }
  3439. currentState = stateStack.Pop();
  3440. break;
  3441. }
  3442. case 112: {
  3443. if (la == null) { currentState = 112; break; }
  3444. currentState = stateStack.Pop();
  3445. break;
  3446. }
  3447. case 113: {
  3448. if (la == null) { currentState = 113; break; }
  3449. currentState = stateStack.Pop();
  3450. break;
  3451. }
  3452. case 114: {
  3453. if (la == null) { currentState = 114; break; }
  3454. currentState = stateStack.Pop();
  3455. break;
  3456. }
  3457. case 115: {
  3458. if (la == null) { currentState = 115; break; }
  3459. currentState = stateStack.Pop();
  3460. break;
  3461. }
  3462. case 116: {
  3463. if (la == null) { currentState = 116; break; }
  3464. currentState = stateStack.Pop();
  3465. break;
  3466. }
  3467. case 117: {
  3468. if (la == null) { currentState = 117; break; }
  3469. currentState = stateStack.Pop();
  3470. break;
  3471. }
  3472. case 118: {
  3473. if (la == null) { currentState = 118; break; }
  3474. currentState = stateStack.Pop();
  3475. break;
  3476. }
  3477. case 119: {
  3478. if (la == null) { currentState = 119; break; }
  3479. currentState = stateStack.Pop();
  3480. break;
  3481. }
  3482. case 120: {
  3483. if (la == null) { currentState = 120; break; }
  3484. currentState = stateStack.Pop();
  3485. break;
  3486. }
  3487. case 121: {
  3488. if (la == null) { currentState = 121; break; }
  3489. currentState = stateStack.Pop();
  3490. break;
  3491. }
  3492. case 122: {
  3493. if (la == null) { currentState = 122; break; }
  3494. currentState = stateStack.Pop();
  3495. break;
  3496. }
  3497. case 123: {
  3498. if (la == null) { currentState = 123; break; }
  3499. currentState = stateStack.Pop();
  3500. break;
  3501. }
  3502. case 124: {
  3503. if (la == null) { currentState = 124; break; }
  3504. currentState = stateStack.Pop();
  3505. break;
  3506. }
  3507. case 125: {
  3508. if (la == null) { currentState = 125; break; }
  3509. currentState = stateStack.Pop();
  3510. break;
  3511. }
  3512. case 126: {
  3513. if (la == null) { currentState = 126; break; }
  3514. currentState = stateStack.Pop();
  3515. break;
  3516. }
  3517. case 127: {
  3518. if (la == null) { currentState = 127; break; }
  3519. currentState = stateStack.Pop();
  3520. break;
  3521. }
  3522. case 128: {
  3523. if (la == null) { currentState = 128; break; }
  3524. currentState = stateStack.Pop();
  3525. break;
  3526. }
  3527. case 129: {
  3528. if (la == null) { currentState = 129; break; }
  3529. currentState = stateStack.Pop();
  3530. break;
  3531. }
  3532. case 130: {
  3533. if (la == null) { currentState = 130; break; }
  3534. currentState = stateStack.Pop();
  3535. break;
  3536. }
  3537. case 131: {
  3538. if (la == null) { currentState = 131; break; }
  3539. currentState = stateStack.Pop();
  3540. break;
  3541. }
  3542. case 132: {
  3543. if (la == null) { currentState = 132; break; }
  3544. currentState = stateStack.Pop();
  3545. break;
  3546. }
  3547. case 133: {
  3548. if (la == null) { currentState = 133; break; }
  3549. currentState = stateStack.Pop();
  3550. break;
  3551. }
  3552. case 134: {
  3553. if (la == null) { currentState = 134; break; }
  3554. currentState = stateStack.Pop();
  3555. break;
  3556. }
  3557. case 135: {
  3558. if (la == null) { currentState = 135; break; }
  3559. currentState = stateStack.Pop();
  3560. break;
  3561. }
  3562. case 136: {
  3563. if (la == null) { currentState = 136; break; }
  3564. currentState = stateStack.Pop();
  3565. break;
  3566. }
  3567. case 137: {
  3568. if (la == null) { currentState = 137; break; }
  3569. currentState = stateStack.Pop();
  3570. break;
  3571. }
  3572. case 138: {
  3573. if (la == null) { currentState = 138; break; }
  3574. currentState = stateStack.Pop();
  3575. break;
  3576. }
  3577. case 139: {
  3578. if (la == null) { currentState = 139; break; }
  3579. currentState = stateStack.Pop();
  3580. break;
  3581. }
  3582. case 140: {
  3583. if (la == null) { currentState = 140; break; }
  3584. currentState = stateStack.Pop();
  3585. break;
  3586. }
  3587. case 141: {
  3588. if (la == null) { currentState = 141; break; }
  3589. currentState = stateStack.Pop();
  3590. break;
  3591. }
  3592. case 142: {
  3593. if (la == null) { currentState = 142; break; }
  3594. currentState = stateStack.Pop();
  3595. break;
  3596. }
  3597. case 143: {
  3598. if (la == null) { currentState = 143; break; }
  3599. currentState = stateStack.Pop();
  3600. break;
  3601. }
  3602. case 144: {
  3603. if (la == null) { currentState = 144; break; }
  3604. currentState = stateStack.Pop();
  3605. break;
  3606. }
  3607. case 145: {
  3608. if (la == null) { currentState = 145; break; }
  3609. currentState = stateStack.Pop();
  3610. break;
  3611. }
  3612. case 146: {
  3613. if (la == null) { currentState = 146; break; }
  3614. if (la.kind == 35 || la.kind == 126 || la.kind == 233) {
  3615. if (la.kind == 126) {
  3616. PushContext(Context.CollectionInitializer, la, t);
  3617. goto case 151;
  3618. } else {
  3619. if (la.kind == 35) {
  3620. PushContext(Context.CollectionInitializer, la, t);
  3621. stateStack.Push(150);
  3622. goto case 79;
  3623. } else {
  3624. if (la.kind == 233) {
  3625. PushContext(Context.ObjectInitializer, la, t);
  3626. goto case 147;
  3627. } else {
  3628. goto case 88;
  3629. }
  3630. }
  3631. }
  3632. } else {
  3633. goto case 89;
  3634. }
  3635. }
  3636. case 147: {
  3637. if (la == null) { currentState = 147; break; }
  3638. Expect(233, la); // "With"
  3639. currentState = 148;
  3640. break;
  3641. }
  3642. case 148: {
  3643. stateStack.Push(149);
  3644. goto case 93;
  3645. }
  3646. case 149: {
  3647. PopContext();
  3648. goto case 89;
  3649. }
  3650. case 150: {
  3651. PopContext();
  3652. goto case 89;
  3653. }
  3654. case 151: {
  3655. if (la == null) { currentState = 151; break; }
  3656. Expect(126, la); // "From"
  3657. currentState = 152;
  3658. break;
  3659. }
  3660. case 152: {
  3661. if (la == null) { currentState = 152; break; }
  3662. if (la.kind == 35) {
  3663. stateStack.Push(153);
  3664. goto case 79;
  3665. } else {
  3666. if (set[30].Get(la.kind)) {
  3667. currentState = endOfStatementTerminatorAndBlock; /* leave this block */
  3668. InformToken(t); /* process From again*/
  3669. /* for processing current token (la): go to the position after processing End */
  3670. goto switchlbl;
  3671. } else {
  3672. Error(la);
  3673. goto case 153;
  3674. }
  3675. }
  3676. }
  3677. case 153: {
  3678. PopContext();
  3679. goto case 89;
  3680. }
  3681. case 154: {
  3682. if (la == null) { currentState = 154; break; }
  3683. currentState = 153;
  3684. break;
  3685. }
  3686. case 155: {
  3687. stateStack.Push(156);
  3688. goto case 75;
  3689. }
  3690. case 156: {
  3691. if (la == null) { currentState = 156; break; }
  3692. Expect(144, la); // "Is"
  3693. currentState = 157;
  3694. break;
  3695. }
  3696. case 157: {
  3697. PushContext(Context.Type, la, t);
  3698. stateStack.Push(158);
  3699. goto case 37;
  3700. }
  3701. case 158: {
  3702. PopContext();
  3703. goto case 78;
  3704. }
  3705. case 159: {
  3706. if (la == null) { currentState = 159; break; }
  3707. if (set[32].Get(la.kind)) {
  3708. stateStack.Push(159);
  3709. goto case 160;
  3710. } else {
  3711. goto case 78;
  3712. }
  3713. }
  3714. case 160: {
  3715. if (la == null) { currentState = 160; break; }
  3716. if (la.kind == 37) {
  3717. currentState = 165;
  3718. break;
  3719. } else {
  3720. if (set[136].Get(la.kind)) {
  3721. currentState = 161;
  3722. break;
  3723. } else {
  3724. goto case 6;
  3725. }
  3726. }
  3727. }
  3728. case 161: {
  3729. nextTokenIsStartOfImportsOrAccessExpression = true;
  3730. goto case 162;
  3731. }
  3732. case 162: {
  3733. if (la == null) { currentState = 162; break; }
  3734. if (la.kind == 10) {
  3735. currentState = 163;
  3736. break;
  3737. } else {
  3738. goto case 163;
  3739. }
  3740. }
  3741. case 163: {
  3742. stateStack.Push(164);
  3743. goto case 101;
  3744. }
  3745. case 164: {
  3746. if (la == null) { currentState = 164; break; }
  3747. if (la.kind == 11) {
  3748. currentState = stateStack.Pop();
  3749. break;
  3750. } else {
  3751. currentState = stateStack.Pop();
  3752. goto switchlbl;
  3753. }
  3754. }
  3755. case 165: {
  3756. PushContext(Context.Expression, la, t);
  3757. nextTokenIsPotentialStartOfExpression = true;
  3758. goto case 166;
  3759. }
  3760. case 166: {
  3761. if (la == null) { currentState = 166; break; }
  3762. if (la.kind == 169) {
  3763. currentState = 168;
  3764. break;
  3765. } else {
  3766. if (set[22].Get(la.kind)) {
  3767. if (set[21].Get(la.kind)) {
  3768. stateStack.Push(167);
  3769. goto case 47;
  3770. } else {
  3771. goto case 167;
  3772. }
  3773. } else {
  3774. Error(la);
  3775. goto case 167;
  3776. }
  3777. }
  3778. }
  3779. case 167: {
  3780. PopContext();
  3781. goto case 46;
  3782. }
  3783. case 168: {
  3784. PushContext(Context.Type, la, t);
  3785. stateStack.Push(169);
  3786. goto case 37;
  3787. }
  3788. case 169: {
  3789. PopContext();
  3790. goto case 170;
  3791. }
  3792. case 170: {
  3793. if (la == null) { currentState = 170; break; }
  3794. if (la.kind == 22) {
  3795. currentState = 171;
  3796. break;
  3797. } else {
  3798. goto case 167;
  3799. }
  3800. }
  3801. case 171: {
  3802. PushContext(Context.Type, la, t);
  3803. stateStack.Push(172);
  3804. goto case 37;
  3805. }
  3806. case 172: {
  3807. PopContext();
  3808. goto case 170;
  3809. }
  3810. case 173: {
  3811. PushContext(Context.Expression, la, t);
  3812. nextTokenIsPotentialStartOfExpression = true;
  3813. goto case 174;
  3814. }
  3815. case 174: {
  3816. if (la == null) { currentState = 174; break; }
  3817. if (set[137].Get(la.kind)) {
  3818. currentState = 175;
  3819. break;
  3820. } else {
  3821. if (la.kind == 37) {
  3822. currentState = 483;
  3823. break;
  3824. } else {
  3825. if (set[138].Get(la.kind)) {
  3826. currentState = 175;
  3827. break;
  3828. } else {
  3829. if (set[134].Get(la.kind)) {
  3830. currentState = 175;
  3831. break;
  3832. } else {
  3833. if (set[136].Get(la.kind)) {
  3834. currentState = 479;
  3835. break;
  3836. } else {
  3837. if (la.kind == 129) {
  3838. currentState = 476;
  3839. break;
  3840. } else {
  3841. if (la.kind == 237) {
  3842. currentState = 473;
  3843. break;
  3844. } else {
  3845. if (set[83].Get(la.kind)) {
  3846. stateStack.Push(175);
  3847. nextTokenIsPotentialStartOfExpression = true;
  3848. PushContext(Context.Xml, la, t);
  3849. goto case 456;
  3850. } else {
  3851. if (la.kind == 127 || la.kind == 210) {
  3852. stateStack.Push(175);
  3853. goto case 252;
  3854. } else {
  3855. if (la.kind == 58 || la.kind == 126) {
  3856. stateStack.Push(175);
  3857. PushContext(Context.Query, la, t);
  3858. goto case 190;
  3859. } else {
  3860. if (set[37].Get(la.kind)) {
  3861. stateStack.Push(175);
  3862. goto case 183;
  3863. } else {
  3864. if (la.kind == 135) {
  3865. stateStack.Push(175);
  3866. goto case 176;
  3867. } else {
  3868. Error(la);
  3869. goto case 175;
  3870. }
  3871. }
  3872. }
  3873. }
  3874. }
  3875. }
  3876. }
  3877. }
  3878. }
  3879. }
  3880. }
  3881. }
  3882. }
  3883. case 175: {
  3884. PopContext();
  3885. currentState = stateStack.Pop();
  3886. goto switchlbl;
  3887. }
  3888. case 176: {
  3889. if (la == null) { currentState = 176; break; }
  3890. Expect(135, la); // "If"
  3891. currentState = 177;
  3892. break;
  3893. }
  3894. case 177: {
  3895. if (la == null) { currentState = 177; break; }
  3896. Expect(37, la); // "("
  3897. currentState = 178;
  3898. break;
  3899. }
  3900. case 178: {
  3901. stateStack.Push(179);
  3902. goto case 55;
  3903. }
  3904. case 179: {
  3905. if (la == null) { currentState = 179; break; }
  3906. Expect(22, la); // ","
  3907. currentState = 180;
  3908. break;
  3909. }
  3910. case 180: {
  3911. stateStack.Push(181);
  3912. goto case 55;
  3913. }
  3914. case 181: {
  3915. if (la == null) { currentState = 181; break; }
  3916. if (la.kind == 22) {
  3917. currentState = 182;
  3918. break;
  3919. } else {
  3920. goto case 46;
  3921. }
  3922. }
  3923. case 182: {
  3924. stateStack.Push(46);
  3925. goto case 55;
  3926. }
  3927. case 183: {
  3928. if (la == null) { currentState = 183; break; }
  3929. if (set[139].Get(la.kind)) {
  3930. currentState = 189;
  3931. break;
  3932. } else {
  3933. if (la.kind == 94 || la.kind == 106 || la.kind == 219) {
  3934. currentState = 184;
  3935. break;
  3936. } else {
  3937. goto case 6;
  3938. }
  3939. }
  3940. }
  3941. case 184: {
  3942. if (la == null) { currentState = 184; break; }
  3943. Expect(37, la); // "("
  3944. currentState = 185;
  3945. break;
  3946. }
  3947. case 185: {
  3948. stateStack.Push(186);
  3949. goto case 55;
  3950. }
  3951. case 186: {
  3952. if (la == null) { currentState = 186; break; }
  3953. Expect(22, la); // ","
  3954. currentState = 187;
  3955. break;
  3956. }
  3957. case 187: {
  3958. PushContext(Context.Type, la, t);
  3959. stateStack.Push(188);
  3960. goto case 37;
  3961. }
  3962. case 188: {
  3963. PopContext();
  3964. goto case 46;
  3965. }
  3966. case 189: {
  3967. if (la == null) { currentState = 189; break; }
  3968. Expect(37, la); // "("
  3969. currentState = 182;
  3970. break;
  3971. }
  3972. case 190: {
  3973. if (la == null) { currentState = 190; break; }
  3974. if (la.kind == 126) {
  3975. stateStack.Push(191);
  3976. goto case 251;
  3977. } else {
  3978. if (la.kind == 58) {
  3979. stateStack.Push(191);
  3980. goto case 250;
  3981. } else {
  3982. Error(la);
  3983. goto case 191;
  3984. }
  3985. }
  3986. }
  3987. case 191: {
  3988. if (la == null) { currentState = 191; break; }
  3989. if (set[38].Get(la.kind)) {
  3990. stateStack.Push(191);
  3991. goto case 192;
  3992. } else {
  3993. PopContext();
  3994. currentState = stateStack.Pop();
  3995. goto switchlbl;
  3996. }
  3997. }
  3998. case 192: {
  3999. if (la == null) { currentState = 192; break; }
  4000. if (la.kind == 126) {
  4001. currentState = 248;
  4002. break;
  4003. } else {
  4004. if (la.kind == 58) {
  4005. currentState = 244;
  4006. break;
  4007. } else {
  4008. if (la.kind == 197) {
  4009. currentState = 242;
  4010. break;
  4011. } else {
  4012. if (la.kind == 107) {
  4013. goto case 133;
  4014. } else {
  4015. if (la.kind == 230) {
  4016. currentState = 55;
  4017. break;
  4018. } else {
  4019. if (la.kind == 176) {
  4020. currentState = 238;
  4021. break;
  4022. } else {
  4023. if (la.kind == 203 || la.kind == 212) {
  4024. currentState = 236;
  4025. break;
  4026. } else {
  4027. if (la.kind == 148) {
  4028. currentState = 234;
  4029. break;
  4030. } else {
  4031. if (la.kind == 133) {
  4032. currentState = 206;
  4033. break;
  4034. } else {
  4035. if (la.kind == 146) {
  4036. currentState = 193;
  4037. break;
  4038. } else {
  4039. goto case 6;
  4040. }
  4041. }
  4042. }
  4043. }
  4044. }
  4045. }
  4046. }
  4047. }
  4048. }
  4049. }
  4050. }
  4051. case 193: {
  4052. stateStack.Push(194);
  4053. goto case 199;
  4054. }
  4055. case 194: {
  4056. if (la == null) { currentState = 194; break; }
  4057. Expect(171, la); // "On"
  4058. currentState = 195;
  4059. break;
  4060. }
  4061. case 195: {
  4062. stateStack.Push(196);
  4063. goto case 55;
  4064. }
  4065. case 196: {
  4066. if (la == null) { currentState = 196; break; }
  4067. Expect(116, la); // "Equals"
  4068. currentState = 197;
  4069. break;
  4070. }
  4071. case 197: {
  4072. stateStack.Push(198);
  4073. goto case 55;
  4074. }
  4075. case 198: {
  4076. if (la == null) { currentState = 198; break; }
  4077. if (la.kind == 22) {
  4078. currentState = 195;
  4079. break;
  4080. } else {
  4081. currentState = stateStack.Pop();
  4082. goto switchlbl;
  4083. }
  4084. }
  4085. case 199: {
  4086. PushContext(Context.Identifier, la, t);
  4087. SetIdentifierExpected(la);
  4088. stateStack.Push(200);
  4089. goto case 205;
  4090. }
  4091. case 200: {
  4092. PopContext();
  4093. goto case 201;
  4094. }
  4095. case 201: {
  4096. if (la == null) { currentState = 201; break; }
  4097. if (la.kind == 63) {
  4098. currentState = 203;
  4099. break;
  4100. } else {
  4101. goto case 202;
  4102. }
  4103. }
  4104. case 202: {
  4105. if (la == null) { currentState = 202; break; }
  4106. Expect(138, la); // "In"
  4107. currentState = 55;
  4108. break;
  4109. }
  4110. case 203: {
  4111. PushContext(Context.Type, la, t);
  4112. stateStack.Push(204);
  4113. goto case 37;
  4114. }
  4115. case 204: {
  4116. PopContext();
  4117. goto case 202;
  4118. }
  4119. case 205: {
  4120. if (la == null) { currentState = 205; break; }
  4121. if (set[123].Get(la.kind)) {
  4122. currentState = stateStack.Pop();
  4123. break;
  4124. } else {
  4125. if (la.kind == 98) {
  4126. goto case 135;
  4127. } else {
  4128. goto case 6;
  4129. }
  4130. }
  4131. }
  4132. case 206: {
  4133. SetIdentifierExpected(la);
  4134. nextTokenIsPotentialStartOfExpression = true;
  4135. goto case 207;
  4136. }
  4137. case 207: {
  4138. if (la == null) { currentState = 207; break; }
  4139. if (la.kind == 146) {
  4140. goto case 226;
  4141. } else {
  4142. if (set[40].Get(la.kind)) {
  4143. if (la.kind == 70) {
  4144. currentState = 209;
  4145. break;
  4146. } else {
  4147. if (set[40].Get(la.kind)) {
  4148. goto case 224;
  4149. } else {
  4150. Error(la);
  4151. goto case 208;
  4152. }
  4153. }
  4154. } else {
  4155. goto case 6;
  4156. }
  4157. }
  4158. }
  4159. case 208: {
  4160. if (la == null) { currentState = 208; break; }
  4161. Expect(70, la); // "By"
  4162. currentState = 209;
  4163. break;
  4164. }
  4165. case 209: {
  4166. stateStack.Push(210);
  4167. goto case 213;
  4168. }
  4169. case 210: {
  4170. if (la == null) { currentState = 210; break; }
  4171. if (la.kind == 22) {
  4172. currentState = 209;
  4173. break;
  4174. } else {
  4175. Expect(143, la); // "Into"
  4176. currentState = 211;
  4177. break;
  4178. }
  4179. }
  4180. case 211: {
  4181. stateStack.Push(212);
  4182. goto case 213;
  4183. }
  4184. case 212: {
  4185. if (la == null) { currentState = 212; break; }
  4186. if (la.kind == 22) {
  4187. currentState = 211;
  4188. break;
  4189. } else {
  4190. currentState = stateStack.Pop();
  4191. goto switchlbl;
  4192. }
  4193. }
  4194. case 213: {
  4195. SetIdentifierExpected(la);
  4196. nextTokenIsPotentialStartOfExpression = true;
  4197. goto case 214;
  4198. }
  4199. case 214: {
  4200. if (la == null) { currentState = 214; break; }
  4201. if (set[6].Get(la.kind)) {
  4202. PushContext(Context.Identifier, la, t);
  4203. SetIdentifierExpected(la);
  4204. stateStack.Push(217);
  4205. goto case 205;
  4206. } else {
  4207. goto case 215;
  4208. }
  4209. }
  4210. case 215: {
  4211. stateStack.Push(216);
  4212. goto case 55;
  4213. }
  4214. case 216: {
  4215. if (!isAlreadyInExpr) PopContext(); isAlreadyInExpr = false;
  4216. currentState = stateStack.Pop();
  4217. goto switchlbl;
  4218. }
  4219. case 217: {
  4220. nextTokenIsPotentialStartOfExpression = true;
  4221. goto case 218;
  4222. }
  4223. case 218: {
  4224. if (la == null) { currentState = 218; break; }
  4225. if (set[42].Get(la.kind)) {
  4226. PopContext(); isAlreadyInExpr = true;
  4227. goto case 219;
  4228. } else {
  4229. goto case 215;
  4230. }
  4231. }
  4232. case 219: {
  4233. if (la == null) { currentState = 219; break; }
  4234. if (la.kind == 63) {
  4235. currentState = 221;
  4236. break;
  4237. } else {
  4238. if (la.kind == 20) {
  4239. currentState = 215;
  4240. break;
  4241. } else {
  4242. if (set[43].Get(la.kind)) {
  4243. currentState = endOfStatementTerminatorAndBlock; /* leave this block */
  4244. InformToken(t); /* process Identifier again*/
  4245. /* for processing current token (la): go to the position after processing End */
  4246. goto switchlbl;
  4247. } else {
  4248. Error(la);
  4249. goto case 215;
  4250. }
  4251. }
  4252. }
  4253. }
  4254. case 220: {
  4255. if (la == null) { currentState = 220; break; }
  4256. currentState = 215;
  4257. break;
  4258. }
  4259. case 221: {
  4260. PushContext(Context.Type, la, t);
  4261. stateStack.Push(222);
  4262. goto case 37;
  4263. }
  4264. case 222: {
  4265. PopContext();
  4266. goto case 223;
  4267. }
  4268. case 223: {
  4269. if (la == null) { currentState = 223; break; }
  4270. Expect(20, la); // "="
  4271. currentState = 215;
  4272. break;
  4273. }
  4274. case 224: {
  4275. stateStack.Push(225);
  4276. goto case 213;
  4277. }
  4278. case 225: {
  4279. if (la == null) { currentState = 225; break; }
  4280. if (la.kind == 22) {
  4281. currentState = 224;
  4282. break;
  4283. } else {
  4284. goto case 208;
  4285. }
  4286. }
  4287. case 226: {
  4288. stateStack.Push(227);
  4289. goto case 233;
  4290. }
  4291. case 227: {
  4292. if (la == null) { currentState = 227; break; }
  4293. if (la.kind == 133 || la.kind == 146) {
  4294. if (la.kind == 133) {
  4295. currentState = 231;
  4296. break;
  4297. } else {
  4298. if (la.kind == 146) {
  4299. goto case 226;
  4300. } else {
  4301. Error(la);
  4302. goto case 227;
  4303. }
  4304. }
  4305. } else {
  4306. goto case 228;
  4307. }
  4308. }
  4309. case 228: {
  4310. if (la == null) { currentState = 228; break; }
  4311. Expect(143, la); // "Into"
  4312. currentState = 229;
  4313. break;
  4314. }
  4315. case 229: {
  4316. stateStack.Push(230);
  4317. goto case 213;
  4318. }
  4319. case 230: {
  4320. if (la == null) { currentState = 230; break; }
  4321. if (la.kind == 22) {
  4322. currentState = 229;
  4323. break;
  4324. } else {
  4325. currentState = stateStack.Pop();
  4326. goto switchlbl;
  4327. }
  4328. }
  4329. case 231: {
  4330. stateStack.Push(232);
  4331. goto case 233;
  4332. }
  4333. case 232: {
  4334. stateStack.Push(227);
  4335. goto case 228;
  4336. }
  4337. case 233: {
  4338. if (la == null) { currentState = 233; break; }
  4339. Expect(146, la); // "Join"
  4340. currentState = 193;
  4341. break;
  4342. }
  4343. case 234: {
  4344. stateStack.Push(235);
  4345. goto case 213;
  4346. }
  4347. case 235: {
  4348. if (la == null) { currentState = 235; break; }
  4349. if (la.kind == 22) {
  4350. currentState = 234;
  4351. break;
  4352. } else {
  4353. currentState = stateStack.Pop();
  4354. goto switchlbl;
  4355. }
  4356. }
  4357. case 236: {
  4358. nextTokenIsPotentialStartOfExpression = true;
  4359. goto case 237;
  4360. }
  4361. case 237: {
  4362. if (la == null) { currentState = 237; break; }
  4363. if (la.kind == 231) {
  4364. currentState = 55;
  4365. break;
  4366. } else {
  4367. goto case 55;
  4368. }
  4369. }
  4370. case 238: {
  4371. if (la == null) { currentState = 238; break; }
  4372. Expect(70, la); // "By"
  4373. currentState = 239;
  4374. break;
  4375. }
  4376. case 239: {
  4377. stateStack.Push(240);
  4378. goto case 55;
  4379. }
  4380. case 240: {
  4381. if (la == null) { currentState = 240; break; }
  4382. if (la.kind == 64) {
  4383. currentState = 241;
  4384. break;
  4385. } else {
  4386. if (la.kind == 104) {
  4387. currentState = 241;
  4388. break;
  4389. } else {
  4390. Error(la);
  4391. goto case 241;
  4392. }
  4393. }
  4394. }
  4395. case 241: {
  4396. if (la == null) { currentState = 241; break; }
  4397. if (la.kind == 22) {
  4398. currentState = 239;
  4399. break;
  4400. } else {
  4401. currentState = stateStack.Pop();
  4402. goto switchlbl;
  4403. }
  4404. }
  4405. case 242: {
  4406. stateStack.Push(243);
  4407. goto case 213;
  4408. }
  4409. case 243: {
  4410. if (la == null) { currentState = 243; break; }
  4411. if (la.kind == 22) {
  4412. currentState = 242;
  4413. break;
  4414. } else {
  4415. currentState = stateStack.Pop();
  4416. goto switchlbl;
  4417. }
  4418. }
  4419. case 244: {
  4420. stateStack.Push(245);
  4421. goto case 199;
  4422. }
  4423. case 245: {
  4424. if (la == null) { currentState = 245; break; }
  4425. if (set[38].Get(la.kind)) {
  4426. stateStack.Push(245);
  4427. goto case 192;
  4428. } else {
  4429. Expect(143, la); // "Into"
  4430. currentState = 246;
  4431. break;
  4432. }
  4433. }
  4434. case 246: {
  4435. stateStack.Push(247);
  4436. goto case 213;
  4437. }
  4438. case 247: {
  4439. if (la == null) { currentState = 247; break; }
  4440. if (la.kind == 22) {
  4441. currentState = 246;
  4442. break;
  4443. } else {
  4444. currentState = stateStack.Pop();
  4445. goto switchlbl;
  4446. }
  4447. }
  4448. case 248: {
  4449. stateStack.Push(249);
  4450. goto case 199;
  4451. }
  4452. case 249: {
  4453. if (la == null) { currentState = 249; break; }
  4454. if (la.kind == 22) {
  4455. currentState = 248;
  4456. break;
  4457. } else {
  4458. currentState = stateStack.Pop();
  4459. goto switchlbl;
  4460. }
  4461. }
  4462. case 250: {
  4463. if (la == null) { currentState = 250; break; }
  4464. Expect(58, la); // "Aggregate"
  4465. currentState = 244;
  4466. break;
  4467. }
  4468. case 251: {
  4469. if (la == null) { currentState = 251; break; }
  4470. Expect(126, la); // "From"
  4471. currentState = 248;
  4472. break;
  4473. }
  4474. case 252: {
  4475. if (la == null) { currentState = 252; break; }
  4476. if (la.kind == 210) {
  4477. currentState = 451;
  4478. break;
  4479. } else {
  4480. if (la.kind == 127) {
  4481. currentState = 253;
  4482. break;
  4483. } else {
  4484. goto case 6;
  4485. }
  4486. }
  4487. }
  4488. case 253: {
  4489. stateStack.Push(254);
  4490. goto case 424;
  4491. }
  4492. case 254: {
  4493. nextTokenIsPotentialStartOfExpression = true;
  4494. goto case 255;
  4495. }
  4496. case 255: {
  4497. if (la == null) { currentState = 255; break; }
  4498. if (set[23].Get(la.kind)) {
  4499. goto case 55;
  4500. } else {
  4501. if (la.kind == 1 || la.kind == 21 || la.kind == 63) {
  4502. if (la.kind == 63) {
  4503. currentState = 422;
  4504. break;
  4505. } else {
  4506. goto case 256;
  4507. }
  4508. } else {
  4509. goto case 6;
  4510. }
  4511. }
  4512. }
  4513. case 256: {
  4514. stateStack.Push(257);
  4515. goto case 259;
  4516. }
  4517. case 257: {
  4518. if (la == null) { currentState = 257; break; }
  4519. Expect(113, la); // "End"
  4520. currentState = 258;
  4521. break;
  4522. }
  4523. case 258: {
  4524. if (la == null) { currentState = 258; break; }
  4525. Expect(127, la); // "Function"
  4526. currentState = stateStack.Pop();
  4527. break;
  4528. }
  4529. case 259: {
  4530. PushContext(Context.Body, la, t);
  4531. goto case 260;
  4532. }
  4533. case 260: {
  4534. stateStack.Push(261);
  4535. goto case 23;
  4536. }
  4537. case 261: {
  4538. nextTokenIsPotentialStartOfExpression = true;
  4539. goto case 262;
  4540. }
  4541. case 262: {
  4542. if (la == null) { currentState = 262; break; }
  4543. if (set[140].Get(la.kind)) {
  4544. if (set[69].Get(la.kind)) {
  4545. if (set[50].Get(la.kind)) {
  4546. stateStack.Push(260);
  4547. goto case 267;
  4548. } else {
  4549. goto case 260;
  4550. }
  4551. } else {
  4552. if (la.kind == 113) {
  4553. currentState = 265;
  4554. break;
  4555. } else {
  4556. goto case 264;
  4557. }
  4558. }
  4559. } else {
  4560. goto case 263;
  4561. }
  4562. }
  4563. case 263: {
  4564. PopContext();
  4565. currentState = stateStack.Pop();
  4566. goto switchlbl;
  4567. }
  4568. case 264: {
  4569. Error(la);
  4570. goto case 261;
  4571. }
  4572. case 265: {
  4573. if (la == null) { currentState = 265; break; }
  4574. if (la.kind == 1 || la.kind == 21) {
  4575. goto case 260;
  4576. } else {
  4577. if (set[49].Get(la.kind)) {
  4578. currentState = endOfStatementTerminatorAndBlock; /* leave this block */
  4579. InformToken(t); /* process End again*/
  4580. /* for processing current token (la): go to the position after processing End */
  4581. goto switchlbl;
  4582. } else {
  4583. goto case 264;
  4584. }
  4585. }
  4586. }
  4587. case 266: {
  4588. if (la == null) { currentState = 266; break; }
  4589. currentState = 261;
  4590. break;
  4591. }
  4592. case 267: {
  4593. nextTokenIsPotentialStartOfExpression = true;
  4594. goto case 268;
  4595. }
  4596. case 268: {
  4597. if (la == null) { currentState = 268; break; }
  4598. if (la.kind == 88 || la.kind == 105 || la.kind == 204) {
  4599. currentState = 399;
  4600. break;
  4601. } else {
  4602. if (la.kind == 211 || la.kind == 233) {
  4603. currentState = 395;
  4604. break;
  4605. } else {
  4606. if (la.kind == 56 || la.kind == 193) {
  4607. currentState = 393;
  4608. break;
  4609. } else {
  4610. if (la.kind == 189) {
  4611. currentState = 388;
  4612. break;
  4613. } else {
  4614. if (la.kind == 135) {
  4615. currentState = 370;
  4616. break;
  4617. } else {
  4618. if (la.kind == 197) {
  4619. currentState = 354;
  4620. break;
  4621. } else {
  4622. if (la.kind == 231) {
  4623. currentState = 350;
  4624. break;
  4625. } else {
  4626. if (la.kind == 108) {
  4627. currentState = 344;
  4628. break;
  4629. } else {
  4630. if (la.kind == 124) {
  4631. currentState = 317;
  4632. break;
  4633. } else {
  4634. if (la.kind == 118 || la.kind == 171 || la.kind == 194) {
  4635. if (la.kind == 118 || la.kind == 171) {
  4636. if (la.kind == 171) {
  4637. currentState = 313;
  4638. break;
  4639. } else {
  4640. goto case 313;
  4641. }
  4642. } else {
  4643. if (la.kind == 194) {
  4644. currentState = 311;
  4645. break;
  4646. } else {
  4647. goto case 6;
  4648. }
  4649. }
  4650. } else {
  4651. if (la.kind == 215) {
  4652. currentState = 309;
  4653. break;
  4654. } else {
  4655. if (la.kind == 218) {
  4656. currentState = 296;
  4657. break;
  4658. } else {
  4659. if (set[141].Get(la.kind)) {
  4660. if (la.kind == 132) {
  4661. currentState = 293;
  4662. break;
  4663. } else {
  4664. if (la.kind == 120) {
  4665. currentState = 292;
  4666. break;
  4667. } else {
  4668. if (la.kind == 89) {
  4669. currentState = 291;
  4670. break;
  4671. } else {
  4672. if (la.kind == 206) {
  4673. goto case 113;
  4674. } else {
  4675. if (la.kind == 195) {
  4676. currentState = 288;
  4677. break;
  4678. } else {
  4679. goto case 6;
  4680. }
  4681. }
  4682. }
  4683. }
  4684. }
  4685. } else {
  4686. if (la.kind == 191) {
  4687. currentState = 286;
  4688. break;
  4689. } else {
  4690. if (la.kind == 117) {
  4691. currentState = 284;
  4692. break;
  4693. } else {
  4694. if (la.kind == 226) {
  4695. currentState = 269;
  4696. break;
  4697. } else {
  4698. if (set[142].Get(la.kind)) {
  4699. if (la.kind == 73) {
  4700. currentState = 55;
  4701. break;
  4702. } else {
  4703. goto case 55;
  4704. }
  4705. } else {
  4706. goto case 6;
  4707. }
  4708. }
  4709. }
  4710. }
  4711. }
  4712. }
  4713. }
  4714. }
  4715. }
  4716. }
  4717. }
  4718. }
  4719. }
  4720. }
  4721. }
  4722. }
  4723. }
  4724. }
  4725. case 269: {
  4726. stateStack.Push(270);
  4727. SetIdentifierExpected(la);
  4728. nextTokenIsPotentialStartOfExpression = true;
  4729. goto case 273;
  4730. }
  4731. case 270: {
  4732. if (la == null) { currentState = 270; break; }
  4733. if (la.kind == 22) {
  4734. currentState = 269;
  4735. break;
  4736. } else {
  4737. stateStack.Push(271);
  4738. goto case 259;
  4739. }
  4740. }
  4741. case 271: {
  4742. if (la == null) { currentState = 271; break; }
  4743. Expect(113, la); // "End"
  4744. currentState = 272;
  4745. break;
  4746. }
  4747. case 272: {
  4748. if (la == null) { currentState = 272; break; }
  4749. Expect(226, la); // "Using"
  4750. currentState = stateStack.Pop();
  4751. break;
  4752. }
  4753. case 273: {
  4754. if (la == null) { currentState = 273; break; }
  4755. if (set[6].Get(la.kind)) {
  4756. PushContext(Context.Identifier, la, t);
  4757. SetIdentifierExpected(la);
  4758. stateStack.Push(276);
  4759. goto case 205;
  4760. } else {
  4761. goto case 274;
  4762. }
  4763. }
  4764. case 274: {
  4765. stateStack.Push(275);
  4766. goto case 55;
  4767. }
  4768. case 275: {
  4769. if (!isAlreadyInExpr) PopContext(); isAlreadyInExpr = false;
  4770. currentState = stateStack.Pop();
  4771. goto switchlbl;
  4772. }
  4773. case 276: {
  4774. nextTokenIsPotentialStartOfExpression = true;
  4775. goto case 277;
  4776. }
  4777. case 277: {
  4778. if (la == null) { currentState = 277; break; }
  4779. if (set[42].Get(la.kind)) {
  4780. PopContext(); isAlreadyInExpr = true;
  4781. goto case 278;
  4782. } else {
  4783. goto case 274;
  4784. }
  4785. }
  4786. case 278: {
  4787. if (la == null) { currentState = 278; break; }
  4788. if (la.kind == 63) {
  4789. currentState = 280;
  4790. break;
  4791. } else {
  4792. if (la.kind == 20) {
  4793. currentState = 274;
  4794. break;
  4795. } else {
  4796. if (set[43].Get(la.kind)) {
  4797. currentState = endOfStatementTerminatorAndBlock; /* leave this block */
  4798. InformToken(t); /* process Identifier again*/
  4799. /* for processing current token (la): go to the position after processing End */
  4800. goto switchlbl;
  4801. } else {
  4802. Error(la);
  4803. goto case 274;
  4804. }
  4805. }
  4806. }
  4807. }
  4808. case 279: {
  4809. if (la == null) { currentState = 279; break; }
  4810. currentState = 274;
  4811. break;
  4812. }
  4813. case 280: {
  4814. nextTokenIsPotentialStartOfExpression = true;
  4815. goto case 281;
  4816. }
  4817. case 281: {
  4818. if (la == null) { currentState = 281; break; }
  4819. if (set[16].Get(la.kind)) {
  4820. PushContext(Context.Type, la, t);
  4821. stateStack.Push(282);
  4822. goto case 37;
  4823. } else {
  4824. goto case 274;
  4825. }
  4826. }
  4827. case 282: {
  4828. PopContext();
  4829. goto case 283;
  4830. }
  4831. case 283: {
  4832. if (la == null) { currentState = 283; break; }
  4833. Expect(20, la); // "="
  4834. currentState = 274;
  4835. break;
  4836. }
  4837. case 284: {
  4838. stateStack.Push(285);
  4839. goto case 55;
  4840. }
  4841. case 285: {
  4842. if (la == null) { currentState = 285; break; }
  4843. if (la.kind == 22) {
  4844. currentState = 284;
  4845. break;
  4846. } else {
  4847. currentState = stateStack.Pop();
  4848. goto switchlbl;
  4849. }
  4850. }
  4851. case 286: {
  4852. nextTokenIsPotentialStartOfExpression = true;
  4853. goto case 287;
  4854. }
  4855. case 287: {
  4856. if (la == null) { currentState = 287; break; }
  4857. if (la.kind == 184) {
  4858. currentState = 55;
  4859. break;
  4860. } else {
  4861. goto case 55;
  4862. }
  4863. }
  4864. case 288: {
  4865. PushContext(Context.Expression, la, t);
  4866. nextTokenIsPotentialStartOfExpression = true;
  4867. goto case 289;
  4868. }
  4869. case 289: {
  4870. if (la == null) { currentState = 289; break; }
  4871. if (set[23].Get(la.kind)) {
  4872. stateStack.Push(290);
  4873. goto case 55;
  4874. } else {
  4875. goto case 290;
  4876. }
  4877. }
  4878. case 290: {
  4879. PopContext();
  4880. currentState = stateStack.Pop();
  4881. goto switchlbl;
  4882. }
  4883. case 291: {
  4884. if (la == null) { currentState = 291; break; }
  4885. if (la.kind == 108) {
  4886. goto case 132;
  4887. } else {
  4888. if (la.kind == 124) {
  4889. goto case 129;
  4890. } else {
  4891. if (la.kind == 231) {
  4892. goto case 103;
  4893. } else {
  4894. goto case 6;
  4895. }
  4896. }
  4897. }
  4898. }
  4899. case 292: {
  4900. if (la == null) { currentState = 292; break; }
  4901. if (la.kind == 108) {
  4902. goto case 132;
  4903. } else {
  4904. if (la.kind == 124) {
  4905. goto case 129;
  4906. } else {
  4907. if (la.kind == 231) {
  4908. goto case 103;
  4909. } else {
  4910. if (la.kind == 197) {
  4911. goto case 115;
  4912. } else {
  4913. if (la.kind == 210) {
  4914. goto case 111;
  4915. } else {
  4916. if (la.kind == 127) {
  4917. goto case 127;
  4918. } else {
  4919. if (la.kind == 186) {
  4920. goto case 116;
  4921. } else {
  4922. if (la.kind == 218) {
  4923. goto case 107;
  4924. } else {
  4925. goto case 6;
  4926. }
  4927. }
  4928. }
  4929. }
  4930. }
  4931. }
  4932. }
  4933. }
  4934. }
  4935. case 293: {
  4936. if (la == null) { currentState = 293; break; }
  4937. if (set[6].Get(la.kind)) {
  4938. goto case 295;
  4939. } else {
  4940. if (la.kind == 5) {
  4941. goto case 294;
  4942. } else {
  4943. goto case 6;
  4944. }
  4945. }
  4946. }
  4947. case 294: {
  4948. if (la == null) { currentState = 294; break; }
  4949. currentState = stateStack.Pop();
  4950. break;
  4951. }
  4952. case 295: {
  4953. if (la == null) { currentState = 295; break; }
  4954. currentState = stateStack.Pop();
  4955. break;
  4956. }
  4957. case 296: {
  4958. stateStack.Push(297);
  4959. goto case 259;
  4960. }
  4961. case 297: {
  4962. if (la == null) { currentState = 297; break; }
  4963. if (la.kind == 75) {
  4964. currentState = 301;
  4965. break;
  4966. } else {
  4967. if (la.kind == 123) {
  4968. currentState = 300;
  4969. break;
  4970. } else {
  4971. goto case 298;
  4972. }
  4973. }
  4974. }
  4975. case 298: {
  4976. if (la == null) { currentState = 298; break; }
  4977. Expect(113, la); // "End"
  4978. currentState = 299;
  4979. break;
  4980. }
  4981. case 299: {
  4982. if (la == null) { currentState = 299; break; }
  4983. Expect(218, la); // "Try"
  4984. currentState = stateStack.Pop();
  4985. break;
  4986. }
  4987. case 300: {
  4988. stateStack.Push(298);
  4989. goto case 259;
  4990. }
  4991. case 301: {
  4992. SetIdentifierExpected(la);
  4993. goto case 302;
  4994. }
  4995. case 302: {
  4996. if (la == null) { currentState = 302; break; }
  4997. if (set[6].Get(la.kind)) {
  4998. PushContext(Context.Identifier, la, t);
  4999. SetIdentifierExpected(la);
  5000. stateStack.Push(305);
  5001. goto case 205;
  5002. } else {
  5003. goto case 303;
  5004. }
  5005. }
  5006. case 303: {
  5007. if (la == null) { currentState = 303; break; }
  5008. if (la.kind == 229) {
  5009. currentState = 304;
  5010. break;
  5011. } else {
  5012. goto case 296;
  5013. }
  5014. }
  5015. case 304: {
  5016. stateStack.Push(296);
  5017. goto case 55;
  5018. }
  5019. case 305: {
  5020. PopContext();
  5021. goto case 306;
  5022. }
  5023. case 306: {
  5024. if (la == null) { currentState = 306; break; }
  5025. if (la.kind == 63) {
  5026. currentState = 307;
  5027. break;
  5028. } else {
  5029. goto case 303;
  5030. }
  5031. }
  5032. case 307: {
  5033. PushContext(Context.Type, la, t);
  5034. stateStack.Push(308);
  5035. goto case 37;
  5036. }
  5037. case 308: {
  5038. PopContext();
  5039. goto case 303;
  5040. }
  5041. case 309: {
  5042. nextTokenIsPotentialStartOfExpression = true;
  5043. goto case 310;
  5044. }
  5045. case 310: {
  5046. if (la == null) { currentState = 310; break; }
  5047. if (set[23].Get(la.kind)) {
  5048. goto case 55;
  5049. } else {
  5050. currentState = stateStack.Pop();
  5051. goto switchlbl;
  5052. }
  5053. }
  5054. case 311: {
  5055. if (la == null) { currentState = 311; break; }
  5056. if (la.kind == 163) {
  5057. goto case 120;
  5058. } else {
  5059. goto case 312;
  5060. }
  5061. }
  5062. case 312: {
  5063. if (la == null) { currentState = 312; break; }
  5064. if (la.kind == 5) {
  5065. goto case 294;
  5066. } else {
  5067. if (set[6].Get(la.kind)) {
  5068. goto case 295;
  5069. } else {
  5070. goto case 6;
  5071. }
  5072. }
  5073. }
  5074. case 313: {
  5075. if (la == null) { currentState = 313; break; }
  5076. Expect(118, la); // "Error"
  5077. currentState = 314;
  5078. break;
  5079. }
  5080. case 314: {
  5081. nextTokenIsPotentialStartOfExpression = true;
  5082. goto case 315;
  5083. }
  5084. case 315: {
  5085. if (la == null) { currentState = 315; break; }
  5086. if (set[23].Get(la.kind)) {
  5087. goto case 55;
  5088. } else {
  5089. if (la.kind == 132) {
  5090. currentState = 312;
  5091. break;
  5092. } else {
  5093. if (la.kind == 194) {
  5094. currentState = 316;
  5095. break;
  5096. } else {
  5097. goto case 6;
  5098. }
  5099. }
  5100. }
  5101. }
  5102. case 316: {
  5103. if (la == null) { currentState = 316; break; }
  5104. Expect(163, la); // "Next"
  5105. currentState = stateStack.Pop();
  5106. break;
  5107. }
  5108. case 317: {
  5109. nextTokenIsPotentialStartOfExpression = true;
  5110. SetIdentifierExpected(la);
  5111. goto case 318;
  5112. }
  5113. case 318: {
  5114. if (la == null) { currentState = 318; break; }
  5115. if (set[35].Get(la.kind)) {
  5116. stateStack.Push(334);
  5117. goto case 328;
  5118. } else {
  5119. if (la.kind == 110) {
  5120. currentState = 319;
  5121. break;
  5122. } else {
  5123. goto case 6;
  5124. }
  5125. }
  5126. }
  5127. case 319: {
  5128. stateStack.Push(320);
  5129. goto case 328;
  5130. }
  5131. case 320: {
  5132. if (la == null) { currentState = 320; break; }
  5133. Expect(138, la); // "In"
  5134. currentState = 321;
  5135. break;
  5136. }
  5137. case 321: {
  5138. stateStack.Push(322);
  5139. goto case 55;
  5140. }
  5141. case 322: {
  5142. stateStack.Push(323);
  5143. goto case 259;
  5144. }
  5145. case 323: {
  5146. if (la == null) { currentState = 323; break; }
  5147. Expect(163, la); // "Next"
  5148. currentState = 324;
  5149. break;
  5150. }
  5151. case 324: {
  5152. nextTokenIsPotentialStartOfExpression = true;
  5153. goto case 325;
  5154. }
  5155. case 325: {
  5156. if (la == null) { currentState = 325; break; }
  5157. if (set[23].Get(la.kind)) {
  5158. goto case 326;
  5159. } else {
  5160. currentState = stateStack.Pop();
  5161. goto switchlbl;
  5162. }
  5163. }
  5164. case 326: {
  5165. stateStack.Push(327);
  5166. goto case 55;
  5167. }
  5168. case 327: {
  5169. if (la == null) { currentState = 327; break; }
  5170. if (la.kind == 22) {
  5171. currentState = 326;
  5172. break;
  5173. } else {
  5174. currentState = stateStack.Pop();
  5175. goto switchlbl;
  5176. }
  5177. }
  5178. case 328: {
  5179. PushContext(Context.Identifier, la, t);
  5180. SetIdentifierExpected(la);
  5181. stateStack.Push(329);
  5182. goto case 173;
  5183. }
  5184. case 329: {
  5185. PopContext();
  5186. goto case 330;
  5187. }
  5188. case 330: {
  5189. if (la == null) { currentState = 330; break; }
  5190. if (la.kind == 33) {
  5191. currentState = 331;
  5192. break;
  5193. } else {
  5194. goto case 331;
  5195. }
  5196. }
  5197. case 331: {
  5198. if (la == null) { currentState = 331; break; }
  5199. if (set[32].Get(la.kind)) {
  5200. stateStack.Push(331);
  5201. goto case 160;
  5202. } else {
  5203. if (la.kind == 63) {
  5204. currentState = 332;
  5205. break;
  5206. } else {
  5207. currentState = stateStack.Pop();
  5208. goto switchlbl;
  5209. }
  5210. }
  5211. }
  5212. case 332: {
  5213. PushContext(Context.Type, la, t);
  5214. stateStack.Push(333);
  5215. goto case 37;
  5216. }
  5217. case 333: {
  5218. PopContext();
  5219. currentState = stateStack.Pop();
  5220. goto switchlbl;
  5221. }
  5222. case 334: {
  5223. if (la == null) { currentState = 334; break; }
  5224. Expect(20, la); // "="
  5225. currentState = 335;
  5226. break;
  5227. }
  5228. case 335: {
  5229. stateStack.Push(336);
  5230. goto case 55;
  5231. }
  5232. case 336: {
  5233. if (la == null) { currentState = 336; break; }
  5234. if (la.kind == 205) {
  5235. currentState = 343;
  5236. break;
  5237. } else {
  5238. goto case 337;
  5239. }
  5240. }
  5241. case 337: {
  5242. stateStack.Push(338);
  5243. goto case 259;
  5244. }
  5245. case 338: {
  5246. if (la == null) { currentState = 338; break; }
  5247. Expect(163, la); // "Next"
  5248. currentState = 339;
  5249. break;
  5250. }
  5251. case 339: {
  5252. nextTokenIsPotentialStartOfExpression = true;
  5253. goto case 340;
  5254. }
  5255. case 340: {
  5256. if (la == null) { currentState = 340; break; }
  5257. if (set[23].Get(la.kind)) {
  5258. goto case 341;
  5259. } else {
  5260. currentState = stateStack.Pop();
  5261. goto switchlbl;
  5262. }
  5263. }
  5264. case 341: {
  5265. stateStack.Push(342);
  5266. goto case 55;
  5267. }
  5268. case 342: {
  5269. if (la == null) { currentState = 342; break; }
  5270. if (la.kind == 22) {
  5271. currentState = 341;
  5272. break;
  5273. } else {
  5274. currentState = stateStack.Pop();
  5275. goto switchlbl;
  5276. }
  5277. }
  5278. case 343: {
  5279. stateStack.Push(337);
  5280. goto case 55;
  5281. }
  5282. case 344: {
  5283. if (la == null) { currentState = 344; break; }
  5284. if (la.kind == 224 || la.kind == 231) {
  5285. currentState = 347;
  5286. break;
  5287. } else {
  5288. if (la.kind == 1 || la.kind == 21) {
  5289. stateStack.Push(345);
  5290. goto case 259;
  5291. } else {
  5292. goto case 6;
  5293. }
  5294. }
  5295. }
  5296. case 345: {
  5297. if (la == null) { currentState = 345; break; }
  5298. Expect(152, la); // "Loop"
  5299. currentState = 346;
  5300. break;
  5301. }
  5302. case 346: {
  5303. if (la == null) { currentState = 346; break; }
  5304. if (la.kind == 224 || la.kind == 231) {
  5305. currentState = 55;
  5306. break;
  5307. } else {
  5308. currentState = stateStack.Pop();
  5309. goto switchlbl;
  5310. }
  5311. }
  5312. case 347: {
  5313. stateStack.Push(348);
  5314. goto case 55;
  5315. }
  5316. case 348: {
  5317. stateStack.Push(349);
  5318. goto case 259;
  5319. }
  5320. case 349: {
  5321. if (la == null) { currentState = 349; break; }
  5322. Expect(152, la); // "Loop"
  5323. currentState = stateStack.Pop();
  5324. break;
  5325. }
  5326. case 350: {
  5327. stateStack.Push(351);
  5328. goto case 55;
  5329. }
  5330. case 351: {
  5331. stateStack.Push(352);
  5332. goto case 259;
  5333. }
  5334. case 352: {
  5335. if (la == null) { currentState = 352; break; }
  5336. Expect(113, la); // "End"
  5337. currentState = 353;
  5338. break;
  5339. }
  5340. case 353: {
  5341. if (la == null) { currentState = 353; break; }
  5342. Expect(231, la); // "While"
  5343. currentState = stateStack.Pop();
  5344. break;
  5345. }
  5346. case 354: {
  5347. nextTokenIsPotentialStartOfExpression = true;
  5348. goto case 355;
  5349. }
  5350. case 355: {
  5351. if (la == null) { currentState = 355; break; }
  5352. if (la.kind == 74) {
  5353. currentState = 356;
  5354. break;
  5355. } else {
  5356. goto case 356;
  5357. }
  5358. }
  5359. case 356: {
  5360. stateStack.Push(357);
  5361. goto case 55;
  5362. }
  5363. case 357: {
  5364. stateStack.Push(358);
  5365. goto case 23;
  5366. }
  5367. case 358: {
  5368. if (la == null) { currentState = 358; break; }
  5369. if (la.kind == 74) {
  5370. currentState = 360;
  5371. break;
  5372. } else {
  5373. Expect(113, la); // "End"
  5374. currentState = 359;
  5375. break;
  5376. }
  5377. }
  5378. case 359: {
  5379. if (la == null) { currentState = 359; break; }
  5380. Expect(197, la); // "Select"
  5381. currentState = stateStack.Pop();
  5382. break;
  5383. }
  5384. case 360: {
  5385. nextTokenIsPotentialStartOfExpression = true;
  5386. goto case 361;
  5387. }
  5388. case 361: {
  5389. if (la == null) { currentState = 361; break; }
  5390. if (la.kind == 111) {
  5391. currentState = 362;
  5392. break;
  5393. } else {
  5394. if (set[67].Get(la.kind)) {
  5395. goto case 363;
  5396. } else {
  5397. Error(la);
  5398. goto case 362;
  5399. }
  5400. }
  5401. }
  5402. case 362: {
  5403. stateStack.Push(358);
  5404. goto case 259;
  5405. }
  5406. case 363: {
  5407. nextTokenIsPotentialStartOfExpression = true;
  5408. goto case 364;
  5409. }
  5410. case 364: {
  5411. if (la == null) { currentState = 364; break; }
  5412. if (set[143].Get(la.kind)) {
  5413. if (la.kind == 144) {
  5414. currentState = 366;
  5415. break;
  5416. } else {
  5417. goto case 366;
  5418. }
  5419. } else {
  5420. if (set[23].Get(la.kind)) {
  5421. stateStack.Push(365);
  5422. goto case 55;
  5423. } else {
  5424. Error(la);
  5425. goto case 365;
  5426. }
  5427. }
  5428. }
  5429. case 365: {
  5430. if (la == null) { currentState = 365; break; }
  5431. if (la.kind == 22) {
  5432. currentState = 363;
  5433. break;
  5434. } else {
  5435. goto case 362;
  5436. }
  5437. }
  5438. case 366: {
  5439. stateStack.Push(367);
  5440. goto case 368;
  5441. }
  5442. case 367: {
  5443. stateStack.Push(365);
  5444. goto case 75;
  5445. }
  5446. case 368: {
  5447. if (la == null) { currentState = 368; break; }
  5448. if (la.kind == 20) {
  5449. goto case 73;
  5450. } else {
  5451. if (la.kind == 41) {
  5452. goto case 72;
  5453. } else {
  5454. if (la.kind == 40) {
  5455. goto case 71;
  5456. } else {
  5457. if (la.kind == 39) {
  5458. currentState = 369;
  5459. break;
  5460. } else {
  5461. if (la.kind == 42) {
  5462. goto case 68;
  5463. } else {
  5464. if (la.kind == 43) {
  5465. goto case 69;
  5466. } else {
  5467. goto case 6;
  5468. }
  5469. }
  5470. }
  5471. }
  5472. }
  5473. }
  5474. }
  5475. case 369: {
  5476. wasNormalAttribute = false;
  5477. currentState = stateStack.Pop();
  5478. goto switchlbl;
  5479. }
  5480. case 370: {
  5481. stateStack.Push(371);
  5482. goto case 55;
  5483. }
  5484. case 371: {
  5485. if (la == null) { currentState = 371; break; }
  5486. if (la.kind == 214) {
  5487. currentState = 379;
  5488. break;
  5489. } else {
  5490. goto case 372;
  5491. }
  5492. }
  5493. case 372: {
  5494. if (la == null) { currentState = 372; break; }
  5495. if (la.kind == 1 || la.kind == 21) {
  5496. goto case 373;
  5497. } else {
  5498. goto case 6;
  5499. }
  5500. }
  5501. case 373: {
  5502. stateStack.Push(374);
  5503. goto case 259;
  5504. }
  5505. case 374: {
  5506. if (la == null) { currentState = 374; break; }
  5507. if (la.kind == 111 || la.kind == 112) {
  5508. if (la.kind == 111) {
  5509. currentState = 378;
  5510. break;
  5511. } else {
  5512. if (la.kind == 112) {
  5513. currentState = 376;
  5514. break;
  5515. } else {
  5516. Error(la);
  5517. goto case 373;
  5518. }
  5519. }
  5520. } else {
  5521. Expect(113, la); // "End"
  5522. currentState = 375;
  5523. break;
  5524. }
  5525. }
  5526. case 375: {
  5527. if (la == null) { currentState = 375; break; }
  5528. Expect(135, la); // "If"
  5529. currentState = stateStack.Pop();
  5530. break;
  5531. }
  5532. case 376: {
  5533. stateStack.Push(377);
  5534. goto case 55;
  5535. }
  5536. case 377: {
  5537. if (la == null) { currentState = 377; break; }
  5538. if (la.kind == 214) {
  5539. currentState = 373;
  5540. break;
  5541. } else {
  5542. goto case 373;
  5543. }
  5544. }
  5545. case 378: {
  5546. if (la == null) { currentState = 378; break; }
  5547. if (la.kind == 135) {
  5548. currentState = 376;
  5549. break;
  5550. } else {
  5551. goto case 373;
  5552. }
  5553. }
  5554. case 379: {
  5555. nextTokenIsPotentialStartOfExpression = true;
  5556. goto case 380;
  5557. }
  5558. case 380: {
  5559. if (la == null) { currentState = 380; break; }
  5560. if (set[50].Get(la.kind)) {
  5561. goto case 381;
  5562. } else {
  5563. goto case 372;
  5564. }
  5565. }
  5566. case 381: {
  5567. stateStack.Push(382);
  5568. goto case 267;
  5569. }
  5570. case 382: {
  5571. if (la == null) { currentState = 382; break; }
  5572. if (la.kind == 21) {
  5573. currentState = 386;
  5574. break;
  5575. } else {
  5576. if (la.kind == 111) {
  5577. currentState = 383;
  5578. break;
  5579. } else {
  5580. currentState = stateStack.Pop();
  5581. goto switchlbl;
  5582. }
  5583. }
  5584. }
  5585. case 383: {
  5586. nextTokenIsPotentialStartOfExpression = true;
  5587. goto case 384;
  5588. }
  5589. case 384: {
  5590. if (la == null) { currentState = 384; break; }
  5591. if (set[50].Get(la.kind)) {
  5592. stateStack.Push(385);
  5593. goto case 267;
  5594. } else {
  5595. goto case 385;
  5596. }
  5597. }
  5598. case 385: {
  5599. if (la == null) { currentState = 385; break; }
  5600. if (la.kind == 21) {
  5601. currentState = 383;
  5602. break;
  5603. } else {
  5604. currentState = stateStack.Pop();
  5605. goto switchlbl;
  5606. }
  5607. }
  5608. case 386: {
  5609. nextTokenIsPotentialStartOfExpression = true;
  5610. goto case 387;
  5611. }
  5612. case 387: {
  5613. if (la == null) { currentState = 387; break; }
  5614. if (set[50].Get(la.kind)) {
  5615. goto case 381;
  5616. } else {
  5617. goto case 382;
  5618. }
  5619. }
  5620. case 388: {
  5621. stateStack.Push(389);
  5622. goto case 101;
  5623. }
  5624. case 389: {
  5625. if (la == null) { currentState = 389; break; }
  5626. if (la.kind == 37) {
  5627. currentState = 390;
  5628. break;
  5629. } else {
  5630. currentState = stateStack.Pop();
  5631. goto switchlbl;
  5632. }
  5633. }
  5634. case 390: {
  5635. PushContext(Context.Expression, la, t);
  5636. nextTokenIsPotentialStartOfExpression = true;
  5637. goto case 391;
  5638. }
  5639. case 391: {
  5640. if (la == null) { currentState = 391; break; }
  5641. if (set[21].Get(la.kind)) {
  5642. stateStack.Push(392);
  5643. goto case 47;
  5644. } else {
  5645. goto case 392;
  5646. }
  5647. }
  5648. case 392: {
  5649. PopContext();
  5650. goto case 46;
  5651. }
  5652. case 393: {
  5653. stateStack.Push(394);
  5654. goto case 55;
  5655. }
  5656. case 394: {
  5657. if (la == null) { currentState = 394; break; }
  5658. Expect(22, la); // ","
  5659. currentState = 55;
  5660. break;
  5661. }
  5662. case 395: {
  5663. stateStack.Push(396);
  5664. goto case 55;
  5665. }
  5666. case 396: {
  5667. stateStack.Push(397);
  5668. goto case 259;
  5669. }
  5670. case 397: {
  5671. if (la == null) { currentState = 397; break; }
  5672. Expect(113, la); // "End"
  5673. currentState = 398;
  5674. break;
  5675. }
  5676. case 398: {
  5677. if (la == null) { currentState = 398; break; }
  5678. if (la.kind == 233) {
  5679. goto case 102;
  5680. } else {
  5681. if (la.kind == 211) {
  5682. goto case 110;
  5683. } else {
  5684. goto case 6;
  5685. }
  5686. }
  5687. }
  5688. case 399: {
  5689. PushContext(Context.Identifier, la, t);
  5690. SetIdentifierExpected(la);
  5691. stateStack.Push(400);
  5692. goto case 205;
  5693. }
  5694. case 400: {
  5695. PopContext();
  5696. goto case 401;
  5697. }
  5698. case 401: {
  5699. if (la == null) { currentState = 401; break; }
  5700. if (la.kind == 33) {
  5701. currentState = 402;
  5702. break;
  5703. } else {
  5704. goto case 402;
  5705. }
  5706. }
  5707. case 402: {
  5708. if (la == null) { currentState = 402; break; }
  5709. if (la.kind == 37) {
  5710. currentState = 419;
  5711. break;
  5712. } else {
  5713. if (la.kind == 63) {
  5714. currentState = 416;
  5715. break;
  5716. } else {
  5717. goto case 403;
  5718. }
  5719. }
  5720. }
  5721. case 403: {
  5722. if (la == null) { currentState = 403; break; }
  5723. if (la.kind == 20) {
  5724. currentState = 415;
  5725. break;
  5726. } else {
  5727. goto case 404;
  5728. }
  5729. }
  5730. case 404: {
  5731. if (la == null) { currentState = 404; break; }
  5732. if (la.kind == 22) {
  5733. currentState = 405;
  5734. break;
  5735. } else {
  5736. currentState = stateStack.Pop();
  5737. goto switchlbl;
  5738. }
  5739. }
  5740. case 405: {
  5741. PushContext(Context.Identifier, la, t);
  5742. SetIdentifierExpected(la);
  5743. stateStack.Push(406);
  5744. goto case 205;
  5745. }
  5746. case 406: {
  5747. PopContext();
  5748. goto case 407;
  5749. }
  5750. case 407: {
  5751. if (la == null) { currentState = 407; break; }
  5752. if (la.kind == 33) {
  5753. currentState = 408;
  5754. break;
  5755. } else {
  5756. goto case 408;
  5757. }
  5758. }
  5759. case 408: {
  5760. if (la == null) { currentState = 408; break; }
  5761. if (la.kind == 37) {
  5762. currentState = 412;
  5763. break;
  5764. } else {
  5765. if (la.kind == 63) {
  5766. currentState = 409;
  5767. break;
  5768. } else {
  5769. goto case 403;
  5770. }
  5771. }
  5772. }
  5773. case 409: {
  5774. PushContext(Context.Type, la, t);
  5775. goto case 410;
  5776. }
  5777. case 410: {
  5778. if (la == null) { currentState = 410; break; }
  5779. if (la.kind == 162) {
  5780. stateStack.Push(411);
  5781. goto case 85;
  5782. } else {
  5783. if (set[16].Get(la.kind)) {
  5784. stateStack.Push(411);
  5785. goto case 37;
  5786. } else {
  5787. Error(la);
  5788. goto case 411;
  5789. }
  5790. }
  5791. }
  5792. case 411: {
  5793. PopContext();
  5794. goto case 403;
  5795. }
  5796. case 412: {
  5797. nextTokenIsPotentialStartOfExpression = true;
  5798. goto case 413;
  5799. }
  5800. case 413: {
  5801. if (la == null) { currentState = 413; break; }
  5802. if (set[23].Get(la.kind)) {
  5803. stateStack.Push(414);
  5804. goto case 55;
  5805. } else {
  5806. goto case 414;
  5807. }
  5808. }
  5809. case 414: {
  5810. if (la == null) { currentState = 414; break; }
  5811. if (la.kind == 22) {
  5812. currentState = 412;
  5813. break;
  5814. } else {
  5815. Expect(38, la); // ")"
  5816. currentState = 408;
  5817. break;
  5818. }
  5819. }
  5820. case 415: {
  5821. stateStack.Push(404);
  5822. goto case 55;
  5823. }
  5824. case 416: {
  5825. PushContext(Context.Type, la, t);
  5826. goto case 417;
  5827. }
  5828. case 417: {
  5829. if (la == null) { currentState = 417; break; }
  5830. if (la.kind == 162) {
  5831. stateStack.Push(418);
  5832. goto case 85;
  5833. } else {
  5834. if (set[16].Get(la.kind)) {
  5835. stateStack.Push(418);
  5836. goto case 37;
  5837. } else {
  5838. Error(la);
  5839. goto case 418;
  5840. }
  5841. }
  5842. }
  5843. case 418: {
  5844. PopContext();
  5845. goto case 403;
  5846. }
  5847. case 419: {
  5848. nextTokenIsPotentialStartOfExpression = true;
  5849. goto case 420;
  5850. }
  5851. case 420: {
  5852. if (la == null) { currentState = 420; break; }
  5853. if (set[23].Get(la.kind)) {
  5854. stateStack.Push(421);
  5855. goto case 55;
  5856. } else {
  5857. goto case 421;
  5858. }
  5859. }
  5860. case 421: {
  5861. if (la == null) { currentState = 421; break; }
  5862. if (la.kind == 22) {
  5863. currentState = 419;
  5864. break;
  5865. } else {
  5866. Expect(38, la); // ")"
  5867. currentState = 402;
  5868. break;
  5869. }
  5870. }
  5871. case 422: {
  5872. PushContext(Context.Type, la, t);
  5873. stateStack.Push(423);
  5874. goto case 37;
  5875. }
  5876. case 423: {
  5877. PopContext();
  5878. goto case 256;
  5879. }
  5880. case 424: {
  5881. if (la == null) { currentState = 424; break; }
  5882. Expect(37, la); // "("
  5883. currentState = 425;
  5884. break;
  5885. }
  5886. case 425: {
  5887. PushContext(Context.Default, la, t);
  5888. SetIdentifierExpected(la);
  5889. goto case 426;
  5890. }
  5891. case 426: {
  5892. if (la == null) { currentState = 426; break; }
  5893. if (set[77].Get(la.kind)) {
  5894. stateStack.Push(427);
  5895. goto case 428;
  5896. } else {
  5897. goto case 427;
  5898. }
  5899. }
  5900. case 427: {
  5901. PopContext();
  5902. goto case 46;
  5903. }
  5904. case 428: {
  5905. stateStack.Push(429);
  5906. PushContext(Context.Parameter, la, t);
  5907. goto case 430;
  5908. }
  5909. case 429: {
  5910. if (la == null) { currentState = 429; break; }
  5911. if (la.kind == 22) {
  5912. currentState = 428;
  5913. break;
  5914. } else {
  5915. currentState = stateStack.Pop();
  5916. goto switchlbl;
  5917. }
  5918. }
  5919. case 430: {
  5920. SetIdentifierExpected(la);
  5921. goto case 431;
  5922. }
  5923. case 431: {
  5924. if (la == null) { currentState = 431; break; }
  5925. if (la.kind == 40) {
  5926. stateStack.Push(430);
  5927. goto case 443;
  5928. } else {
  5929. goto case 432;
  5930. }
  5931. }
  5932. case 432: {
  5933. SetIdentifierExpected(la);
  5934. goto case 433;
  5935. }
  5936. case 433: {
  5937. if (la == null) { currentState = 433; break; }
  5938. if (set[144].Get(la.kind)) {
  5939. currentState = 432;
  5940. break;
  5941. } else {
  5942. PushContext(Context.Identifier, la, t);
  5943. SetIdentifierExpected(la);
  5944. stateStack.Push(434);
  5945. goto case 205;
  5946. }
  5947. }
  5948. case 434: {
  5949. PopContext();
  5950. goto case 435;
  5951. }
  5952. case 435: {
  5953. if (la == null) { currentState = 435; break; }
  5954. if (la.kind == 33) {
  5955. currentState = 436;
  5956. break;
  5957. } else {
  5958. goto case 436;
  5959. }
  5960. }
  5961. case 436: {
  5962. if (la == null) { currentState = 436; break; }
  5963. if (la.kind == 37) {
  5964. currentState = 442;
  5965. break;
  5966. } else {
  5967. if (la.kind == 63) {
  5968. currentState = 440;
  5969. break;
  5970. } else {
  5971. goto case 437;
  5972. }
  5973. }
  5974. }
  5975. case 437: {
  5976. if (la == null) { currentState = 437; break; }
  5977. if (la.kind == 20) {
  5978. currentState = 439;
  5979. break;
  5980. } else {
  5981. goto case 438;
  5982. }
  5983. }
  5984. case 438: {
  5985. PopContext();
  5986. currentState = stateStack.Pop();
  5987. goto switchlbl;
  5988. }
  5989. case 439: {
  5990. stateStack.Push(438);
  5991. goto case 55;
  5992. }
  5993. case 440: {
  5994. PushContext(Context.Type, la, t);
  5995. stateStack.Push(441);
  5996. goto case 37;
  5997. }
  5998. case 441: {
  5999. PopContext();
  6000. goto case 437;
  6001. }
  6002. case 442: {
  6003. if (la == null) { currentState = 442; break; }
  6004. if (la.kind == 22) {
  6005. currentState = 442;
  6006. break;
  6007. } else {
  6008. Expect(38, la); // ")"
  6009. currentState = 436;
  6010. break;
  6011. }
  6012. }
  6013. case 443: {
  6014. if (la == null) { currentState = 443; break; }
  6015. Expect(40, la); // "<"
  6016. currentState = 444;
  6017. break;
  6018. }
  6019. case 444: {
  6020. wasNormalAttribute = true; PushContext(Context.Attribute, la, t);
  6021. goto case 445;
  6022. }
  6023. case 445: {
  6024. if (la == null) { currentState = 445; break; }
  6025. if (la.kind == 65 || la.kind == 155) {
  6026. currentState = 449;
  6027. break;
  6028. } else {
  6029. goto case 446;
  6030. }
  6031. }
  6032. case 446: {
  6033. if (la == null) { currentState = 446; break; }
  6034. if (set[145].Get(la.kind)) {
  6035. currentState = 446;
  6036. break;
  6037. } else {
  6038. Expect(39, la); // ">"
  6039. currentState = 447;
  6040. break;
  6041. }
  6042. }
  6043. case 447: {
  6044. PopContext();
  6045. goto case 448;
  6046. }
  6047. case 448: {
  6048. if (la == null) { currentState = 448; break; }
  6049. if (la.kind == 1) {
  6050. goto case 25;
  6051. } else {
  6052. currentState = stateStack.Pop();
  6053. goto switchlbl;
  6054. }
  6055. }
  6056. case 449: {
  6057. if (la == null) { currentState = 449; break; }
  6058. Expect(21, la); // ":"
  6059. currentState = 450;
  6060. break;
  6061. }
  6062. case 450: {
  6063. wasNormalAttribute = false;
  6064. goto case 446;
  6065. }
  6066. case 451: {
  6067. stateStack.Push(452);
  6068. goto case 424;
  6069. }
  6070. case 452: {
  6071. nextTokenIsPotentialStartOfExpression = true;
  6072. goto case 453;
  6073. }
  6074. case 453: {
  6075. if (la == null) { currentState = 453; break; }
  6076. if (set[50].Get(la.kind)) {
  6077. goto case 267;
  6078. } else {
  6079. if (la.kind == 1 || la.kind == 21) {
  6080. stateStack.Push(454);
  6081. goto case 259;
  6082. } else {
  6083. goto case 6;
  6084. }
  6085. }
  6086. }
  6087. case 454: {
  6088. if (la == null) { currentState = 454; break; }
  6089. Expect(113, la); // "End"
  6090. currentState = 455;
  6091. break;
  6092. }
  6093. case 455: {
  6094. if (la == null) { currentState = 455; break; }
  6095. Expect(210, la); // "Sub"
  6096. currentState = stateStack.Pop();
  6097. break;
  6098. }
  6099. case 456: {
  6100. if (la == null) { currentState = 456; break; }
  6101. if (la.kind == 17 || la.kind == 18 || la.kind == 19) {
  6102. currentState = 469;
  6103. break;
  6104. } else {
  6105. if (la.kind == 10) {
  6106. stateStack.Push(458);
  6107. goto case 460;
  6108. } else {
  6109. Error(la);
  6110. goto case 457;
  6111. }
  6112. }
  6113. }
  6114. case 457: {
  6115. PopContext();
  6116. currentState = stateStack.Pop();
  6117. goto switchlbl;
  6118. }
  6119. case 458: {
  6120. if (la == null) { currentState = 458; break; }
  6121. if (la.kind == 17) {
  6122. currentState = 459;
  6123. break;
  6124. } else {
  6125. goto case 457;
  6126. }
  6127. }
  6128. case 459: {
  6129. if (la == null) { currentState = 459; break; }
  6130. if (la.kind == 16) {
  6131. currentState = 458;
  6132. break;
  6133. } else {
  6134. goto case 458;
  6135. }
  6136. }
  6137. case 460: {
  6138. PushContext(Context.Xml, la, t);
  6139. goto case 461;
  6140. }
  6141. case 461: {
  6142. if (la == null) { currentState = 461; break; }
  6143. Expect(10, la); // XmlOpenTag
  6144. currentState = 462;
  6145. break;
  6146. }
  6147. case 462: {
  6148. if (la == null) { currentState = 462; break; }
  6149. if (set[146].Get(la.kind)) {
  6150. if (set[147].Get(la.kind)) {
  6151. currentState = 462;
  6152. break;
  6153. } else {
  6154. if (la.kind == 12) {
  6155. stateStack.Push(462);
  6156. goto case 466;
  6157. } else {
  6158. Error(la);
  6159. goto case 462;
  6160. }
  6161. }
  6162. } else {
  6163. if (la.kind == 14) {
  6164. currentState = 463;
  6165. break;
  6166. } else {
  6167. if (la.kind == 11) {
  6168. currentState = 464;
  6169. break;
  6170. } else {
  6171. Error(la);
  6172. goto case 463;
  6173. }
  6174. }
  6175. }
  6176. }
  6177. case 463: {
  6178. PopContext();
  6179. currentState = stateStack.Pop();
  6180. goto switchlbl;
  6181. }
  6182. case 464: {
  6183. if (la == null) { currentState = 464; break; }
  6184. if (set[148].Get(la.kind)) {
  6185. if (set[149].Get(la.kind)) {
  6186. currentState = 464;
  6187. break;
  6188. } else {
  6189. if (la.kind == 12) {
  6190. stateStack.Push(464);
  6191. goto case 466;
  6192. } else {
  6193. if (la.kind == 10) {
  6194. stateStack.Push(464);
  6195. goto case 460;
  6196. } else {
  6197. Error(la);
  6198. goto case 464;
  6199. }
  6200. }
  6201. }
  6202. } else {
  6203. Expect(15, la); // XmlOpenEndTag
  6204. currentState = 465;
  6205. break;
  6206. }
  6207. }
  6208. case 465: {
  6209. if (la == null) { currentState = 465; break; }
  6210. if (set[150].Get(la.kind)) {
  6211. if (set[151].Get(la.kind)) {
  6212. currentState = 465;
  6213. break;
  6214. } else {
  6215. if (la.kind == 12) {
  6216. stateStack.Push(465);
  6217. goto case 466;
  6218. } else {
  6219. Error(la);
  6220. goto case 465;
  6221. }
  6222. }
  6223. } else {
  6224. Expect(11, la); // XmlCloseTag
  6225. currentState = 463;
  6226. break;
  6227. }
  6228. }
  6229. case 466: {
  6230. if (la == null) { currentState = 466; break; }
  6231. Expect(12, la); // XmlStartInlineVB
  6232. currentState = 467;
  6233. break;
  6234. }
  6235. case 467: {
  6236. stateStack.Push(468);
  6237. goto case 55;
  6238. }
  6239. case 468: {
  6240. if (la == null) { currentState = 468; break; }
  6241. Expect(13, la); // XmlEndInlineVB
  6242. currentState = stateStack.Pop();
  6243. break;
  6244. }
  6245. case 469: {
  6246. if (la == null) { currentState = 469; break; }
  6247. if (la.kind == 16) {
  6248. currentState = 470;
  6249. break;
  6250. } else {
  6251. goto case 470;
  6252. }
  6253. }
  6254. case 470: {
  6255. if (la == null) { currentState = 470; break; }
  6256. if (la.kind == 17 || la.kind == 19) {
  6257. currentState = 469;
  6258. break;
  6259. } else {
  6260. if (la.kind == 10) {
  6261. stateStack.Push(471);
  6262. goto case 460;
  6263. } else {
  6264. goto case 457;
  6265. }
  6266. }
  6267. }
  6268. case 471: {
  6269. if (la == null) { currentState = 471; break; }
  6270. if (la.kind == 17) {
  6271. currentState = 472;
  6272. break;
  6273. } else {
  6274. goto case 457;
  6275. }
  6276. }
  6277. case 472: {
  6278. if (la == null) { currentState = 472; break; }
  6279. if (la.kind == 16) {
  6280. currentState = 471;
  6281. break;
  6282. } else {
  6283. goto case 471;
  6284. }
  6285. }
  6286. case 473: {
  6287. if (la == null) { currentState = 473; break; }
  6288. Expect(37, la); // "("
  6289. currentState = 474;
  6290. break;
  6291. }
  6292. case 474: {
  6293. readXmlIdentifier = true;
  6294. stateStack.Push(475);
  6295. goto case 205;
  6296. }
  6297. case 475: {
  6298. if (la == null) { currentState = 475; break; }
  6299. Expect(38, la); // ")"
  6300. currentState = 175;
  6301. break;
  6302. }
  6303. case 476: {
  6304. if (la == null) { currentState = 476; break; }
  6305. Expect(37, la); // "("
  6306. currentState = 477;
  6307. break;
  6308. }
  6309. case 477: {
  6310. PushContext(Context.Type, la, t);
  6311. stateStack.Push(478);
  6312. goto case 37;
  6313. }
  6314. case 478: {
  6315. PopContext();
  6316. goto case 475;
  6317. }
  6318. case 479: {
  6319. nextTokenIsStartOfImportsOrAccessExpression = true; wasQualifierTokenAtStart = true;
  6320. goto case 480;
  6321. }
  6322. case 480: {
  6323. if (la == null) { currentState = 480; break; }
  6324. if (la.kind == 10) {
  6325. currentState = 481;
  6326. break;
  6327. } else {
  6328. goto case 481;
  6329. }
  6330. }
  6331. case 481: {
  6332. stateStack.Push(482);
  6333. goto case 101;
  6334. }
  6335. case 482: {
  6336. if (la == null) { currentState = 482; break; }
  6337. if (la.kind == 11) {
  6338. currentState = 175;
  6339. break;
  6340. } else {
  6341. goto case 175;
  6342. }
  6343. }
  6344. case 483: {
  6345. activeArgument = 0;
  6346. goto case 484;
  6347. }
  6348. case 484: {
  6349. stateStack.Push(485);
  6350. goto case 55;
  6351. }
  6352. case 485: {
  6353. if (la == null) { currentState = 485; break; }
  6354. if (la.kind == 22) {
  6355. currentState = 486;
  6356. break;
  6357. } else {
  6358. goto case 475;
  6359. }
  6360. }
  6361. case 486: {
  6362. activeArgument++;
  6363. goto case 484;
  6364. }
  6365. case 487: {
  6366. stateStack.Push(488);
  6367. goto case 55;
  6368. }
  6369. case 488: {
  6370. if (la == null) { currentState = 488; break; }
  6371. if (la.kind == 22) {
  6372. currentState = 489;
  6373. break;
  6374. } else {
  6375. currentState = stateStack.Pop();
  6376. goto switchlbl;
  6377. }
  6378. }
  6379. case 489: {
  6380. activeArgument++;
  6381. nextTokenIsPotentialStartOfExpression = true;
  6382. goto case 490;
  6383. }
  6384. case 490: {
  6385. if (la == null) { currentState = 490; break; }
  6386. if (set[23].Get(la.kind)) {
  6387. goto case 487;
  6388. } else {
  6389. goto case 488;
  6390. }
  6391. }
  6392. case 491: {
  6393. if (la == null) { currentState = 491; break; }
  6394. if (set[16].Get(la.kind)) {
  6395. PushContext(Context.Type, la, t);
  6396. stateStack.Push(495);
  6397. goto case 37;
  6398. } else {
  6399. goto case 492;
  6400. }
  6401. }
  6402. case 492: {
  6403. if (la == null) { currentState = 492; break; }
  6404. if (la.kind == 22) {
  6405. currentState = 493;
  6406. break;
  6407. } else {
  6408. goto case 45;
  6409. }
  6410. }
  6411. case 493: {
  6412. if (la == null) { currentState = 493; break; }
  6413. if (set[16].Get(la.kind)) {
  6414. PushContext(Context.Type, la, t);
  6415. stateStack.Push(494);
  6416. goto case 37;
  6417. } else {
  6418. goto case 492;
  6419. }
  6420. }
  6421. case 494: {
  6422. PopContext();
  6423. goto case 492;
  6424. }
  6425. case 495: {
  6426. PopContext();
  6427. goto case 492;
  6428. }
  6429. case 496: {
  6430. SetIdentifierExpected(la);
  6431. goto case 497;
  6432. }
  6433. case 497: {
  6434. if (la == null) { currentState = 497; break; }
  6435. if (set[152].Get(la.kind)) {
  6436. if (la.kind == 169) {
  6437. currentState = 499;
  6438. break;
  6439. } else {
  6440. if (set[77].Get(la.kind)) {
  6441. stateStack.Push(498);
  6442. goto case 428;
  6443. } else {
  6444. Error(la);
  6445. goto case 498;
  6446. }
  6447. }
  6448. } else {
  6449. goto case 498;
  6450. }
  6451. }
  6452. case 498: {
  6453. if (la == null) { currentState = 498; break; }
  6454. Expect(38, la); // ")"
  6455. currentState = 34;
  6456. break;
  6457. }
  6458. case 499: {
  6459. stateStack.Push(498);
  6460. goto case 500;
  6461. }
  6462. case 500: {
  6463. SetIdentifierExpected(la);
  6464. goto case 501;
  6465. }
  6466. case 501: {
  6467. if (la == null) { currentState = 501; break; }
  6468. if (la.kind == 138 || la.kind == 178) {
  6469. currentState = 502;
  6470. break;
  6471. } else {
  6472. goto case 502;
  6473. }
  6474. }
  6475. case 502: {
  6476. PushContext(Context.Identifier, la, t);
  6477. SetIdentifierExpected(la);
  6478. stateStack.Push(503);
  6479. goto case 517;
  6480. }
  6481. case 503: {
  6482. PopContext();
  6483. goto case 504;
  6484. }
  6485. case 504: {
  6486. if (la == null) { currentState = 504; break; }
  6487. if (la.kind == 63) {
  6488. currentState = 518;
  6489. break;
  6490. } else {
  6491. goto case 505;
  6492. }
  6493. }
  6494. case 505: {
  6495. if (la == null) { currentState = 505; break; }
  6496. if (la.kind == 22) {
  6497. currentState = 506;
  6498. break;
  6499. } else {
  6500. currentState = stateStack.Pop();
  6501. goto switchlbl;
  6502. }
  6503. }
  6504. case 506: {
  6505. SetIdentifierExpected(la);
  6506. goto case 507;
  6507. }
  6508. case 507: {
  6509. if (la == null) { currentState = 507; break; }
  6510. if (la.kind == 138 || la.kind == 178) {
  6511. currentState = 508;
  6512. break;
  6513. } else {
  6514. goto case 508;
  6515. }
  6516. }
  6517. case 508: {
  6518. PushContext(Context.Identifier, la, t);
  6519. SetIdentifierExpected(la);
  6520. stateStack.Push(509);
  6521. goto case 517;
  6522. }
  6523. case 509: {
  6524. PopContext();
  6525. goto case 510;
  6526. }
  6527. case 510: {
  6528. if (la == null) { currentState = 510; break; }
  6529. if (la.kind == 63) {
  6530. currentState = 511;
  6531. break;
  6532. } else {
  6533. goto case 505;
  6534. }
  6535. }
  6536. case 511: {
  6537. PushContext(Context.Type, la, t);
  6538. stateStack.Push(512);
  6539. goto case 513;
  6540. }
  6541. case 512: {
  6542. PopContext();
  6543. goto case 505;
  6544. }
  6545. case 513: {
  6546. if (la == null) { currentState = 513; break; }
  6547. if (set[94].Get(la.kind)) {
  6548. goto case 516;
  6549. } else {
  6550. if (la.kind == 35) {
  6551. currentState = 514;
  6552. break;
  6553. } else {
  6554. goto case 6;
  6555. }
  6556. }
  6557. }
  6558. case 514: {
  6559. stateStack.Push(515);
  6560. goto case 516;
  6561. }
  6562. case 515: {
  6563. if (la == null) { currentState = 515; break; }
  6564. if (la.kind == 22) {
  6565. currentState = 514;
  6566. break;
  6567. } else {
  6568. goto case 82;
  6569. }
  6570. }
  6571. case 516: {
  6572. if (la == null) { currentState = 516; break; }
  6573. if (set[16].Get(la.kind)) {
  6574. currentState = 38;
  6575. break;
  6576. } else {
  6577. if (la.kind == 162) {
  6578. goto case 121;
  6579. } else {
  6580. if (la.kind == 84) {
  6581. goto case 137;
  6582. } else {
  6583. if (la.kind == 209) {
  6584. goto case 112;
  6585. } else {
  6586. goto case 6;
  6587. }
  6588. }
  6589. }
  6590. }
  6591. }
  6592. case 517: {
  6593. if (la == null) { currentState = 517; break; }
  6594. if (la.kind == 2) {
  6595. goto case 145;
  6596. } else {
  6597. if (la.kind == 62) {
  6598. goto case 143;
  6599. } else {
  6600. if (la.kind == 64) {
  6601. goto case 142;
  6602. } else {
  6603. if (la.kind == 65) {
  6604. goto case 141;
  6605. } else {
  6606. if (la.kind == 66) {
  6607. goto case 140;
  6608. } else {
  6609. if (la.kind == 67) {
  6610. goto case 139;
  6611. } else {
  6612. if (la.kind == 70) {
  6613. goto case 138;
  6614. } else {
  6615. if (la.kind == 87) {
  6616. goto case 136;
  6617. } else {
  6618. if (la.kind == 104) {
  6619. goto case 134;
  6620. } else {
  6621. if (la.kind == 107) {
  6622. goto case 133;
  6623. } else {
  6624. if (la.kind == 116) {
  6625. goto case 131;
  6626. } else {
  6627. if (la.kind == 121) {
  6628. goto case 130;
  6629. } else {
  6630. if (la.kind == 133) {
  6631. goto case 126;
  6632. } else {
  6633. if (la.kind == 139) {
  6634. goto case 125;
  6635. } else {
  6636. if (la.kind == 143) {
  6637. goto case 124;
  6638. } else {
  6639. if (la.kind == 146) {
  6640. goto case 123;
  6641. } else {
  6642. if (la.kind == 147) {
  6643. goto case 122;
  6644. } else {
  6645. if (la.kind == 170) {
  6646. goto case 119;
  6647. } else {
  6648. if (la.kind == 176) {
  6649. goto case 118;
  6650. } else {
  6651. if (la.kind == 184) {
  6652. goto case 117;
  6653. } else {
  6654. if (la.kind == 203) {
  6655. goto case 114;
  6656. } else {
  6657. if (la.kind == 212) {
  6658. goto case 109;
  6659. } else {
  6660. if (la.kind == 213) {
  6661. goto case 108;
  6662. } else {
  6663. if (la.kind == 223) {
  6664. goto case 106;
  6665. } else {
  6666. if (la.kind == 224) {
  6667. goto case 105;
  6668. } else {
  6669. if (la.kind == 230) {
  6670. goto case 104;
  6671. } else {
  6672. goto case 6;
  6673. }
  6674. }
  6675. }
  6676. }
  6677. }
  6678. }
  6679. }
  6680. }
  6681. }
  6682. }
  6683. }
  6684. }
  6685. }
  6686. }
  6687. }
  6688. }
  6689. }
  6690. }
  6691. }
  6692. }
  6693. }
  6694. }
  6695. }
  6696. }
  6697. }
  6698. }
  6699. }
  6700. case 518: {
  6701. PushContext(Context.Type, la, t);
  6702. stateStack.Push(519);
  6703. goto case 513;
  6704. }
  6705. case 519: {
  6706. PopContext();
  6707. goto case 505;
  6708. }
  6709. case 520: {
  6710. PushContext(Context.Identifier, la, t);
  6711. SetIdentifierExpected(la);
  6712. stateStack.Push(521);
  6713. goto case 205;
  6714. }
  6715. case 521: {
  6716. PopContext();
  6717. goto case 522;
  6718. }
  6719. case 522: {
  6720. if (la == null) { currentState = 522; break; }
  6721. if (la.kind == 37) {
  6722. stateStack.Push(523);
  6723. goto case 424;
  6724. } else {
  6725. goto case 523;
  6726. }
  6727. }
  6728. case 523: {
  6729. if (la == null) { currentState = 523; break; }
  6730. if (la.kind == 63) {
  6731. currentState = 524;
  6732. break;
  6733. } else {
  6734. goto case 23;
  6735. }
  6736. }
  6737. case 524: {
  6738. PushContext(Context.Type, la, t);
  6739. goto case 525;
  6740. }
  6741. case 525: {
  6742. if (la == null) { currentState = 525; break; }
  6743. if (la.kind == 40) {
  6744. stateStack.Push(525);
  6745. goto case 443;
  6746. } else {
  6747. stateStack.Push(526);
  6748. goto case 37;
  6749. }
  6750. }
  6751. case 526: {
  6752. PopContext();
  6753. goto case 23;
  6754. }
  6755. case 527: {
  6756. PushContext(Context.Identifier, la, t);
  6757. SetIdentifierExpected(la);
  6758. stateStack.Push(528);
  6759. goto case 205;
  6760. }
  6761. case 528: {
  6762. PopContext();
  6763. goto case 529;
  6764. }
  6765. case 529: {
  6766. if (la == null) { currentState = 529; break; }
  6767. if (la.kind == 37 || la.kind == 63) {
  6768. if (la.kind == 63) {
  6769. currentState = 531;
  6770. break;
  6771. } else {
  6772. if (la.kind == 37) {
  6773. stateStack.Push(23);
  6774. goto case 424;
  6775. } else {
  6776. goto case 530;
  6777. }
  6778. }
  6779. } else {
  6780. goto case 23;
  6781. }
  6782. }
  6783. case 530: {
  6784. Error(la);
  6785. goto case 23;
  6786. }
  6787. case 531: {
  6788. PushContext(Context.Type, la, t);
  6789. stateStack.Push(532);
  6790. goto case 37;
  6791. }
  6792. case 532: {
  6793. PopContext();
  6794. goto case 23;
  6795. }
  6796. case 533: {
  6797. PushContext(Context.TypeDeclaration, la, t);
  6798. goto case 534;
  6799. }
  6800. case 534: {
  6801. if (la == null) { currentState = 534; break; }
  6802. Expect(115, la); // "Enum"
  6803. currentState = 535;
  6804. break;
  6805. }
  6806. case 535: {
  6807. PushContext(Context.Identifier, la, t);
  6808. SetIdentifierExpected(la);
  6809. stateStack.Push(536);
  6810. goto case 205;
  6811. }
  6812. case 536: {
  6813. PopContext();
  6814. goto case 537;
  6815. }
  6816. case 537: {
  6817. if (la == null) { currentState = 537; break; }
  6818. if (la.kind == 63) {
  6819. currentState = 549;
  6820. break;
  6821. } else {
  6822. goto case 538;
  6823. }
  6824. }
  6825. case 538: {
  6826. stateStack.Push(539);
  6827. goto case 23;
  6828. }
  6829. case 539: {
  6830. SetIdentifierExpected(la);
  6831. goto case 540;
  6832. }
  6833. case 540: {
  6834. if (la == null) { currentState = 540; break; }
  6835. if (set[97].Get(la.kind)) {
  6836. goto case 544;
  6837. } else {
  6838. Expect(113, la); // "End"
  6839. currentState = 541;
  6840. break;
  6841. }
  6842. }
  6843. case 541: {
  6844. if (la == null) { currentState = 541; break; }
  6845. Expect(115, la); // "Enum"
  6846. currentState = 542;
  6847. break;
  6848. }
  6849. case 542: {
  6850. stateStack.Push(543);
  6851. goto case 23;
  6852. }
  6853. case 543: {
  6854. PopContext();
  6855. currentState = stateStack.Pop();
  6856. goto switchlbl;
  6857. }
  6858. case 544: {
  6859. SetIdentifierExpected(la);
  6860. goto case 545;
  6861. }
  6862. case 545: {
  6863. if (la == null) { currentState = 545; break; }
  6864. if (la.kind == 40) {
  6865. stateStack.Push(544);
  6866. goto case 443;
  6867. } else {
  6868. PushContext(Context.Identifier, la, t);
  6869. SetIdentifierExpected(la);
  6870. stateStack.Push(546);
  6871. goto case 205;
  6872. }
  6873. }
  6874. case 546: {
  6875. PopContext();
  6876. goto case 547;
  6877. }
  6878. case 547: {
  6879. if (la == null) { currentState = 547; break; }
  6880. if (la.kind == 20) {
  6881. currentState = 548;
  6882. break;
  6883. } else {
  6884. goto case 538;
  6885. }
  6886. }
  6887. case 548: {
  6888. stateStack.Push(538);
  6889. goto case 55;
  6890. }
  6891. case 549: {
  6892. PushContext(Context.Type, la, t);
  6893. stateStack.Push(550);
  6894. goto case 37;
  6895. }
  6896. case 550: {
  6897. PopContext();
  6898. goto case 538;
  6899. }
  6900. case 551: {
  6901. if (la == null) { currentState = 551; break; }
  6902. Expect(103, la); // "Delegate"
  6903. currentState = 552;
  6904. break;
  6905. }
  6906. case 552: {
  6907. if (la == null) { currentState = 552; break; }
  6908. if (la.kind == 210) {
  6909. currentState = 553;
  6910. break;
  6911. } else {
  6912. if (la.kind == 127) {
  6913. currentState = 553;
  6914. break;
  6915. } else {
  6916. Error(la);
  6917. goto case 553;
  6918. }
  6919. }
  6920. }
  6921. case 553: {
  6922. PushContext(Context.Identifier, la, t);
  6923. SetIdentifierExpected(la);
  6924. goto case 554;
  6925. }
  6926. case 554: {
  6927. if (la == null) { currentState = 554; break; }
  6928. currentState = 555;
  6929. break;
  6930. }
  6931. case 555: {
  6932. PopContext();
  6933. goto case 556;
  6934. }
  6935. case 556: {
  6936. if (la == null) { currentState = 556; break; }
  6937. if (la.kind == 37) {
  6938. currentState = 559;
  6939. break;
  6940. } else {
  6941. if (la.kind == 63) {
  6942. currentState = 557;
  6943. break;
  6944. } else {
  6945. goto case 23;
  6946. }
  6947. }
  6948. }
  6949. case 557: {
  6950. PushContext(Context.Type, la, t);
  6951. stateStack.Push(558);
  6952. goto case 37;
  6953. }
  6954. case 558: {
  6955. PopContext();
  6956. goto case 23;
  6957. }
  6958. case 559: {
  6959. SetIdentifierExpected(la);
  6960. goto case 560;
  6961. }
  6962. case 560: {
  6963. if (la == null) { currentState = 560; break; }
  6964. if (set[152].Get(la.kind)) {
  6965. if (la.kind == 169) {
  6966. currentState = 562;
  6967. break;
  6968. } else {
  6969. if (set[77].Get(la.kind)) {
  6970. stateStack.Push(561);
  6971. goto case 428;
  6972. } else {
  6973. Error(la);
  6974. goto case 561;
  6975. }
  6976. }
  6977. } else {
  6978. goto case 561;
  6979. }
  6980. }
  6981. case 561: {
  6982. if (la == null) { currentState = 561; break; }
  6983. Expect(38, la); // ")"
  6984. currentState = 556;
  6985. break;
  6986. }
  6987. case 562: {
  6988. stateStack.Push(561);
  6989. goto case 500;
  6990. }
  6991. case 563: {
  6992. PushContext(Context.TypeDeclaration, la, t);
  6993. goto case 564;
  6994. }
  6995. case 564: {
  6996. if (la == null) { currentState = 564; break; }
  6997. if (la.kind == 155) {
  6998. currentState = 565;
  6999. break;
  7000. } else {
  7001. if (la.kind == 84) {
  7002. currentState = 565;
  7003. break;
  7004. } else {
  7005. if (la.kind == 209) {
  7006. currentState = 565;
  7007. break;
  7008. } else {
  7009. Error(la);
  7010. goto case 565;
  7011. }
  7012. }
  7013. }
  7014. }
  7015. case 565: {
  7016. PushContext(Context.Identifier, la, t);
  7017. SetIdentifierExpected(la);
  7018. stateStack.Push(566);
  7019. goto case 205;
  7020. }
  7021. case 566: {
  7022. PopContext();
  7023. goto case 567;
  7024. }
  7025. case 567: {
  7026. if (la == null) { currentState = 567; break; }
  7027. if (la.kind == 37) {
  7028. currentState = 717;
  7029. break;
  7030. } else {
  7031. goto case 568;
  7032. }
  7033. }
  7034. case 568: {
  7035. stateStack.Push(569);
  7036. goto case 23;
  7037. }
  7038. case 569: {
  7039. SetIdentifierExpected(la);
  7040. isMissingModifier = true;
  7041. goto case 570;
  7042. }
  7043. case 570: {
  7044. if (la == null) { currentState = 570; break; }
  7045. if (la.kind == 140) {
  7046. isMissingModifier = false;
  7047. goto case 714;
  7048. } else {
  7049. goto case 571;
  7050. }
  7051. }
  7052. case 571: {
  7053. SetIdentifierExpected(la);
  7054. isMissingModifier = true;
  7055. goto case 572;
  7056. }
  7057. case 572: {
  7058. if (la == null) { currentState = 572; break; }
  7059. if (la.kind == 136) {
  7060. isMissingModifier = false;
  7061. goto case 708;
  7062. } else {
  7063. goto case 573;
  7064. }
  7065. }
  7066. case 573: {
  7067. SetIdentifierExpected(la);
  7068. isMissingModifier = true;
  7069. goto case 574;
  7070. }
  7071. case 574: {
  7072. if (la == null) { currentState = 574; break; }
  7073. if (set[101].Get(la.kind)) {
  7074. goto case 579;
  7075. } else {
  7076. isMissingModifier = false;
  7077. goto case 575;
  7078. }
  7079. }
  7080. case 575: {
  7081. if (la == null) { currentState = 575; break; }
  7082. Expect(113, la); // "End"
  7083. currentState = 576;
  7084. break;
  7085. }
  7086. case 576: {
  7087. if (la == null) { currentState = 576; break; }
  7088. if (la.kind == 155) {
  7089. currentState = 577;
  7090. break;
  7091. } else {
  7092. if (la.kind == 84) {
  7093. currentState = 577;
  7094. break;
  7095. } else {
  7096. if (la.kind == 209) {
  7097. currentState = 577;
  7098. break;
  7099. } else {
  7100. Error(la);
  7101. goto case 577;
  7102. }
  7103. }
  7104. }
  7105. }
  7106. case 577: {
  7107. stateStack.Push(578);
  7108. goto case 23;
  7109. }
  7110. case 578: {
  7111. PopContext();
  7112. currentState = stateStack.Pop();
  7113. goto switchlbl;
  7114. }
  7115. case 579: {
  7116. SetIdentifierExpected(la);
  7117. isMissingModifier = true;
  7118. goto case 580;
  7119. }
  7120. case 580: {
  7121. if (la == null) { currentState = 580; break; }
  7122. if (la.kind == 40) {
  7123. stateStack.Push(579);
  7124. goto case 443;
  7125. } else {
  7126. isMissingModifier = true;
  7127. goto case 581;
  7128. }
  7129. }
  7130. case 581: {
  7131. SetIdentifierExpected(la);
  7132. goto case 582;
  7133. }
  7134. case 582: {
  7135. if (la == null) { currentState = 582; break; }
  7136. if (set[133].Get(la.kind)) {
  7137. currentState = 707;
  7138. break;
  7139. } else {
  7140. isMissingModifier = false;
  7141. SetIdentifierExpected(la);
  7142. goto case 583;
  7143. }
  7144. }
  7145. case 583: {
  7146. if (la == null) { currentState = 583; break; }
  7147. if (la.kind == 84 || la.kind == 155 || la.kind == 209) {
  7148. stateStack.Push(573);
  7149. goto case 563;
  7150. } else {
  7151. if (la.kind == 103) {
  7152. stateStack.Push(573);
  7153. goto case 551;
  7154. } else {
  7155. if (la.kind == 115) {
  7156. stateStack.Push(573);
  7157. goto case 533;
  7158. } else {
  7159. if (la.kind == 142) {
  7160. stateStack.Push(573);
  7161. goto case 9;
  7162. } else {
  7163. if (set[104].Get(la.kind)) {
  7164. stateStack.Push(573);
  7165. PushContext(Context.Member, la, t);
  7166. SetIdentifierExpected(la);
  7167. goto case 584;
  7168. } else {
  7169. Error(la);
  7170. goto case 573;
  7171. }
  7172. }
  7173. }
  7174. }
  7175. }
  7176. }
  7177. case 584: {
  7178. if (la == null) { currentState = 584; break; }
  7179. if (set[122].Get(la.kind)) {
  7180. stateStack.Push(585);
  7181. goto case 692;
  7182. } else {
  7183. if (la.kind == 127 || la.kind == 210) {
  7184. stateStack.Push(585);
  7185. goto case 674;
  7186. } else {
  7187. if (la.kind == 101) {
  7188. stateStack.Push(585);
  7189. goto case 661;
  7190. } else {
  7191. if (la.kind == 119) {
  7192. stateStack.Push(585);
  7193. goto case 649;
  7194. } else {
  7195. if (la.kind == 98) {
  7196. stateStack.Push(585);
  7197. goto case 637;
  7198. } else {
  7199. if (la.kind == 186) {
  7200. stateStack.Push(585);
  7201. goto case 600;
  7202. } else {
  7203. if (la.kind == 172) {
  7204. stateStack.Push(585);
  7205. goto case 586;
  7206. } else {
  7207. Error(la);
  7208. goto case 585;
  7209. }
  7210. }
  7211. }
  7212. }
  7213. }
  7214. }
  7215. }
  7216. }
  7217. case 585: {
  7218. PopContext();
  7219. currentState = stateStack.Pop();
  7220. goto switchlbl;
  7221. }
  7222. case 586: {
  7223. if (la == null) { currentState = 586; break; }
  7224. Expect(172, la); // "Operator"
  7225. currentState = 587;
  7226. break;
  7227. }
  7228. case 587: {
  7229. PushContext(Context.Identifier, la, t);
  7230. SetIdentifierExpected(la);
  7231. goto case 588;
  7232. }
  7233. case 588: {
  7234. if (la == null) { currentState = 588; break; }
  7235. currentState = 589;
  7236. break;
  7237. }
  7238. case 589: {
  7239. PopContext();
  7240. goto case 590;
  7241. }
  7242. case 590: {
  7243. if (la == null) { currentState = 590; break; }
  7244. Expect(37, la); // "("
  7245. currentState = 591;
  7246. break;
  7247. }
  7248. case 591: {
  7249. stateStack.Push(592);
  7250. goto case 428;
  7251. }
  7252. case 592: {
  7253. if (la == null) { currentState = 592; break; }
  7254. Expect(38, la); // ")"
  7255. currentState = 593;
  7256. break;
  7257. }
  7258. case 593: {
  7259. if (la == null) { currentState = 593; break; }
  7260. if (la.kind == 63) {
  7261. currentState = 597;
  7262. break;
  7263. } else {
  7264. goto case 594;
  7265. }
  7266. }
  7267. case 594: {
  7268. stateStack.Push(595);
  7269. goto case 259;
  7270. }
  7271. case 595: {
  7272. if (la == null) { currentState = 595; break; }
  7273. Expect(113, la); // "End"
  7274. currentState = 596;
  7275. break;
  7276. }
  7277. case 596: {
  7278. if (la == null) { currentState = 596; break; }
  7279. Expect(172, la); // "Operator"
  7280. currentState = 23;
  7281. break;
  7282. }
  7283. case 597: {
  7284. PushContext(Context.Type, la, t);
  7285. goto case 598;
  7286. }
  7287. case 598: {
  7288. if (la == null) { currentState = 598; break; }
  7289. if (la.kind == 40) {
  7290. stateStack.Push(598);
  7291. goto case 443;
  7292. } else {
  7293. stateStack.Push(599);
  7294. goto case 37;
  7295. }
  7296. }
  7297. case 599: {
  7298. PopContext();
  7299. goto case 594;
  7300. }
  7301. case 600: {
  7302. if (la == null) { currentState = 600; break; }
  7303. Expect(186, la); // "Property"
  7304. currentState = 601;
  7305. break;
  7306. }
  7307. case 601: {
  7308. PushContext(Context.Identifier, la, t);
  7309. SetIdentifierExpected(la);
  7310. stateStack.Push(602);
  7311. goto case 205;
  7312. }
  7313. case 602: {
  7314. PopContext();
  7315. goto case 603;
  7316. }
  7317. case 603: {
  7318. if (la == null) { currentState = 603; break; }
  7319. if (la.kind == 37) {
  7320. stateStack.Push(604);
  7321. goto case 424;
  7322. } else {
  7323. goto case 604;
  7324. }
  7325. }
  7326. case 604: {
  7327. if (la == null) { currentState = 604; break; }
  7328. if (la.kind == 63) {
  7329. currentState = 634;
  7330. break;
  7331. } else {
  7332. goto case 605;
  7333. }
  7334. }
  7335. case 605: {
  7336. if (la == null) { currentState = 605; break; }
  7337. if (la.kind == 136) {
  7338. currentState = 629;
  7339. break;
  7340. } else {
  7341. goto case 606;
  7342. }
  7343. }
  7344. case 606: {
  7345. if (la == null) { currentState = 606; break; }
  7346. if (la.kind == 20) {
  7347. currentState = 628;
  7348. break;
  7349. } else {
  7350. goto case 607;
  7351. }
  7352. }
  7353. case 607: {
  7354. stateStack.Push(608);
  7355. goto case 23;
  7356. }
  7357. case 608: {
  7358. PopContext();
  7359. goto case 609;
  7360. }
  7361. case 609: {
  7362. if (la == null) { currentState = 609; break; }
  7363. if (la.kind == 40) {
  7364. stateStack.Push(609);
  7365. goto case 443;
  7366. } else {
  7367. goto case 610;
  7368. }
  7369. }
  7370. case 610: {
  7371. if (la == null) { currentState = 610; break; }
  7372. if (set[153].Get(la.kind)) {
  7373. currentState = 627;
  7374. break;
  7375. } else {
  7376. if (la.kind == 128 || la.kind == 198) {
  7377. PushContext(Context.Member, la, t);
  7378. goto case 611;
  7379. } else {
  7380. currentState = stateStack.Pop();
  7381. goto switchlbl;
  7382. }
  7383. }
  7384. }
  7385. case 611: {
  7386. if (la == null) { currentState = 611; break; }
  7387. if (la.kind == 128) {
  7388. currentState = 612;
  7389. break;
  7390. } else {
  7391. if (la.kind == 198) {
  7392. currentState = 612;
  7393. break;
  7394. } else {
  7395. Error(la);
  7396. goto case 612;
  7397. }
  7398. }
  7399. }
  7400. case 612: {
  7401. if (la == null) { currentState = 612; break; }
  7402. if (la.kind == 37) {
  7403. stateStack.Push(613);
  7404. goto case 424;
  7405. } else {
  7406. goto case 613;
  7407. }
  7408. }
  7409. case 613: {
  7410. stateStack.Push(614);
  7411. goto case 259;
  7412. }
  7413. case 614: {
  7414. if (la == null) { currentState = 614; break; }
  7415. Expect(113, la); // "End"
  7416. currentState = 615;
  7417. break;
  7418. }
  7419. case 615: {
  7420. if (la == null) { currentState = 615; break; }
  7421. if (la.kind == 128) {
  7422. currentState = 616;
  7423. break;
  7424. } else {
  7425. if (la.kind == 198) {
  7426. currentState = 616;
  7427. break;
  7428. } else {
  7429. Error(la);
  7430. goto case 616;
  7431. }
  7432. }
  7433. }
  7434. case 616: {
  7435. stateStack.Push(617);
  7436. goto case 23;
  7437. }
  7438. case 617: {
  7439. if (la == null) { currentState = 617; break; }
  7440. if (set[110].Get(la.kind)) {
  7441. goto case 620;
  7442. } else {
  7443. goto case 618;
  7444. }
  7445. }
  7446. case 618: {
  7447. if (la == null) { currentState = 618; break; }
  7448. Expect(113, la); // "End"
  7449. currentState = 619;
  7450. break;
  7451. }
  7452. case 619: {
  7453. if (la == null) { currentState = 619; break; }
  7454. Expect(186, la); // "Property"
  7455. currentState = 23;
  7456. break;
  7457. }
  7458. case 620: {
  7459. if (la == null) { currentState = 620; break; }
  7460. if (la.kind == 40) {
  7461. stateStack.Push(620);
  7462. goto case 443;
  7463. } else {
  7464. goto case 621;
  7465. }
  7466. }
  7467. case 621: {
  7468. if (la == null) { currentState = 621; break; }
  7469. if (set[153].Get(la.kind)) {
  7470. currentState = 621;
  7471. break;
  7472. } else {
  7473. if (la.kind == 128) {
  7474. currentState = 622;
  7475. break;
  7476. } else {
  7477. if (la.kind == 198) {
  7478. currentState = 622;
  7479. break;
  7480. } else {
  7481. Error(la);
  7482. goto case 622;
  7483. }
  7484. }
  7485. }
  7486. }
  7487. case 622: {
  7488. if (la == null) { currentState = 622; break; }
  7489. if (la.kind == 37) {
  7490. stateStack.Push(623);
  7491. goto case 424;
  7492. } else {
  7493. goto case 623;
  7494. }
  7495. }
  7496. case 623: {
  7497. stateStack.Push(624);
  7498. goto case 259;
  7499. }
  7500. case 624: {
  7501. if (la == null) { currentState = 624; break; }
  7502. Expect(113, la); // "End"
  7503. currentState = 625;
  7504. break;
  7505. }
  7506. case 625: {
  7507. if (la == null) { currentState = 625; break; }
  7508. if (la.kind == 128) {
  7509. currentState = 626;
  7510. break;
  7511. } else {
  7512. if (la.kind == 198) {
  7513. currentState = 626;
  7514. break;
  7515. } else {
  7516. Error(la);
  7517. goto case 626;
  7518. }
  7519. }
  7520. }
  7521. case 626: {
  7522. stateStack.Push(618);
  7523. goto case 23;
  7524. }
  7525. case 627: {
  7526. SetIdentifierExpected(la);
  7527. goto case 610;
  7528. }
  7529. case 628: {
  7530. stateStack.Push(607);
  7531. goto case 55;
  7532. }
  7533. case 629: {
  7534. PushContext(Context.Type, la, t);
  7535. stateStack.Push(630);
  7536. goto case 37;
  7537. }
  7538. case 630: {
  7539. PopContext();
  7540. goto case 631;
  7541. }
  7542. case 631: {
  7543. if (la == null) { currentState = 631; break; }
  7544. if (la.kind == 22) {
  7545. currentState = 632;
  7546. break;
  7547. } else {
  7548. goto case 606;
  7549. }
  7550. }
  7551. case 632: {
  7552. PushContext(Context.Type, la, t);
  7553. stateStack.Push(633);
  7554. goto case 37;
  7555. }
  7556. case 633: {
  7557. PopContext();
  7558. goto case 631;
  7559. }
  7560. case 634: {
  7561. PushContext(Context.Type, la, t);
  7562. goto case 635;
  7563. }
  7564. case 635: {
  7565. if (la == null) { currentState = 635; break; }
  7566. if (la.kind == 40) {
  7567. stateStack.Push(635);
  7568. goto case 443;
  7569. } else {
  7570. if (la.kind == 162) {
  7571. stateStack.Push(636);
  7572. goto case 85;
  7573. } else {
  7574. if (set[16].Get(la.kind)) {
  7575. stateStack.Push(636);
  7576. goto case 37;
  7577. } else {
  7578. Error(la);
  7579. goto case 636;
  7580. }
  7581. }
  7582. }
  7583. }
  7584. case 636: {
  7585. PopContext();
  7586. goto case 605;
  7587. }
  7588. case 637: {
  7589. if (la == null) { currentState = 637; break; }
  7590. Expect(98, la); // "Custom"
  7591. currentState = 638;
  7592. break;
  7593. }
  7594. case 638: {
  7595. stateStack.Push(639);
  7596. goto case 649;
  7597. }
  7598. case 639: {
  7599. if (la == null) { currentState = 639; break; }
  7600. if (set[115].Get(la.kind)) {
  7601. goto case 641;
  7602. } else {
  7603. Expect(113, la); // "End"
  7604. currentState = 640;
  7605. break;
  7606. }
  7607. }
  7608. case 640: {
  7609. if (la == null) { currentState = 640; break; }
  7610. Expect(119, la); // "Event"
  7611. currentState = 23;
  7612. break;
  7613. }
  7614. case 641: {
  7615. if (la == null) { currentState = 641; break; }
  7616. if (la.kind == 40) {
  7617. stateStack.Push(641);
  7618. goto case 443;
  7619. } else {
  7620. if (la.kind == 56) {
  7621. currentState = 642;
  7622. break;
  7623. } else {
  7624. if (la.kind == 193) {
  7625. currentState = 642;
  7626. break;
  7627. } else {
  7628. if (la.kind == 189) {
  7629. currentState = 642;
  7630. break;
  7631. } else {
  7632. Error(la);
  7633. goto case 642;
  7634. }
  7635. }
  7636. }
  7637. }
  7638. }
  7639. case 642: {
  7640. if (la == null) { currentState = 642; break; }
  7641. Expect(37, la); // "("
  7642. currentState = 643;
  7643. break;
  7644. }
  7645. case 643: {
  7646. stateStack.Push(644);
  7647. goto case 428;
  7648. }
  7649. case 644: {
  7650. if (la == null) { currentState = 644; break; }
  7651. Expect(38, la); // ")"
  7652. currentState = 645;
  7653. break;
  7654. }
  7655. case 645: {
  7656. stateStack.Push(646);
  7657. goto case 259;
  7658. }
  7659. case 646: {
  7660. if (la == null) { currentState = 646; break; }
  7661. Expect(113, la); // "End"
  7662. currentState = 647;
  7663. break;
  7664. }
  7665. case 647: {
  7666. if (la == null) { currentState = 647; break; }
  7667. if (la.kind == 56) {
  7668. currentState = 648;
  7669. break;
  7670. } else {
  7671. if (la.kind == 193) {
  7672. currentState = 648;
  7673. break;
  7674. } else {
  7675. if (la.kind == 189) {
  7676. currentState = 648;
  7677. break;
  7678. } else {
  7679. Error(la);
  7680. goto case 648;
  7681. }
  7682. }
  7683. }
  7684. }
  7685. case 648: {
  7686. stateStack.Push(639);
  7687. goto case 23;
  7688. }
  7689. case 649: {
  7690. if (la == null) { currentState = 649; break; }
  7691. Expect(119, la); // "Event"
  7692. currentState = 650;
  7693. break;
  7694. }
  7695. case 650: {
  7696. PushContext(Context.Identifier, la, t);
  7697. SetIdentifierExpected(la);
  7698. stateStack.Push(651);
  7699. goto case 205;
  7700. }
  7701. case 651: {
  7702. PopContext();
  7703. goto case 652;
  7704. }
  7705. case 652: {
  7706. if (la == null) { currentState = 652; break; }
  7707. if (la.kind == 63) {
  7708. currentState = 659;
  7709. break;
  7710. } else {
  7711. if (set[154].Get(la.kind)) {
  7712. if (la.kind == 37) {
  7713. stateStack.Push(653);
  7714. goto case 424;
  7715. } else {
  7716. goto case 653;
  7717. }
  7718. } else {
  7719. Error(la);
  7720. goto case 653;
  7721. }
  7722. }
  7723. }
  7724. case 653: {
  7725. if (la == null) { currentState = 653; break; }
  7726. if (la.kind == 136) {
  7727. currentState = 654;
  7728. break;
  7729. } else {
  7730. goto case 23;
  7731. }
  7732. }
  7733. case 654: {
  7734. PushContext(Context.Type, la, t);
  7735. stateStack.Push(655);
  7736. goto case 37;
  7737. }
  7738. case 655: {
  7739. PopContext();
  7740. goto case 656;
  7741. }
  7742. case 656: {
  7743. if (la == null) { currentState = 656; break; }
  7744. if (la.kind == 22) {
  7745. currentState = 657;
  7746. break;
  7747. } else {
  7748. goto case 23;
  7749. }
  7750. }
  7751. case 657: {
  7752. PushContext(Context.Type, la, t);
  7753. stateStack.Push(658);
  7754. goto case 37;
  7755. }
  7756. case 658: {
  7757. PopContext();
  7758. goto case 656;
  7759. }
  7760. case 659: {
  7761. PushContext(Context.Type, la, t);
  7762. stateStack.Push(660);
  7763. goto case 37;
  7764. }
  7765. case 660: {
  7766. PopContext();
  7767. goto case 653;
  7768. }
  7769. case 661: {
  7770. if (la == null) { currentState = 661; break; }
  7771. Expect(101, la); // "Declare"
  7772. currentState = 662;
  7773. break;
  7774. }
  7775. case 662: {
  7776. if (la == null) { currentState = 662; break; }
  7777. if (la.kind == 62 || la.kind == 66 || la.kind == 223) {
  7778. currentState = 663;
  7779. break;
  7780. } else {
  7781. goto case 663;
  7782. }
  7783. }
  7784. case 663: {
  7785. if (la == null) { currentState = 663; break; }
  7786. if (la.kind == 210) {
  7787. currentState = 664;
  7788. break;
  7789. } else {
  7790. if (la.kind == 127) {
  7791. currentState = 664;
  7792. break;
  7793. } else {
  7794. Error(la);
  7795. goto case 664;
  7796. }
  7797. }
  7798. }
  7799. case 664: {
  7800. PushContext(Context.Identifier, la, t);
  7801. SetIdentifierExpected(la);
  7802. stateStack.Push(665);
  7803. goto case 205;
  7804. }
  7805. case 665: {
  7806. PopContext();
  7807. goto case 666;
  7808. }
  7809. case 666: {
  7810. if (la == null) { currentState = 666; break; }
  7811. Expect(149, la); // "Lib"
  7812. currentState = 667;
  7813. break;
  7814. }
  7815. case 667: {
  7816. if (la == null) { currentState = 667; break; }
  7817. Expect(3, la); // LiteralString
  7818. currentState = 668;
  7819. break;
  7820. }
  7821. case 668: {
  7822. if (la == null) { currentState = 668; break; }
  7823. if (la.kind == 59) {
  7824. currentState = 673;
  7825. break;
  7826. } else {
  7827. goto case 669;
  7828. }
  7829. }
  7830. case 669: {
  7831. if (la == null) { currentState = 669; break; }
  7832. if (la.kind == 37) {
  7833. stateStack.Push(670);
  7834. goto case 424;
  7835. } else {
  7836. goto case 670;
  7837. }
  7838. }
  7839. case 670: {
  7840. if (la == null) { currentState = 670; break; }
  7841. if (la.kind == 63) {
  7842. currentState = 671;
  7843. break;
  7844. } else {
  7845. goto case 23;
  7846. }
  7847. }
  7848. case 671: {
  7849. PushContext(Context.Type, la, t);
  7850. stateStack.Push(672);
  7851. goto case 37;
  7852. }
  7853. case 672: {
  7854. PopContext();
  7855. goto case 23;
  7856. }
  7857. case 673: {
  7858. if (la == null) { currentState = 673; break; }
  7859. Expect(3, la); // LiteralString
  7860. currentState = 669;
  7861. break;
  7862. }
  7863. case 674: {
  7864. if (la == null) { currentState = 674; break; }
  7865. if (la.kind == 210) {
  7866. currentState = 675;
  7867. break;
  7868. } else {
  7869. if (la.kind == 127) {
  7870. currentState = 675;
  7871. break;
  7872. } else {
  7873. Error(la);
  7874. goto case 675;
  7875. }
  7876. }
  7877. }
  7878. case 675: {
  7879. PushContext(Context.Identifier, la, t);
  7880. SetIdentifierExpected(la);
  7881. goto case 676;
  7882. }
  7883. case 676: {
  7884. if (la == null) { currentState = 676; break; }
  7885. currentState = 677;
  7886. break;
  7887. }
  7888. case 677: {
  7889. PopContext();
  7890. goto case 678;
  7891. }
  7892. case 678: {
  7893. if (la == null) { currentState = 678; break; }
  7894. if (la.kind == 37) {
  7895. currentState = 688;
  7896. break;
  7897. } else {
  7898. if (la.kind == 63) {
  7899. currentState = 686;
  7900. break;
  7901. } else {
  7902. goto case 679;
  7903. }
  7904. }
  7905. }
  7906. case 679: {
  7907. if (la == null) { currentState = 679; break; }
  7908. if (la.kind == 134 || la.kind == 136) {
  7909. currentState = 683;
  7910. break;
  7911. } else {
  7912. goto case 680;
  7913. }
  7914. }
  7915. case 680: {
  7916. stateStack.Push(681);
  7917. goto case 259;
  7918. }
  7919. case 681: {
  7920. if (la == null) { currentState = 681; break; }
  7921. Expect(113, la); // "End"
  7922. currentState = 682;
  7923. break;
  7924. }
  7925. case 682: {
  7926. if (la == null) { currentState = 682; break; }
  7927. if (la.kind == 210) {
  7928. currentState = 23;
  7929. break;
  7930. } else {
  7931. if (la.kind == 127) {
  7932. currentState = 23;
  7933. break;
  7934. } else {
  7935. goto case 530;
  7936. }
  7937. }
  7938. }
  7939. case 683: {
  7940. if (la == null) { currentState = 683; break; }
  7941. if (la.kind == 153 || la.kind == 158 || la.kind == 159) {
  7942. currentState = 685;
  7943. break;
  7944. } else {
  7945. goto case 684;
  7946. }
  7947. }
  7948. case 684: {
  7949. stateStack.Push(680);
  7950. goto case 37;
  7951. }
  7952. case 685: {
  7953. if (la == null) { currentState = 685; break; }
  7954. Expect(26, la); // "."
  7955. currentState = 684;
  7956. break;
  7957. }
  7958. case 686: {
  7959. PushContext(Context.Type, la, t);
  7960. stateStack.Push(687);
  7961. goto case 37;
  7962. }
  7963. case 687: {
  7964. PopContext();
  7965. goto case 679;
  7966. }
  7967. case 688: {
  7968. SetIdentifierExpected(la);
  7969. goto case 689;
  7970. }
  7971. case 689: {
  7972. if (la == null) { currentState = 689; break; }
  7973. if (set[152].Get(la.kind)) {
  7974. if (la.kind == 169) {
  7975. currentState = 691;
  7976. break;
  7977. } else {
  7978. if (set[77].Get(la.kind)) {
  7979. stateStack.Push(690);
  7980. goto case 428;
  7981. } else {
  7982. Error(la);
  7983. goto case 690;
  7984. }
  7985. }
  7986. } else {
  7987. goto case 690;
  7988. }
  7989. }
  7990. case 690: {
  7991. if (la == null) { currentState = 690; break; }
  7992. Expect(38, la); // ")"
  7993. currentState = 678;
  7994. break;
  7995. }
  7996. case 691: {
  7997. stateStack.Push(690);
  7998. goto case 500;
  7999. }
  8000. case 692: {
  8001. stateStack.Push(693);
  8002. SetIdentifierExpected(la);
  8003. goto case 694;
  8004. }
  8005. case 693: {
  8006. if (la == null) { currentState = 693; break; }
  8007. if (la.kind == 22) {
  8008. currentState = 692;
  8009. break;
  8010. } else {
  8011. goto case 23;
  8012. }
  8013. }
  8014. case 694: {
  8015. if (la == null) { currentState = 694; break; }
  8016. if (la.kind == 88) {
  8017. currentState = 695;
  8018. break;
  8019. } else {
  8020. goto case 695;
  8021. }
  8022. }
  8023. case 695: {
  8024. PushContext(Context.Identifier, la, t);
  8025. SetIdentifierExpected(la);
  8026. stateStack.Push(696);
  8027. goto case 706;
  8028. }
  8029. case 696: {
  8030. PopContext();
  8031. goto case 697;
  8032. }
  8033. case 697: {
  8034. if (la == null) { currentState = 697; break; }
  8035. if (la.kind == 33) {
  8036. currentState = 698;
  8037. break;
  8038. } else {
  8039. goto case 698;
  8040. }
  8041. }
  8042. case 698: {
  8043. if (la == null) { currentState = 698; break; }
  8044. if (la.kind == 37) {
  8045. currentState = 703;
  8046. break;
  8047. } else {
  8048. if (la.kind == 63) {
  8049. currentState = 700;
  8050. break;
  8051. } else {
  8052. goto case 699;
  8053. }
  8054. }
  8055. }
  8056. case 699: {
  8057. if (la == null) { currentState = 699; break; }
  8058. if (la.kind == 20) {
  8059. currentState = 55;
  8060. break;
  8061. } else {
  8062. currentState = stateStack.Pop();
  8063. goto switchlbl;
  8064. }
  8065. }
  8066. case 700: {
  8067. PushContext(Context.Type, la, t);
  8068. goto case 701;
  8069. }
  8070. case 701: {
  8071. if (la == null) { currentState = 701; break; }
  8072. if (la.kind == 162) {
  8073. stateStack.Push(702);
  8074. goto case 85;
  8075. } else {
  8076. if (set[16].Get(la.kind)) {
  8077. stateStack.Push(702);
  8078. goto case 37;
  8079. } else {
  8080. Error(la);
  8081. goto case 702;
  8082. }
  8083. }
  8084. }
  8085. case 702: {
  8086. PopContext();
  8087. goto case 699;
  8088. }
  8089. case 703: {
  8090. nextTokenIsPotentialStartOfExpression = true;
  8091. goto case 704;
  8092. }
  8093. case 704: {
  8094. if (la == null) { currentState = 704; break; }
  8095. if (set[23].Get(la.kind)) {
  8096. stateStack.Push(705);
  8097. goto case 55;
  8098. } else {
  8099. goto case 705;
  8100. }
  8101. }
  8102. case 705: {
  8103. if (la == null) { currentState = 705; break; }
  8104. if (la.kind == 22) {
  8105. currentState = 703;
  8106. break;
  8107. } else {
  8108. Expect(38, la); // ")"
  8109. currentState = 698;
  8110. break;
  8111. }
  8112. }
  8113. case 706: {
  8114. if (la == null) { currentState = 706; break; }
  8115. if (set[138].Get(la.kind)) {
  8116. currentState = stateStack.Pop();
  8117. break;
  8118. } else {
  8119. if (la.kind == 58) {
  8120. goto case 144;
  8121. } else {
  8122. if (la.kind == 126) {
  8123. goto case 128;
  8124. } else {
  8125. goto case 6;
  8126. }
  8127. }
  8128. }
  8129. }
  8130. case 707: {
  8131. isMissingModifier = false;
  8132. goto case 581;
  8133. }
  8134. case 708: {
  8135. if (la == null) { currentState = 708; break; }
  8136. Expect(136, la); // "Implements"
  8137. currentState = 709;
  8138. break;
  8139. }
  8140. case 709: {
  8141. PushContext(Context.Type, la, t);
  8142. stateStack.Push(710);
  8143. goto case 37;
  8144. }
  8145. case 710: {
  8146. PopContext();
  8147. goto case 711;
  8148. }
  8149. case 711: {
  8150. if (la == null) { currentState = 711; break; }
  8151. if (la.kind == 22) {
  8152. currentState = 712;
  8153. break;
  8154. } else {
  8155. stateStack.Push(573);
  8156. goto case 23;
  8157. }
  8158. }
  8159. case 712: {
  8160. PushContext(Context.Type, la, t);
  8161. stateStack.Push(713);
  8162. goto case 37;
  8163. }
  8164. case 713: {
  8165. PopContext();
  8166. goto case 711;
  8167. }
  8168. case 714: {
  8169. if (la == null) { currentState = 714; break; }
  8170. Expect(140, la); // "Inherits"
  8171. currentState = 715;
  8172. break;
  8173. }
  8174. case 715: {
  8175. PushContext(Context.Type, la, t);
  8176. stateStack.Push(716);
  8177. goto case 37;
  8178. }
  8179. case 716: {
  8180. PopContext();
  8181. stateStack.Push(571);
  8182. goto case 23;
  8183. }
  8184. case 717: {
  8185. if (la == null) { currentState = 717; break; }
  8186. Expect(169, la); // "Of"
  8187. currentState = 718;
  8188. break;
  8189. }
  8190. case 718: {
  8191. stateStack.Push(719);
  8192. goto case 500;
  8193. }
  8194. case 719: {
  8195. if (la == null) { currentState = 719; break; }
  8196. Expect(38, la); // ")"
  8197. currentState = 568;
  8198. break;
  8199. }
  8200. case 720: {
  8201. isMissingModifier = false;
  8202. goto case 28;
  8203. }
  8204. case 721: {
  8205. PushContext(Context.Type, la, t);
  8206. stateStack.Push(722);
  8207. goto case 37;
  8208. }
  8209. case 722: {
  8210. PopContext();
  8211. goto case 723;
  8212. }
  8213. case 723: {
  8214. if (la == null) { currentState = 723; break; }
  8215. if (la.kind == 22) {
  8216. currentState = 724;
  8217. break;
  8218. } else {
  8219. stateStack.Push(17);
  8220. goto case 23;
  8221. }
  8222. }
  8223. case 724: {
  8224. PushContext(Context.Type, la, t);
  8225. stateStack.Push(725);
  8226. goto case 37;
  8227. }
  8228. case 725: {
  8229. PopContext();
  8230. goto case 723;
  8231. }
  8232. case 726: {
  8233. if (la == null) { currentState = 726; break; }
  8234. Expect(169, la); // "Of"
  8235. currentState = 727;
  8236. break;
  8237. }
  8238. case 727: {
  8239. stateStack.Push(728);
  8240. goto case 500;
  8241. }
  8242. case 728: {
  8243. if (la == null) { currentState = 728; break; }
  8244. Expect(38, la); // ")"
  8245. currentState = 14;
  8246. break;
  8247. }
  8248. case 729: {
  8249. PushContext(Context.Identifier, la, t);
  8250. SetIdentifierExpected(la);
  8251. goto case 730;
  8252. }
  8253. case 730: {
  8254. if (la == null) { currentState = 730; break; }
  8255. if (set[49].Get(la.kind)) {
  8256. currentState = 730;
  8257. break;
  8258. } else {
  8259. PopContext();
  8260. stateStack.Push(731);
  8261. goto case 23;
  8262. }
  8263. }
  8264. case 731: {
  8265. if (la == null) { currentState = 731; break; }
  8266. if (set[3].Get(la.kind)) {
  8267. stateStack.Push(731);
  8268. goto case 5;
  8269. } else {
  8270. Expect(113, la); // "End"
  8271. currentState = 732;
  8272. break;
  8273. }
  8274. }
  8275. case 732: {
  8276. if (la == null) { currentState = 732; break; }
  8277. Expect(160, la); // "Namespace"
  8278. currentState = 23;
  8279. break;
  8280. }
  8281. case 733: {
  8282. if (la == null) { currentState = 733; break; }
  8283. Expect(137, la); // "Imports"
  8284. currentState = 734;
  8285. break;
  8286. }
  8287. case 734: {
  8288. PushContext(Context.Importable, la, t);
  8289. nextTokenIsStartOfImportsOrAccessExpression = true;
  8290. goto case 735;
  8291. }
  8292. case 735: {
  8293. if (la == null) { currentState = 735; break; }
  8294. if (set[155].Get(la.kind)) {
  8295. currentState = 747;
  8296. break;
  8297. } else {
  8298. goto case 736;
  8299. }
  8300. }
  8301. case 736: {
  8302. if (la == null) { currentState = 736; break; }
  8303. if (la.kind == 10) {
  8304. currentState = 743;
  8305. break;
  8306. } else {
  8307. Error(la);
  8308. goto case 737;
  8309. }
  8310. }
  8311. case 737: {
  8312. if (la == null) { currentState = 737; break; }
  8313. if (la.kind == 22) {
  8314. currentState = 738;
  8315. break;
  8316. } else {
  8317. PopContext();
  8318. goto case 23;
  8319. }
  8320. }
  8321. case 738: {
  8322. nextTokenIsStartOfImportsOrAccessExpression = true;
  8323. goto case 739;
  8324. }
  8325. case 739: {
  8326. if (la == null) { currentState = 739; break; }
  8327. if (set[155].Get(la.kind)) {
  8328. currentState = 740;
  8329. break;
  8330. } else {
  8331. goto case 736;
  8332. }
  8333. }
  8334. case 740: {
  8335. if (la == null) { currentState = 740; break; }
  8336. if (la.kind == 37) {
  8337. stateStack.Push(740);
  8338. goto case 42;
  8339. } else {
  8340. goto case 741;
  8341. }
  8342. }
  8343. case 741: {
  8344. if (la == null) { currentState = 741; break; }
  8345. if (la.kind == 20 || la.kind == 26) {
  8346. currentState = 742;
  8347. break;
  8348. } else {
  8349. goto case 737;
  8350. }
  8351. }
  8352. case 742: {
  8353. stateStack.Push(737);
  8354. goto case 37;
  8355. }
  8356. case 743: {
  8357. stateStack.Push(744);
  8358. goto case 205;
  8359. }
  8360. case 744: {
  8361. if (la == null) { currentState = 744; break; }
  8362. Expect(20, la); // "="
  8363. currentState = 745;
  8364. break;
  8365. }
  8366. case 745: {
  8367. if (la == null) { currentState = 745; break; }
  8368. Expect(3, la); // LiteralString
  8369. currentState = 746;
  8370. break;
  8371. }
  8372. case 746: {
  8373. if (la == null) { currentState = 746; break; }
  8374. Expect(11, la); // XmlCloseTag
  8375. currentState = 737;
  8376. break;
  8377. }
  8378. case 747: {
  8379. if (la == null) { currentState = 747; break; }
  8380. if (la.kind == 37) {
  8381. stateStack.Push(747);
  8382. goto case 42;
  8383. } else {
  8384. goto case 741;
  8385. }
  8386. }
  8387. case 748: {
  8388. if (la == null) { currentState = 748; break; }
  8389. Expect(173, la); // "Option"
  8390. currentState = 749;
  8391. break;
  8392. }
  8393. case 749: {
  8394. if (la == null) { currentState = 749; break; }
  8395. if (la.kind == 121 || la.kind == 139 || la.kind == 207) {
  8396. currentState = 751;
  8397. break;
  8398. } else {
  8399. if (la.kind == 87) {
  8400. currentState = 750;
  8401. break;
  8402. } else {
  8403. goto case 530;
  8404. }
  8405. }
  8406. }
  8407. case 750: {
  8408. if (la == null) { currentState = 750; break; }
  8409. if (la.kind == 213) {
  8410. currentState = 23;
  8411. break;
  8412. } else {
  8413. if (la.kind == 67) {
  8414. currentState = 23;
  8415. break;
  8416. } else {
  8417. goto case 530;
  8418. }
  8419. }
  8420. }
  8421. case 751: {
  8422. if (la == null) { currentState = 751; break; }
  8423. if (la.kind == 170 || la.kind == 171) {
  8424. currentState = 23;
  8425. break;
  8426. } else {
  8427. goto case 23;
  8428. }
  8429. }
  8430. }
  8431. if (la != null) {
  8432. t = la;
  8433. nextTokenIsPotentialStartOfExpression = false;
  8434. readXmlIdentifier = false;
  8435. nextTokenIsStartOfImportsOrAccessExpression = false;
  8436. wasQualifierTokenAtStart = false;
  8437. identifierExpected = false;
  8438. }
  8439. }
  8440. public void Advance()
  8441. {
  8442. //Console.WriteLine("Advance");
  8443. InformToken(null);
  8444. }
  8445. public BitArray GetExpectedSet() { return GetExpectedSet(currentState); }
  8446. static readonly BitArray[] set = {
  8447. new BitArray(new int[] {1, 256, 1048576, 537395328, 402670080, 444604481, 131200, 0}),
  8448. new BitArray(new int[] {1, 256, 1048576, 537395328, 402670080, 444596289, 131200, 0}),
  8449. new BitArray(new int[] {1, 256, 1048576, 537395328, 402669568, 444596289, 131200, 0}),
  8450. new BitArray(new int[] {0, 256, 1048576, 537395328, 402669568, 444596289, 131200, 0}),
  8451. new BitArray(new int[] {0, 256, 1048576, 537395328, 402669568, 444596288, 131200, 0}),
  8452. new BitArray(new int[] {0, 0, 1048576, 537395328, 402669568, 444596288, 131200, 0}),
  8453. new BitArray(new int[] {4, 1140850688, 8388687, 1108347140, 821280, 17105920, -2144335872, 65}),
  8454. new BitArray(new int[] {0, 256, 1048576, -1601568064, 671109120, 1589117122, 393600, 3328}),
  8455. new BitArray(new int[] {0, 256, 1048576, -1601568064, 671105024, 1589117122, 393600, 3328}),
  8456. new BitArray(new int[] {5, 1140850944, 26214479, -493220892, 940361760, 1606227139, -2143942272, 3393}),
  8457. new BitArray(new int[] {0, 256, 1048576, -1601699136, 671105024, 1589117122, 393600, 3328}),
  8458. new BitArray(new int[] {0, 0, 1048576, -1601699136, 671105024, 1589117122, 393600, 3328}),
  8459. new BitArray(new int[] {0, 0, 1048576, -2138570624, 134234112, 67108864, 393216, 0}),
  8460. new BitArray(new int[] {0, 0, 0, -2139095040, 0, 67108864, 262144, 0}),
  8461. new BitArray(new int[] {-2, -1, -1, -1, -1, -1, -1, -1}),
  8462. new BitArray(new int[] {2097154, -2147483616, 0, 0, 0, 0, 0, 0}),
  8463. new BitArray(new int[] {4, 1140850690, 8650975, 1108355356, 9218084, 17106176, -533656048, 67}),
  8464. new BitArray(new int[] {-940564478, 889192445, 65, 1074825472, 72844640, 231424, 22030368, 4704}),
  8465. new BitArray(new int[] {-940564478, 889192413, 65, 1074825472, 72844640, 231424, 22030368, 4704}),
  8466. new BitArray(new int[] {4, -16777216, -1, -1, -1, -1, -1, 16383}),
  8467. new BitArray(new int[] {-61995012, 1174405224, -51384097, -972018405, -1030969182, 17106740, -97186288, 8259}),
  8468. new BitArray(new int[] {-61995012, 1174405160, -51384097, -972018405, -1030969182, 17106228, -97186288, 8259}),
  8469. new BitArray(new int[] {-61995012, 1174405224, -51384097, -972018405, -1030969182, 17106228, -97186288, 8259}),
  8470. new BitArray(new int[] {-66189316, 1174405160, -51384097, -972018405, -1030969182, 17106228, -97186288, 8259}),
  8471. new BitArray(new int[] {-1007673342, 889192405, 65, 1074825472, 72843296, 231424, 22030368, 4160}),
  8472. new BitArray(new int[] {-1013972992, 822083461, 0, 0, 71499776, 163840, 16777216, 4096}),
  8473. new BitArray(new int[] {-66189316, 1174405176, -51384097, -972018405, -1030969182, 17106228, -97186288, 8259}),
  8474. new BitArray(new int[] {4, 1140850690, 8650975, 1108355356, 9218084, 17106176, -533656048, 579}),
  8475. new BitArray(new int[] {-1007673342, 889192405, 65, 1074825472, 72843552, 231424, 22030368, 4160}),
  8476. new BitArray(new int[] {-1007673342, 889192413, 65, 1074825472, 72843552, 231424, 22030368, 4672}),
  8477. new BitArray(new int[] {-2, -9, -1, -1, -1, -1, -1, -1}),
  8478. new BitArray(new int[] {-1040382, 889192437, 65, 1074825472, 72843296, 231424, 22030368, 4160}),
  8479. new BitArray(new int[] {1006632960, 32, 0, 0, 0, 0, 0, 0}),
  8480. new BitArray(new int[] {1028, -16777216, -1, -1, -1, -1, -1, 16383}),
  8481. new BitArray(new int[] {-1038334, -1258291211, 65, 1074825472, 72844320, 231424, 22030368, 4160}),
  8482. new BitArray(new int[] {1007552508, 1140850720, -51384097, -972018405, -1030969182, 17106208, -365621744, 8259}),
  8483. new BitArray(new int[] {-1040382, -1258291209, 65, 1074825472, 72844320, 231424, 22030368, 4160}),
  8484. new BitArray(new int[] {0, 0, -60035072, 1027, 0, 0, 134217728, 0}),
  8485. new BitArray(new int[] {0, 67108864, 0, 1073743872, 1310752, 65536, 1050656, 64}),
  8486. new BitArray(new int[] {4194304, 67108864, 0, 1073743872, 1343520, 65536, 1050656, 64}),
  8487. new BitArray(new int[] {-66189316, 1174405160, -51384097, -972018401, -1030969182, 17106228, -97186288, 8259}),
  8488. new BitArray(new int[] {4194304, 67108864, 64, 1073743872, 1343520, 65536, 1050656, 64}),
  8489. new BitArray(new int[] {66189314, -1174405161, 51384096, 972018404, 1030969181, -17106229, 97186287, -8260}),
  8490. new BitArray(new int[] {65140738, 973078487, 51384096, 972018404, 1030969181, -17106229, 97186287, -8260}),
  8491. new BitArray(new int[] {-66189316, 1174405160, -51384097, -972018405, -1030969182, 17106228, -97186288, 8387}),
  8492. new BitArray(new int[] {0, 67108864, 0, 1073743872, 1343520, 65536, 1050656, 64}),
  8493. new BitArray(new int[] {-64092162, -973078488, -51384097, -972018405, -1030969182, 17106228, -97186288, 8259}),
  8494. new BitArray(new int[] {-64092162, 1191182376, -1048865, -546062565, -1014191950, -1593504452, -21144002, 8903}),
  8495. new BitArray(new int[] {0, 0, 3072, 134447104, 16777216, 8, 0, 0}),
  8496. new BitArray(new int[] {-2097156, -1, -1, -1, -1, -1, -1, -1}),
  8497. new BitArray(new int[] {-66189316, 1191182376, -1051937, -680509669, -1030969166, -1593504460, -21144002, 8903}),
  8498. new BitArray(new int[] {-66189316, 1174405162, -51384097, -972018401, -1030969178, 17106228, -97186288, 8259}),
  8499. new BitArray(new int[] {6291458, 0, 0, 32768, 0, 0, 0, 0}),
  8500. new BitArray(new int[] {-64092162, 1174405160, -51384097, -971985637, -1030969182, 17106228, -97186288, 8259}),
  8501. new BitArray(new int[] {0, 0, 0, -1879044096, 0, 67108864, 67371040, 128}),
  8502. new BitArray(new int[] {36, 1140850688, 8388687, 1108347140, 821280, 17105920, -2144335872, 65}),
  8503. new BitArray(new int[] {2097158, 1140850688, 8388687, 1108347140, 821280, 17105920, -2144335872, 97}),
  8504. new BitArray(new int[] {2097154, -2147483648, 0, 0, 0, 0, 0, 32}),
  8505. new BitArray(new int[] {36, 1140850688, 8388687, 1108347140, 821280, 17105928, -2144335872, 65}),
  8506. new BitArray(new int[] {-66189316, 1174405160, -51384097, -972018405, -1030969166, 17106228, -97186284, 8259}),
  8507. new BitArray(new int[] {1007552508, 1140850720, -51384097, -972002021, -1030969182, 17106208, -365621744, 8259}),
  8508. new BitArray(new int[] {1007681536, -2147483614, 0, 0, 1024, 0, 0, 0}),
  8509. new BitArray(new int[] {1007681536, -2147483616, 0, 0, 1024, 0, 0, 0}),
  8510. new BitArray(new int[] {2097154, 0, 0, 0, 0, 0, 0, 129}),
  8511. new BitArray(new int[] {2097154, 0, 0, 32768, 0, 0, 0, 129}),
  8512. new BitArray(new int[] {-66189316, 1174405160, -51383073, -972018405, -1030969182, 17106228, -97186288, 8259}),
  8513. new BitArray(new int[] {-65140740, 1174409128, -51384097, -971985637, -1030903646, 17106228, -97186288, 8259}),
  8514. new BitArray(new int[] {-65140740, 1174409128, -51384097, -972018405, -1030903646, 17106228, -97186288, 8259}),
  8515. new BitArray(new int[] {1048576, 3968, 0, 0, 0, 0, 0, 0}),
  8516. new BitArray(new int[] {-64092162, 1191182376, -1051937, -680509669, -1030969166, -1593504460, -21144002, 8903}),
  8517. new BitArray(new int[] {-64092162, 1191182376, -1051937, -680476901, -1030969166, -1593504460, -21144002, 8903}),
  8518. new BitArray(new int[] {2097154, 32, 0, 32768, 0, 0, 0, 0}),
  8519. new BitArray(new int[] {7340034, -2147483614, 0, 32768, 0, 0, 0, 0}),
  8520. new BitArray(new int[] {7340034, -2147483616, 0, 32768, 0, 0, 0, 0}),
  8521. new BitArray(new int[] {7340034, 0, 0, 32768, 0, 0, 0, 0}),
  8522. new BitArray(new int[] {4, 1140850690, 8650975, 1108355356, 9218084, 17106180, -533656048, 67}),
  8523. new BitArray(new int[] {4, 1140851008, 8388975, 1108347140, 821280, 21316608, -2144335872, 65}),
  8524. new BitArray(new int[] {4, 1140850944, 8388975, 1108347140, 821280, 21316608, -2144335872, 65}),
  8525. new BitArray(new int[] {4, 1140850688, 8388975, 1108347140, 821280, 21316608, -2144335872, 65}),
  8526. new BitArray(new int[] {5242880, -2147483550, 0, 0, 0, 0, 0, 0}),
  8527. new BitArray(new int[] {5242880, -2147483552, 0, 0, 0, 0, 0, 0}),
  8528. new BitArray(new int[] {-2, -1, -3, -1, -134217729, -1, -1, -1}),
  8529. new BitArray(new int[] {7, 1157628162, 26477055, -493212676, 948758565, 2147308999, -533262382, 3395}),
  8530. new BitArray(new int[] {918528, 0, 0, 0, 0, 0, 0, 0}),
  8531. new BitArray(new int[] {-909310, -1258291209, 65, 1074825472, 72844320, 231424, 22030368, 4160}),
  8532. new BitArray(new int[] {-843774, -1258291209, 65, 1074825472, 72844320, 231424, 22030368, 4160}),
  8533. new BitArray(new int[] {-318462, -1258291209, 65, 1074825472, 72844320, 231424, 22030368, 4160}),
  8534. new BitArray(new int[] {-383998, -1258291209, 65, 1074825472, 72844320, 231424, 22030368, 4160}),
  8535. new BitArray(new int[] {-1038334, -1258291209, 65, 1074825472, 72844320, 231424, 22030368, 4160}),
  8536. new BitArray(new int[] {4194308, 1140850754, 8650975, 1108355356, 9218084, 17106176, -533656048, 67}),
  8537. new BitArray(new int[] {4, 1140851008, 8388975, 1108347140, 821280, 21317120, -2144335872, 65}),
  8538. new BitArray(new int[] {4, 1073741824, 8388687, 34605312, 822304, 17105920, -2144335872, 65}),
  8539. new BitArray(new int[] {4, 1073741824, 8388687, 34605312, 821280, 16843776, -2144335872, 65}),
  8540. new BitArray(new int[] {4, 1140850698, 9699551, 1108355356, 9218084, 17106180, -533524976, 67}),
  8541. new BitArray(new int[] {4, 1140850690, 9699551, 1108355356, 9218084, 17106180, -533524976, 67}),
  8542. new BitArray(new int[] {4, 1140850946, 8650975, 1108355356, 9218084, 17106176, -533656048, 67}),
  8543. new BitArray(new int[] {4, 1140850944, 8388687, 1108478212, 821280, 17105920, -2144335872, 65}),
  8544. new BitArray(new int[] {4, 1140850944, 8388687, 1108347140, 821280, 17105920, -2144335872, 65}),
  8545. new BitArray(new int[] {4, 1140850944, 26214479, -493220892, 671930656, 1606227138, -2143942272, 3393}),
  8546. new BitArray(new int[] {4, 1140850944, 26214479, -493220892, 671926560, 1606227138, -2143942272, 3393}),
  8547. new BitArray(new int[] {4, 1140850944, 26214479, -493220892, 671926304, 1606227138, -2143942272, 3393}),
  8548. new BitArray(new int[] {4, 1140850944, 26214479, -493351964, 671926304, 1606227138, -2143942272, 3393}),
  8549. new BitArray(new int[] {4, 1140850688, 26214479, -493351964, 671926304, 1606227138, -2143942272, 3393}),
  8550. new BitArray(new int[] {4, 1140850688, 26214479, -1030223452, 135055392, 84218880, -2143942656, 65}),
  8551. new BitArray(new int[] {4, 1140850688, 25165903, -1030747868, 821280, 84218880, -2144073728, 65}),
  8552. new BitArray(new int[] {3145730, -2147483616, 0, 0, 256, 0, 0, 0}),
  8553. new BitArray(new int[] {3145730, -2147483648, 0, 0, 256, 0, 0, 0}),
  8554. new BitArray(new int[] {3145730, 0, 0, 0, 256, 0, 0, 0}),
  8555. new BitArray(new int[] {4, 1140850944, 26214479, -493220892, 671926305, 1606227138, -2143942208, 3393}),
  8556. new BitArray(new int[] {0, 256, 0, 537001984, 1, 436207616, 64, 0}),
  8557. new BitArray(new int[] {0, 256, 0, 536870912, 1, 436207616, 64, 0}),
  8558. new BitArray(new int[] {0, 0, 0, 536870912, 1, 436207616, 64, 0}),
  8559. new BitArray(new int[] {7340034, 0, 0, 0, 0, 0, 0, 0}),
  8560. new BitArray(new int[] {4, 1140850946, 8650975, 1108355356, 9218084, 17106180, -533656048, 67}),
  8561. new BitArray(new int[] {0, 16777472, 0, 131072, 0, 536870912, 2, 0}),
  8562. new BitArray(new int[] {0, 16777472, 0, 0, 0, 536870912, 2, 0}),
  8563. new BitArray(new int[] {2097154, -2147483616, 0, 0, 256, 0, 0, 0}),
  8564. new BitArray(new int[] {0, 1073741824, 4, -2147483648, 0, 0, -2147221504, 0}),
  8565. new BitArray(new int[] {2097154, -2013265888, 0, 0, 0, 0, 0, 0}),
  8566. new BitArray(new int[] {2097154, -2147483616, 0, 0, 320, 0, 0, 0}),
  8567. new BitArray(new int[] {2097154, 0, 0, 0, 320, 0, 0, 0}),
  8568. new BitArray(new int[] {4, 1140850690, 8650975, 1108355356, -1030969308, 17106176, -533656048, 67}),
  8569. new BitArray(new int[] {4, 1140850688, 25165903, 1108347136, 821280, 17105920, -2144335872, 65}),
  8570. new BitArray(new int[] {4, 1140850688, 8388687, 1108347136, 821280, 17105920, -2144335872, 65}),
  8571. new BitArray(new int[] {7340034, -2147483614, 0, 0, 0, 0, 0, 0}),
  8572. new BitArray(new int[] {7340034, -2147483616, 0, 0, 0, 0, 0, 0}),
  8573. new BitArray(new int[] {0, 256, 1048576, 537526400, 402669568, 444596289, 131200, 0}),
  8574. new BitArray(new int[] {1028, 1140850688, 8650975, 1108355356, 9218084, 17106176, -533656048, 67}),
  8575. new BitArray(new int[] {74448898, 32, 0, 0, 0, 0, 0, 0}),
  8576. new BitArray(new int[] {74448898, 0, 0, 0, 0, 0, 0, 0}),
  8577. new BitArray(new int[] {0, 0, 8388608, 33554432, 2048, 0, 32768, 0}),
  8578. new BitArray(new int[] {2097154, 0, 0, 0, 0, 3072, 0, 0}),
  8579. new BitArray(new int[] {0, 0, 0, 536870912, 268435456, 444596288, 128, 0}),
  8580. new BitArray(new int[] {0, 0, 0, 536871488, 536870912, 1522008258, 384, 3328}),
  8581. new BitArray(new int[] {0, 0, 262288, 8216, 8396800, 256, 1610679824, 2}),
  8582. new BitArray(new int[] {-1073741824, 33554432, 0, 0, 0, 16, 0, 0}),
  8583. new BitArray(new int[] {1006632960, 0, 0, 0, 0, 0, 0, 0}),
  8584. new BitArray(new int[] {1016, 0, 0, 67108864, -1040187392, 32, 33554432, 0}),
  8585. new BitArray(new int[] {4, 1073741824, 8388687, 34605312, 821280, 17105920, -2144335872, 65}),
  8586. new BitArray(new int[] {0, 0, -1133776896, 3, 0, 0, 0, 0}),
  8587. new BitArray(new int[] {-64092162, 1191182376, -1051937, -680378597, -1030969166, -1593504460, -21144002, 8903}),
  8588. new BitArray(new int[] {0, 0, 33554432, 16777216, 16, 0, 16392, 0}),
  8589. new BitArray(new int[] {-66189316, 1174405160, -51383585, -972018405, -1030969182, 17106228, -97186288, 8259}),
  8590. new BitArray(new int[] {1048576, 3968, 0, 0, 65536, 0, 0, 0}),
  8591. new BitArray(new int[] {0, 0, 288, 0, 0, 4210688, 0, 0}),
  8592. new BitArray(new int[] {-2, -129, -3, -1, -134217729, -1, -1, -1}),
  8593. new BitArray(new int[] {-18434, -1, -1, -1, -1, -1, -1, -1}),
  8594. new BitArray(new int[] {-22530, -1, -1, -1, -1, -1, -1, -1}),
  8595. new BitArray(new int[] {-32770, -1, -1, -1, -1, -1, -1, -1}),
  8596. new BitArray(new int[] {-37890, -1, -1, -1, -1, -1, -1, -1}),
  8597. new BitArray(new int[] {-2050, -1, -1, -1, -1, -1, -1, -1}),
  8598. new BitArray(new int[] {-6146, -1, -1, -1, -1, -1, -1, -1}),
  8599. new BitArray(new int[] {4, 1140850944, 8388975, 1108347140, 821280, 21317120, -2144335872, 65}),
  8600. new BitArray(new int[] {0, 0, 0, 536870912, 0, 436207616, 0, 0}),
  8601. new BitArray(new int[] {2097154, 32, 0, 0, 256, 0, 0, 0}),
  8602. new BitArray(new int[] {4, 1140850688, 8650975, 1108355356, 9218084, 17106176, -533656048, 67})
  8603. };
  8604. } // end Parser
  8605. }