1
2
3
4 #include <sngcpp/pp/TextLexer.hpp>
5 #include <soulng/lexer/Token.hpp>
6 #include <sngcpp/pp/TextTokens.hpp>
7 #include <sngcpp/pp/TextClassMap.hpp>
8
9 using namespace soulng::lexer;
10 using namespace TextTokens;
11
12 TextLexer::TextLexer(const std::u32string& content_, const std::string& fileName_, int fileIndex_) : soulng::lexer::Lexer(content_, fileName_, fileIndex_),
13 pp()
14 {
15 }
16
17 TextLexer::TextLexer(const char32_t* start_, const char32_t* end_, const std::string& fileName_, int fileIndex_) : soulng::lexer::Lexer(start_, end_, fileName_, fileIndex_),
18 pp()
19 {
20 }
21
22 int TextLexer::NextState(int state, char32_t c)
23 {
24 int i = TextClassMap::GetClass(c);
25 switch (state)
26 {
27 case 0:
28 {
29 switch (i)
30 {
31 case 0:
32 {
33 return 1;
34 }
35 case 1:
36 {
37 return 2;
38 }
39 case 2:
40 {
41 return 3;
42 }
43 case 3:
44 {
45 return 4;
46 }
47 case 4:
48 {
49 return 5;
50 }
51 case 5:
52 case 13:
53 case 14:
54 case 18:
55 case 22:
56 case 23:
57 case 24:
58 case 25:
59 case 27:
60 case 28:
61 case 29:
62 case 31:
63 case 32:
64 case 33:
65 {
66 return 6;
67 }
68 case 7:
69 case 8:
70 {
71 return 7;
72 }
73 case 10:
74 {
75 return 8;
76 }
77 case 11:
78 {
79 return 9;
80 }
81 case 12:
82 {
83 return 10;
84 }
85 case 15:
86 {
87 return 11;
88 }
89 case 16:
90 {
91 return 12;
92 }
93 case 17:
94 {
95 return 13;
96 }
97 case 19:
98 {
99 return 14;
100 }
101 case 20:
102 {
103 return 15;
104 }
105 case 21:
106 {
107 return 16;
108 }
109 case 26:
110 case 30:
111 case 34:
112 {
113 return 17;
114 }
115 case 35:
116 {
117 return 18;
118 }
119 case 36:
120 {
121 return 19;
122 }
123 case 37:
124 {
125 return 20;
126 }
127 case 38:
128 {
129 return 21;
130 }
131 case 39:
132 {
133 return 22;
134 }
135 case 40:
136 {
137 return 23;
138 }
139 case 41:
140 {
141 return 24;
142 }
143 case 42:
144 {
145 return 25;
146 }
147 case 43:
148 {
149 return 26;
150 }
151 case 44:
152 {
153 return 27;
154 }
155 case 45:
156 {
157 return 28;
158 }
159 case 46:
160 {
161 return 29;
162 }
163 case 47:
164 {
165 return 30;
166 }
167 case 48:
168 {
169 return 31;
170 }
171 case 49:
172 {
173 return 32;
174 }
175 case 50:
176 {
177 return 33;
178 }
179 case 51:
180 {
181 return 34;
182 }
183 case 52:
184 {
185 return 35;
186 }
187 case 53:
188 {
189 return 36;
190 }
191 default:
192 {
193 return -1;
194 }
195 }
196 }
197 case 36:
198 {
199 Lexeme prevMatch = token.match;
200 token.match = lexeme;
201 int tokenId = GetTokenId(58);
202 if (tokenId == CONTINUE_TOKEN)
203 {
204 token.id = tokenId;
205 return -1;
206 }
207 else if (tokenId != INVALID_TOKEN)
208 {
209 token.id = tokenId;
210 }
211 else
212 {
213 token.match = prevMatch;
214 }
215 return -1;
216 }
217 case 35:
218 {
219 Lexeme prevMatch = token.match;
220 token.match = lexeme;
221 int tokenId = GetTokenId(57);
222 if (tokenId == CONTINUE_TOKEN)
223 {
224 token.id = tokenId;
225 return -1;
226 }
227 else if (tokenId != INVALID_TOKEN)
228 {
229 token.id = tokenId;
230 }
231 else
232 {
233 token.match = prevMatch;
234 }
235 return -1;
236 }
237 case 34:
238 {
239 Lexeme prevMatch = token.match;
240 token.match = lexeme;
241 int tokenId = GetTokenId(55);
242 if (tokenId == CONTINUE_TOKEN)
243 {
244 token.id = tokenId;
245 return -1;
246 }
247 else if (tokenId != INVALID_TOKEN)
248 {
249 token.id = tokenId;
250 }
251 else
252 {
253 token.match = prevMatch;
254 }
255 return -1;
256 }
257 case 33:
258 {
259 Lexeme prevMatch = token.match;
260 token.match = lexeme;
261 int tokenId = GetTokenId(52);
262 if (tokenId == CONTINUE_TOKEN)
263 {
264 token.id = tokenId;
265 return -1;
266 }
267 else if (tokenId != INVALID_TOKEN)
268 {
269 token.id = tokenId;
270 }
271 else
272 {
273 token.match = prevMatch;
274 }
275 return -1;
276 }
277 case 32:
278 {
279 Lexeme prevMatch = token.match;
280 token.match = lexeme;
281 int tokenId = GetTokenId(51);
282 if (tokenId == CONTINUE_TOKEN)
283 {
284 token.id = tokenId;
285 return -1;
286 }
287 else if (tokenId != INVALID_TOKEN)
288 {
289 token.id = tokenId;
290 }
291 else
292 {
293 token.match = prevMatch;
294 }
295 return -1;
296 }
297 case 31:
298 {
299 Lexeme prevMatch = token.match;
300 token.match = lexeme;
301 int tokenId = GetTokenId(50);
302 if (tokenId == CONTINUE_TOKEN)
303 {
304 token.id = tokenId;
305 return -1;
306 }
307 else if (tokenId != INVALID_TOKEN)
308 {
309 token.id = tokenId;
310 }
311 else
312 {
313 token.match = prevMatch;
314 }
315 return -1;
316 }
317 case 30:
318 {
319 Lexeme prevMatch = token.match;
320 token.match = lexeme;
321 int tokenId = GetTokenId(46);
322 if (tokenId == CONTINUE_TOKEN)
323 {
324 token.id = tokenId;
325 return -1;
326 }
327 else if (tokenId != INVALID_TOKEN)
328 {
329 token.id = tokenId;
330 }
331 else
332 {
333 token.match = prevMatch;
334 }
335 return -1;
336 }
337 case 29:
338 {
339 Lexeme prevMatch = token.match;
340 token.match = lexeme;
341 int tokenId = GetTokenId(45);
342 if (tokenId == CONTINUE_TOKEN)
343 {
344 token.id = tokenId;
345 return -1;
346 }
347 else if (tokenId != INVALID_TOKEN)
348 {
349 token.id = tokenId;
350 }
351 else
352 {
353 token.match = prevMatch;
354 }
355 return -1;
356 }
357 case 28:
358 {
359 Lexeme prevMatch = token.match;
360 token.match = lexeme;
361 int tokenId = GetTokenId(49);
362 if (tokenId == CONTINUE_TOKEN)
363 {
364 token.id = tokenId;
365 return -1;
366 }
367 else if (tokenId != INVALID_TOKEN)
368 {
369 token.id = tokenId;
370 }
371 else
372 {
373 token.match = prevMatch;
374 }
375 switch (i)
376 {
377 case 38:
378 {
379 return 37;
380 }
381 default:
382 {
383 return -1;
384 }
385 }
386 }
387 case 37:
388 {
389 Lexeme prevMatch = token.match;
390 token.match = lexeme;
391 int tokenId = GetTokenId(30);
392 if (tokenId == CONTINUE_TOKEN)
393 {
394 token.id = tokenId;
395 return -1;
396 }
397 else if (tokenId != INVALID_TOKEN)
398 {
399 token.id = tokenId;
400 }
401 else
402 {
403 token.match = prevMatch;
404 }
405 return -1;
406 }
407 case 27:
408 {
409 Lexeme prevMatch = token.match;
410 token.match = lexeme;
411 int tokenId = GetTokenId(26);
412 if (tokenId == CONTINUE_TOKEN)
413 {
414 token.id = tokenId;
415 return -1;
416 }
417 else if (tokenId != INVALID_TOKEN)
418 {
419 token.id = tokenId;
420 }
421 else
422 {
423 token.match = prevMatch;
424 }
425 switch (i)
426 {
427 case 38:
428 {
429 return 38;
430 }
431 case 44:
432 {
433 return 39;
434 }
435 default:
436 {
437 return -1;
438 }
439 }
440 }
441 case 39:
442 {
443 Lexeme prevMatch = token.match;
444 token.match = lexeme;
445 int tokenId = GetTokenId(24);
446 if (tokenId == CONTINUE_TOKEN)
447 {
448 token.id = tokenId;
449 return -1;
450 }
451 else if (tokenId != INVALID_TOKEN)
452 {
453 token.id = tokenId;
454 }
455 else
456 {
457 token.match = prevMatch;
458 }
459 return -1;
460 }
461 case 38:
462 {
463 Lexeme prevMatch = token.match;
464 token.match = lexeme;
465 int tokenId = GetTokenId(21);
466 if (tokenId == CONTINUE_TOKEN)
467 {
468 token.id = tokenId;
469 return -1;
470 }
471 else if (tokenId != INVALID_TOKEN)
472 {
473 token.id = tokenId;
474 }
475 else
476 {
477 token.match = prevMatch;
478 }
479 return -1;
480 }
481 case 26:
482 {
483 Lexeme prevMatch = token.match;
484 token.match = lexeme;
485 int tokenId = GetTokenId(27);
486 if (tokenId == CONTINUE_TOKEN)
487 {
488 token.id = tokenId;
489 return -1;
490 }
491 else if (tokenId != INVALID_TOKEN)
492 {
493 token.id = tokenId;
494 }
495 else
496 {
497 token.match = prevMatch;
498 }
499 switch (i)
500 {
501 case 38:
502 {
503 return 40;
504 }
505 default:
506 {
507 return -1;
508 }
509 }
510 }
511 case 40:
512 {
513 Lexeme prevMatch = token.match;
514 token.match = lexeme;
515 int tokenId = GetTokenId(20);
516 if (tokenId == CONTINUE_TOKEN)
517 {
518 token.id = tokenId;
519 return -1;
520 }
521 else if (tokenId != INVALID_TOKEN)
522 {
523 token.id = tokenId;
524 }
525 else
526 {
527 token.match = prevMatch;
528 }
529 return -1;
530 }
531 case 25:
532 {
533 Lexeme prevMatch = token.match;
534 token.match = lexeme;
535 int tokenId = GetTokenId(28);
536 if (tokenId == CONTINUE_TOKEN)
537 {
538 token.id = tokenId;
539 return -1;
540 }
541 else if (tokenId != INVALID_TOKEN)
542 {
543 token.id = tokenId;
544 }
545 else
546 {
547 token.match = prevMatch;
548 }
549 switch (i)
550 {
551 case 38:
552 {
553 return 41;
554 }
555 case 42:
556 {
557 return 42;
558 }
559 default:
560 {
561 return -1;
562 }
563 }
564 }
565 case 42:
566 {
567 Lexeme prevMatch = token.match;
568 token.match = lexeme;
569 int tokenId = GetTokenId(25);
570 if (tokenId == CONTINUE_TOKEN)
571 {
572 token.id = tokenId;
573 return -1;
574 }
575 else if (tokenId != INVALID_TOKEN)
576 {
577 token.id = tokenId;
578 }
579 else
580 {
581 token.match = prevMatch;
582 }
583 return -1;
584 }
585 case 41:
586 {
587 Lexeme prevMatch = token.match;
588 token.match = lexeme;
589 int tokenId = GetTokenId(19);
590 if (tokenId == CONTINUE_TOKEN)
591 {
592 token.id = tokenId;
593 return -1;
594 }
595 else if (tokenId != INVALID_TOKEN)
596 {
597 token.id = tokenId;
598 }
599 else
600 {
601 token.match = prevMatch;
602 }
603 return -1;
604 }
605 case 24:
606 {
607 Lexeme prevMatch = token.match;
608 token.match = lexeme;
609 int tokenId = GetTokenId(34);
610 if (tokenId == CONTINUE_TOKEN)
611 {
612 token.id = tokenId;
613 return -1;
614 }
615 else if (tokenId != INVALID_TOKEN)
616 {
617 token.id = tokenId;
618 }
619 else
620 {
621 token.match = prevMatch;
622 }
623 switch (i)
624 {
625 case 38:
626 {
627 return 43;
628 }
629 case 41:
630 {
631 return 44;
632 }
633 default:
634 {
635 return -1;
636 }
637 }
638 }
639 case 44:
640 {
641 Lexeme prevMatch = token.match;
642 token.match = lexeme;
643 int tokenId = GetTokenId(36);
644 if (tokenId == CONTINUE_TOKEN)
645 {
646 token.id = tokenId;
647 return -1;
648 }
649 else if (tokenId != INVALID_TOKEN)
650 {
651 token.id = tokenId;
652 }
653 else
654 {
655 token.match = prevMatch;
656 }
657 switch (i)
658 {
659 case 38:
660 {
661 return 45;
662 }
663 default:
664 {
665 return -1;
666 }
667 }
668 }
669 case 45:
670 {
671 Lexeme prevMatch = token.match;
672 token.match = lexeme;
673 int tokenId = GetTokenId(18);
674 if (tokenId == CONTINUE_TOKEN)
675 {
676 token.id = tokenId;
677 return -1;
678 }
679 else if (tokenId != INVALID_TOKEN)
680 {
681 token.id = tokenId;
682 }
683 else
684 {
685 token.match = prevMatch;
686 }
687 return -1;
688 }
689 case 43:
690 {
691 Lexeme prevMatch = token.match;
692 token.match = lexeme;
693 int tokenId = GetTokenId(31);
694 if (tokenId == CONTINUE_TOKEN)
695 {
696 token.id = tokenId;
697 return -1;
698 }
699 else if (tokenId != INVALID_TOKEN)
700 {
701 token.id = tokenId;
702 }
703 else
704 {
705 token.match = prevMatch;
706 }
707 switch (i)
708 {
709 case 40:
710 {
711 return 46;
712 }
713 default:
714 {
715 return -1;
716 }
717 }
718 }
719 case 46:
720 {
721 Lexeme prevMatch = token.match;
722 token.match = lexeme;
723 int tokenId = GetTokenId(33);
724 if (tokenId == CONTINUE_TOKEN)
725 {
726 token.id = tokenId;
727 return -1;
728 }
729 else if (tokenId != INVALID_TOKEN)
730 {
731 token.id = tokenId;
732 }
733 else
734 {
735 token.match = prevMatch;
736 }
737 return -1;
738 }
739 case 23:
740 {
741 Lexeme prevMatch = token.match;
742 token.match = lexeme;
743 int tokenId = GetTokenId(35);
744 if (tokenId == CONTINUE_TOKEN)
745 {
746 token.id = tokenId;
747 return -1;
748 }
749 else if (tokenId != INVALID_TOKEN)
750 {
751 token.id = tokenId;
752 }
753 else
754 {
755 token.match = prevMatch;
756 }
757 switch (i)
758 {
759 case 38:
760 {
761 return 47;
762 }
763 case 40:
764 {
765 return 48;
766 }
767 default:
768 {
769 return -1;
770 }
771 }
772 }
773 case 48:
774 {
775 Lexeme prevMatch = token.match;
776 token.match = lexeme;
777 int tokenId = GetTokenId(37);
778 if (tokenId == CONTINUE_TOKEN)
779 {
780 token.id = tokenId;
781 return -1;
782 }
783 else if (tokenId != INVALID_TOKEN)
784 {
785 token.id = tokenId;
786 }
787 else
788 {
789 token.match = prevMatch;
790 }
791 switch (i)
792 {
793 case 38:
794 {
795 return 49;
796 }
797 default:
798 {
799 return -1;
800 }
801 }
802 }
803 case 49:
804 {
805 Lexeme prevMatch = token.match;
806 token.match = lexeme;
807 int tokenId = GetTokenId(17);
808 if (tokenId == CONTINUE_TOKEN)
809 {
810 token.id = tokenId;
811 return -1;
812 }
813 else if (tokenId != INVALID_TOKEN)
814 {
815 token.id = tokenId;
816 }
817 else
818 {
819 token.match = prevMatch;
820 }
821 return -1;
822 }
823 case 47:
824 {
825 Lexeme prevMatch = token.match;
826 token.match = lexeme;
827 int tokenId = GetTokenId(32);
828 if (tokenId == CONTINUE_TOKEN)
829 {
830 token.id = tokenId;
831 return -1;
832 }
833 else if (tokenId != INVALID_TOKEN)
834 {
835 token.id = tokenId;
836 }
837 else
838 {
839 token.match = prevMatch;
840 }
841 return -1;
842 }
843 case 22:
844 {
845 Lexeme prevMatch = token.match;
846 token.match = lexeme;
847 int tokenId = GetTokenId(42);
848 if (tokenId == CONTINUE_TOKEN)
849 {
850 token.id = tokenId;
851 return -1;
852 }
853 else if (tokenId != INVALID_TOKEN)
854 {
855 token.id = tokenId;
856 }
857 else
858 {
859 token.match = prevMatch;
860 }
861 switch (i)
862 {
863 case 38:
864 {
865 return 50;
866 }
867 default:
868 {
869 return -1;
870 }
871 }
872 }
873 case 50:
874 {
875 Lexeme prevMatch = token.match;
876 token.match = lexeme;
877 int tokenId = GetTokenId(14);
878 if (tokenId == CONTINUE_TOKEN)
879 {
880 token.id = tokenId;
881 return -1;
882 }
883 else if (tokenId != INVALID_TOKEN)
884 {
885 token.id = tokenId;
886 }
887 else
888 {
889 token.match = prevMatch;
890 }
891 return -1;
892 }
893 case 21:
894 {
895 Lexeme prevMatch = token.match;
896 token.match = lexeme;
897 int tokenId = GetTokenId(11);
898 if (tokenId == CONTINUE_TOKEN)
899 {
900 token.id = tokenId;
901 return -1;
902 }
903 else if (tokenId != INVALID_TOKEN)
904 {
905 token.id = tokenId;
906 }
907 else
908 {
909 token.match = prevMatch;
910 }
911 switch (i)
912 {
913 case 38:
914 {
915 return 51;
916 }
917 default:
918 {
919 return -1;
920 }
921 }
922 }
923 case 51:
924 {
925 Lexeme prevMatch = token.match;
926 token.match = lexeme;
927 int tokenId = GetTokenId(29);
928 if (tokenId == CONTINUE_TOKEN)
929 {
930 token.id = tokenId;
931 return -1;
932 }
933 else if (tokenId != INVALID_TOKEN)
934 {
935 token.id = tokenId;
936 }
937 else
938 {
939 token.match = prevMatch;
940 }
941 return -1;
942 }
943 case 20:
944 {
945 Lexeme prevMatch = token.match;
946 token.match = lexeme;
947 int tokenId = GetTokenId(10);
948 if (tokenId == CONTINUE_TOKEN)
949 {
950 token.id = tokenId;
951 return -1;
952 }
953 else if (tokenId != INVALID_TOKEN)
954 {
955 token.id = tokenId;
956 }
957 else
958 {
959 token.match = prevMatch;
960 }
961 return -1;
962 }
963 case 19:
964 {
965 Lexeme prevMatch = token.match;
966 token.match = lexeme;
967 int tokenId = GetTokenId(23);
968 if (tokenId == CONTINUE_TOKEN)
969 {
970 token.id = tokenId;
971 return -1;
972 }
973 else if (tokenId != INVALID_TOKEN)
974 {
975 token.id = tokenId;
976 }
977 else
978 {
979 token.match = prevMatch;
980 }
981 switch (i)
982 {
983 case 36:
984 {
985 return 52;
986 }
987 default:
988 {
989 return -1;
990 }
991 }
992 }
993 case 52:
994 {
995 Lexeme prevMatch = token.match;
996 token.match = lexeme;
997 int tokenId = GetTokenId(9);
998 if (tokenId == CONTINUE_TOKEN)
999 {
1000 token.id = tokenId;
1001 return -1;
1002 }
1003 else if (tokenId != INVALID_TOKEN)
1004 {
1005 token.id = tokenId;
1006 }
1007 else
1008 {
1009 token.match = prevMatch;
1010 }
1011 return -1;
1012 }
1013 case 18:
1014 {
1015 Lexeme prevMatch = token.match;
1016 token.match = lexeme;
1017 int tokenId = GetTokenId(5);
1018 if (tokenId == CONTINUE_TOKEN)
1019 {
1020 token.id = tokenId;
1021 return -1;
1022 }
1023 else if (tokenId != INVALID_TOKEN)
1024 {
1025 token.id = tokenId;
1026 }
1027 else
1028 {
1029 token.match = prevMatch;
1030 }
1031 switch (i)
1032 {
1033 case 2:
1034 {
1035 return 53;
1036 }
1037 case 5:
1038 case 6:
1039 case 13:
1040 case 14:
1041 case 15:
1042 case 16:
1043 case 17:
1044 case 18:
1045 case 22:
1046 case 23:
1047 case 24:
1048 case 25:
1049 case 26:
1050 case 27:
1051 case 28:
1052 case 29:
1053 case 30:
1054 case 31:
1055 case 32:
1056 case 33:
1057 case 34:
1058 case 35:
1059 {
1060 return 54;
1061 }
1062 default:
1063 {
1064 return -1;
1065 }
1066 }
1067 }
1068 case 54:
1069 {
1070 Lexeme prevMatch = token.match;
1071 token.match = lexeme;
1072 int tokenId = GetTokenId(5);
1073 if (tokenId == CONTINUE_TOKEN)
1074 {
1075 token.id = tokenId;
1076 return -1;
1077 }
1078 else if (tokenId != INVALID_TOKEN)
1079 {
1080 token.id = tokenId;
1081 }
1082 else
1083 {
1084 token.match = prevMatch;
1085 }
1086 switch (i)
1087 {
1088 case 5:
1089 case 6:
1090 case 13:
1091 case 14:
1092 case 15:
1093 case 16:
1094 case 17:
1095 case 18:
1096 case 22:
1097 case 23:
1098 case 24:
1099 case 25:
1100 case 26:
1101 case 27:
1102 case 28:
1103 case 29:
1104 case 30:
1105 case 31:
1106 case 32:
1107 case 33:
1108 case 34:
1109 case 35:
1110 {
1111 return 54;
1112 }
1113 default:
1114 {
1115 return -1;
1116 }
1117 }
1118 }
1119 case 53:
1120 {
1121 switch (i)
1122 {
1123 case 2:
1124 {
1125 return 55;
1126 }
1127 case 3:
1128 case 4:
1129 case 5:
1130 case 6:
1131 case 7:
1132 case 8:
1133 case 9:
1134 case 10:
1135 case 11:
1136 case 12:
1137 case 13:
1138 case 14:
1139 case 15:
1140 case 16:
1141 case 17:
1142 case 18:
1143 case 19:
1144 case 20:
1145 case 21:
1146 case 22:
1147 case 23:
1148 case 24:
1149 case 25:
1150 case 26:
1151 case 27:
1152 case 28:
1153 case 29:
1154 case 30:
1155 case 31:
1156 case 32:
1157 case 33:
1158 case 34:
1159 case 35:
1160 case 36:
1161 case 37:
1162 case 38:
1163 case 39:
1164 case 40:
1165 case 41:
1166 case 42:
1167 case 43:
1168 case 44:
1169 case 45:
1170 case 46:
1171 case 47:
1172 case 48:
1173 case 49:
1174 case 50:
1175 case 51:
1176 case 52:
1177 case 53:
1178 {
1179 return 56;
1180 }
1181 default:
1182 {
1183 return -1;
1184 }
1185 }
1186 }
1187 case 56:
1188 {
1189 switch (i)
1190 {
1191 case 2:
1192 {
1193 return 55;
1194 }
1195 case 3:
1196 case 4:
1197 case 5:
1198 case 6:
1199 case 7:
1200 case 8:
1201 case 9:
1202 case 10:
1203 case 11:
1204 case 12:
1205 case 13:
1206 case 14:
1207 case 15:
1208 case 16:
1209 case 17:
1210 case 18:
1211 case 19:
1212 case 20:
1213 case 21:
1214 case 22:
1215 case 23:
1216 case 24:
1217 case 25:
1218 case 26:
1219 case 27:
1220 case 28:
1221 case 29:
1222 case 30:
1223 case 31:
1224 case 32:
1225 case 33:
1226 case 34:
1227 case 35:
1228 case 36:
1229 case 37:
1230 case 38:
1231 case 39:
1232 case 40:
1233 case 41:
1234 case 42:
1235 case 43:
1236 case 44:
1237 case 45:
1238 case 46:
1239 case 47:
1240 case 48:
1241 case 49:
1242 case 50:
1243 case 51:
1244 case 52:
1245 case 53:
1246 {
1247 return 56;
1248 }
1249 default:
1250 {
1251 return -1;
1252 }
1253 }
1254 }
1255 case 55:
1256 {
1257 Lexeme prevMatch = token.match;
1258 token.match = lexeme;
1259 int tokenId = GetTokenId(8);
1260 if (tokenId == CONTINUE_TOKEN)
1261 {
1262 token.id = tokenId;
1263 return -1;
1264 }
1265 else if (tokenId != INVALID_TOKEN)
1266 {
1267 token.id = tokenId;
1268 }
1269 else
1270 {
1271 token.match = prevMatch;
1272 }
1273 return -1;
1274 }
1275 case 17:
1276 {
1277 Lexeme prevMatch = token.match;
1278 token.match = lexeme;
1279 int tokenId = GetTokenId(6);
1280 if (tokenId == CONTINUE_TOKEN)
1281 {
1282 token.id = tokenId;
1283 return -1;
1284 }
1285 else if (tokenId != INVALID_TOKEN)
1286 {
1287 token.id = tokenId;
1288 }
1289 else
1290 {
1291 token.match = prevMatch;
1292 }
1293 switch (i)
1294 {
1295 case 26:
1296 case 30:
1297 case 34:
1298 {
1299 return 17;
1300 }
1301 case 10:
1302 {
1303 return 57;
1304 }
1305 case 13:
1306 case 14:
1307 case 15:
1308 case 16:
1309 case 17:
1310 case 18:
1311 case 22:
1312 case 23:
1313 case 24:
1314 case 25:
1315 case 27:
1316 case 31:
1317 case 32:
1318 case 33:
1319 case 35:
1320 {
1321 return 58;
1322 }
1323 case 19:
1324 {
1325 return 59;
1326 }
1327 case 28:
1328 case 29:
1329 {
1330 return 60;
1331 }
1332 default:
1333 {
1334 return -1;
1335 }
1336 }
1337 }
1338 case 60:
1339 {
1340 Lexeme prevMatch = token.match;
1341 token.match = lexeme;
1342 int tokenId = GetTokenId(6);
1343 if (tokenId == CONTINUE_TOKEN)
1344 {
1345 token.id = tokenId;
1346 return -1;
1347 }
1348 else if (tokenId != INVALID_TOKEN)
1349 {
1350 token.id = tokenId;
1351 }
1352 else
1353 {
1354 token.match = prevMatch;
1355 }
1356 switch (i)
1357 {
1358 case 13:
1359 case 14:
1360 case 15:
1361 case 16:
1362 case 17:
1363 case 18:
1364 case 22:
1365 case 23:
1366 case 24:
1367 case 25:
1368 case 27:
1369 case 31:
1370 case 32:
1371 case 33:
1372 case 35:
1373 {
1374 return 58;
1375 }
1376 case 19:
1377 {
1378 return 59;
1379 }
1380 case 28:
1381 case 29:
1382 {
1383 return 60;
1384 }
1385 case 11:
1386 {
1387 return 61;
1388 }
1389 case 12:
1390 {
1391 return 62;
1392 }
1393 default:
1394 {
1395 return -1;
1396 }
1397 }
1398 }
1399 case 62:
1400 {
1401 Lexeme prevMatch = token.match;
1402 token.match = lexeme;
1403 int tokenId = GetTokenId(6);
1404 if (tokenId == CONTINUE_TOKEN)
1405 {
1406 token.id = tokenId;
1407 return -1;
1408 }
1409 else if (tokenId != INVALID_TOKEN)
1410 {
1411 token.id = tokenId;
1412 }
1413 else
1414 {
1415 token.match = prevMatch;
1416 }
1417 switch (i)
1418 {
1419 case 13:
1420 case 14:
1421 case 15:
1422 case 16:
1423 case 17:
1424 case 18:
1425 case 22:
1426 case 23:
1427 case 24:
1428 case 25:
1429 case 27:
1430 case 31:
1431 case 32:
1432 case 33:
1433 case 35:
1434 {
1435 return 58;
1436 }
1437 case 19:
1438 {
1439 return 59;
1440 }
1441 case 28:
1442 case 29:
1443 {
1444 return 60;
1445 }
1446 default:
1447 {
1448 return -1;
1449 }
1450 }
1451 }
1452 case 61:
1453 {
1454 Lexeme prevMatch = token.match;
1455 token.match = lexeme;
1456 int tokenId = GetTokenId(6);
1457 if (tokenId == CONTINUE_TOKEN)
1458 {
1459 token.id = tokenId;
1460 return -1;
1461 }
1462 else if (tokenId != INVALID_TOKEN)
1463 {
1464 token.id = tokenId;
1465 }
1466 else
1467 {
1468 token.match = prevMatch;
1469 }
1470 switch (i)
1471 {
1472 case 13:
1473 case 14:
1474 case 15:
1475 case 16:
1476 case 17:
1477 case 18:
1478 case 22:
1479 case 23:
1480 case 24:
1481 case 25:
1482 case 27:
1483 case 31:
1484 case 32:
1485 case 33:
1486 case 35:
1487 {
1488 return 58;
1489 }
1490 case 19:
1491 {
1492 return 59;
1493 }
1494 case 28:
1495 case 29:
1496 {
1497 return 60;
1498 }
1499 default:
1500 {
1501 return -1;
1502 }
1503 }
1504 }
1505 case 59:
1506 {
1507 switch (i)
1508 {
1509 case 15:
1510 {
1511 return 63;
1512 }
1513 case 16:
1514 {
1515 return 64;
1516 }
1517 default:
1518 {
1519 return -1;
1520 }
1521 }
1522 }
1523 case 64:
1524 {
1525 switch (i)
1526 {
1527 case 26:
1528 case 27:
1529 case 28:
1530 case 29:
1531 case 30:
1532 case 31:
1533 case 32:
1534 case 33:
1535 case 34:
1536 {
1537 return 65;
1538 }
1539 default:
1540 {
1541 return -1;
1542 }
1543 }
1544 }
1545 case 65:
1546 {
1547 switch (i)
1548 {
1549 case 26:
1550 case 27:
1551 case 28:
1552 case 29:
1553 case 30:
1554 case 31:
1555 case 32:
1556 case 33:
1557 case 34:
1558 {
1559 return 66;
1560 }
1561 default:
1562 {
1563 return -1;
1564 }
1565 }
1566 }
1567 case 66:
1568 {
1569 switch (i)
1570 {
1571 case 26:
1572 case 27:
1573 case 28:
1574 case 29:
1575 case 30:
1576 case 31:
1577 case 32:
1578 case 33:
1579 case 34:
1580 {
1581 return 67;
1582 }
1583 default:
1584 {
1585 return -1;
1586 }
1587 }
1588 }
1589 case 67:
1590 {
1591 switch (i)
1592 {
1593 case 26:
1594 case 27:
1595 case 28:
1596 case 29:
1597 case 30:
1598 case 31:
1599 case 32:
1600 case 33:
1601 case 34:
1602 {
1603 return 68;
1604 }
1605 default:
1606 {
1607 return -1;
1608 }
1609 }
1610 }
1611 case 68:
1612 {
1613 switch (i)
1614 {
1615 case 26:
1616 case 27:
1617 case 28:
1618 case 29:
1619 case 30:
1620 case 31:
1621 case 32:
1622 case 33:
1623 case 34:
1624 {
1625 return 69;
1626 }
1627 default:
1628 {
1629 return -1;
1630 }
1631 }
1632 }
1633 case 69:
1634 {
1635 switch (i)
1636 {
1637 case 26:
1638 case 27:
1639 case 28:
1640 case 29:
1641 case 30:
1642 case 31:
1643 case 32:
1644 case 33:
1645 case 34:
1646 {
1647 return 70;
1648 }
1649 default:
1650 {
1651 return -1;
1652 }
1653 }
1654 }
1655 case 70:
1656 {
1657 switch (i)
1658 {
1659 case 26:
1660 case 27:
1661 case 28:
1662 case 29:
1663 case 30:
1664 case 31:
1665 case 32:
1666 case 33:
1667 case 34:
1668 {
1669 return 71;
1670 }
1671 default:
1672 {
1673 return -1;
1674 }
1675 }
1676 }
1677 case 71:
1678 {
1679 switch (i)
1680 {
1681 case 26:
1682 case 27:
1683 case 28:
1684 case 29:
1685 case 30:
1686 case 31:
1687 case 32:
1688 case 33:
1689 case 34:
1690 {
1691 return 72;
1692 }
1693 default:
1694 {
1695 return -1;
1696 }
1697 }
1698 }
1699 case 72:
1700 {
1701 Lexeme prevMatch = token.match;
1702 token.match = lexeme;
1703 int tokenId = GetTokenId(6);
1704 if (tokenId == CONTINUE_TOKEN)
1705 {
1706 token.id = tokenId;
1707 return -1;
1708 }
1709 else if (tokenId != INVALID_TOKEN)
1710 {
1711 token.id = tokenId;
1712 }
1713 else
1714 {
1715 token.match = prevMatch;
1716 }
1717 switch (i)
1718 {
1719 case 13:
1720 case 14:
1721 case 15:
1722 case 16:
1723 case 17:
1724 case 18:
1725 case 22:
1726 case 23:
1727 case 24:
1728 case 25:
1729 case 27:
1730 case 31:
1731 case 32:
1732 case 33:
1733 case 35:
1734 {
1735 return 58;
1736 }
1737 case 19:
1738 {
1739 return 59;
1740 }
1741 case 28:
1742 case 29:
1743 {
1744 return 60;
1745 }
1746 default:
1747 {
1748 return -1;
1749 }
1750 }
1751 }
1752 case 63:
1753 {
1754 switch (i)
1755 {
1756 case 26:
1757 case 27:
1758 case 28:
1759 case 29:
1760 case 30:
1761 case 31:
1762 case 32:
1763 case 33:
1764 case 34:
1765 {
1766 return 73;
1767 }
1768 default:
1769 {
1770 return -1;
1771 }
1772 }
1773 }
1774 case 73:
1775 {
1776 switch (i)
1777 {
1778 case 26:
1779 case 27:
1780 case 28:
1781 case 29:
1782 case 30:
1783 case 31:
1784 case 32:
1785 case 33:
1786 case 34:
1787 {
1788 return 74;
1789 }
1790 default:
1791 {
1792 return -1;
1793 }
1794 }
1795 }
1796 case 74:
1797 {
1798 switch (i)
1799 {
1800 case 26:
1801 case 27:
1802 case 28:
1803 case 29:
1804 case 30:
1805 case 31:
1806 case 32:
1807 case 33:
1808 case 34:
1809 {
1810 return 75;
1811 }
1812 default:
1813 {
1814 return -1;
1815 }
1816 }
1817 }
1818 case 75:
1819 {
1820 switch (i)
1821 {
1822 case 26:
1823 case 27:
1824 case 28:
1825 case 29:
1826 case 30:
1827 case 31:
1828 case 32:
1829 case 33:
1830 case 34:
1831 {
1832 return 76;
1833 }
1834 default:
1835 {
1836 return -1;
1837 }
1838 }
1839 }
1840 case 76:
1841 {
1842 Lexeme prevMatch = token.match;
1843 token.match = lexeme;
1844 int tokenId = GetTokenId(6);
1845 if (tokenId == CONTINUE_TOKEN)
1846 {
1847 token.id = tokenId;
1848 return -1;
1849 }
1850 else if (tokenId != INVALID_TOKEN)
1851 {
1852 token.id = tokenId;
1853 }
1854 else
1855 {
1856 token.match = prevMatch;
1857 }
1858 switch (i)
1859 {
1860 case 13:
1861 case 14:
1862 case 15:
1863 case 16:
1864 case 17:
1865 case 18:
1866 case 22:
1867 case 23:
1868 case 24:
1869 case 25:
1870 case 27:
1871 case 31:
1872 case 32:
1873 case 33:
1874 case 35:
1875 {
1876 return 58;
1877 }
1878 case 19:
1879 {
1880 return 59;
1881 }
1882 case 28:
1883 case 29:
1884 {
1885 return 60;
1886 }
1887 default:
1888 {
1889 return -1;
1890 }
1891 }
1892 }
1893 case 58:
1894 {
1895 Lexeme prevMatch = token.match;
1896 token.match = lexeme;
1897 int tokenId = GetTokenId(6);
1898 if (tokenId == CONTINUE_TOKEN)
1899 {
1900 token.id = tokenId;
1901 return -1;
1902 }
1903 else if (tokenId != INVALID_TOKEN)
1904 {
1905 token.id = tokenId;
1906 }
1907 else
1908 {
1909 token.match = prevMatch;
1910 }
1911 switch (i)
1912 {
1913 case 13:
1914 case 14:
1915 case 15:
1916 case 16:
1917 case 17:
1918 case 18:
1919 case 22:
1920 case 23:
1921 case 24:
1922 case 25:
1923 case 27:
1924 case 31:
1925 case 32:
1926 case 33:
1927 case 35:
1928 {
1929 return 58;
1930 }
1931 case 19:
1932 {
1933 return 59;
1934 }
1935 case 28:
1936 case 29:
1937 {
1938 return 60;
1939 }
1940 default:
1941 {
1942 return -1;
1943 }
1944 }
1945 }
1946 case 57:
1947 {
1948 Lexeme prevMatch = token.match;
1949 token.match = lexeme;
1950 int tokenId = GetTokenId(6);
1951 if (tokenId == CONTINUE_TOKEN)
1952 {
1953 token.id = tokenId;
1954 return -1;
1955 }
1956 else if (tokenId != INVALID_TOKEN)
1957 {
1958 token.id = tokenId;
1959 }
1960 else
1961 {
1962 token.match = prevMatch;
1963 }
1964 switch (i)
1965 {
1966 case 13:
1967 case 14:
1968 case 15:
1969 case 16:
1970 case 17:
1971 case 18:
1972 case 22:
1973 case 23:
1974 case 24:
1975 case 25:
1976 case 27:
1977 case 31:
1978 case 32:
1979 case 33:
1980 case 35:
1981 {
1982 return 58;
1983 }
1984 case 19:
1985 {
1986 return 59;
1987 }
1988 case 28:
1989 case 29:
1990 {
1991 return 60;
1992 }
1993 default:
1994 {
1995 return -1;
1996 }
1997 }
1998 }
1999 case 16:
2000 {
2001 Lexeme prevMatch = token.match;
2002 token.match = lexeme;
2003 int tokenId = GetTokenId(22);
2004 if (tokenId == CONTINUE_TOKEN)
2005 {
2006 token.id = tokenId;
2007 return -1;
2008 }
2009 else if (tokenId != INVALID_TOKEN)
2010 {
2011 token.id = tokenId;
2012 }
2013 else
2014 {
2015 token.match = prevMatch;
2016 }
2017 return -1;
2018 }
2019 case 15:
2020 {
2021 switch (i)
2022 {
2023 case 2:
2024 case 3:
2025 case 4:
2026 case 5:
2027 case 6:
2028 case 7:
2029 case 8:
2030 case 9:
2031 case 10:
2032 case 11:
2033 case 12:
2034 case 13:
2035 case 14:
2036 case 15:
2037 case 16:
2038 case 17:
2039 case 18:
2040 case 21:
2041 case 22:
2042 case 23:
2043 case 24:
2044 case 25:
2045 case 26:
2046 case 27:
2047 case 28:
2048 case 29:
2049 case 30:
2050 case 31:
2051 case 32:
2052 case 33:
2053 case 34:
2054 case 35:
2055 case 36:
2056 case 37:
2057 case 38:
2058 case 39:
2059 case 40:
2060 case 41:
2061 case 42:
2062 case 43:
2063 case 44:
2064 case 45:
2065 case 46:
2066 case 47:
2067 case 48:
2068 case 49:
2069 case 50:
2070 case 51:
2071 case 52:
2072 case 53:
2073 {
2074 return 77;
2075 }
2076 case 19:
2077 {
2078 return 78;
2079 }
2080 case 20:
2081 {
2082 return 79;
2083 }
2084 default:
2085 {
2086 return -1;
2087 }
2088 }
2089 }
2090 case 79:
2091 {
2092 Lexeme prevMatch = token.match;
2093 token.match = lexeme;
2094 int tokenId = GetTokenId(7);
2095 if (tokenId == CONTINUE_TOKEN)
2096 {
2097 token.id = tokenId;
2098 return -1;
2099 }
2100 else if (tokenId != INVALID_TOKEN)
2101 {
2102 token.id = tokenId;
2103 }
2104 else
2105 {
2106 token.match = prevMatch;
2107 }
2108 return -1;
2109 }
2110 case 78:
2111 {
2112 switch (i)
2113 {
2114 case 2:
2115 case 19:
2116 case 20:
2117 case 21:
2118 case 22:
2119 case 23:
2120 case 24:
2121 case 25:
2122 case 31:
2123 case 32:
2124 case 33:
2125 {
2126 return 80;
2127 }
2128 case 15:
2129 {
2130 return 81;
2131 }
2132 case 16:
2133 {
2134 return 82;
2135 }
2136 case 18:
2137 {
2138 return 83;
2139 }
2140 case 34:
2141 {
2142 return 84;
2143 }
2144 default:
2145 {
2146 return -1;
2147 }
2148 }
2149 }
2150 case 84:
2151 {
2152 switch (i)
2153 {
2154 case 2:
2155 case 3:
2156 case 4:
2157 case 5:
2158 case 6:
2159 case 7:
2160 case 8:
2161 case 9:
2162 case 10:
2163 case 11:
2164 case 12:
2165 case 13:
2166 case 14:
2167 case 15:
2168 case 16:
2169 case 17:
2170 case 18:
2171 case 21:
2172 case 22:
2173 case 23:
2174 case 24:
2175 case 25:
2176 case 26:
2177 case 27:
2178 case 28:
2179 case 29:
2180 case 30:
2181 case 31:
2182 case 32:
2183 case 33:
2184 case 35:
2185 case 36:
2186 case 37:
2187 case 38:
2188 case 39:
2189 case 40:
2190 case 41:
2191 case 42:
2192 case 43:
2193 case 44:
2194 case 45:
2195 case 46:
2196 case 47:
2197 case 48:
2198 case 49:
2199 case 50:
2200 case 51:
2201 case 52:
2202 case 53:
2203 {
2204 return 77;
2205 }
2206 case 19:
2207 {
2208 return 78;
2209 }
2210 case 20:
2211 {
2212 return 79;
2213 }
2214 case 34:
2215 {
2216 return 85;
2217 }
2218 default:
2219 {
2220 return -1;
2221 }
2222 }
2223 }
2224 case 85:
2225 {
2226 switch (i)
2227 {
2228 case 2:
2229 case 3:
2230 case 4:
2231 case 5:
2232 case 6:
2233 case 7:
2234 case 8:
2235 case 9:
2236 case 10:
2237 case 11:
2238 case 12:
2239 case 13:
2240 case 14:
2241 case 15:
2242 case 16:
2243 case 17:
2244 case 18:
2245 case 21:
2246 case 22:
2247 case 23:
2248 case 24:
2249 case 25:
2250 case 26:
2251 case 27:
2252 case 28:
2253 case 29:
2254 case 30:
2255 case 31:
2256 case 32:
2257 case 33:
2258 case 35:
2259 case 36:
2260 case 37:
2261 case 38:
2262 case 39:
2263 case 40:
2264 case 41:
2265 case 42:
2266 case 43:
2267 case 44:
2268 case 45:
2269 case 46:
2270 case 47:
2271 case 48:
2272 case 49:
2273 case 50:
2274 case 51:
2275 case 52:
2276 case 53:
2277 {
2278 return 77;
2279 }
2280 case 19:
2281 {
2282 return 78;
2283 }
2284 case 20:
2285 {
2286 return 79;
2287 }
2288 case 34:
2289 {
2290 return 86;
2291 }
2292 default:
2293 {
2294 return -1;
2295 }
2296 }
2297 }
2298 case 86:
2299 {
2300 switch (i)
2301 {
2302 case 2:
2303 case 3:
2304 case 4:
2305 case 5:
2306 case 6:
2307 case 7:
2308 case 8:
2309 case 9:
2310 case 10:
2311 case 11:
2312 case 12:
2313 case 13:
2314 case 14:
2315 case 15:
2316 case 16:
2317 case 17:
2318 case 18:
2319 case 21:
2320 case 22:
2321 case 23:
2322 case 24:
2323 case 25:
2324 case 26:
2325 case 27:
2326 case 28:
2327 case 29:
2328 case 30:
2329 case 31:
2330 case 32:
2331 case 33:
2332 case 34:
2333 case 35:
2334 case 36:
2335 case 37:
2336 case 38:
2337 case 39:
2338 case 40:
2339 case 41:
2340 case 42:
2341 case 43:
2342 case 44:
2343 case 45:
2344 case 46:
2345 case 47:
2346 case 48:
2347 case 49:
2348 case 50:
2349 case 51:
2350 case 52:
2351 case 53:
2352 {
2353 return 77;
2354 }
2355 case 19:
2356 {
2357 return 78;
2358 }
2359 case 20:
2360 {
2361 return 79;
2362 }
2363 default:
2364 {
2365 return -1;
2366 }
2367 }
2368 }
2369 case 83:
2370 {
2371 switch (i)
2372 {
2373 case 26:
2374 case 27:
2375 case 28:
2376 case 29:
2377 case 30:
2378 case 31:
2379 case 32:
2380 case 33:
2381 case 34:
2382 {
2383 return 87;
2384 }
2385 default:
2386 {
2387 return -1;
2388 }
2389 }
2390 }
2391 case 87:
2392 {
2393 switch (i)
2394 {
2395 case 2:
2396 case 3:
2397 case 4:
2398 case 5:
2399 case 6:
2400 case 7:
2401 case 8:
2402 case 9:
2403 case 10:
2404 case 11:
2405 case 12:
2406 case 13:
2407 case 14:
2408 case 15:
2409 case 16:
2410 case 17:
2411 case 18:
2412 case 21:
2413 case 22:
2414 case 23:
2415 case 24:
2416 case 25:
2417 case 35:
2418 case 36:
2419 case 37:
2420 case 38:
2421 case 39:
2422 case 40:
2423 case 41:
2424 case 42:
2425 case 43:
2426 case 44:
2427 case 45:
2428 case 46:
2429 case 47:
2430 case 48:
2431 case 49:
2432 case 50:
2433 case 51:
2434 case 52:
2435 case 53:
2436 {
2437 return 77;
2438 }
2439 case 19:
2440 {
2441 return 78;
2442 }
2443 case 20:
2444 {
2445 return 79;
2446 }
2447 case 26:
2448 case 27:
2449 case 28:
2450 case 29:
2451 case 30:
2452 case 31:
2453 case 32:
2454 case 33:
2455 case 34:
2456 {
2457 return 87;
2458 }
2459 default:
2460 {
2461 return -1;
2462 }
2463 }
2464 }
2465 case 82:
2466 {
2467 switch (i)
2468 {
2469 case 26:
2470 case 27:
2471 case 28:
2472 case 29:
2473 case 30:
2474 case 31:
2475 case 32:
2476 case 33:
2477 case 34:
2478 {
2479 return 88;
2480 }
2481 default:
2482 {
2483 return -1;
2484 }
2485 }
2486 }
2487 case 88:
2488 {
2489 switch (i)
2490 {
2491 case 26:
2492 case 27:
2493 case 28:
2494 case 29:
2495 case 30:
2496 case 31:
2497 case 32:
2498 case 33:
2499 case 34:
2500 {
2501 return 89;
2502 }
2503 default:
2504 {
2505 return -1;
2506 }
2507 }
2508 }
2509 case 89:
2510 {
2511 switch (i)
2512 {
2513 case 26:
2514 case 27:
2515 case 28:
2516 case 29:
2517 case 30:
2518 case 31:
2519 case 32:
2520 case 33:
2521 case 34:
2522 {
2523 return 90;
2524 }
2525 default:
2526 {
2527 return -1;
2528 }
2529 }
2530 }
2531 case 90:
2532 {
2533 switch (i)
2534 {
2535 case 26:
2536 case 27:
2537 case 28:
2538 case 29:
2539 case 30:
2540 case 31:
2541 case 32:
2542 case 33:
2543 case 34:
2544 {
2545 return 91;
2546 }
2547 default:
2548 {
2549 return -1;
2550 }
2551 }
2552 }
2553 case 91:
2554 {
2555 switch (i)
2556 {
2557 case 26:
2558 case 27:
2559 case 28:
2560 case 29:
2561 case 30:
2562 case 31:
2563 case 32:
2564 case 33:
2565 case 34:
2566 {
2567 return 92;
2568 }
2569 default:
2570 {
2571 return -1;
2572 }
2573 }
2574 }
2575 case 92:
2576 {
2577 switch (i)
2578 {
2579 case 26:
2580 case 27:
2581 case 28:
2582 case 29:
2583 case 30:
2584 case 31:
2585 case 32:
2586 case 33:
2587 case 34:
2588 {
2589 return 93;
2590 }
2591 default:
2592 {
2593 return -1;
2594 }
2595 }
2596 }
2597 case 93:
2598 {
2599 switch (i)
2600 {
2601 case 26:
2602 case 27:
2603 case 28:
2604 case 29:
2605 case 30:
2606 case 31:
2607 case 32:
2608 case 33:
2609 case 34:
2610 {
2611 return 94;
2612 }
2613 default:
2614 {
2615 return -1;
2616 }
2617 }
2618 }
2619 case 94:
2620 {
2621 switch (i)
2622 {
2623 case 26:
2624 case 27:
2625 case 28:
2626 case 29:
2627 case 30:
2628 case 31:
2629 case 32:
2630 case 33:
2631 case 34:
2632 {
2633 return 95;
2634 }
2635 default:
2636 {
2637 return -1;
2638 }
2639 }
2640 }
2641 case 95:
2642 {
2643 switch (i)
2644 {
2645 case 2:
2646 case 3:
2647 case 4:
2648 case 5:
2649 case 6:
2650 case 7:
2651 case 8:
2652 case 9:
2653 case 10:
2654 case 11:
2655 case 12:
2656 case 13:
2657 case 14:
2658 case 15:
2659 case 16:
2660 case 17:
2661 case 18:
2662 case 21:
2663 case 22:
2664 case 23:
2665 case 24:
2666 case 25:
2667 case 26:
2668 case 27:
2669 case 28:
2670 case 29:
2671 case 30:
2672 case 31:
2673 case 32:
2674 case 33:
2675 case 34:
2676 case 35:
2677 case 36:
2678 case 37:
2679 case 38:
2680 case 39:
2681 case 40:
2682 case 41:
2683 case 42:
2684 case 43:
2685 case 44:
2686 case 45:
2687 case 46:
2688 case 47:
2689 case 48:
2690 case 49:
2691 case 50:
2692 case 51:
2693 case 52:
2694 case 53:
2695 {
2696 return 77;
2697 }
2698 case 19:
2699 {
2700 return 78;
2701 }
2702 case 20:
2703 {
2704 return 79;
2705 }
2706 default:
2707 {
2708 return -1;
2709 }
2710 }
2711 }
2712 case 81:
2713 {
2714 switch (i)
2715 {
2716 case 26:
2717 case 27:
2718 case 28:
2719 case 29:
2720 case 30:
2721 case 31:
2722 case 32:
2723 case 33:
2724 case 34:
2725 {
2726 return 96;
2727 }
2728 default:
2729 {
2730 return -1;
2731 }
2732 }
2733 }
2734 case 96:
2735 {
2736 switch (i)
2737 {
2738 case 26:
2739 case 27:
2740 case 28:
2741 case 29:
2742 case 30:
2743 case 31:
2744 case 32:
2745 case 33:
2746 case 34:
2747 {
2748 return 97;
2749 }
2750 default:
2751 {
2752 return -1;
2753 }
2754 }
2755 }
2756 case 97:
2757 {
2758 switch (i)
2759 {
2760 case 26:
2761 case 27:
2762 case 28:
2763 case 29:
2764 case 30:
2765 case 31:
2766 case 32:
2767 case 33:
2768 case 34:
2769 {
2770 return 98;
2771 }
2772 default:
2773 {
2774 return -1;
2775 }
2776 }
2777 }
2778 case 98:
2779 {
2780 switch (i)
2781 {
2782 case 26:
2783 case 27:
2784 case 28:
2785 case 29:
2786 case 30:
2787 case 31:
2788 case 32:
2789 case 33:
2790 case 34:
2791 {
2792 return 99;
2793 }
2794 default:
2795 {
2796 return -1;
2797 }
2798 }
2799 }
2800 case 99:
2801 {
2802 switch (i)
2803 {
2804 case 2:
2805 case 3:
2806 case 4:
2807 case 5:
2808 case 6:
2809 case 7:
2810 case 8:
2811 case 9:
2812 case 10:
2813 case 11:
2814 case 12:
2815 case 13:
2816 case 14:
2817 case 15:
2818 case 16:
2819 case 17:
2820 case 18:
2821 case 21:
2822 case 22:
2823 case 23:
2824 case 24:
2825 case 25:
2826 case 26:
2827 case 27:
2828 case 28:
2829 case 29:
2830 case 30:
2831 case 31:
2832 case 32:
2833 case 33:
2834 case 34:
2835 case 35:
2836 case 36:
2837 case 37:
2838 case 38:
2839 case 39:
2840 case 40:
2841 case 41:
2842 case 42:
2843 case 43:
2844 case 44:
2845 case 45:
2846 case 46:
2847 case 47:
2848 case 48:
2849 case 49:
2850 case 50:
2851 case 51:
2852 case 52:
2853 case 53:
2854 {
2855 return 77;
2856 }
2857 case 19:
2858 {
2859 return 78;
2860 }
2861 case 20:
2862 {
2863 return 79;
2864 }
2865 default:
2866 {
2867 return -1;
2868 }
2869 }
2870 }
2871 case 80:
2872 {
2873 switch (i)
2874 {
2875 case 2:
2876 case 3:
2877 case 4:
2878 case 5:
2879 case 6:
2880 case 7:
2881 case 8:
2882 case 9:
2883 case 10:
2884 case 11:
2885 case 12:
2886 case 13:
2887 case 14:
2888 case 15:
2889 case 16:
2890 case 17:
2891 case 18:
2892 case 21:
2893 case 22:
2894 case 23:
2895 case 24:
2896 case 25:
2897 case 26:
2898 case 27:
2899 case 28:
2900 case 29:
2901 case 30:
2902 case 31:
2903 case 32:
2904 case 33:
2905 case 34:
2906 case 35:
2907 case 36:
2908 case 37:
2909 case 38:
2910 case 39:
2911 case 40:
2912 case 41:
2913 case 42:
2914 case 43:
2915 case 44:
2916 case 45:
2917 case 46:
2918 case 47:
2919 case 48:
2920 case 49:
2921 case 50:
2922 case 51:
2923 case 52:
2924 case 53:
2925 {
2926 return 77;
2927 }
2928 case 19:
2929 {
2930 return 78;
2931 }
2932 case 20:
2933 {
2934 return 79;
2935 }
2936 default:
2937 {
2938 return -1;
2939 }
2940 }
2941 }
2942 case 77:
2943 {
2944 switch (i)
2945 {
2946 case 2:
2947 case 3:
2948 case 4:
2949 case 5:
2950 case 6:
2951 case 7:
2952 case 8:
2953 case 9:
2954 case 10:
2955 case 11:
2956 case 12:
2957 case 13:
2958 case 14:
2959 case 15:
2960 case 16:
2961 case 17:
2962 case 18:
2963 case 21:
2964 case 22:
2965 case 23:
2966 case 24:
2967 case 25:
2968 case 26:
2969 case 27:
2970 case 28:
2971 case 29:
2972 case 30:
2973 case 31:
2974 case 32:
2975 case 33:
2976 case 34:
2977 case 35:
2978 case 36:
2979 case 37:
2980 case 38:
2981 case 39:
2982 case 40:
2983 case 41:
2984 case 42:
2985 case 43:
2986 case 44:
2987 case 45:
2988 case 46:
2989 case 47:
2990 case 48:
2991 case 49:
2992 case 50:
2993 case 51:
2994 case 52:
2995 case 53:
2996 {
2997 return 77;
2998 }
2999 case 19:
3000 {
3001 return 78;
3002 }
3003 case 20:
3004 {
3005 return 79;
3006 }
3007 default:
3008 {
3009 return -1;
3010 }
3011 }
3012 }
3013 case 14:
3014 {
3015 switch (i)
3016 {
3017 case 0:
3018 {
3019 return 100;
3020 }
3021 case 1:
3022 {
3023 return 101;
3024 }
3025 default:
3026 {
3027 return -1;
3028 }
3029 }
3030 }
3031 case 101:
3032 {
3033 Lexeme prevMatch = token.match;
3034 token.match = lexeme;
3035 int tokenId = GetTokenId(1);
3036 if (tokenId == CONTINUE_TOKEN)
3037 {
3038 token.id = tokenId;
3039 return -1;
3040 }
3041 else if (tokenId != INVALID_TOKEN)
3042 {
3043 token.id = tokenId;
3044 }
3045 else
3046 {
3047 token.match = prevMatch;
3048 }
3049 return -1;
3050 }
3051 case 100:
3052 {
3053 Lexeme prevMatch = token.match;
3054 token.match = lexeme;
3055 int tokenId = GetTokenId(1);
3056 if (tokenId == CONTINUE_TOKEN)
3057 {
3058 token.id = tokenId;
3059 return -1;
3060 }
3061 else if (tokenId != INVALID_TOKEN)
3062 {
3063 token.id = tokenId;
3064 }
3065 else
3066 {
3067 token.match = prevMatch;
3068 }
3069 switch (i)
3070 {
3071 case 1:
3072 {
3073 return 102;
3074 }
3075 default:
3076 {
3077 return -1;
3078 }
3079 }
3080 }
3081 case 102:
3082 {
3083 Lexeme prevMatch = token.match;
3084 token.match = lexeme;
3085 int tokenId = GetTokenId(1);
3086 if (tokenId == CONTINUE_TOKEN)
3087 {
3088 token.id = tokenId;
3089 return -1;
3090 }
3091 else if (tokenId != INVALID_TOKEN)
3092 {
3093 token.id = tokenId;
3094 }
3095 else
3096 {
3097 token.match = prevMatch;
3098 }
3099 return -1;
3100 }
3101 case 13:
3102 {
3103 Lexeme prevMatch = token.match;
3104 token.match = lexeme;
3105 int tokenId = GetTokenId(5);
3106 if (tokenId == CONTINUE_TOKEN)
3107 {
3108 token.id = tokenId;
3109 return -1;
3110 }
3111 else if (tokenId != INVALID_TOKEN)
3112 {
3113 token.id = tokenId;
3114 }
3115 else
3116 {
3117 token.match = prevMatch;
3118 }
3119 switch (i)
3120 {
3121 case 2:
3122 {
3123 return 3;
3124 }
3125 case 20:
3126 {
3127 return 15;
3128 }
3129 case 5:
3130 case 6:
3131 case 13:
3132 case 14:
3133 case 15:
3134 case 16:
3135 case 17:
3136 case 18:
3137 case 22:
3138 case 23:
3139 case 24:
3140 case 25:
3141 case 26:
3142 case 27:
3143 case 28:
3144 case 29:
3145 case 30:
3146 case 31:
3147 case 32:
3148 case 33:
3149 case 34:
3150 {
3151 return 54;
3152 }
3153 case 35:
3154 {
3155 return 103;
3156 }
3157 default:
3158 {
3159 return -1;
3160 }
3161 }
3162 }
3163 case 103:
3164 {
3165 Lexeme prevMatch = token.match;
3166 token.match = lexeme;
3167 int tokenId = GetTokenId(5);
3168 if (tokenId == CONTINUE_TOKEN)
3169 {
3170 token.id = tokenId;
3171 return -1;
3172 }
3173 else if (tokenId != INVALID_TOKEN)
3174 {
3175 token.id = tokenId;
3176 }
3177 else
3178 {
3179 token.match = prevMatch;
3180 }
3181 switch (i)
3182 {
3183 case 2:
3184 {
3185 return 53;
3186 }
3187 case 5:
3188 case 6:
3189 case 13:
3190 case 14:
3191 case 15:
3192 case 16:
3193 case 17:
3194 case 18:
3195 case 22:
3196 case 23:
3197 case 24:
3198 case 25:
3199 case 26:
3200 case 27:
3201 case 28:
3202 case 29:
3203 case 30:
3204 case 31:
3205 case 32:
3206 case 33:
3207 case 34:
3208 case 35:
3209 {
3210 return 54;
3211 }
3212 default:
3213 {
3214 return -1;
3215 }
3216 }
3217 }
3218 case 12:
3219 {
3220 Lexeme prevMatch = token.match;
3221 token.match = lexeme;
3222 int tokenId = GetTokenId(5);
3223 if (tokenId == CONTINUE_TOKEN)
3224 {
3225 token.id = tokenId;
3226 return -1;
3227 }
3228 else if (tokenId != INVALID_TOKEN)
3229 {
3230 token.id = tokenId;
3231 }
3232 else
3233 {
3234 token.match = prevMatch;
3235 }
3236 switch (i)
3237 {
3238 case 2:
3239 {
3240 return 3;
3241 }
3242 case 20:
3243 {
3244 return 15;
3245 }
3246 case 5:
3247 case 6:
3248 case 13:
3249 case 14:
3250 case 15:
3251 case 16:
3252 case 17:
3253 case 18:
3254 case 22:
3255 case 23:
3256 case 24:
3257 case 25:
3258 case 26:
3259 case 27:
3260 case 28:
3261 case 29:
3262 case 30:
3263 case 31:
3264 case 32:
3265 case 33:
3266 case 34:
3267 {
3268 return 54;
3269 }
3270 case 35:
3271 {
3272 return 103;
3273 }
3274 default:
3275 {
3276 return -1;
3277 }
3278 }
3279 }
3280 case 11:
3281 {
3282 Lexeme prevMatch = token.match;
3283 token.match = lexeme;
3284 int tokenId = GetTokenId(5);
3285 if (tokenId == CONTINUE_TOKEN)
3286 {
3287 token.id = tokenId;
3288 return -1;
3289 }
3290 else if (tokenId != INVALID_TOKEN)
3291 {
3292 token.id = tokenId;
3293 }
3294 else
3295 {
3296 token.match = prevMatch;
3297 }
3298 switch (i)
3299 {
3300 case 2:
3301 {
3302 return 3;
3303 }
3304 case 20:
3305 {
3306 return 15;
3307 }
3308 case 5:
3309 case 6:
3310 case 13:
3311 case 14:
3312 case 15:
3313 case 16:
3314 case 17:
3315 case 18:
3316 case 22:
3317 case 23:
3318 case 24:
3319 case 25:
3320 case 26:
3321 case 27:
3322 case 28:
3323 case 29:
3324 case 31:
3325 case 32:
3326 case 33:
3327 case 34:
3328 {
3329 return 54;
3330 }
3331 case 35:
3332 {
3333 return 103;
3334 }
3335 case 30:
3336 {
3337 return 104;
3338 }
3339 default:
3340 {
3341 return -1;
3342 }
3343 }
3344 }
3345 case 104:
3346 {
3347 Lexeme prevMatch = token.match;
3348 token.match = lexeme;
3349 int tokenId = GetTokenId(5);
3350 if (tokenId == CONTINUE_TOKEN)
3351 {
3352 token.id = tokenId;
3353 return -1;
3354 }
3355 else if (tokenId != INVALID_TOKEN)
3356 {
3357 token.id = tokenId;
3358 }
3359 else
3360 {
3361 token.match = prevMatch;
3362 }
3363 switch (i)
3364 {
3365 case 2:
3366 {
3367 return 3;
3368 }
3369 case 5:
3370 case 6:
3371 case 13:
3372 case 14:
3373 case 15:
3374 case 16:
3375 case 17:
3376 case 18:
3377 case 22:
3378 case 23:
3379 case 24:
3380 case 25:
3381 case 26:
3382 case 27:
3383 case 28:
3384 case 29:
3385 case 30:
3386 case 31:
3387 case 32:
3388 case 33:
3389 case 34:
3390 {
3391 return 54;
3392 }
3393 case 35:
3394 {
3395 return 103;
3396 }
3397 default:
3398 {
3399 return -1;
3400 }
3401 }
3402 }
3403 case 10:
3404 {
3405 Lexeme prevMatch = token.match;
3406 token.match = lexeme;
3407 int tokenId = GetTokenId(39);
3408 if (tokenId == CONTINUE_TOKEN)
3409 {
3410 token.id = tokenId;
3411 return -1;
3412 }
3413 else if (tokenId != INVALID_TOKEN)
3414 {
3415 token.id = tokenId;
3416 }
3417 else
3418 {
3419 token.match = prevMatch;
3420 }
3421 switch (i)
3422 {
3423 case 12:
3424 {
3425 return 105;
3426 }
3427 case 38:
3428 {
3429 return 106;
3430 }
3431 case 40:
3432 {
3433 return 107;
3434 }
3435 default:
3436 {
3437 return -1;
3438 }
3439 }
3440 }
3441 case 107:
3442 {
3443 Lexeme prevMatch = token.match;
3444 token.match = lexeme;
3445 int tokenId = GetTokenId(54);
3446 if (tokenId == CONTINUE_TOKEN)
3447 {
3448 token.id = tokenId;
3449 return -1;
3450 }
3451 else if (tokenId != INVALID_TOKEN)
3452 {
3453 token.id = tokenId;
3454 }
3455 else
3456 {
3457 token.match = prevMatch;
3458 }
3459 switch (i)
3460 {
3461 case 4:
3462 {
3463 return 108;
3464 }
3465 default:
3466 {
3467 return -1;
3468 }
3469 }
3470 }
3471 case 108:
3472 {
3473 Lexeme prevMatch = token.match;
3474 token.match = lexeme;
3475 int tokenId = GetTokenId(44);
3476 if (tokenId == CONTINUE_TOKEN)
3477 {
3478 token.id = tokenId;
3479 return -1;
3480 }
3481 else if (tokenId != INVALID_TOKEN)
3482 {
3483 token.id = tokenId;
3484 }
3485 else
3486 {
3487 token.match = prevMatch;
3488 }
3489 return -1;
3490 }
3491 case 106:
3492 {
3493 Lexeme prevMatch = token.match;
3494 token.match = lexeme;
3495 int tokenId = GetTokenId(16);
3496 if (tokenId == CONTINUE_TOKEN)
3497 {
3498 token.id = tokenId;
3499 return -1;
3500 }
3501 else if (tokenId != INVALID_TOKEN)
3502 {
3503 token.id = tokenId;
3504 }
3505 else
3506 {
3507 token.match = prevMatch;
3508 }
3509 return -1;
3510 }
3511 case 105:
3512 {
3513 Lexeme prevMatch = token.match;
3514 token.match = lexeme;
3515 int tokenId = GetTokenId(48);
3516 if (tokenId == CONTINUE_TOKEN)
3517 {
3518 token.id = tokenId;
3519 return -1;
3520 }
3521 else if (tokenId != INVALID_TOKEN)
3522 {
3523 token.id = tokenId;
3524 }
3525 else
3526 {
3527 token.match = prevMatch;
3528 }
3529 return -1;
3530 }
3531 case 9:
3532 {
3533 Lexeme prevMatch = token.match;
3534 token.match = lexeme;
3535 int tokenId = GetTokenId(38);
3536 if (tokenId == CONTINUE_TOKEN)
3537 {
3538 token.id = tokenId;
3539 return -1;
3540 }
3541 else if (tokenId != INVALID_TOKEN)
3542 {
3543 token.id = tokenId;
3544 }
3545 else
3546 {
3547 token.match = prevMatch;
3548 }
3549 switch (i)
3550 {
3551 case 11:
3552 {
3553 return 109;
3554 }
3555 case 38:
3556 {
3557 return 110;
3558 }
3559 default:
3560 {
3561 return -1;
3562 }
3563 }
3564 }
3565 case 110:
3566 {
3567 Lexeme prevMatch = token.match;
3568 token.match = lexeme;
3569 int tokenId = GetTokenId(15);
3570 if (tokenId == CONTINUE_TOKEN)
3571 {
3572 token.id = tokenId;
3573 return -1;
3574 }
3575 else if (tokenId != INVALID_TOKEN)
3576 {
3577 token.id = tokenId;
3578 }
3579 else
3580 {
3581 token.match = prevMatch;
3582 }
3583 return -1;
3584 }
3585 case 109:
3586 {
3587 Lexeme prevMatch = token.match;
3588 token.match = lexeme;
3589 int tokenId = GetTokenId(47);
3590 if (tokenId == CONTINUE_TOKEN)
3591 {
3592 token.id = tokenId;
3593 return -1;
3594 }
3595 else if (tokenId != INVALID_TOKEN)
3596 {
3597 token.id = tokenId;
3598 }
3599 else
3600 {
3601 token.match = prevMatch;
3602 }
3603 return -1;
3604 }
3605 case 8:
3606 {
3607 Lexeme prevMatch = token.match;
3608 token.match = lexeme;
3609 int tokenId = GetTokenId(53);
3610 if (tokenId == CONTINUE_TOKEN)
3611 {
3612 token.id = tokenId;
3613 return -1;
3614 }
3615 else if (tokenId != INVALID_TOKEN)
3616 {
3617 token.id = tokenId;
3618 }
3619 else
3620 {
3621 token.match = prevMatch;
3622 }
3623 switch (i)
3624 {
3625 case 4:
3626 {
3627 return 111;
3628 }
3629 case 10:
3630 {
3631 return 112;
3632 }
3633 case 26:
3634 case 30:
3635 case 34:
3636 {
3637 return 113;
3638 }
3639 default:
3640 {
3641 return -1;
3642 }
3643 }
3644 }
3645 case 113:
3646 {
3647 Lexeme prevMatch = token.match;
3648 token.match = lexeme;
3649 int tokenId = GetTokenId(6);
3650 if (tokenId == CONTINUE_TOKEN)
3651 {
3652 token.id = tokenId;
3653 return -1;
3654 }
3655 else if (tokenId != INVALID_TOKEN)
3656 {
3657 token.id = tokenId;
3658 }
3659 else
3660 {
3661 token.match = prevMatch;
3662 }
3663 switch (i)
3664 {
3665 case 13:
3666 case 14:
3667 case 15:
3668 case 16:
3669 case 17:
3670 case 18:
3671 case 22:
3672 case 23:
3673 case 24:
3674 case 25:
3675 case 27:
3676 case 31:
3677 case 32:
3678 case 33:
3679 case 35:
3680 {
3681 return 58;
3682 }
3683 case 19:
3684 {
3685 return 59;
3686 }
3687 case 28:
3688 case 29:
3689 {
3690 return 60;
3691 }
3692 case 26:
3693 case 30:
3694 case 34:
3695 {
3696 return 113;
3697 }
3698 default:
3699 {
3700 return -1;
3701 }
3702 }
3703 }
3704 case 112:
3705 {
3706 switch (i)
3707 {
3708 case 10:
3709 {
3710 return 114;
3711 }
3712 default:
3713 {
3714 return -1;
3715 }
3716 }
3717 }
3718 case 114:
3719 {
3720 Lexeme prevMatch = token.match;
3721 token.match = lexeme;
3722 int tokenId = GetTokenId(56);
3723 if (tokenId == CONTINUE_TOKEN)
3724 {
3725 token.id = tokenId;
3726 return -1;
3727 }
3728 else if (tokenId != INVALID_TOKEN)
3729 {
3730 token.id = tokenId;
3731 }
3732 else
3733 {
3734 token.match = prevMatch;
3735 }
3736 return -1;
3737 }
3738 case 111:
3739 {
3740 Lexeme prevMatch = token.match;
3741 token.match = lexeme;
3742 int tokenId = GetTokenId(43);
3743 if (tokenId == CONTINUE_TOKEN)
3744 {
3745 token.id = tokenId;
3746 return -1;
3747 }
3748 else if (tokenId != INVALID_TOKEN)
3749 {
3750 token.id = tokenId;
3751 }
3752 else
3753 {
3754 token.match = prevMatch;
3755 }
3756 return -1;
3757 }
3758 case 7:
3759 {
3760 Lexeme prevMatch = token.match;
3761 token.match = lexeme;
3762 int tokenId = GetTokenId(0);
3763 if (tokenId == CONTINUE_TOKEN)
3764 {
3765 token.id = tokenId;
3766 return -1;
3767 }
3768 else if (tokenId != INVALID_TOKEN)
3769 {
3770 token.id = tokenId;
3771 }
3772 else
3773 {
3774 token.match = prevMatch;
3775 }
3776 switch (i)
3777 {
3778 case 7:
3779 case 8:
3780 {
3781 return 7;
3782 }
3783 default:
3784 {
3785 return -1;
3786 }
3787 }
3788 }
3789 case 6:
3790 {
3791 Lexeme prevMatch = token.match;
3792 token.match = lexeme;
3793 int tokenId = GetTokenId(5);
3794 if (tokenId == CONTINUE_TOKEN)
3795 {
3796 token.id = tokenId;
3797 return -1;
3798 }
3799 else if (tokenId != INVALID_TOKEN)
3800 {
3801 token.id = tokenId;
3802 }
3803 else
3804 {
3805 token.match = prevMatch;
3806 }
3807 switch (i)
3808 {
3809 case 5:
3810 case 6:
3811 case 13:
3812 case 14:
3813 case 15:
3814 case 16:
3815 case 17:
3816 case 18:
3817 case 22:
3818 case 23:
3819 case 24:
3820 case 25:
3821 case 26:
3822 case 27:
3823 case 28:
3824 case 29:
3825 case 30:
3826 case 31:
3827 case 32:
3828 case 33:
3829 case 34:
3830 case 35:
3831 {
3832 return 54;
3833 }
3834 default:
3835 {
3836 return -1;
3837 }
3838 }
3839 }
3840 case 5:
3841 {
3842 Lexeme prevMatch = token.match;
3843 token.match = lexeme;
3844 int tokenId = GetTokenId(40);
3845 if (tokenId == CONTINUE_TOKEN)
3846 {
3847 token.id = tokenId;
3848 return -1;
3849 }
3850 else if (tokenId != INVALID_TOKEN)
3851 {
3852 token.id = tokenId;
3853 }
3854 else
3855 {
3856 token.match = prevMatch;
3857 }
3858 switch (i)
3859 {
3860 case 38:
3861 {
3862 return 115;
3863 }
3864 default:
3865 {
3866 return -1;
3867 }
3868 }
3869 }
3870 case 115:
3871 {
3872 Lexeme prevMatch = token.match;
3873 token.match = lexeme;
3874 int tokenId = GetTokenId(12);
3875 if (tokenId == CONTINUE_TOKEN)
3876 {
3877 token.id = tokenId;
3878 return -1;
3879 }
3880 else if (tokenId != INVALID_TOKEN)
3881 {
3882 token.id = tokenId;
3883 }
3884 else
3885 {
3886 token.match = prevMatch;
3887 }
3888 return -1;
3889 }
3890 case 4:
3891 {
3892 Lexeme prevMatch = token.match;
3893 token.match = lexeme;
3894 int tokenId = GetTokenId(41);
3895 if (tokenId == CONTINUE_TOKEN)
3896 {
3897 token.id = tokenId;
3898 return -1;
3899 }
3900 else if (tokenId != INVALID_TOKEN)
3901 {
3902 token.id = tokenId;
3903 }
3904 else
3905 {
3906 token.match = prevMatch;
3907 }
3908 switch (i)
3909 {
3910 case 3:
3911 {
3912 return 116;
3913 }
3914 case 4:
3915 {
3916 return 117;
3917 }
3918 case 38:
3919 {
3920 return 118;
3921 }
3922 default:
3923 {
3924 return -1;
3925 }
3926 }
3927 }
3928 case 118:
3929 {
3930 Lexeme prevMatch = token.match;
3931 token.match = lexeme;
3932 int tokenId = GetTokenId(13);
3933 if (tokenId == CONTINUE_TOKEN)
3934 {
3935 token.id = tokenId;
3936 return -1;
3937 }
3938 else if (tokenId != INVALID_TOKEN)
3939 {
3940 token.id = tokenId;
3941 }
3942 else
3943 {
3944 token.match = prevMatch;
3945 }
3946 return -1;
3947 }
3948 case 117:
3949 {
3950 switch (i)
3951 {
3952 case 0:
3953 case 1:
3954 case 2:
3955 case 3:
3956 case 5:
3957 case 6:
3958 case 7:
3959 case 8:
3960 case 9:
3961 case 10:
3962 case 11:
3963 case 12:
3964 case 13:
3965 case 14:
3966 case 15:
3967 case 16:
3968 case 17:
3969 case 18:
3970 case 19:
3971 case 20:
3972 case 21:
3973 case 22:
3974 case 23:
3975 case 24:
3976 case 25:
3977 case 26:
3978 case 27:
3979 case 28:
3980 case 29:
3981 case 30:
3982 case 31:
3983 case 32:
3984 case 33:
3985 case 34:
3986 case 35:
3987 case 36:
3988 case 37:
3989 case 38:
3990 case 39:
3991 case 40:
3992 case 41:
3993 case 42:
3994 case 43:
3995 case 44:
3996 case 45:
3997 case 46:
3998 case 47:
3999 case 48:
4000 case 49:
4001 case 50:
4002 case 51:
4003 case 52:
4004 case 53:
4005 {
4006 return 119;
4007 }
4008 case 4:
4009 {
4010 return 120;
4011 }
4012 default:
4013 {
4014 return -1;
4015 }
4016 }
4017 }
4018 case 120:
4019 {
4020 switch (i)
4021 {
4022 case 4:
4023 {
4024 return 120;
4025 }
4026 case 0:
4027 case 1:
4028 case 2:
4029 case 5:
4030 case 6:
4031 case 7:
4032 case 8:
4033 case 9:
4034 case 10:
4035 case 11:
4036 case 12:
4037 case 13:
4038 case 14:
4039 case 15:
4040 case 16:
4041 case 17:
4042 case 18:
4043 case 19:
4044 case 20:
4045 case 21:
4046 case 22:
4047 case 23:
4048 case 24:
4049 case 25:
4050 case 26:
4051 case 27:
4052 case 28:
4053 case 29:
4054 case 30:
4055 case 31:
4056 case 32:
4057 case 33:
4058 case 34:
4059 case 35:
4060 case 36:
4061 case 37:
4062 case 38:
4063 case 39:
4064 case 40:
4065 case 41:
4066 case 42:
4067 case 43:
4068 case 44:
4069 case 45:
4070 case 46:
4071 case 47:
4072 case 48:
4073 case 49:
4074 case 50:
4075 case 51:
4076 case 52:
4077 case 53:
4078 {
4079 return 121;
4080 }
4081 case 3:
4082 {
4083 return 122;
4084 }
4085 default:
4086 {
4087 return -1;
4088 }
4089 }
4090 }
4091 case 122:
4092 {
4093 Lexeme prevMatch = token.match;
4094 token.match = lexeme;
4095 int tokenId = GetTokenId(2);
4096 if (tokenId == CONTINUE_TOKEN)
4097 {
4098 token.id = tokenId;
4099 return -1;
4100 }
4101 else if (tokenId != INVALID_TOKEN)
4102 {
4103 token.id = tokenId;
4104 }
4105 else
4106 {
4107 token.match = prevMatch;
4108 }
4109 switch (i)
4110 {
4111 case 0:
4112 case 1:
4113 case 2:
4114 case 3:
4115 case 5:
4116 case 6:
4117 case 7:
4118 case 8:
4119 case 9:
4120 case 10:
4121 case 11:
4122 case 12:
4123 case 13:
4124 case 14:
4125 case 15:
4126 case 16:
4127 case 17:
4128 case 18:
4129 case 19:
4130 case 20:
4131 case 21:
4132 case 22:
4133 case 23:
4134 case 24:
4135 case 25:
4136 case 26:
4137 case 27:
4138 case 28:
4139 case 29:
4140 case 30:
4141 case 31:
4142 case 32:
4143 case 33:
4144 case 34:
4145 case 35:
4146 case 36:
4147 case 37:
4148 case 38:
4149 case 39:
4150 case 40:
4151 case 41:
4152 case 42:
4153 case 43:
4154 case 44:
4155 case 45:
4156 case 46:
4157 case 47:
4158 case 48:
4159 case 49:
4160 case 50:
4161 case 51:
4162 case 52:
4163 case 53:
4164 {
4165 return 119;
4166 }
4167 case 4:
4168 {
4169 return 120;
4170 }
4171 default:
4172 {
4173 return -1;
4174 }
4175 }
4176 }
4177 case 121:
4178 {
4179 switch (i)
4180 {
4181 case 0:
4182 case 1:
4183 case 2:
4184 case 3:
4185 case 5:
4186 case 6:
4187 case 7:
4188 case 8:
4189 case 9:
4190 case 10:
4191 case 11:
4192 case 12:
4193 case 13:
4194 case 14:
4195 case 15:
4196 case 16:
4197 case 17:
4198 case 18:
4199 case 19:
4200 case 20:
4201 case 21:
4202 case 22:
4203 case 23:
4204 case 24:
4205 case 25:
4206 case 26:
4207 case 27:
4208 case 28:
4209 case 29:
4210 case 30:
4211 case 31:
4212 case 32:
4213 case 33:
4214 case 34:
4215 case 35:
4216 case 36:
4217 case 37:
4218 case 38:
4219 case 39:
4220 case 40:
4221 case 41:
4222 case 42:
4223 case 43:
4224 case 44:
4225 case 45:
4226 case 46:
4227 case 47:
4228 case 48:
4229 case 49:
4230 case 50:
4231 case 51:
4232 case 52:
4233 case 53:
4234 {
4235 return 119;
4236 }
4237 case 4:
4238 {
4239 return 120;
4240 }
4241 default:
4242 {
4243 return -1;
4244 }
4245 }
4246 }
4247 case 119:
4248 {
4249 switch (i)
4250 {
4251 case 0:
4252 case 1:
4253 case 2:
4254 case 3:
4255 case 5:
4256 case 6:
4257 case 7:
4258 case 8:
4259 case 9:
4260 case 10:
4261 case 11:
4262 case 12:
4263 case 13:
4264 case 14:
4265 case 15:
4266 case 16:
4267 case 17:
4268 case 18:
4269 case 19:
4270 case 20:
4271 case 21:
4272 case 22:
4273 case 23:
4274 case 24:
4275 case 25:
4276 case 26:
4277 case 27:
4278 case 28:
4279 case 29:
4280 case 30:
4281 case 31:
4282 case 32:
4283 case 33:
4284 case 34:
4285 case 35:
4286 case 36:
4287 case 37:
4288 case 38:
4289 case 39:
4290 case 40:
4291 case 41:
4292 case 42:
4293 case 43:
4294 case 44:
4295 case 45:
4296 case 46:
4297 case 47:
4298 case 48:
4299 case 49:
4300 case 50:
4301 case 51:
4302 case 52:
4303 case 53:
4304 {
4305 return 119;
4306 }
4307 case 4:
4308 {
4309 return 120;
4310 }
4311 default:
4312 {
4313 return -1;
4314 }
4315 }
4316 }
4317 case 116:
4318 {
4319 switch (i)
4320 {
4321 case 0:
4322 {
4323 return 123;
4324 }
4325 case 1:
4326 {
4327 return 124;
4328 }
4329 case 2:
4330 case 3:
4331 case 4:
4332 case 5:
4333 case 6:
4334 case 7:
4335 case 8:
4336 case 9:
4337 case 10:
4338 case 11:
4339 case 12:
4340 case 13:
4341 case 14:
4342 case 15:
4343 case 16:
4344 case 17:
4345 case 18:
4346 case 19:
4347 case 20:
4348 case 21:
4349 case 22:
4350 case 23:
4351 case 24:
4352 case 25:
4353 case 26:
4354 case 27:
4355 case 28:
4356 case 29:
4357 case 30:
4358 case 31:
4359 case 32:
4360 case 33:
4361 case 34:
4362 case 35:
4363 case 36:
4364 case 37:
4365 case 38:
4366 case 39:
4367 case 40:
4368 case 41:
4369 case 42:
4370 case 43:
4371 case 44:
4372 case 45:
4373 case 46:
4374 case 47:
4375 case 48:
4376 case 49:
4377 case 50:
4378 case 51:
4379 case 52:
4380 case 53:
4381 {
4382 return 125;
4383 }
4384 default:
4385 {
4386 return -1;
4387 }
4388 }
4389 }
4390 case 125:
4391 {
4392 switch (i)
4393 {
4394 case 0:
4395 {
4396 return 123;
4397 }
4398 case 1:
4399 {
4400 return 124;
4401 }
4402 case 2:
4403 case 3:
4404 case 4:
4405 case 5:
4406 case 6:
4407 case 7:
4408 case 8:
4409 case 9:
4410 case 10:
4411 case 11:
4412 case 12:
4413 case 13:
4414 case 14:
4415 case 15:
4416 case 16:
4417 case 17:
4418 case 18:
4419 case 19:
4420 case 20:
4421 case 21:
4422 case 22:
4423 case 23:
4424 case 24:
4425 case 25:
4426 case 26:
4427 case 27:
4428 case 28:
4429 case 29:
4430 case 30:
4431 case 31:
4432 case 32:
4433 case 33:
4434 case 34:
4435 case 35:
4436 case 36:
4437 case 37:
4438 case 38:
4439 case 39:
4440 case 40:
4441 case 41:
4442 case 42:
4443 case 43:
4444 case 44:
4445 case 45:
4446 case 46:
4447 case 47:
4448 case 48:
4449 case 49:
4450 case 50:
4451 case 51:
4452 case 52:
4453 case 53:
4454 {
4455 return 125;
4456 }
4457 default:
4458 {
4459 return -1;
4460 }
4461 }
4462 }
4463 case 124:
4464 {
4465 Lexeme prevMatch = token.match;
4466 token.match = lexeme;
4467 int tokenId = GetTokenId(3);
4468 if (tokenId == CONTINUE_TOKEN)
4469 {
4470 token.id = tokenId;
4471 return -1;
4472 }
4473 else if (tokenId != INVALID_TOKEN)
4474 {
4475 token.id = tokenId;
4476 }
4477 else
4478 {
4479 token.match = prevMatch;
4480 }
4481 return -1;
4482 }
4483 case 123:
4484 {
4485 Lexeme prevMatch = token.match;
4486 token.match = lexeme;
4487 int tokenId = GetTokenId(3);
4488 if (tokenId == CONTINUE_TOKEN)
4489 {
4490 token.id = tokenId;
4491 return -1;
4492 }
4493 else if (tokenId != INVALID_TOKEN)
4494 {
4495 token.id = tokenId;
4496 }
4497 else
4498 {
4499 token.match = prevMatch;
4500 }
4501 switch (i)
4502 {
4503 case 1:
4504 {
4505 return 126;
4506 }
4507 default:
4508 {
4509 return -1;
4510 }
4511 }
4512 }
4513 case 126:
4514 {
4515 Lexeme prevMatch = token.match;
4516 token.match = lexeme;
4517 int tokenId = GetTokenId(3);
4518 if (tokenId == CONTINUE_TOKEN)
4519 {
4520 token.id = tokenId;
4521 return -1;
4522 }
4523 else if (tokenId != INVALID_TOKEN)
4524 {
4525 token.id = tokenId;
4526 }
4527 else
4528 {
4529 token.match = prevMatch;
4530 }
4531 return -1;
4532 }
4533 case 3:
4534 {
4535 switch (i)
4536 {
4537 case 2:
4538 {
4539 return 127;
4540 }
4541 case 3:
4542 case 4:
4543 case 5:
4544 case 6:
4545 case 7:
4546 case 8:
4547 case 9:
4548 case 10:
4549 case 11:
4550 case 12:
4551 case 13:
4552 case 14:
4553 case 15:
4554 case 16:
4555 case 17:
4556 case 18:
4557 case 20:
4558 case 21:
4559 case 22:
4560 case 23:
4561 case 24:
4562 case 25:
4563 case 26:
4564 case 27:
4565 case 28:
4566 case 29:
4567 case 30:
4568 case 31:
4569 case 32:
4570 case 33:
4571 case 34:
4572 case 35:
4573 case 36:
4574 case 37:
4575 case 38:
4576 case 39:
4577 case 40:
4578 case 41:
4579 case 42:
4580 case 43:
4581 case 44:
4582 case 45:
4583 case 46:
4584 case 47:
4585 case 48:
4586 case 49:
4587 case 50:
4588 case 51:
4589 case 52:
4590 case 53:
4591 {
4592 return 128;
4593 }
4594 case 19:
4595 {
4596 return 129;
4597 }
4598 default:
4599 {
4600 return -1;
4601 }
4602 }
4603 }
4604 case 129:
4605 {
4606 switch (i)
4607 {
4608 case 2:
4609 case 19:
4610 case 20:
4611 case 21:
4612 case 22:
4613 case 23:
4614 case 24:
4615 case 25:
4616 case 31:
4617 case 32:
4618 case 33:
4619 {
4620 return 130;
4621 }
4622 case 15:
4623 {
4624 return 131;
4625 }
4626 case 16:
4627 {
4628 return 132;
4629 }
4630 case 18:
4631 {
4632 return 133;
4633 }
4634 case 34:
4635 {
4636 return 134;
4637 }
4638 default:
4639 {
4640 return -1;
4641 }
4642 }
4643 }
4644 case 134:
4645 {
4646 switch (i)
4647 {
4648 case 2:
4649 {
4650 return 127;
4651 }
4652 case 3:
4653 case 4:
4654 case 5:
4655 case 6:
4656 case 7:
4657 case 8:
4658 case 9:
4659 case 10:
4660 case 11:
4661 case 12:
4662 case 13:
4663 case 14:
4664 case 15:
4665 case 16:
4666 case 17:
4667 case 18:
4668 case 20:
4669 case 21:
4670 case 22:
4671 case 23:
4672 case 24:
4673 case 25:
4674 case 26:
4675 case 27:
4676 case 28:
4677 case 29:
4678 case 30:
4679 case 31:
4680 case 32:
4681 case 33:
4682 case 35:
4683 case 36:
4684 case 37:
4685 case 38:
4686 case 39:
4687 case 40:
4688 case 41:
4689 case 42:
4690 case 43:
4691 case 44:
4692 case 45:
4693 case 46:
4694 case 47:
4695 case 48:
4696 case 49:
4697 case 50:
4698 case 51:
4699 case 52:
4700 case 53:
4701 {
4702 return 128;
4703 }
4704 case 19:
4705 {
4706 return 129;
4707 }
4708 case 34:
4709 {
4710 return 135;
4711 }
4712 default:
4713 {
4714 return -1;
4715 }
4716 }
4717 }
4718 case 135:
4719 {
4720 switch (i)
4721 {
4722 case 2:
4723 {
4724 return 127;
4725 }
4726 case 3:
4727 case 4:
4728 case 5:
4729 case 6:
4730 case 7:
4731 case 8:
4732 case 9:
4733 case 10:
4734 case 11:
4735 case 12:
4736 case 13:
4737 case 14:
4738 case 15:
4739 case 16:
4740 case 17:
4741 case 18:
4742 case 20:
4743 case 21:
4744 case 22:
4745 case 23:
4746 case 24:
4747 case 25:
4748 case 26:
4749 case 27:
4750 case 28:
4751 case 29:
4752 case 30:
4753 case 31:
4754 case 32:
4755 case 33:
4756 case 35:
4757 case 36:
4758 case 37:
4759 case 38:
4760 case 39:
4761 case 40:
4762 case 41:
4763 case 42:
4764 case 43:
4765 case 44:
4766 case 45:
4767 case 46:
4768 case 47:
4769 case 48:
4770 case 49:
4771 case 50:
4772 case 51:
4773 case 52:
4774 case 53:
4775 {
4776 return 128;
4777 }
4778 case 19:
4779 {
4780 return 129;
4781 }
4782 case 34:
4783 {
4784 return 136;
4785 }
4786 default:
4787 {
4788 return -1;
4789 }
4790 }
4791 }
4792 case 136:
4793 {
4794 switch (i)
4795 {
4796 case 2:
4797 {
4798 return 127;
4799 }
4800 case 3:
4801 case 4:
4802 case 5:
4803 case 6:
4804 case 7:
4805 case 8:
4806 case 9:
4807 case 10:
4808 case 11:
4809 case 12:
4810 case 13:
4811 case 14:
4812 case 15:
4813 case 16:
4814 case 17:
4815 case 18:
4816 case 20:
4817 case 21:
4818 case 22:
4819 case 23:
4820 case 24:
4821 case 25:
4822 case 26:
4823 case 27:
4824 case 28:
4825 case 29:
4826 case 30:
4827 case 31:
4828 case 32:
4829 case 33:
4830 case 34:
4831 case 35:
4832 case 36:
4833 case 37:
4834 case 38:
4835 case 39:
4836 case 40:
4837 case 41:
4838 case 42:
4839 case 43:
4840 case 44:
4841 case 45:
4842 case 46:
4843 case 47:
4844 case 48:
4845 case 49:
4846 case 50:
4847 case 51:
4848 case 52:
4849 case 53:
4850 {
4851 return 128;
4852 }
4853 case 19:
4854 {
4855 return 129;
4856 }
4857 default:
4858 {
4859 return -1;
4860 }
4861 }
4862 }
4863 case 133:
4864 {
4865 switch (i)
4866 {
4867 case 26:
4868 case 27:
4869 case 28:
4870 case 29:
4871 case 30:
4872 case 31:
4873 case 32:
4874 case 33:
4875 case 34:
4876 {
4877 return 137;
4878 }
4879 default:
4880 {
4881 return -1;
4882 }
4883 }
4884 }
4885 case 137:
4886 {
4887 switch (i)
4888 {
4889 case 2:
4890 {
4891 return 127;
4892 }
4893 case 3:
4894 case 4:
4895 case 5:
4896 case 6:
4897 case 7:
4898 case 8:
4899 case 9:
4900 case 10:
4901 case 11:
4902 case 12:
4903 case 13:
4904 case 14:
4905 case 15:
4906 case 16:
4907 case 17:
4908 case 18:
4909 case 20:
4910 case 21:
4911 case 22:
4912 case 23:
4913 case 24:
4914 case 25:
4915 case 35:
4916 case 36:
4917 case 37:
4918 case 38:
4919 case 39:
4920 case 40:
4921 case 41:
4922 case 42:
4923 case 43:
4924 case 44:
4925 case 45:
4926 case 46:
4927 case 47:
4928 case 48:
4929 case 49:
4930 case 50:
4931 case 51:
4932 case 52:
4933 case 53:
4934 {
4935 return 128;
4936 }
4937 case 19:
4938 {
4939 return 129;
4940 }
4941 case 26:
4942 case 27:
4943 case 28:
4944 case 29:
4945 case 30:
4946 case 31:
4947 case 32:
4948 case 33:
4949 case 34:
4950 {
4951 return 137;
4952 }
4953 default:
4954 {
4955 return -1;
4956 }
4957 }
4958 }
4959 case 132:
4960 {
4961 switch (i)
4962 {
4963 case 26:
4964 case 27:
4965 case 28:
4966 case 29:
4967 case 30:
4968 case 31:
4969 case 32:
4970 case 33:
4971 case 34:
4972 {
4973 return 138;
4974 }
4975 default:
4976 {
4977 return -1;
4978 }
4979 }
4980 }
4981 case 138:
4982 {
4983 switch (i)
4984 {
4985 case 26:
4986 case 27:
4987 case 28:
4988 case 29:
4989 case 30:
4990 case 31:
4991 case 32:
4992 case 33:
4993 case 34:
4994 {
4995 return 139;
4996 }
4997 default:
4998 {
4999 return -1;
5000 }
5001 }
5002 }
5003 case 139:
5004 {
5005 switch (i)
5006 {
5007 case 26:
5008 case 27:
5009 case 28:
5010 case 29:
5011 case 30:
5012 case 31:
5013 case 32:
5014 case 33:
5015 case 34:
5016 {
5017 return 140;
5018 }
5019 default:
5020 {
5021 return -1;
5022 }
5023 }
5024 }
5025 case 140:
5026 {
5027 switch (i)
5028 {
5029 case 26:
5030 case 27:
5031 case 28:
5032 case 29:
5033 case 30:
5034 case 31:
5035 case 32:
5036 case 33:
5037 case 34:
5038 {
5039 return 141;
5040 }
5041 default:
5042 {
5043 return -1;
5044 }
5045 }
5046 }
5047 case 141:
5048 {
5049 switch (i)
5050 {
5051 case 26:
5052 case 27:
5053 case 28:
5054 case 29:
5055 case 30:
5056 case 31:
5057 case 32:
5058 case 33:
5059 case 34:
5060 {
5061 return 142;
5062 }
5063 default:
5064 {
5065 return -1;
5066 }
5067 }
5068 }
5069 case 142:
5070 {
5071 switch (i)
5072 {
5073 case 26:
5074 case 27:
5075 case 28:
5076 case 29:
5077 case 30:
5078 case 31:
5079 case 32:
5080 case 33:
5081 case 34:
5082 {
5083 return 143;
5084 }
5085 default:
5086 {
5087 return -1;
5088 }
5089 }
5090 }
5091 case 143:
5092 {
5093 switch (i)
5094 {
5095 case 26:
5096 case 27:
5097 case 28:
5098 case 29:
5099 case 30:
5100 case 31:
5101 case 32:
5102 case 33:
5103 case 34:
5104 {
5105 return 144;
5106 }
5107 default:
5108 {
5109 return -1;
5110 }
5111 }
5112 }
5113 case 144:
5114 {
5115 switch (i)
5116 {
5117 case 26:
5118 case 27:
5119 case 28:
5120 case 29:
5121 case 30:
5122 case 31:
5123 case 32:
5124 case 33:
5125 case 34:
5126 {
5127 return 145;
5128 }
5129 default:
5130 {
5131 return -1;
5132 }
5133 }
5134 }
5135 case 145:
5136 {
5137 switch (i)
5138 {
5139 case 2:
5140 {
5141 return 127;
5142 }
5143 case 3:
5144 case 4:
5145 case 5:
5146 case 6:
5147 case 7:
5148 case 8:
5149 case 9:
5150 case 10:
5151 case 11:
5152 case 12:
5153 case 13:
5154 case 14:
5155 case 15:
5156 case 16:
5157 case 17:
5158 case 18:
5159 case 20:
5160 case 21:
5161 case 22:
5162 case 23:
5163 case 24:
5164 case 25:
5165 case 26:
5166 case 27:
5167 case 28:
5168 case 29:
5169 case 30:
5170 case 31:
5171 case 32:
5172 case 33:
5173 case 34:
5174 case 35:
5175 case 36:
5176 case 37:
5177 case 38:
5178 case 39:
5179 case 40:
5180 case 41:
5181 case 42:
5182 case 43:
5183 case 44:
5184 case 45:
5185 case 46:
5186 case 47:
5187 case 48:
5188 case 49:
5189 case 50:
5190 case 51:
5191 case 52:
5192 case 53:
5193 {
5194 return 128;
5195 }
5196 case 19:
5197 {
5198 return 129;
5199 }
5200 default:
5201 {
5202 return -1;
5203 }
5204 }
5205 }
5206 case 131:
5207 {
5208 switch (i)
5209 {
5210 case 26:
5211 case 27:
5212 case 28:
5213 case 29:
5214 case 30:
5215 case 31:
5216 case 32:
5217 case 33:
5218 case 34:
5219 {
5220 return 146;
5221 }
5222 default:
5223 {
5224 return -1;
5225 }
5226 }
5227 }
5228 case 146:
5229 {
5230 switch (i)
5231 {
5232 case 26:
5233 case 27:
5234 case 28:
5235 case 29:
5236 case 30:
5237 case 31:
5238 case 32:
5239 case 33:
5240 case 34:
5241 {
5242 return 147;
5243 }
5244 default:
5245 {
5246 return -1;
5247 }
5248 }
5249 }
5250 case 147:
5251 {
5252 switch (i)
5253 {
5254 case 26:
5255 case 27:
5256 case 28:
5257 case 29:
5258 case 30:
5259 case 31:
5260 case 32:
5261 case 33:
5262 case 34:
5263 {
5264 return 148;
5265 }
5266 default:
5267 {
5268 return -1;
5269 }
5270 }
5271 }
5272 case 148:
5273 {
5274 switch (i)
5275 {
5276 case 26:
5277 case 27:
5278 case 28:
5279 case 29:
5280 case 30:
5281 case 31:
5282 case 32:
5283 case 33:
5284 case 34:
5285 {
5286 return 149;
5287 }
5288 default:
5289 {
5290 return -1;
5291 }
5292 }
5293 }
5294 case 149:
5295 {
5296 switch (i)
5297 {
5298 case 2:
5299 {
5300 return 127;
5301 }
5302 case 3:
5303 case 4:
5304 case 5:
5305 case 6:
5306 case 7:
5307 case 8:
5308 case 9:
5309 case 10:
5310 case 11:
5311 case 12:
5312 case 13:
5313 case 14:
5314 case 15:
5315 case 16:
5316 case 17:
5317 case 18:
5318 case 20:
5319 case 21:
5320 case 22:
5321 case 23:
5322 case 24:
5323 case 25:
5324 case 26:
5325 case 27:
5326 case 28:
5327 case 29:
5328 case 30:
5329 case 31:
5330 case 32:
5331 case 33:
5332 case 34:
5333 case 35:
5334 case 36:
5335 case 37:
5336 case 38:
5337 case 39:
5338 case 40:
5339 case 41:
5340 case 42:
5341 case 43:
5342 case 44:
5343 case 45:
5344 case 46:
5345 case 47:
5346 case 48:
5347 case 49:
5348 case 50:
5349 case 51:
5350 case 52:
5351 case 53:
5352 {
5353 return 128;
5354 }
5355 case 19:
5356 {
5357 return 129;
5358 }
5359 default:
5360 {
5361 return -1;
5362 }
5363 }
5364 }
5365 case 130:
5366 {
5367 switch (i)
5368 {
5369 case 2:
5370 {
5371 return 127;
5372 }
5373 case 3:
5374 case 4:
5375 case 5:
5376 case 6:
5377 case 7:
5378 case 8:
5379 case 9:
5380 case 10:
5381 case 11:
5382 case 12:
5383 case 13:
5384 case 14:
5385 case 15:
5386 case 16:
5387 case 17:
5388 case 18:
5389 case 20:
5390 case 21:
5391 case 22:
5392 case 23:
5393 case 24:
5394 case 25:
5395 case 26:
5396 case 27:
5397 case 28:
5398 case 29:
5399 case 30:
5400 case 31:
5401 case 32:
5402 case 33:
5403 case 34:
5404 case 35:
5405 case 36:
5406 case 37:
5407 case 38:
5408 case 39:
5409 case 40:
5410 case 41:
5411 case 42:
5412 case 43:
5413 case 44:
5414 case 45:
5415 case 46:
5416 case 47:
5417 case 48:
5418 case 49:
5419 case 50:
5420 case 51:
5421 case 52:
5422 case 53:
5423 {
5424 return 128;
5425 }
5426 case 19:
5427 {
5428 return 129;
5429 }
5430 default:
5431 {
5432 return -1;
5433 }
5434 }
5435 }
5436 case 128:
5437 {
5438 switch (i)
5439 {
5440 case 2:
5441 {
5442 return 127;
5443 }
5444 case 3:
5445 case 4:
5446 case 5:
5447 case 6:
5448 case 7:
5449 case 8:
5450 case 9:
5451 case 10:
5452 case 11:
5453 case 12:
5454 case 13:
5455 case 14:
5456 case 15:
5457 case 16:
5458 case 17:
5459 case 18:
5460 case 20:
5461 case 21:
5462 case 22:
5463 case 23:
5464 case 24:
5465 case 25:
5466 case 26:
5467 case 27:
5468 case 28:
5469 case 29:
5470 case 30:
5471 case 31:
5472 case 32:
5473 case 33:
5474 case 34:
5475 case 35:
5476 case 36:
5477 case 37:
5478 case 38:
5479 case 39:
5480 case 40:
5481 case 41:
5482 case 42:
5483 case 43:
5484 case 44:
5485 case 45:
5486 case 46:
5487 case 47:
5488 case 48:
5489 case 49:
5490 case 50:
5491 case 51:
5492 case 52:
5493 case 53:
5494 {
5495 return 128;
5496 }
5497 case 19:
5498 {
5499 return 129;
5500 }
5501 default:
5502 {
5503 return -1;
5504 }
5505 }
5506 }
5507 case 127:
5508 {
5509 Lexeme prevMatch = token.match;
5510 token.match = lexeme;
5511 int tokenId = GetTokenId(8);
5512 if (tokenId == CONTINUE_TOKEN)
5513 {
5514 token.id = tokenId;
5515 return -1;
5516 }
5517 else if (tokenId != INVALID_TOKEN)
5518 {
5519 token.id = tokenId;
5520 }
5521 else
5522 {
5523 token.match = prevMatch;
5524 }
5525 return -1;
5526 }
5527 case 2:
5528 {
5529 Lexeme prevMatch = token.match;
5530 token.match = lexeme;
5531 int tokenId = GetTokenId(4);
5532 if (tokenId == CONTINUE_TOKEN)
5533 {
5534 token.id = tokenId;
5535 return -1;
5536 }
5537 else if (tokenId != INVALID_TOKEN)
5538 {
5539 token.id = tokenId;
5540 }
5541 else
5542 {
5543 token.match = prevMatch;
5544 }
5545 return -1;
5546 }
5547 case 1:
5548 {
5549 Lexeme prevMatch = token.match;
5550 token.match = lexeme;
5551 int tokenId = GetTokenId(4);
5552 if (tokenId == CONTINUE_TOKEN)
5553 {
5554 token.id = tokenId;
5555 return -1;
5556 }
5557 else if (tokenId != INVALID_TOKEN)
5558 {
5559 token.id = tokenId;
5560 }
5561 else
5562 {
5563 token.match = prevMatch;
5564 }
5565 switch (i)
5566 {
5567 case 1:
5568 {
5569 return 150;
5570 }
5571 default:
5572 {
5573 return -1;
5574 }
5575 }
5576 }
5577 case 150:
5578 {
5579 Lexeme prevMatch = token.match;
5580 token.match = lexeme;
5581 int tokenId = GetTokenId(4);
5582 if (tokenId == CONTINUE_TOKEN)
5583 {
5584 token.id = tokenId;
5585 return -1;
5586 }
5587 else if (tokenId != INVALID_TOKEN)
5588 {
5589 token.id = tokenId;
5590 }
5591 else
5592 {
5593 token.match = prevMatch;
5594 }
5595 return -1;
5596 }
5597 }
5598 return -1;
5599 }
5600
5601 int TextLexer::GetTokenId(int statementIndex)
5602 {
5603 switch (statementIndex)
5604 {
5605 case 0:
5606 {
5607 Retract();
5608 return WS;
5609 break;
5610 }
5611 case 1:
5612 {
5613 Retract();
5614 break;
5615 }
5616 case 2:
5617 {
5618 Retract();
5619 pp->Emit(U" ", token.match, BLOCKCOMMENT);
5620 break;
5621 }
5622 case 3:
5623 {
5624 Retract();
5625 pp->Emit(U" ", token.match, LINECOMMENT);
5626 break;
5627 }
5628 case 4:
5629 {
5630 Retract();
5631 break;
5632 }
5633 case 5:
5634 {
5635 Retract();
5636 if (pp->IsKeywordToken(token)) return KEYWORD;
5637 else return ID;
5638 break;
5639 }
5640 case 6:
5641 {
5642 Retract();
5643 return PPNUMBER;
5644 break;
5645 }
5646 case 7:
5647 {
5648 Retract();
5649 return CHARLITERAL;
5650 break;
5651 }
5652 case 8:
5653 {
5654 Retract();
5655 return STRINGLITERAL;
5656 break;
5657 }
5658 case 9:
5659 {
5660 Retract();
5661 return COLONCOLON;
5662 break;
5663 }
5664 case 10:
5665 {
5666 Retract();
5667 return COMMA;
5668 break;
5669 }
5670 case 11:
5671 {
5672 Retract();
5673 return ASSIGN;
5674 break;
5675 }
5676 case 12:
5677 {
5678 Retract();
5679 return MULASSIGN;
5680 break;
5681 }
5682 case 13:
5683 {
5684 Retract();
5685 return DIVASSIGN;
5686 break;
5687 }
5688 case 14:
5689 {
5690 Retract();
5691 return REMASSIGN;
5692 break;
5693 }
5694 case 15:
5695 {
5696 Retract();
5697 return ADDASSIGN;
5698 break;
5699 }
5700 case 16:
5701 {
5702 Retract();
5703 return SUBASSIGN;
5704 break;
5705 }
5706 case 17:
5707 {
5708 Retract();
5709 return SHIFTRIGHTASSIGN;
5710 break;
5711 }
5712 case 18:
5713 {
5714 Retract();
5715 return SHIFTLEFTASSIGN;
5716 break;
5717 }
5718 case 19:
5719 {
5720 Retract();
5721 return ANDASSIGN;
5722 break;
5723 }
5724 case 20:
5725 {
5726 Retract();
5727 return XORASSIGN;
5728 break;
5729 }
5730 case 21:
5731 {
5732 Retract();
5733 return ORASSIGN;
5734 break;
5735 }
5736 case 22:
5737 {
5738 Retract();
5739 return QUEST;
5740 break;
5741 }
5742 case 23:
5743 {
5744 Retract();
5745 return COLON;
5746 break;
5747 }
5748 case 24:
5749 {
5750 Retract();
5751 return OROR;
5752 break;
5753 }
5754 case 25:
5755 {
5756 Retract();
5757 return AMPAMP;
5758 break;
5759 }
5760 case 26:
5761 {
5762 Retract();
5763 return OR;
5764 break;
5765 }
5766 case 27:
5767 {
5768 Retract();
5769 return XOR;
5770 break;
5771 }
5772 case 28:
5773 {
5774 Retract();
5775 return AMP;
5776 break;
5777 }
5778 case 29:
5779 {
5780 Retract();
5781 return EQ;
5782 break;
5783 }
5784 case 30:
5785 {
5786 Retract();
5787 return NEQ;
5788 break;
5789 }
5790 case 31:
5791 {
5792 Retract();
5793 return LEQ;
5794 break;
5795 }
5796 case 32:
5797 {
5798 Retract();
5799 return GEQ;
5800 break;
5801 }
5802 case 33:
5803 {
5804 Retract();
5805 return SPACESHIP;
5806 break;
5807 }
5808 case 34:
5809 {
5810 Retract();
5811 return LANGLE;
5812 break;
5813 }
5814 case 35:
5815 {
5816 Retract();
5817 return RANGLE;
5818 break;
5819 }
5820 case 36:
5821 {
5822 Retract();
5823 return SHIFTLEFT;
5824 break;
5825 }
5826 case 37:
5827 {
5828 Retract();
5829 return SHIFTRIGHT;
5830 break;
5831 }
5832 case 38:
5833 {
5834 Retract();
5835 return PLUS;
5836 break;
5837 }
5838 case 39:
5839 {
5840 Retract();
5841 return MINUS;
5842 break;
5843 }
5844 case 40:
5845 {
5846 Retract();
5847 return STAR;
5848 break;
5849 }
5850 case 41:
5851 {
5852 Retract();
5853 return DIV;
5854 break;
5855 }
5856 case 42:
5857 {
5858 Retract();
5859 return MOD;
5860 break;
5861 }
5862 case 43:
5863 {
5864 Retract();
5865 return DOTSTAR;
5866 break;
5867 }
5868 case 44:
5869 {
5870 Retract();
5871 return ARROWSTAR;
5872 break;
5873 }
5874 case 45:
5875 {
5876 Retract();
5877 return LPAREN;
5878 break;
5879 }
5880 case 46:
5881 {
5882 Retract();
5883 return RPAREN;
5884 break;
5885 }
5886 case 47:
5887 {
5888 Retract();
5889 return PLUSPLUS;
5890 break;
5891 }
5892 case 48:
5893 {
5894 Retract();
5895 return MINUSMINUS;
5896 break;
5897 }
5898 case 49:
5899 {
5900 Retract();
5901 return EXCLAMATION;
5902 break;
5903 }
5904 case 50:
5905 {
5906 Retract();
5907 return TILDE;
5908 break;
5909 }
5910 case 51:
5911 {
5912 Retract();
5913 return LBRACKET;
5914 break;
5915 }
5916 case 52:
5917 {
5918 Retract();
5919 return RBRACKET;
5920 break;
5921 }
5922 case 53:
5923 {
5924 Retract();
5925 return DOT;
5926 break;
5927 }
5928 case 54:
5929 {
5930 Retract();
5931 return ARROW;
5932 break;
5933 }
5934 case 55:
5935 {
5936 Retract();
5937 return SEMICOLON;
5938 break;
5939 }
5940 case 56:
5941 {
5942 Retract();
5943 return ELLIPSES;
5944 break;
5945 }
5946 case 57:
5947 {
5948 Retract();
5949 return LBRACE;
5950 break;
5951 }
5952 case 58:
5953 {
5954 Retract();
5955 return RBRACE;
5956 break;
5957 }
5958 }
5959 return CONTINUE_TOKEN;
5960 }