1
2
3 using System;
4 using System.Collections;
5 using System.XPath.Token;
6 using System.XPath.Keyword;
7
8 namespace System.XPath
9 {
10 public class XPathLexer : System.Lex.Lexer
11 {
12 public XPathLexer(const uchar* start_, const uchar* end_, const string& fileName_) :
13 base(start_, end_, fileName_, "System.XPath.XPathLexer.classmap")
14 {
15 auto classMapResult = System.Lex.GetClassMap(ClassMapName());
16 if (classMapResult.Error())
17 {
18 SetErrorId(classMapResult.GetErrorId());
19 return;
20 }
21 SetClassMap(classMapResult.Value());
22 SetKeywordMap(GetKeywords());
23 }
24 public override int NextState(int state, uchar c)
25 {
26 int cls = GetClass(c);
27 switch (state)
28 {
29 case 0:
30 {
31 switch (cls)
32 {
33 case 2:
34 case 3:
35 case 4:
36 case 5:
37 {
38 return 1;
39 }
40 case 6:
41 case 7:
42 case 8:
43 case 9:
44 {
45 return 2;
46 }
47 case 11:
48 {
49 return 3;
50 }
51 case 12:
52 {
53 return 4;
54 }
55 case 14:
56 {
57 return 5;
58 }
59 case 15:
60 {
61 return 6;
62 }
63 case 17:
64 {
65 return 7;
66 }
67 case 18:
68 {
69 return 8;
70 }
71 case 19:
72 {
73 return 9;
74 }
75 case 20:
76 {
77 return 10;
78 }
79 case 21:
80 {
81 return 11;
82 }
83 case 22:
84 {
85 return 12;
86 }
87 case 23:
88 {
89 return 13;
90 }
91 case 24:
92 {
93 return 14;
94 }
95 case 25:
96 {
97 return 15;
98 }
99 case 26:
100 {
101 return 16;
102 }
103 case 27:
104 {
105 return 17;
106 }
107 case 28:
108 {
109 return 18;
110 }
111 case 29:
112 {
113 return 19;
114 }
115 case 30:
116 {
117 return 20;
118 }
119 case 31:
120 {
121 return 21;
122 }
123 case 32:
124 {
125 return 22;
126 }
127 case 33:
128 {
129 return 23;
130 }
131 default:
132 {
133 return -1;
134 }
135 }
136 break;
137 }
138 case 23:
139 {
140 auto prevMatch = token.match;
141 token.match = lexeme;
142 long tokenId = GetTokenId(27);
143 if (tokenId == System.Lex.CONTINUE_TOKEN)
144 {
145 token.id = System.Lex.CONTINUE_TOKEN;
146 return -1;
147 }
148 else if (tokenId != System.Lex.INVALID_TOKEN)
149 {
150 token.id = tokenId;
151 }
152 else
153 {
154 token.match = prevMatch;
155 }
156 return -1;
157 }
158 case 22:
159 {
160 auto prevMatch = token.match;
161 token.match = lexeme;
162 long tokenId = GetTokenId(26);
163 if (tokenId == System.Lex.CONTINUE_TOKEN)
164 {
165 token.id = System.Lex.CONTINUE_TOKEN;
166 return -1;
167 }
168 else if (tokenId != System.Lex.INVALID_TOKEN)
169 {
170 token.id = tokenId;
171 }
172 else
173 {
174 token.match = prevMatch;
175 }
176 return -1;
177 }
178 case 21:
179 {
180 auto prevMatch = token.match;
181 token.match = lexeme;
182 long tokenId = GetTokenId(25);
183 if (tokenId == System.Lex.CONTINUE_TOKEN)
184 {
185 token.id = System.Lex.CONTINUE_TOKEN;
186 return -1;
187 }
188 else if (tokenId != System.Lex.INVALID_TOKEN)
189 {
190 token.id = tokenId;
191 }
192 else
193 {
194 token.match = prevMatch;
195 }
196 return -1;
197 }
198 case 20:
199 {
200 auto prevMatch = token.match;
201 token.match = lexeme;
202 long tokenId = GetTokenId(24);
203 if (tokenId == System.Lex.CONTINUE_TOKEN)
204 {
205 token.id = System.Lex.CONTINUE_TOKEN;
206 return -1;
207 }
208 else if (tokenId != System.Lex.INVALID_TOKEN)
209 {
210 token.id = tokenId;
211 }
212 else
213 {
214 token.match = prevMatch;
215 }
216 return -1;
217 }
218 case 19:
219 {
220 auto prevMatch = token.match;
221 token.match = lexeme;
222 long tokenId = GetTokenId(23);
223 if (tokenId == System.Lex.CONTINUE_TOKEN)
224 {
225 token.id = System.Lex.CONTINUE_TOKEN;
226 return -1;
227 }
228 else if (tokenId != System.Lex.INVALID_TOKEN)
229 {
230 token.id = tokenId;
231 }
232 else
233 {
234 token.match = prevMatch;
235 }
236 return -1;
237 }
238 case 18:
239 {
240 auto prevMatch = token.match;
241 token.match = lexeme;
242 long tokenId = GetTokenId(22);
243 if (tokenId == System.Lex.CONTINUE_TOKEN)
244 {
245 token.id = System.Lex.CONTINUE_TOKEN;
246 return -1;
247 }
248 else if (tokenId != System.Lex.INVALID_TOKEN)
249 {
250 token.id = tokenId;
251 }
252 else
253 {
254 token.match = prevMatch;
255 }
256 return -1;
257 }
258 case 17:
259 {
260 auto prevMatch = token.match;
261 token.match = lexeme;
262 long tokenId = GetTokenId(21);
263 if (tokenId == System.Lex.CONTINUE_TOKEN)
264 {
265 token.id = System.Lex.CONTINUE_TOKEN;
266 return -1;
267 }
268 else if (tokenId != System.Lex.INVALID_TOKEN)
269 {
270 token.id = tokenId;
271 }
272 else
273 {
274 token.match = prevMatch;
275 }
276 return -1;
277 }
278 case 16:
279 {
280 auto prevMatch = token.match;
281 token.match = lexeme;
282 long tokenId = GetTokenId(20);
283 if (tokenId == System.Lex.CONTINUE_TOKEN)
284 {
285 token.id = System.Lex.CONTINUE_TOKEN;
286 return -1;
287 }
288 else if (tokenId != System.Lex.INVALID_TOKEN)
289 {
290 token.id = tokenId;
291 }
292 else
293 {
294 token.match = prevMatch;
295 }
296 switch (cls)
297 {
298 case 26:
299 {
300 return 24;
301 }
302 default:
303 {
304 return -1;
305 }
306 }
307 break;
308 }
309 case 24:
310 {
311 auto prevMatch = token.match;
312 token.match = lexeme;
313 long tokenId = GetTokenId(19);
314 if (tokenId == System.Lex.CONTINUE_TOKEN)
315 {
316 token.id = System.Lex.CONTINUE_TOKEN;
317 return -1;
318 }
319 else if (tokenId != System.Lex.INVALID_TOKEN)
320 {
321 token.id = tokenId;
322 }
323 else
324 {
325 token.match = prevMatch;
326 }
327 return -1;
328 }
329 case 15:
330 {
331 auto prevMatch = token.match;
332 token.match = lexeme;
333 long tokenId = GetTokenId(16);
334 if (tokenId == System.Lex.CONTINUE_TOKEN)
335 {
336 token.id = System.Lex.CONTINUE_TOKEN;
337 return -1;
338 }
339 else if (tokenId != System.Lex.INVALID_TOKEN)
340 {
341 token.id = tokenId;
342 }
343 else
344 {
345 token.match = prevMatch;
346 }
347 switch (cls)
348 {
349 case 25:
350 {
351 return 25;
352 }
353 default:
354 {
355 return -1;
356 }
357 }
358 break;
359 }
360 case 25:
361 {
362 auto prevMatch = token.match;
363 token.match = lexeme;
364 long tokenId = GetTokenId(15);
365 if (tokenId == System.Lex.CONTINUE_TOKEN)
366 {
367 token.id = System.Lex.CONTINUE_TOKEN;
368 return -1;
369 }
370 else if (tokenId != System.Lex.INVALID_TOKEN)
371 {
372 token.id = tokenId;
373 }
374 else
375 {
376 token.match = prevMatch;
377 }
378 return -1;
379 }
380 case 14:
381 {
382 auto prevMatch = token.match;
383 token.match = lexeme;
384 long tokenId = GetTokenId(14);
385 if (tokenId == System.Lex.CONTINUE_TOKEN)
386 {
387 token.id = System.Lex.CONTINUE_TOKEN;
388 return -1;
389 }
390 else if (tokenId != System.Lex.INVALID_TOKEN)
391 {
392 token.id = tokenId;
393 }
394 else
395 {
396 token.match = prevMatch;
397 }
398 return -1;
399 }
400 case 13:
401 {
402 auto prevMatch = token.match;
403 token.match = lexeme;
404 long tokenId = GetTokenId(13);
405 if (tokenId == System.Lex.CONTINUE_TOKEN)
406 {
407 token.id = System.Lex.CONTINUE_TOKEN;
408 return -1;
409 }
410 else if (tokenId != System.Lex.INVALID_TOKEN)
411 {
412 token.id = tokenId;
413 }
414 else
415 {
416 token.match = prevMatch;
417 }
418 return -1;
419 }
420 case 12:
421 {
422 auto prevMatch = token.match;
423 token.match = lexeme;
424 long tokenId = GetTokenId(11);
425 if (tokenId == System.Lex.CONTINUE_TOKEN)
426 {
427 token.id = System.Lex.CONTINUE_TOKEN;
428 return -1;
429 }
430 else if (tokenId != System.Lex.INVALID_TOKEN)
431 {
432 token.id = tokenId;
433 }
434 else
435 {
436 token.match = prevMatch;
437 }
438 return -1;
439 }
440 case 11:
441 {
442 auto prevMatch = token.match;
443 token.match = lexeme;
444 long tokenId = GetTokenId(10);
445 if (tokenId == System.Lex.CONTINUE_TOKEN)
446 {
447 token.id = System.Lex.CONTINUE_TOKEN;
448 return -1;
449 }
450 else if (tokenId != System.Lex.INVALID_TOKEN)
451 {
452 token.id = tokenId;
453 }
454 else
455 {
456 token.match = prevMatch;
457 }
458 switch (cls)
459 {
460 case 18:
461 {
462 return 26;
463 }
464 default:
465 {
466 return -1;
467 }
468 }
469 break;
470 }
471 case 26:
472 {
473 auto prevMatch = token.match;
474 token.match = lexeme;
475 long tokenId = GetTokenId(8);
476 if (tokenId == System.Lex.CONTINUE_TOKEN)
477 {
478 token.id = System.Lex.CONTINUE_TOKEN;
479 return -1;
480 }
481 else if (tokenId != System.Lex.INVALID_TOKEN)
482 {
483 token.id = tokenId;
484 }
485 else
486 {
487 token.match = prevMatch;
488 }
489 return -1;
490 }
491 case 10:
492 {
493 auto prevMatch = token.match;
494 token.match = lexeme;
495 long tokenId = GetTokenId(9);
496 if (tokenId == System.Lex.CONTINUE_TOKEN)
497 {
498 token.id = System.Lex.CONTINUE_TOKEN;
499 return -1;
500 }
501 else if (tokenId != System.Lex.INVALID_TOKEN)
502 {
503 token.id = tokenId;
504 }
505 else
506 {
507 token.match = prevMatch;
508 }
509 switch (cls)
510 {
511 case 18:
512 {
513 return 27;
514 }
515 default:
516 {
517 return -1;
518 }
519 }
520 break;
521 }
522 case 27:
523 {
524 auto prevMatch = token.match;
525 token.match = lexeme;
526 long tokenId = GetTokenId(7);
527 if (tokenId == System.Lex.CONTINUE_TOKEN)
528 {
529 token.id = System.Lex.CONTINUE_TOKEN;
530 return -1;
531 }
532 else if (tokenId != System.Lex.INVALID_TOKEN)
533 {
534 token.id = tokenId;
535 }
536 else
537 {
538 token.match = prevMatch;
539 }
540 return -1;
541 }
542 case 9:
543 {
544 switch (cls)
545 {
546 case 18:
547 {
548 return 28;
549 }
550 default:
551 {
552 return -1;
553 }
554 }
555 break;
556 }
557 case 28:
558 {
559 auto prevMatch = token.match;
560 token.match = lexeme;
561 long tokenId = GetTokenId(6);
562 if (tokenId == System.Lex.CONTINUE_TOKEN)
563 {
564 token.id = System.Lex.CONTINUE_TOKEN;
565 return -1;
566 }
567 else if (tokenId != System.Lex.INVALID_TOKEN)
568 {
569 token.id = tokenId;
570 }
571 else
572 {
573 token.match = prevMatch;
574 }
575 return -1;
576 }
577 case 8:
578 {
579 auto prevMatch = token.match;
580 token.match = lexeme;
581 long tokenId = GetTokenId(5);
582 if (tokenId == System.Lex.CONTINUE_TOKEN)
583 {
584 token.id = System.Lex.CONTINUE_TOKEN;
585 return -1;
586 }
587 else if (tokenId != System.Lex.INVALID_TOKEN)
588 {
589 token.id = tokenId;
590 }
591 else
592 {
593 token.match = prevMatch;
594 }
595 return -1;
596 }
597 case 7:
598 {
599 switch (cls)
600 {
601 case 0:
602 case 1:
603 case 2:
604 case 3:
605 case 4:
606 case 5:
607 case 6:
608 case 7:
609 case 8:
610 case 9:
611 case 10:
612 case 11:
613 case 12:
614 case 13:
615 case 14:
616 case 15:
617 case 16:
618 case 18:
619 case 19:
620 case 20:
621 case 21:
622 case 22:
623 case 23:
624 case 24:
625 case 25:
626 case 26:
627 case 27:
628 case 28:
629 case 29:
630 case 30:
631 case 31:
632 case 32:
633 case 33:
634 {
635 return 29;
636 }
637 case 17:
638 {
639 return 30;
640 }
641 default:
642 {
643 return -1;
644 }
645 }
646 break;
647 }
648 case 30:
649 {
650 auto prevMatch = token.match;
651 token.match = lexeme;
652 long tokenId = GetTokenId(4);
653 if (tokenId == System.Lex.CONTINUE_TOKEN)
654 {
655 token.id = System.Lex.CONTINUE_TOKEN;
656 return -1;
657 }
658 else if (tokenId != System.Lex.INVALID_TOKEN)
659 {
660 token.id = tokenId;
661 }
662 else
663 {
664 token.match = prevMatch;
665 }
666 return -1;
667 }
668 case 29:
669 {
670 switch (cls)
671 {
672 case 0:
673 case 1:
674 case 2:
675 case 3:
676 case 4:
677 case 5:
678 case 6:
679 case 7:
680 case 8:
681 case 9:
682 case 10:
683 case 11:
684 case 12:
685 case 13:
686 case 14:
687 case 15:
688 case 16:
689 case 18:
690 case 19:
691 case 20:
692 case 21:
693 case 22:
694 case 23:
695 case 24:
696 case 25:
697 case 26:
698 case 27:
699 case 28:
700 case 29:
701 case 30:
702 case 31:
703 case 32:
704 case 33:
705 {
706 return 29;
707 }
708 case 17:
709 {
710 return 30;
711 }
712 default:
713 {
714 return -1;
715 }
716 }
717 break;
718 }
719 case 6:
720 {
721 switch (cls)
722 {
723 case 0:
724 case 1:
725 case 2:
726 case 3:
727 case 4:
728 case 5:
729 case 6:
730 case 7:
731 case 8:
732 case 9:
733 case 10:
734 case 11:
735 case 12:
736 case 13:
737 case 14:
738 case 16:
739 case 17:
740 case 18:
741 case 19:
742 case 20:
743 case 21:
744 case 22:
745 case 23:
746 case 24:
747 case 25:
748 case 26:
749 case 27:
750 case 28:
751 case 29:
752 case 30:
753 case 31:
754 case 32:
755 case 33:
756 {
757 return 31;
758 }
759 case 15:
760 {
761 return 32;
762 }
763 default:
764 {
765 return -1;
766 }
767 }
768 break;
769 }
770 case 32:
771 {
772 auto prevMatch = token.match;
773 token.match = lexeme;
774 long tokenId = GetTokenId(3);
775 if (tokenId == System.Lex.CONTINUE_TOKEN)
776 {
777 token.id = System.Lex.CONTINUE_TOKEN;
778 return -1;
779 }
780 else if (tokenId != System.Lex.INVALID_TOKEN)
781 {
782 token.id = tokenId;
783 }
784 else
785 {
786 token.match = prevMatch;
787 }
788 return -1;
789 }
790 case 31:
791 {
792 switch (cls)
793 {
794 case 0:
795 case 1:
796 case 2:
797 case 3:
798 case 4:
799 case 5:
800 case 6:
801 case 7:
802 case 8:
803 case 9:
804 case 10:
805 case 11:
806 case 12:
807 case 13:
808 case 14:
809 case 16:
810 case 17:
811 case 18:
812 case 19:
813 case 20:
814 case 21:
815 case 22:
816 case 23:
817 case 24:
818 case 25:
819 case 26:
820 case 27:
821 case 28:
822 case 29:
823 case 30:
824 case 31:
825 case 32:
826 case 33:
827 {
828 return 31;
829 }
830 case 15:
831 {
832 return 32;
833 }
834 default:
835 {
836 return -1;
837 }
838 }
839 break;
840 }
841 case 5:
842 {
843 auto prevMatch = token.match;
844 token.match = lexeme;
845 long tokenId = GetTokenId(2);
846 if (tokenId == System.Lex.CONTINUE_TOKEN)
847 {
848 token.id = System.Lex.CONTINUE_TOKEN;
849 return -1;
850 }
851 else if (tokenId != System.Lex.INVALID_TOKEN)
852 {
853 token.id = tokenId;
854 }
855 else
856 {
857 token.match = prevMatch;
858 }
859 switch (cls)
860 {
861 case 14:
862 {
863 return 5;
864 }
865 case 12:
866 {
867 return 33;
868 }
869 default:
870 {
871 return -1;
872 }
873 }
874 break;
875 }
876 case 33:
877 {
878 auto prevMatch = token.match;
879 token.match = lexeme;
880 long tokenId = GetTokenId(2);
881 if (tokenId == System.Lex.CONTINUE_TOKEN)
882 {
883 token.id = System.Lex.CONTINUE_TOKEN;
884 return -1;
885 }
886 else if (tokenId != System.Lex.INVALID_TOKEN)
887 {
888 token.id = tokenId;
889 }
890 else
891 {
892 token.match = prevMatch;
893 }
894 switch (cls)
895 {
896 case 14:
897 {
898 return 34;
899 }
900 default:
901 {
902 return -1;
903 }
904 }
905 break;
906 }
907 case 34:
908 {
909 auto prevMatch = token.match;
910 token.match = lexeme;
911 long tokenId = GetTokenId(2);
912 if (tokenId == System.Lex.CONTINUE_TOKEN)
913 {
914 token.id = System.Lex.CONTINUE_TOKEN;
915 return -1;
916 }
917 else if (tokenId != System.Lex.INVALID_TOKEN)
918 {
919 token.id = tokenId;
920 }
921 else
922 {
923 token.match = prevMatch;
924 }
925 switch (cls)
926 {
927 case 14:
928 {
929 return 34;
930 }
931 default:
932 {
933 return -1;
934 }
935 }
936 break;
937 }
938 case 4:
939 {
940 auto prevMatch = token.match;
941 token.match = lexeme;
942 long tokenId = GetTokenId(18);
943 if (tokenId == System.Lex.CONTINUE_TOKEN)
944 {
945 token.id = System.Lex.CONTINUE_TOKEN;
946 return -1;
947 }
948 else if (tokenId != System.Lex.INVALID_TOKEN)
949 {
950 token.id = tokenId;
951 }
952 else
953 {
954 token.match = prevMatch;
955 }
956 switch (cls)
957 {
958 case 12:
959 {
960 return 35;
961 }
962 case 14:
963 {
964 return 36;
965 }
966 default:
967 {
968 return -1;
969 }
970 }
971 break;
972 }
973 case 36:
974 {
975 auto prevMatch = token.match;
976 token.match = lexeme;
977 long tokenId = GetTokenId(2);
978 if (tokenId == System.Lex.CONTINUE_TOKEN)
979 {
980 token.id = System.Lex.CONTINUE_TOKEN;
981 return -1;
982 }
983 else if (tokenId != System.Lex.INVALID_TOKEN)
984 {
985 token.id = tokenId;
986 }
987 else
988 {
989 token.match = prevMatch;
990 }
991 switch (cls)
992 {
993 case 14:
994 {
995 return 36;
996 }
997 default:
998 {
999 return -1;
1000 }
1001 }
1002 break;
1003 }
1004 case 35:
1005 {
1006 auto prevMatch = token.match;
1007 token.match = lexeme;
1008 long tokenId = GetTokenId(17);
1009 if (tokenId == System.Lex.CONTINUE_TOKEN)
1010 {
1011 token.id = System.Lex.CONTINUE_TOKEN;
1012 return -1;
1013 }
1014 else if (tokenId != System.Lex.INVALID_TOKEN)
1015 {
1016 token.id = tokenId;
1017 }
1018 else
1019 {
1020 token.match = prevMatch;
1021 }
1022 return -1;
1023 }
1024 case 3:
1025 {
1026 auto prevMatch = token.match;
1027 token.match = lexeme;
1028 long tokenId = GetTokenId(12);
1029 if (tokenId == System.Lex.CONTINUE_TOKEN)
1030 {
1031 token.id = System.Lex.CONTINUE_TOKEN;
1032 return -1;
1033 }
1034 else if (tokenId != System.Lex.INVALID_TOKEN)
1035 {
1036 token.id = tokenId;
1037 }
1038 else
1039 {
1040 token.match = prevMatch;
1041 }
1042 return -1;
1043 }
1044 case 2:
1045 {
1046 auto prevMatch = token.match;
1047 token.match = lexeme;
1048 long tokenId = GetTokenId(1);
1049 if (tokenId == System.Lex.CONTINUE_TOKEN)
1050 {
1051 token.id = System.Lex.CONTINUE_TOKEN;
1052 return -1;
1053 }
1054 else if (tokenId != System.Lex.INVALID_TOKEN)
1055 {
1056 token.id = tokenId;
1057 }
1058 else
1059 {
1060 token.match = prevMatch;
1061 }
1062 switch (cls)
1063 {
1064 case 6:
1065 case 7:
1066 case 8:
1067 case 9:
1068 {
1069 return 37;
1070 }
1071 case 10:
1072 case 11:
1073 case 12:
1074 case 13:
1075 case 14:
1076 {
1077 return 38;
1078 }
1079 default:
1080 {
1081 return -1;
1082 }
1083 }
1084 break;
1085 }
1086 case 38:
1087 {
1088 auto prevMatch = token.match;
1089 token.match = lexeme;
1090 long tokenId = GetTokenId(1);
1091 if (tokenId == System.Lex.CONTINUE_TOKEN)
1092 {
1093 token.id = System.Lex.CONTINUE_TOKEN;
1094 return -1;
1095 }
1096 else if (tokenId != System.Lex.INVALID_TOKEN)
1097 {
1098 token.id = tokenId;
1099 }
1100 else
1101 {
1102 token.match = prevMatch;
1103 }
1104 switch (cls)
1105 {
1106 case 6:
1107 case 7:
1108 case 8:
1109 case 9:
1110 {
1111 return 37;
1112 }
1113 case 10:
1114 case 11:
1115 case 12:
1116 case 13:
1117 case 14:
1118 {
1119 return 38;
1120 }
1121 default:
1122 {
1123 return -1;
1124 }
1125 }
1126 break;
1127 }
1128 case 37:
1129 {
1130 auto prevMatch = token.match;
1131 token.match = lexeme;
1132 long tokenId = GetTokenId(1);
1133 if (tokenId == System.Lex.CONTINUE_TOKEN)
1134 {
1135 token.id = System.Lex.CONTINUE_TOKEN;
1136 return -1;
1137 }
1138 else if (tokenId != System.Lex.INVALID_TOKEN)
1139 {
1140 token.id = tokenId;
1141 }
1142 else
1143 {
1144 token.match = prevMatch;
1145 }
1146 switch (cls)
1147 {
1148 case 6:
1149 case 7:
1150 case 8:
1151 case 9:
1152 {
1153 return 37;
1154 }
1155 case 10:
1156 case 11:
1157 case 12:
1158 case 13:
1159 case 14:
1160 {
1161 return 38;
1162 }
1163 default:
1164 {
1165 return -1;
1166 }
1167 }
1168 break;
1169 }
1170 case 1:
1171 {
1172 auto prevMatch = token.match;
1173 token.match = lexeme;
1174 long tokenId = GetTokenId(0);
1175 if (tokenId == System.Lex.CONTINUE_TOKEN)
1176 {
1177 token.id = System.Lex.CONTINUE_TOKEN;
1178 return -1;
1179 }
1180 else if (tokenId != System.Lex.INVALID_TOKEN)
1181 {
1182 token.id = tokenId;
1183 }
1184 else
1185 {
1186 token.match = prevMatch;
1187 }
1188 switch (cls)
1189 {
1190 case 2:
1191 case 3:
1192 case 4:
1193 case 5:
1194 {
1195 return 1;
1196 }
1197 default:
1198 {
1199 return -1;
1200 }
1201 }
1202 break;
1203 }
1204 }
1205 return -1;
1206 }
1207 public long GetTokenId(int ruleIndex)
1208 {
1209 switch (ruleIndex)
1210 {
1211 case 0:
1212 {
1213 Retract();
1214 break;
1215 }
1216 case 1:
1217 {
1218 Retract();
1219 return NAME;
1220 break;
1221 }
1222 case 2:
1223 {
1224 Retract();
1225 return NUMBER;
1226 break;
1227 }
1228 case 3:
1229 {
1230 Retract();
1231 return DQ_STRING;
1232 break;
1233 }
1234 case 4:
1235 {
1236 Retract();
1237 return SQ_STRING;
1238 break;
1239 }
1240 case 5:
1241 {
1242 Retract();
1243 return EQ;
1244 break;
1245 }
1246 case 6:
1247 {
1248 Retract();
1249 return NEQ;
1250 break;
1251 }
1252 case 7:
1253 {
1254 Retract();
1255 return LEQ;
1256 break;
1257 }
1258 case 8:
1259 {
1260 Retract();
1261 return GEQ;
1262 break;
1263 }
1264 case 9:
1265 {
1266 Retract();
1267 return LESS;
1268 break;
1269 }
1270 case 10:
1271 {
1272 Retract();
1273 return GREATER;
1274 break;
1275 }
1276 case 11:
1277 {
1278 Retract();
1279 return PLUS;
1280 break;
1281 }
1282 case 12:
1283 {
1284 Retract();
1285 return MINUS;
1286 break;
1287 }
1288 case 13:
1289 {
1290 Retract();
1291 return STAR;
1292 break;
1293 }
1294 case 14:
1295 {
1296 Retract();
1297 return UNION;
1298 break;
1299 }
1300 case 15:
1301 {
1302 Retract();
1303 return SLASH_SLASH;
1304 break;
1305 }
1306 case 16:
1307 {
1308 Retract();
1309 return SLASH;
1310 break;
1311 }
1312 case 17:
1313 {
1314 Retract();
1315 return DOT_DOT;
1316 break;
1317 }
1318 case 18:
1319 {
1320 Retract();
1321 return DOT;
1322 break;
1323 }
1324 case 19:
1325 {
1326 Retract();
1327 return COLON_COLON;
1328 break;
1329 }
1330 case 20:
1331 {
1332 Retract();
1333 return COLON;
1334 break;
1335 }
1336 case 21:
1337 {
1338 Retract();
1339 return DOLLAR;
1340 break;
1341 }
1342 case 22:
1343 {
1344 Retract();
1345 return COMMA;
1346 break;
1347 }
1348 case 23:
1349 {
1350 Retract();
1351 return AT;
1352 break;
1353 }
1354 case 24:
1355 {
1356 Retract();
1357 return LBRACKET;
1358 break;
1359 }
1360 case 25:
1361 {
1362 Retract();
1363 return RBRACKET;
1364 break;
1365 }
1366 case 26:
1367 {
1368 Retract();
1369 return LPAREN;
1370 break;
1371 }
1372 case 27:
1373 {
1374 Retract();
1375 return RPAREN;
1376 break;
1377 }
1378 }
1379 return System.Lex.CONTINUE_TOKEN;
1380 }
1381 public XPathLexer_Variables vars;
1382 }
1383
1384 public class XPathLexer_Variables
1385 {
1386 public XPathLexer_Variables()
1387 {
1388 }
1389 }
1390