KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > soot > jimple > parser > lexer > Lexer


1 /* This file was generated by SableCC (http://www.sablecc.org/). */
2
3 package soot.jimple.parser.lexer;
4
5 import java.io.*;
6 import java.util.*;
7 import soot.jimple.parser.node.*;
8
9 public class Lexer
10 {
11     protected Token token;
12     protected State state = State.INITIAL;
13
14     private PushbackReader in;
15     private int line;
16     private int pos;
17     private boolean cr;
18     private boolean eof;
19     private final StringBuffer JavaDoc text = new StringBuffer JavaDoc();
20
21     protected void filter() throws LexerException, IOException
22     {
23     }
24
25     public Lexer(PushbackReader in)
26     {
27         this.in = in;
28
29         if(gotoTable == null)
30         {
31             try
32             {
33                 DataInputStream s = new DataInputStream(
34                     new BufferedInputStream(
35                     Lexer.class.getResourceAsStream("lexer.dat")));
36
37                 // read gotoTable
38
int length = s.readInt();
39                 gotoTable = new int[length][][][];
40                 for(int i = 0; i < gotoTable.length; i++)
41                 {
42                     length = s.readInt();
43                     gotoTable[i] = new int[length][][];
44                     for(int j = 0; j < gotoTable[i].length; j++)
45                     {
46                         length = s.readInt();
47                         gotoTable[i][j] = new int[length][3];
48                         for(int k = 0; k < gotoTable[i][j].length; k++)
49                         {
50                             for(int l = 0; l < 3; l++)
51                             {
52                                 gotoTable[i][j][k][l] = s.readInt();
53                             }
54                         }
55                     }
56                 }
57
58                 // read accept
59
length = s.readInt();
60                 accept = new int[length][];
61                 for(int i = 0; i < accept.length; i++)
62                 {
63                     length = s.readInt();
64                     accept[i] = new int[length];
65                     for(int j = 0; j < accept[i].length; j++)
66                     {
67                         accept[i][j] = s.readInt();
68                     }
69                 }
70
71                 s.close();
72             }
73             catch(Exception JavaDoc e)
74             {
75                 throw new RuntimeException JavaDoc("The file \"lexer.dat\" is either missing or corrupted.");
76             }
77         }
78     }
79
80     public Token peek() throws LexerException, IOException
81     {
82         while(token == null)
83         {
84             token = getToken();
85             filter();
86         }
87
88         return token;
89     }
90
91     public Token next() throws LexerException, IOException
92     {
93         while(token == null)
94         {
95             token = getToken();
96             filter();
97         }
98
99         Token result = token;
100         token = null;
101         return result;
102     }
103
104     protected Token getToken() throws IOException, LexerException
105     {
106         int dfa_state = 0;
107
108         int start_pos = pos;
109         int start_line = line;
110
111         int accept_state = -1;
112         int accept_token = -1;
113         int accept_length = -1;
114         int accept_pos = -1;
115         int accept_line = -1;
116
117         int[][][] gotoTable = this.gotoTable[state.id()];
118         int[] accept = this.accept[state.id()];
119         text.setLength(0);
120
121         while(true)
122         {
123             int c = getChar();
124
125             if(c != -1)
126             {
127                 switch(c)
128                 {
129                 case 10:
130                     if(cr)
131                     {
132                         cr = false;
133                     }
134                     else
135                     {
136                         line++;
137                         pos = 0;
138                     }
139                     break;
140                 case 13:
141                     line++;
142                     pos = 0;
143                     cr = true;
144                     break;
145                 default:
146                     pos++;
147                     cr = false;
148                     break;
149                 };
150
151                 text.append((char) c);
152
153                 do
154                 {
155                     int oldState = (dfa_state < -1) ? (-2 -dfa_state) : dfa_state;
156
157                     dfa_state = -1;
158
159                     int[][] tmp1 = gotoTable[oldState];
160                     int low = 0;
161                     int high = tmp1.length - 1;
162
163                     while(low <= high)
164                     {
165                         int middle = (low + high) / 2;
166                         int[] tmp2 = tmp1[middle];
167
168                         if(c < tmp2[0])
169                         {
170                             high = middle - 1;
171                         }
172                         else if(c > tmp2[1])
173                         {
174                             low = middle + 1;
175                         }
176                         else
177                         {
178                             dfa_state = tmp2[2];
179                             break;
180                         }
181                     }
182                 }while(dfa_state < -1);
183             }
184             else
185             {
186                 dfa_state = -1;
187             }
188
189             if(dfa_state >= 0)
190             {
191                 if(accept[dfa_state] != -1)
192                 {
193                     accept_state = dfa_state;
194                     accept_token = accept[dfa_state];
195                     accept_length = text.length();
196                     accept_pos = pos;
197                     accept_line = line;
198                 }
199             }
200             else
201             {
202                 if(accept_state != -1)
203                 {
204                     switch(accept_token)
205                     {
206                     case 0:
207                         {
208                             Token token = new0(
209                                 getText(accept_length),
210                                 start_line + 1,
211                                 start_pos + 1);
212                             pushBack(accept_length);
213                             pos = accept_pos;
214                             line = accept_line;
215                             return token;
216                         }
217                     case 1:
218                         {
219                             Token token = new1(
220                                 start_line + 1,
221                                 start_pos + 1);
222                             pushBack(accept_length);
223                             pos = accept_pos;
224                             line = accept_line;
225                             return token;
226                         }
227                     case 2:
228                         {
229                             Token token = new2(
230                                 start_line + 1,
231                                 start_pos + 1);
232                             pushBack(accept_length);
233                             pos = accept_pos;
234                             line = accept_line;
235                             return token;
236                         }
237                     case 3:
238                         {
239                             Token token = new3(
240                                 start_line + 1,
241                                 start_pos + 1);
242                             pushBack(accept_length);
243                             pos = accept_pos;
244                             line = accept_line;
245                             return token;
246                         }
247                     case 4:
248                         {
249                             Token token = new4(
250                                 start_line + 1,
251                                 start_pos + 1);
252                             pushBack(accept_length);
253                             pos = accept_pos;
254                             line = accept_line;
255                             return token;
256                         }
257                     case 5:
258                         {
259                             Token token = new5(
260                                 start_line + 1,
261                                 start_pos + 1);
262                             pushBack(accept_length);
263                             pos = accept_pos;
264                             line = accept_line;
265                             return token;
266                         }
267                     case 6:
268                         {
269                             Token token = new6(
270                                 start_line + 1,
271                                 start_pos + 1);
272                             pushBack(accept_length);
273                             pos = accept_pos;
274                             line = accept_line;
275                             return token;
276                         }
277                     case 7:
278                         {
279                             Token token = new7(
280                                 start_line + 1,
281                                 start_pos + 1);
282                             pushBack(accept_length);
283                             pos = accept_pos;
284                             line = accept_line;
285                             return token;
286                         }
287                     case 8:
288                         {
289                             Token token = new8(
290                                 start_line + 1,
291                                 start_pos + 1);
292                             pushBack(accept_length);
293                             pos = accept_pos;
294                             line = accept_line;
295                             return token;
296                         }
297                     case 9:
298                         {
299                             Token token = new9(
300                                 start_line + 1,
301                                 start_pos + 1);
302                             pushBack(accept_length);
303                             pos = accept_pos;
304                             line = accept_line;
305                             return token;
306                         }
307                     case 10:
308                         {
309                             Token token = new10(
310                                 start_line + 1,
311                                 start_pos + 1);
312                             pushBack(accept_length);
313                             pos = accept_pos;
314                             line = accept_line;
315                             return token;
316                         }
317                     case 11:
318                         {
319                             Token token = new11(
320                                 start_line + 1,
321                                 start_pos + 1);
322                             pushBack(accept_length);
323                             pos = accept_pos;
324                             line = accept_line;
325                             return token;
326                         }
327                     case 12:
328                         {
329                             Token token = new12(
330                                 start_line + 1,
331                                 start_pos + 1);
332                             pushBack(accept_length);
333                             pos = accept_pos;
334                             line = accept_line;
335                             return token;
336                         }
337                     case 13:
338                         {
339                             Token token = new13(
340                                 start_line + 1,
341                                 start_pos + 1);
342                             pushBack(accept_length);
343                             pos = accept_pos;
344                             line = accept_line;
345                             return token;
346                         }
347                     case 14:
348                         {
349                             Token token = new14(
350                                 start_line + 1,
351                                 start_pos + 1);
352                             pushBack(accept_length);
353                             pos = accept_pos;
354                             line = accept_line;
355                             return token;
356                         }
357                     case 15:
358                         {
359                             Token token = new15(
360                                 start_line + 1,
361                                 start_pos + 1);
362                             pushBack(accept_length);
363                             pos = accept_pos;
364                             line = accept_line;
365                             return token;
366                         }
367                     case 16:
368                         {
369                             Token token = new16(
370                                 start_line + 1,
371                                 start_pos + 1);
372                             pushBack(accept_length);
373                             pos = accept_pos;
374                             line = accept_line;
375                             return token;
376                         }
377                     case 17:
378                         {
379                             Token token = new17(
380                                 start_line + 1,
381                                 start_pos + 1);
382                             pushBack(accept_length);
383                             pos = accept_pos;
384                             line = accept_line;
385                             return token;
386                         }
387                     case 18:
388                         {
389                             Token token = new18(
390                                 start_line + 1,
391                                 start_pos + 1);
392                             pushBack(accept_length);
393                             pos = accept_pos;
394                             line = accept_line;
395                             return token;
396                         }
397                     case 19:
398                         {
399                             Token token = new19(
400                                 start_line + 1,
401                                 start_pos + 1);
402                             pushBack(accept_length);
403                             pos = accept_pos;
404                             line = accept_line;
405                             return token;
406                         }
407                     case 20:
408                         {
409                             Token token = new20(
410                                 start_line + 1,
411                                 start_pos + 1);
412                             pushBack(accept_length);
413                             pos = accept_pos;
414                             line = accept_line;
415                             return token;
416                         }
417                     case 21:
418                         {
419                             Token token = new21(
420                                 start_line + 1,
421                                 start_pos + 1);
422                             pushBack(accept_length);
423                             pos = accept_pos;
424                             line = accept_line;
425                             return token;
426                         }
427                     case 22:
428                         {
429                             Token token = new22(
430                                 start_line + 1,
431                                 start_pos + 1);
432                             pushBack(accept_length);
433                             pos = accept_pos;
434                             line = accept_line;
435                             return token;
436                         }
437                     case 23:
438                         {
439                             Token token = new23(
440                                 start_line + 1,
441                                 start_pos + 1);
442                             pushBack(accept_length);
443                             pos = accept_pos;
444                             line = accept_line;
445                             return token;
446                         }
447                     case 24:
448                         {
449                             Token token = new24(
450                                 start_line + 1,
451                                 start_pos + 1);
452                             pushBack(accept_length);
453                             pos = accept_pos;
454                             line = accept_line;
455                             return token;
456                         }
457                     case 25:
458                         {
459                             Token token = new25(
460                                 start_line + 1,
461                                 start_pos + 1);
462                             pushBack(accept_length);
463                             pos = accept_pos;
464                             line = accept_line;
465                             return token;
466                         }
467                     case 26:
468                         {
469                             Token token = new26(
470                                 start_line + 1,
471                                 start_pos + 1);
472                             pushBack(accept_length);
473                             pos = accept_pos;
474                             line = accept_line;
475                             return token;
476                         }
477                     case 27:
478                         {
479                             Token token = new27(
480                                 start_line + 1,
481                                 start_pos + 1);
482                             pushBack(accept_length);
483                             pos = accept_pos;
484                             line = accept_line;
485                             return token;
486                         }
487                     case 28:
488                         {
489                             Token token = new28(
490                                 start_line + 1,
491                                 start_pos + 1);
492                             pushBack(accept_length);
493                             pos = accept_pos;
494                             line = accept_line;
495                             return token;
496                         }
497                     case 29:
498                         {
499                             Token token = new29(
500                                 start_line + 1,
501                                 start_pos + 1);
502                             pushBack(accept_length);
503                             pos = accept_pos;
504                             line = accept_line;
505                             return token;
506                         }
507                     case 30:
508                         {
509                             Token token = new30(
510                                 start_line + 1,
511                                 start_pos + 1);
512                             pushBack(accept_length);
513                             pos = accept_pos;
514                             line = accept_line;
515                             return token;
516                         }
517                     case 31:
518                         {
519                             Token token = new31(
520                                 start_line + 1,
521                                 start_pos + 1);
522                             pushBack(accept_length);
523                             pos = accept_pos;
524                             line = accept_line;
525                             return token;
526                         }
527                     case 32:
528                         {
529                             Token token = new32(
530                                 start_line + 1,
531                                 start_pos + 1);
532                             pushBack(accept_length);
533                             pos = accept_pos;
534                             line = accept_line;
535                             return token;
536                         }
537                     case 33:
538                         {
539                             Token token = new33(
540                                 start_line + 1,
541                                 start_pos + 1);
542                             pushBack(accept_length);
543                             pos = accept_pos;
544                             line = accept_line;
545                             return token;
546                         }
547                     case 34:
548                         {
549                             Token token = new34(
550                                 start_line + 1,
551                                 start_pos + 1);
552                             pushBack(accept_length);
553                             pos = accept_pos;
554                             line = accept_line;
555                             return token;
556                         }
557                     case 35:
558                         {
559                             Token token = new35(
560                                 start_line + 1,
561                                 start_pos + 1);
562                             pushBack(accept_length);
563                             pos = accept_pos;
564                             line = accept_line;
565                             return token;
566                         }
567                     case 36:
568                         {
569                             Token token = new36(
570                                 start_line + 1,
571                                 start_pos + 1);
572                             pushBack(accept_length);
573                             pos = accept_pos;
574                             line = accept_line;
575                             return token;
576                         }
577                     case 37:
578                         {
579                             Token token = new37(
580                                 start_line + 1,
581                                 start_pos + 1);
582                             pushBack(accept_length);
583                             pos = accept_pos;
584                             line = accept_line;
585                             return token;
586                         }
587                     case 38:
588                         {
589                             Token token = new38(
590                                 start_line + 1,
591                                 start_pos + 1);
592                             pushBack(accept_length);
593                             pos = accept_pos;
594                             line = accept_line;
595                             return token;
596                         }
597                     case 39:
598                         {
599                             Token token = new39(
600                                 start_line + 1,
601                                 start_pos + 1);
602                             pushBack(accept_length);
603                             pos = accept_pos;
604                             line = accept_line;
605                             return token;
606                         }
607                     case 40:
608                         {
609                             Token token = new40(
610                                 start_line + 1,
611                                 start_pos + 1);
612                             pushBack(accept_length);
613                             pos = accept_pos;
614                             line = accept_line;
615                             return token;
616                         }
617                     case 41:
618                         {
619                             Token token = new41(
620                                 start_line + 1,
621                                 start_pos + 1);
622                             pushBack(accept_length);
623                             pos = accept_pos;
624                             line = accept_line;
625                             return token;
626                         }
627                     case 42:
628                         {
629                             Token token = new42(
630                                 start_line + 1,
631                                 start_pos + 1);
632                             pushBack(accept_length);
633                             pos = accept_pos;
634                             line = accept_line;
635                             return token;
636                         }
637                     case 43:
638                         {
639                             Token token = new43(
640                                 start_line + 1,
641                                 start_pos + 1);
642                             pushBack(accept_length);
643                             pos = accept_pos;
644                             line = accept_line;
645                             return token;
646                         }
647                     case 44:
648                         {
649                             Token token = new44(
650                                 start_line + 1,
651                                 start_pos + 1);
652                             pushBack(accept_length);
653                             pos = accept_pos;
654                             line = accept_line;
655                             return token;
656                         }
657                     case 45:
658                         {
659                             Token token = new45(
660                                 start_line + 1,
661                                 start_pos + 1);
662                             pushBack(accept_length);
663                             pos = accept_pos;
664                             line = accept_line;
665                             return token;
666                         }
667                     case 46:
668                         {
669                             Token token = new46(
670                                 start_line + 1,
671                                 start_pos + 1);
672                             pushBack(accept_length);
673                             pos = accept_pos;
674                             line = accept_line;
675                             return token;
676                         }
677                     case 47:
678                         {
679                             Token token = new47(
680                                 start_line + 1,
681                                 start_pos + 1);
682                             pushBack(accept_length);
683                             pos = accept_pos;
684                             line = accept_line;
685                             return token;
686                         }
687                     case 48:
688                         {
689                             Token token = new48(
690                                 start_line + 1,
691                                 start_pos + 1);
692                             pushBack(accept_length);
693                             pos = accept_pos;
694                             line = accept_line;
695                             return token;
696                         }
697                     case 49:
698                         {
699                             Token token = new49(
700                                 start_line + 1,
701                                 start_pos + 1);
702                             pushBack(accept_length);
703                             pos = accept_pos;
704                             line = accept_line;
705                             return token;
706                         }
707                     case 50:
708                         {
709                             Token token = new50(
710                                 start_line + 1,
711                                 start_pos + 1);
712                             pushBack(accept_length);
713                             pos = accept_pos;
714                             line = accept_line;
715                             return token;
716                         }
717                     case 51:
718                         {
719                             Token token = new51(
720                                 start_line + 1,
721                                 start_pos + 1);
722                             pushBack(accept_length);
723                             pos = accept_pos;
724                             line = accept_line;
725                             return token;
726                         }
727                     case 52:
728                         {
729                             Token token = new52(
730                                 start_line + 1,
731                                 start_pos + 1);
732                             pushBack(accept_length);
733                             pos = accept_pos;
734                             line = accept_line;
735                             return token;
736                         }
737                     case 53:
738                         {
739                             Token token = new53(
740                                 start_line + 1,
741                                 start_pos + 1);
742                             pushBack(accept_length);
743                             pos = accept_pos;
744                             line = accept_line;
745                             return token;
746                         }
747                     case 54:
748                         {
749                             Token token = new54(
750                                 start_line + 1,
751                                 start_pos + 1);
752                             pushBack(accept_length);
753                             pos = accept_pos;
754                             line = accept_line;
755                             return token;
756                         }
757                     case 55:
758                         {
759                             Token token = new55(
760                                 start_line + 1,
761                                 start_pos + 1);
762                             pushBack(accept_length);
763                             pos = accept_pos;
764                             line = accept_line;
765                             return token;
766                         }
767                     case 56:
768                         {
769                             Token token = new56(
770                                 start_line + 1,
771                                 start_pos + 1);
772                             pushBack(accept_length);
773                             pos = accept_pos;
774                             line = accept_line;
775                             return token;
776                         }
777                     case 57:
778                         {
779                             Token token = new57(
780                                 start_line + 1,
781                                 start_pos + 1);
782                             pushBack(accept_length);
783                             pos = accept_pos;
784                             line = accept_line;
785                             return token;
786                         }
787                     case 58:
788                         {
789                             Token token = new58(
790                                 start_line + 1,
791                                 start_pos + 1);
792                             pushBack(accept_length);
793                             pos = accept_pos;
794                             line = accept_line;
795                             return token;
796                         }
797                     case 59:
798                         {
799                             Token token = new59(
800                                 start_line + 1,
801                                 start_pos + 1);
802                             pushBack(accept_length);
803                             pos = accept_pos;
804                             line = accept_line;
805                             return token;
806                         }
807                     case 60:
808                         {
809                             Token token = new60(
810                                 start_line + 1,
811                                 start_pos + 1);
812                             pushBack(accept_length);
813                             pos = accept_pos;
814                             line = accept_line;
815                             return token;
816                         }
817                     case 61:
818                         {
819                             Token token = new61(
820                                 start_line + 1,
821                                 start_pos + 1);
822                             pushBack(accept_length);
823                             pos = accept_pos;
824                             line = accept_line;
825                             return token;
826                         }
827                     case 62:
828                         {
829                             Token token = new62(
830                                 start_line + 1,
831                                 start_pos + 1);
832                             pushBack(accept_length);
833                             pos = accept_pos;
834                             line = accept_line;
835                             return token;
836                         }
837                     case 63:
838                         {
839                             Token token = new63(
840                                 start_line + 1,
841                                 start_pos + 1);
842                             pushBack(accept_length);
843                             pos = accept_pos;
844                             line = accept_line;
845                             return token;
846                         }
847                     case 64:
848                         {
849                             Token token = new64(
850                                 start_line + 1,
851                                 start_pos + 1);
852                             pushBack(accept_length);
853                             pos = accept_pos;
854                             line = accept_line;
855                             return token;
856                         }
857                     case 65:
858                         {
859                             Token token = new65(
860                                 start_line + 1,
861                                 start_pos + 1);
862                             pushBack(accept_length);
863                             pos = accept_pos;
864                             line = accept_line;
865                             return token;
866                         }
867                     case 66:
868                         {
869                             Token token = new66(
870                                 start_line + 1,
871                                 start_pos + 1);
872                             pushBack(accept_length);
873                             pos = accept_pos;
874                             line = accept_line;
875                             return token;
876                         }
877                     case 67:
878                         {
879                             Token token = new67(
880                                 start_line + 1,
881                                 start_pos + 1);
882                             pushBack(accept_length);
883                             pos = accept_pos;
884                             line = accept_line;
885                             return token;
886                         }
887                     case 68:
888                         {
889                             Token token = new68(
890                                 start_line + 1,
891                                 start_pos + 1);
892                             pushBack(accept_length);
893                             pos = accept_pos;
894                             line = accept_line;
895                             return token;
896                         }
897                     case 69:
898                         {
899                             Token token = new69(
900                                 start_line + 1,
901                                 start_pos + 1);
902                             pushBack(accept_length);
903                             pos = accept_pos;
904                             line = accept_line;
905                             return token;
906                         }
907                     case 70:
908                         {
909                             Token token = new70(
910                                 start_line + 1,
911                                 start_pos + 1);
912                             pushBack(accept_length);
913                             pos = accept_pos;
914                             line = accept_line;
915                             return token;
916                         }
917                     case 71:
918                         {
919                             Token token = new71(
920                                 start_line + 1,
921                                 start_pos + 1);
922                             pushBack(accept_length);
923                             pos = accept_pos;
924                             line = accept_line;
925                             return token;
926                         }
927                     case 72:
928                         {
929                             Token token = new72(
930                                 start_line + 1,
931                                 start_pos + 1);
932                             pushBack(accept_length);
933                             pos = accept_pos;
934                             line = accept_line;
935                             return token;
936                         }
937                     case 73:
938                         {
939                             Token token = new73(
940                                 start_line + 1,
941                                 start_pos + 1);
942                             pushBack(accept_length);
943                             pos = accept_pos;
944                             line = accept_line;
945                             return token;
946                         }
947                     case 74:
948                         {
949                             Token token = new74(
950                                 start_line + 1,
951                                 start_pos + 1);
952                             pushBack(accept_length);
953                             pos = accept_pos;
954                             line = accept_line;
955                             return token;
956                         }
957                     case 75:
958                         {
959                             Token token = new75(
960                                 start_line + 1,
961                                 start_pos + 1);
962                             pushBack(accept_length);
963                             pos = accept_pos;
964                             line = accept_line;
965                             return token;
966                         }
967                     case 76:
968                         {
969                             Token token = new76(
970                                 start_line + 1,
971                                 start_pos + 1);
972                             pushBack(accept_length);
973                             pos = accept_pos;
974                             line = accept_line;
975                             return token;
976                         }
977                     case 77:
978                         {
979                             Token token = new77(
980                                 start_line + 1,
981                                 start_pos + 1);
982                             pushBack(accept_length);
983                             pos = accept_pos;
984                             line = accept_line;
985                             return token;
986                         }
987                     case 78:
988                         {
989                             Token token = new78(
990                                 start_line + 1,
991                                 start_pos + 1);
992                             pushBack(accept_length);
993                             pos = accept_pos;
994                             line = accept_line;
995                             return token;
996                         }
997                     case 79:
998                         {
999                             Token token = new79(
1000                                start_line + 1,
1001                                start_pos + 1);
1002                            pushBack(accept_length);
1003                            pos = accept_pos;
1004                            line = accept_line;
1005                            return token;
1006                        }
1007                    case 80:
1008                        {
1009                            Token token = new80(
1010                                start_line + 1,
1011                                start_pos + 1);
1012                            pushBack(accept_length);
1013                            pos = accept_pos;
1014                            line = accept_line;
1015                            return token;
1016                        }
1017                    case 81:
1018                        {
1019                            Token token = new81(
1020                                start_line + 1,
1021                                start_pos + 1);
1022                            pushBack(accept_length);
1023                            pos = accept_pos;
1024                            line = accept_line;
1025                            return token;
1026                        }
1027                    case 82:
1028                        {
1029                            Token token = new82(
1030                                start_line + 1,
1031                                start_pos + 1);
1032                            pushBack(accept_length);
1033                            pos = accept_pos;
1034                            line = accept_line;
1035                            return token;
1036                        }
1037                    case 83:
1038                        {
1039                            Token token = new83(
1040                                start_line + 1,
1041                                start_pos + 1);
1042                            pushBack(accept_length);
1043                            pos = accept_pos;
1044                            line = accept_line;
1045                            return token;
1046                        }
1047                    case 84:
1048                        {
1049                            Token token = new84(
1050                                start_line + 1,
1051                                start_pos + 1);
1052                            pushBack(accept_length);
1053                            pos = accept_pos;
1054                            line = accept_line;
1055                            return token;
1056                        }
1057                    case 85:
1058                        {
1059                            Token token = new85(
1060                                start_line + 1,
1061                                start_pos + 1);
1062                            pushBack(accept_length);
1063                            pos = accept_pos;
1064                            line = accept_line;
1065                            return token;
1066                        }
1067                    case 86:
1068                        {
1069                            Token token = new86(
1070                                start_line + 1,
1071                                start_pos + 1);
1072                            pushBack(accept_length);
1073                            pos = accept_pos;
1074                            line = accept_line;
1075                            return token;
1076                        }
1077                    case 87:
1078                        {
1079                            Token token = new87(
1080                                start_line + 1,
1081                                start_pos + 1);
1082                            pushBack(accept_length);
1083                            pos = accept_pos;
1084                            line = accept_line;
1085                            return token;
1086                        }
1087                    case 88:
1088                        {
1089                            Token token = new88(
1090                                start_line + 1,
1091                                start_pos + 1);
1092                            pushBack(accept_length);
1093                            pos = accept_pos;
1094                            line = accept_line;
1095                            return token;
1096                        }
1097                    case 89:
1098                        {
1099                            Token token = new89(
1100                                start_line + 1,
1101                                start_pos + 1);
1102                            pushBack(accept_length);
1103                            pos = accept_pos;
1104                            line = accept_line;
1105                            return token;
1106                        }
1107                    case 90:
1108                        {
1109                            Token token = new90(
1110                                start_line + 1,
1111                                start_pos + 1);
1112                            pushBack(accept_length);
1113                            pos = accept_pos;
1114                            line = accept_line;
1115                            return token;
1116                        }
1117                    case 91:
1118                        {
1119                            Token token = new91(
1120                                start_line + 1,
1121                                start_pos + 1);
1122                            pushBack(accept_length);
1123                            pos = accept_pos;
1124                            line = accept_line;
1125                            return token;
1126                        }
1127                    case 92:
1128                        {
1129                            Token token = new92(
1130                                getText(accept_length),
1131                                start_line + 1,
1132                                start_pos + 1);
1133                            pushBack(accept_length);
1134                            pos = accept_pos;
1135                            line = accept_line;
1136                            return token;
1137                        }
1138                    case 93:
1139                        {
1140                            Token token = new93(
1141                                getText(accept_length),
1142                                start_line + 1,
1143                                start_pos + 1);
1144                            pushBack(accept_length);
1145                            pos = accept_pos;
1146                            line = accept_line;
1147                            return token;
1148                        }
1149                    case 94:
1150                        {
1151                            Token token = new94(
1152                                getText(accept_length),
1153                                start_line + 1,
1154                                start_pos + 1);
1155                            pushBack(accept_length);
1156                            pos = accept_pos;
1157                            line = accept_line;
1158                            return token;
1159                        }
1160                    case 95:
1161                        {
1162                            Token token = new95(
1163                                getText(accept_length),
1164                                start_line + 1,
1165                                start_pos + 1);
1166                            pushBack(accept_length);
1167                            pos = accept_pos;
1168                            line = accept_line;
1169                            return token;
1170                        }
1171                    case 96:
1172                        {
1173                            Token token = new96(
1174                                getText(accept_length),
1175                                start_line + 1,
1176                                start_pos + 1);
1177                            pushBack(accept_length);
1178                            pos = accept_pos;
1179                            line = accept_line;
1180                            return token;
1181                        }
1182                    case 97:
1183                        {
1184                            Token token = new97(
1185                                getText(accept_length),
1186                                start_line + 1,
1187                                start_pos + 1);
1188                            pushBack(accept_length);
1189                            pos = accept_pos;
1190                            line = accept_line;
1191                            return token;
1192                        }
1193                    case 98:
1194                        {
1195                            Token token = new98(
1196                                getText(accept_length),
1197                                start_line + 1,
1198                                start_pos + 1);
1199                            pushBack(accept_length);
1200                            pos = accept_pos;
1201                            line = accept_line;
1202                            return token;
1203                        }
1204                    case 99:
1205                        {
1206                            Token token = new99(
1207                                getText(accept_length),
1208                                start_line + 1,
1209                                start_pos + 1);
1210                            pushBack(accept_length);
1211                            pos = accept_pos;
1212                            line = accept_line;
1213                            return token;
1214                        }
1215                    }
1216                }
1217                else
1218                {
1219                    if(text.length() > 0)
1220                    {
1221                        throw new LexerException(
1222                            "[" + (start_line + 1) + "," + (start_pos + 1) + "]" +
1223                            " Unknown token: " + text);
1224                    }
1225                    else
1226                    {
1227                        EOF token = new EOF(
1228                            start_line + 1,
1229                            start_pos + 1);
1230                        return token;
1231                    }
1232                }
1233            }
1234        }
1235    }
1236
1237    Token new0(String JavaDoc text, int line, int pos) { return new TIgnored(text, line, pos); }
1238    Token new1(int line, int pos) { return new TAbstract(line, pos); }
1239    Token new2(int line, int pos) { return new TFinal(line, pos); }
1240    Token new3(int line, int pos) { return new TNative(line, pos); }
1241    Token new4(int line, int pos) { return new TPublic(line, pos); }
1242    Token new5(int line, int pos) { return new TProtected(line, pos); }
1243    Token new6(int line, int pos) { return new TPrivate(line, pos); }
1244    Token new7(int line, int pos) { return new TStatic(line, pos); }
1245    Token new8(int line, int pos) { return new TSynchronized(line, pos); }
1246    Token new9(int line, int pos) { return new TTransient(line, pos); }
1247    Token new10(int line, int pos) { return new TVolatile(line, pos); }
1248    Token new11(int line, int pos) { return new TStrictfp(line, pos); }
1249    Token new12(int line, int pos) { return new TEnum(line, pos); }
1250    Token new13(int line, int pos) { return new TAnnotation(line, pos); }
1251    Token new14(int line, int pos) { return new TClass(line, pos); }
1252    Token new15(int line, int pos) { return new TInterface(line, pos); }
1253    Token new16(int line, int pos) { return new TVoid(line, pos); }
1254    Token new17(int line, int pos) { return new TBoolean(line, pos); }
1255    Token new18(int line, int pos) { return new TByte(line, pos); }
1256    Token new19(int line, int pos) { return new TShort(line, pos); }
1257    Token new20(int line, int pos) { return new TChar(line, pos); }
1258    Token new21(int line, int pos) { return new TInt(line, pos); }
1259    Token new22(int line, int pos) { return new TLong(line, pos); }
1260    Token new23(int line, int pos) { return new TFloat(line, pos); }
1261    Token new24(int line, int pos) { return new TDouble(line, pos); }
1262    Token new25(int line, int pos) { return new TNullType(line, pos); }
1263    Token new26(int line, int pos) { return new TUnknown(line, pos); }
1264    Token new27(int line, int pos) { return new TExtends(line, pos); }
1265    Token new28(int line, int pos) { return new TImplements(line, pos); }
1266    Token new29(int line, int pos) { return new TBreakpoint(line, pos); }
1267    Token new30(int line, int pos) { return new TCase(line, pos); }
1268    Token new31(int line, int pos) { return new TCatch(line, pos); }
1269    Token new32(int line, int pos) { return new TCmp(line, pos); }
1270    Token new33(int line, int pos) { return new TCmpg(line, pos); }
1271    Token new34(int line, int pos) { return new TCmpl(line, pos); }
1272    Token new35(int line, int pos) { return new TDefault(line, pos); }
1273    Token new36(int line, int pos) { return new TEntermonitor(line, pos); }
1274    Token new37(int line, int pos) { return new TExitmonitor(line, pos); }
1275    Token new38(int line, int pos) { return new TGoto(line, pos); }
1276    Token new39(int line, int pos) { return new TIf(line, pos); }
1277    Token new40(int line, int pos) { return new TInstanceof(line, pos); }
1278    Token new41(int line, int pos) { return new TInterfaceinvoke(line, pos); }
1279    Token new42(int line, int pos) { return new TLengthof(line, pos); }
1280    Token new43(int line, int pos) { return new TLookupswitch(line, pos); }
1281    Token new44(int line, int pos) { return new TNeg(line, pos); }
1282    Token new45(int line, int pos) { return new TNew(line, pos); }
1283    Token new46(int line, int pos) { return new TNewarray(line, pos); }
1284    Token new47(int line, int pos) { return new TNewmultiarray(line, pos); }
1285    Token new48(int line, int pos) { return new TNop(line, pos); }
1286    Token new49(int line, int pos) { return new TRet(line, pos); }
1287    Token new50(int line, int pos) { return new TReturn(line, pos); }
1288    Token new51(int line, int pos) { return new TSpecialinvoke(line, pos); }
1289    Token new52(int line, int pos) { return new TStaticinvoke(line, pos); }
1290    Token new53(int line, int pos) { return new TTableswitch(line, pos); }
1291    Token new54(int line, int pos) { return new TThrow(line, pos); }
1292    Token new55(int line, int pos) { return new TThrows(line, pos); }
1293    Token new56(int line, int pos) { return new TVirtualinvoke(line, pos); }
1294    Token new57(int line, int pos) { return new TNull(line, pos); }
1295    Token new58(int line, int pos) { return new TFrom(line, pos); }
1296    Token new59(int line, int pos) { return new TTo(line, pos); }
1297    Token new60(int line, int pos) { return new TWith(line, pos); }
1298    Token new61(int line, int pos) { return new TCls(line, pos); }
1299    Token new62(int line, int pos) { return new TComma(line, pos); }
1300    Token new63(int line, int pos) { return new TLBrace(line, pos); }
1301    Token new64(int line, int pos) { return new TRBrace(line, pos); }
1302    Token new65(int line, int pos) { return new TSemicolon(line, pos); }
1303    Token new66(int line, int pos) { return new TLBracket(line, pos); }
1304    Token new67(int line, int pos) { return new TRBracket(line, pos); }
1305    Token new68(int line, int pos) { return new TLParen(line, pos); }
1306    Token new69(int line, int pos) { return new TRParen(line, pos); }
1307    Token new70(int line, int pos) { return new TColon(line, pos); }
1308    Token new71(int line, int pos) { return new TDot(line, pos); }
1309    Token new72(int line, int pos) { return new TQuote(line, pos); }
1310    Token new73(int line, int pos) { return new TColonEquals(line, pos); }
1311    Token new74(int line, int pos) { return new TEquals(line, pos); }
1312    Token new75(int line, int pos) { return new TAnd(line, pos); }
1313    Token new76(int line, int pos) { return new TOr(line, pos); }
1314    Token new77(int line, int pos) { return new TXor(line, pos); }
1315    Token new78(int line, int pos) { return new TMod(line, pos); }
1316    Token new79(int line, int pos) { return new TCmpeq(line, pos); }
1317    Token new80(int line, int pos) { return new TCmpne(line, pos); }
1318    Token new81(int line, int pos) { return new TCmpgt(line, pos); }
1319    Token new82(int line, int pos) { return new TCmpge(line, pos); }
1320    Token new83(int line, int pos) { return new TCmplt(line, pos); }
1321    Token new84(int line, int pos) { return new TCmple(line, pos); }
1322    Token new85(int line, int pos) { return new TShl(line, pos); }
1323    Token new86(int line, int pos) { return new TShr(line, pos); }
1324    Token new87(int line, int pos) { return new TUshr(line, pos); }
1325    Token new88(int line, int pos) { return new TPlus(line, pos); }
1326    Token new89(int line, int pos) { return new TMinus(line, pos); }
1327    Token new90(int line, int pos) { return new TMult(line, pos); }
1328    Token new91(int line, int pos) { return new TDiv(line, pos); }
1329    Token new92(String JavaDoc text, int line, int pos) { return new TFullIdentifier(text, line, pos); }
1330    Token new93(String JavaDoc text, int line, int pos) { return new TQuotedName(text, line, pos); }
1331    Token new94(String JavaDoc text, int line, int pos) { return new TIdentifier(text, line, pos); }
1332    Token new95(String JavaDoc text, int line, int pos) { return new TAtIdentifier(text, line, pos); }
1333    Token new96(String JavaDoc text, int line, int pos) { return new TBoolConstant(text, line, pos); }
1334    Token new97(String JavaDoc text, int line, int pos) { return new TIntegerConstant(text, line, pos); }
1335    Token new98(String JavaDoc text, int line, int pos) { return new TFloatConstant(text, line, pos); }
1336    Token new99(String JavaDoc text, int line, int pos) { return new TStringConstant(text, line, pos); }
1337
1338    private int getChar() throws IOException
1339    {
1340        if(eof)
1341        {
1342            return -1;
1343        }
1344
1345        int result = in.read();
1346
1347        if(result == -1)
1348        {
1349            eof = true;
1350        }
1351
1352        return result;
1353    }
1354
1355    private void pushBack(int acceptLength) throws IOException
1356    {
1357        int length = text.length();
1358        for(int i = length - 1; i >= acceptLength; i--)
1359        {
1360            eof = false;
1361
1362            in.unread(text.charAt(i));
1363        }
1364    }
1365
1366    protected void unread(Token token) throws IOException
1367    {
1368        String JavaDoc text = token.getText();
1369        int length = text.length();
1370
1371        for(int i = length - 1; i >= 0; i--)
1372        {
1373            eof = false;
1374
1375            in.unread(text.charAt(i));
1376        }
1377
1378        pos = token.getPos() - 1;
1379        line = token.getLine() - 1;
1380    }
1381
1382    private String JavaDoc getText(int acceptLength)
1383    {
1384        StringBuffer JavaDoc s = new StringBuffer JavaDoc(acceptLength);
1385        for(int i = 0; i < acceptLength; i++)
1386        {
1387            s.append(text.charAt(i));
1388        }
1389
1390        return s.toString();
1391    }
1392
1393    private static int[][][][] gotoTable;
1394/* {
1395        { // INITIAL
1396            {{9, 9, 1}, {10, 10, 2}, {13, 13, 3}, {32, 32, 4}, {33, 33, 5}, {34, 34, 6}, {35, 35, 7}, {36, 36, 8}, {37, 37, 9}, {38, 38, 10}, {39, 39, 11}, {40, 40, 12}, {41, 41, 13}, {42, 42, 14}, {43, 43, 15}, {44, 44, 16}, {45, 45, 17}, {46, 46, 18}, {47, 47, 19}, {48, 48, 20}, {49, 57, 21}, {58, 58, 22}, {59, 59, 23}, {60, 60, 24}, {61, 61, 25}, {62, 62, 26}, {64, 64, 27}, {65, 90, 28}, {91, 91, 29}, {92, 92, 30}, {93, 93, 31}, {94, 94, 32}, {95, 95, 33}, {97, 97, 34}, {98, 98, 35}, {99, 99, 36}, {100, 100, 37}, {101, 101, 38}, {102, 102, 39}, {103, 103, 40}, {104, 104, 41}, {105, 105, 42}, {106, 107, 41}, {108, 108, 43}, {109, 109, 41}, {110, 110, 44}, {111, 111, 41}, {112, 112, 45}, {113, 113, 41}, {114, 114, 46}, {115, 115, 47}, {116, 116, 48}, {117, 117, 49}, {118, 118, 50}, {119, 119, 51}, {120, 122, 41}, {123, 123, 52}, {124, 124, 53}, {125, 125, 54}, },
1397            {{9, 32, -2}, {47, 47, 55}, },
1398            {{9, 47, -3}, },
1399            {{9, 47, -3}, },
1400            {{9, 47, -3}, },
1401            {{61, 61, 56}, },
1402            {{0, 33, 57}, {34, 34, 58}, {35, 91, 59}, {92, 92, 60}, {93, 127, 61}, },
1403            {{45, 45, 62}, {73, 73, 63}, {78, 78, 64}, },
1404            {{36, 36, 65}, {46, 46, 66}, {48, 57, 67}, {65, 90, 68}, {92, 92, 69}, {95, 95, 70}, {97, 122, 71}, },
1405            {},
1406            {},
1407            {{0, 9, 72}, {11, 12, 72}, {14, 38, 72}, {40, 65535, 72}, },
1408            {},
1409            {},
1410            {},
1411            {},
1412            {},
1413            {},
1414            {},
1415            {{42, 42, 73}, {47, 47, 74}, },
1416            {{46, 46, 75}, {48, 55, 76}, {56, 57, 21}, {76, 76, 77}, {88, 88, 78}, {120, 120, 79}, },
1417            {{46, 46, 75}, {48, 57, 21}, {76, 76, 77}, },
1418            {{61, 61, 80}, },
1419            {},
1420            {{60, 60, 81}, {61, 61, 82}, {99, 99, 83}, {105, 105, 84}, },
1421            {{61, 61, 85}, },
1422            {{61, 61, 86}, {62, 62, 87}, },
1423            {{99, 99, 88}, {112, 112, 89}, {116, 116, 90}, },
1424            {{36, 122, -10}, },
1425            {},
1426            {{32, 32, 91}, {34, 34, 92}, {35, 35, 93}, {39, 39, 94}, {46, 46, 95}, {92, 92, 96}, {98, 98, 97}, {102, 102, 98}, {110, 110, 99}, {114, 114, 100}, {116, 116, 101}, {117, 117, 102}, },
1427            {},
1428            {},
1429            {{36, 122, -10}, },
1430            {{36, 95, -10}, {97, 97, 71}, {98, 98, 103}, {99, 109, 71}, {110, 110, 104}, {111, 122, 71}, },
1431            {{36, 95, -10}, {97, 110, 71}, {111, 111, 105}, {112, 113, 71}, {114, 114, 106}, {115, 120, 71}, {121, 121, 107}, {122, 122, 71}, },
1432            {{36, 95, -10}, {97, 97, 108}, {98, 103, 71}, {104, 104, 109}, {105, 107, 71}, {108, 108, 110}, {109, 109, 111}, {110, 122, 71}, },
1433            {{36, 95, -10}, {97, 100, 71}, {101, 101, 112}, {102, 110, 71}, {111, 111, 113}, {112, 122, 71}, },
1434            {{36, 95, -10}, {97, 109, 71}, {110, 110, 114}, {111, 119, 71}, {120, 120, 115}, {121, 122, 71}, },
1435            {{36, 95, -10}, {97, 97, 116}, {98, 104, 71}, {105, 105, 117}, {106, 107, 71}, {108, 108, 118}, {109, 113, 71}, {114, 114, 119}, {115, 122, 71}, },
1436            {{36, 110, -37}, {111, 111, 120}, {112, 122, 71}, },
1437            {{36, 122, -10}, },
1438            {{36, 95, -10}, {97, 101, 71}, {102, 102, 121}, {103, 108, 71}, {109, 109, 122}, {110, 110, 123}, {111, 122, 71}, },
1439            {{36, 100, -39}, {101, 101, 124}, {102, 110, 71}, {111, 111, 125}, {112, 122, 71}, },
1440            {{36, 95, -10}, {97, 97, 126}, {98, 100, 71}, {101, 101, 127}, {102, 110, 71}, {111, 111, 128}, {112, 116, 71}, {117, 117, 129}, {118, 122, 71}, },
1441            {{36, 95, -10}, {97, 113, 71}, {114, 114, 130}, {115, 116, 71}, {117, 117, 131}, {118, 122, 71}, },
1442            {{36, 100, -39}, {101, 101, 132}, {102, 122, 71}, },
1443            {{36, 95, -10}, {97, 103, 71}, {104, 104, 133}, {105, 111, 71}, {112, 112, 134}, {113, 115, 71}, {116, 116, 135}, {117, 120, 71}, {121, 121, 136}, {122, 122, 71}, },
1444            {{36, 95, -10}, {97, 97, 137}, {98, 103, 71}, {104, 104, 138}, {105, 110, 71}, {111, 111, 139}, {112, 113, 71}, {114, 114, 140}, {115, 122, 71}, },
1445            {{36, 109, -40}, {110, 110, 141}, {111, 122, 71}, },
1446            {{36, 95, -10}, {97, 104, 71}, {105, 105, 142}, {106, 110, 71}, {111, 111, 143}, {112, 122, 71}, },
1447            {{36, 104, -52}, {105, 105, 144}, {106, 122, 71}, },
1448            {},
1449            {},
1450            {},
1451            {{42, 47, -21}, },
1452            {},
1453            {{0, 127, -8}, },
1454            {},
1455            {{0, 127, -8}, },
1456            {{32, 32, 145}, {34, 34, 146}, {35, 35, 147}, {39, 39, 148}, {46, 46, 149}, {92, 92, 150}, {98, 98, 151}, {102, 102, 152}, {110, 110, 153}, {114, 114, 154}, {116, 116, 155}, {117, 117, 156}, },
1457            {{0, 127, -8}, },
1458            {{73, 73, 63}, },
1459            {{110, 110, 157}, },
1460            {{97, 97, 158}, },
1461            {{36, 122, -10}, },
1462            {{36, 36, 159}, {65, 90, 160}, {92, 92, 161}, {95, 95, 162}, {97, 122, 163}, },
1463            {{36, 122, -10}, },
1464            {{36, 122, -10}, },
1465            {{32, 32, 164}, {34, 34, 165}, {35, 35, 166}, {39, 39, 167}, {46, 46, 168}, {92, 92, 169}, {98, 98, 170}, {102, 102, 171}, {110, 110, 172}, {114, 114, 173}, {116, 116, 174}, {117, 117, 175}, },
1466            {{36, 122, -10}, },
1467            {{36, 122, -10}, },
1468            {{0, 38, -13}, {39, 39, 176}, {40, 65535, 72}, },
1469            {{0, 41, 177}, {42, 42, 178}, {43, 65535, 177}, },
1470            {{0, 8, 179}, {9, 9, 180}, {10, 10, 2}, {11, 12, 179}, {13, 13, 3}, {14, 31, 179}, {32, 32, 181}, {33, 46, 179}, {47, 47, 182}, {48, 65535, 179}, },
1471            {{48, 57, 183}, },
1472            {{46, 76, -22}, },
1473            {},
1474            {{48, 57, 184}, {65, 70, 185}, {97, 102, 186}, },
1475            {{48, 102, -80}, },
1476            {},
1477            {},
1478            {},
1479            {{108, 108, 187}, },
1480            {{110, 110, 188}, },
1481            {},
1482            {},
1483            {{62, 62, 189}, },
1484            {{97, 97, 190}, },
1485            {{97, 97, 191}, },
1486            {{104, 104, 192}, },
1487            {{36, 122, -10}, },
1488            {{36, 122, -10}, },
1489            {{36, 122, -10}, },
1490            {{36, 122, -10}, },
1491            {{36, 122, -10}, },
1492            {{36, 122, -10}, },
1493            {{36, 122, -10}, },
1494            {{36, 122, -10}, },
1495            {{36, 122, -10}, },
1496            {{36, 122, -10}, },
1497            {{36, 122, -10}, },
1498            {{48, 57, 193}, {65, 70, 194}, {97, 102, 195}, },
1499            {{36, 95, -10}, {97, 114, 71}, {115, 115, 196}, {116, 122, 71}, },
1500            {{36, 109, -40}, {110, 110, 197}, {111, 122, 71}, },
1501            {{36, 110, -37}, {111, 111, 198}, {112, 122, 71}, },
1502            {{36, 100, -39}, {101, 101, 199}, {102, 122, 71}, },
1503            {{36, 95, -10}, {97, 115, 71}, {116, 116, 200}, {117, 122, 71}, },
1504            {{36, 114, -105}, {115, 115, 201}, {116, 116, 202}, {117, 122, 71}, },
1505            {{36, 95, -10}, {97, 97, 203}, {98, 122, 71}, },
1506            {{36, 95, -10}, {97, 97, 204}, {98, 114, 71}, {115, 115, 205}, {116, 122, 71}, },
1507            {{36, 95, -10}, {97, 111, 71}, {112, 112, 206}, {113, 122, 71}, },
1508            {{36, 101, -44}, {102, 102, 207}, {103, 122, 71}, },
1509            {{36, 95, -10}, {97, 116, 71}, {117, 117, 208}, {118, 122, 71}, },
1510            {{36, 115, -109}, {116, 116, 209}, {117, 117, 210}, {118, 122, 71}, },
1511            {{36, 104, -52}, {105, 105, 211}, {106, 115, 71}, {116, 116, 212}, {117, 122, 71}, },
1512            {{36, 95, -10}, {97, 107, 71}, {108, 108, 213}, {109, 122, 71}, },
1513            {{36, 109, -40}, {110, 110, 214}, {111, 122, 71}, },
1514            {{36, 110, -37}, {111, 111, 215}, {112, 122, 71}, },
1515            {{36, 110, -37}, {111, 111, 216}, {112, 122, 71}, },
1516            {{36, 115, -109}, {116, 116, 217}, {117, 122, 71}, },
1517            {{36, 122, -10}, },
1518            {{36, 111, -113}, {112, 112, 218}, {113, 122, 71}, },
1519            {{36, 114, -105}, {115, 115, 219}, {116, 116, 220}, {117, 122, 71}, },
1520            {{36, 109, -40}, {110, 110, 221}, {111, 122, 71}, },
1521            {{36, 109, -40}, {110, 110, 222}, {111, 111, 223}, {112, 122, 71}, },
1522            {{36, 115, -109}, {116, 116, 224}, {117, 122, 71}, },
1523            {{36, 95, -10}, {97, 102, 71}, {103, 103, 225}, {104, 118, 71}, {119, 119, 226}, {120, 122, 71}, },
1524            {{36, 111, -113}, {112, 112, 227}, {113, 122, 71}, },
1525            {{36, 107, -118}, {108, 108, 228}, {109, 122, 71}, },
1526            {{36, 104, -52}, {105, 105, 229}, {106, 110, 71}, {111, 111, 230}, {112, 122, 71}, },
1527            {{36, 97, -36}, {98, 98, 231}, {99, 122, 71}, },
1528            {{36, 115, -109}, {116, 116, 232}, {117, 122, 71}, },
1529            {{36, 110, -37}, {111, 111, 233}, {112, 122, 71}, },
1530            {{36, 100, -39}, {101, 101, 234}, {102, 122, 71}, },
1531            {{36, 95, -10}, {97, 97, 235}, {98, 113, 71}, {114, 114, 236}, {115, 122, 71}, },
1532            {{36, 109, -40}, {110, 110, 237}, {111, 122, 71}, },
1533            {{36, 97, -36}, {98, 98, 238}, {99, 122, 71}, },
1534            {{36, 113, -47}, {114, 114, 239}, {115, 122, 71}, },
1535            {{36, 122, -10}, },
1536            {{36, 95, -10}, {97, 97, 240}, {98, 116, 71}, {117, 117, 241}, {118, 122, 71}, },
1537            {{36, 95, -10}, {97, 106, 71}, {107, 107, 242}, {108, 122, 71}, },
1538            {{36, 113, -47}, {114, 114, 243}, {115, 122, 71}, },
1539            {{36, 104, -52}, {105, 105, 244}, {106, 107, 71}, {108, 108, 245}, {109, 122, 71}, },
1540            {{36, 115, -109}, {116, 116, 246}, {117, 122, 71}, },
1541            {{0, 127, -8}, },
1542            {{0, 127, -8}, },
1543            {{0, 127, -8}, },
1544            {{0, 127, -8}, },
1545            {{0, 127, -8}, },
1546            {{0, 127, -8}, },
1547            {{0, 127, -8}, },
1548            {{0, 127, -8}, },
1549            {{0, 127, -8}, },
1550            {{0, 127, -8}, },
1551            {{0, 127, -8}, },
1552            {{48, 57, 247}, {65, 70, 248}, {97, 102, 249}, },
1553            {{102, 102, 250}, },
1554            {{78, 78, 251}, },
1555            {{36, 36, 252}, {46, 46, 66}, {48, 57, 253}, {65, 90, 254}, {92, 92, 255}, {95, 95, 256}, {97, 122, 257}, },
1556            {{36, 122, -161}, },
1557            {{32, 32, 258}, {34, 34, 259}, {35, 35, 260}, {39, 39, 261}, {46, 46, 262}, {92, 92, 263}, {98, 98, 264}, {102, 102, 265}, {110, 110, 266}, {114, 114, 267}, {116, 116, 268}, {117, 117, 269}, },
1558            {{36, 122, -161}, },
1559            {{36, 122, -161}, },
1560            {{36, 122, -10}, },
1561            {{36, 122, -10}, },
1562            {{36, 122, -10}, },
1563            {{36, 122, -10}, },
1564            {{36, 122, -10}, },
1565            {{36, 122, -10}, },
1566            {{36, 122, -10}, },
1567            {{36, 122, -10}, },
1568            {{36, 122, -10}, },
1569            {{36, 122, -10}, },
1570            {{36, 122, -10}, },
1571            {{48, 57, 270}, {65, 70, 271}, {97, 102, 272}, },
1572            {},
1573            {{0, 65535, -75}, },
1574            {{0, 41, 273}, {42, 42, 178}, {43, 46, 273}, {47, 47, 274}, {48, 65535, 273}, },
1575            {{0, 65535, -76}, },
1576            {{0, 65535, -76}, },
1577            {{0, 65535, -76}, },
1578            {{0, 32, -76}, {33, 41, 179}, {42, 42, 275}, {43, 46, 179}, {47, 47, 276}, {48, 65535, 179}, },
1579            {{48, 57, 183}, {69, 69, 277}, {70, 70, 278}, {101, 101, 279}, {102, 102, 280}, },
1580            {{48, 70, -80}, {76, 76, 77}, {97, 102, 186}, },
1581            {{48, 102, -186}, },
1582            {{48, 102, -186}, },
1583            {{105, 105, 281}, },
1584            {{105, 105, 282}, },
1585            {},
1586            {{117, 117, 283}, },
1587            {{114, 114, 284}, },
1588            {{105, 105, 285}, },
1589            {{48, 57, 286}, {65, 70, 287}, {97, 102, 288}, },
1590            {{48, 102, -195}, },
1591            {{48, 102, -195}, },
1592            {{36, 115, -109}, {116, 116, 289}, {117, 122, 71}, },
1593            {{36, 110, -37}, {111, 111, 290}, {112, 122, 71}, },
1594            {{36, 107, -118}, {108, 108, 291}, {109, 122, 71}, },
1595            {{36, 95, -10}, {97, 97, 292}, {98, 122, 71}, },
1596            {{36, 100, -39}, {101, 101, 293}, {102, 122, 71}, },
1597            {{36, 100, -39}, {101, 101, 294}, {102, 122, 71}, },
1598            {{36, 95, -10}, {97, 98, 71}, {99, 99, 295}, {100, 122, 71}, },
1599            {{36, 113, -47}, {114, 114, 296}, {115, 122, 71}, },
1600            {{36, 114, -105}, {115, 115, 297}, {116, 122, 71}, },
1601            {{36, 122, -10}, },
1602            {{36, 102, -129}, {103, 103, 298}, {104, 107, 71}, {108, 108, 299}, {109, 122, 71}, },
1603            {{36, 95, -10}, {97, 97, 300}, {98, 122, 71}, },
1604            {{36, 97, -36}, {98, 98, 301}, {99, 122, 71}, },
1605            {{36, 100, -39}, {101, 101, 302}, {102, 122, 71}, },
1606            {{36, 95, -10}, {97, 108, 71}, {109, 109, 303}, {110, 122, 71}, },
1607            {{36, 115, -109}, {116, 116, 304}, {117, 122, 71}, },
1608            {{36, 100, -39}, {101, 101, 305}, {102, 122, 71}, },
1609            {{36, 114, -105}, {115, 115, 306}, {116, 122, 71}, },
1610            {{36, 95, -10}, {97, 97, 307}, {98, 122, 71}, },
1611            {{36, 95, -10}, {97, 97, 308}, {98, 122, 71}, },
1612            {{36, 108, -212}, {109, 109, 309}, {110, 122, 71}, },
1613            {{36, 110, -37}, {111, 111, 310}, {112, 122, 71}, },
1614            {{36, 107, -118}, {108, 108, 311}, {109, 122, 71}, },
1615            {{36, 115, -109}, {116, 116, 312}, {117, 122, 71}, },
1616            {{36, 100, -39}, {101, 101, 313}, {102, 122, 71}, },
1617            {{36, 102, -129}, {103, 103, 314}, {104, 122, 71}, },
1618            {{36, 102, -129}, {103, 103, 315}, {104, 122, 71}, },
1619            {{36, 106, -143}, {107, 107, 316}, {108, 122, 71}, },
1620            {{36, 104, -52}, {105, 105, 317}, {106, 122, 71}, },
1621            {{36, 122, -10}, },
1622            {{36, 95, -10}, {97, 97, 318}, {98, 108, 71}, {109, 109, 319}, {110, 122, 71}, },
1623            {{36, 122, -10}, },
1624            {{36, 107, -118}, {108, 108, 320}, {109, 122, 71}, },
1625            {{36, 95, -10}, {97, 117, 71}, {118, 118, 321}, {119, 122, 71}, },
1626            {{36, 115, -109}, {116, 116, 322}, {117, 122, 71}, },
1627            {{36, 107, -118}, {108, 108, 323}, {109, 122, 71}, },
1628            {{36, 116, -115}, {117, 117, 324}, {118, 122, 71}, },
1629            {{36, 113, -47}, {114, 114, 325}, {115, 122, 71}, },
1630            {{36, 98, -204}, {99, 99, 326}, {100, 122, 71}, },
1631            {{36, 115, -109}, {116, 116, 327}, {117, 122, 71}, },
1632            {{36, 104, -52}, {105, 105, 328}, {106, 122, 71}, },
1633            {{36, 98, -204}, {99, 99, 329}, {100, 122, 71}, },
1634            {{36, 107, -118}, {108, 108, 330}, {109, 122, 71}, },
1635            {{36, 110, -37}, {111, 111, 331}, {112, 122, 71}, },
1636            {{36, 109, -40}, {110, 110, 332}, {111, 122, 71}, },
1637            {{36, 100, -39}, {101, 101, 333}, {102, 122, 71}, },
1638            {{36, 109, -40}, {110, 110, 334}, {111, 122, 71}, },
1639            {{36, 115, -109}, {116, 116, 335}, {117, 122, 71}, },
1640            {{36, 95, -10}, {97, 99, 71}, {100, 100, 336}, {101, 122, 71}, },
1641            {{36, 95, -10}, {97, 97, 337}, {98, 122, 71}, },
1642            {{36, 103, -49}, {104, 104, 338}, {105, 122, 71}, },
1643            {{48, 57, 339}, {65, 70, 340}, {97, 102, 341}, },
1644            {{48, 102, -249}, },
1645            {{48, 102, -249}, },
1646            {{105, 105, 342}, },
1647            {{70, 70, 343}, {102, 102, 344}, },
1648            {{36, 122, -161}, },
1649            {{36, 122, -161}, },
1650            {{36, 122, -161}, },
1651            {{32, 32, 345}, {34, 34, 346}, {35, 35, 347}, {39, 39, 348}, {46, 46, 349}, {92, 92, 350}, {98, 98, 351}, {102, 102, 352}, {110, 110, 353}, {114, 114, 354}, {116, 116, 355}, {117, 117, 356}, },
1652            {{36, 122, -161}, },
1653            {{36, 122, -161}, },
1654            {{36, 122, -161}, },
1655            {{36, 122, -161}, },
1656            {{36, 122, -161}, },
1657            {{36, 122, -161}, },
1658            {{36, 122, -161}, },
1659            {{36, 122, -161}, },
1660            {{36, 122, -161}, },
1661            {{36, 122, -161}, },
1662            {{36, 122, -161}, },
1663            {{36, 122, -161}, },
1664            {{36, 122, -161}, },
1665            {{48, 57, 357}, {65, 70, 358}, {97, 102, 359}, },
1666            {{48, 57, 360}, {65, 70, 361}, {97, 102, 362}, },
1667            {{48, 102, -272}, },
1668            {{48, 102, -272}, },
1669            {{0, 41, 363}, {42, 42, 364}, {43, 65535, 363}, },
1670            {{9, 47, -3}, },
1671            {{0, 8, 365}, {9, 9, 366}, {10, 10, 367}, {11, 12, 365}, {13, 13, 368}, {14, 31, 365}, {32, 32, 369}, {33, 41, 365}, {42, 42, 370}, {43, 46, 365}, {47, 47, 371}, {48, 65535, 365}, },
1672            {{0, 65535, -184}, },
1673            {{43, 43, 372}, {45, 45, 373}, {48, 57, 374}, },
1674            {},
1675            {{43, 57, -279}, },
1676            {},
1677            {{110, 110, 375}, },
1678            {{116, 116, 376}, },
1679            {{103, 103, 377}, },
1680            {{97, 97, 378}, },
1681            {{115, 115, 379}, },
1682            {{48, 57, 380}, {65, 70, 381}, {97, 102, 382}, },
1683            {{48, 102, -288}, },
1684            {{48, 102, -288}, },
1685            {{36, 113, -47}, {114, 114, 383}, {115, 122, 71}, },
1686            {{36, 115, -109}, {116, 116, 384}, {117, 122, 71}, },
1687            {{36, 100, -39}, {101, 101, 385}, {102, 122, 71}, },
1688            {{36, 106, -143}, {107, 107, 386}, {108, 122, 71}, },
1689            {{36, 122, -10}, },
1690            {{36, 122, -10}, },
1691            {{36, 103, -49}, {104, 104, 387}, {105, 122, 71}, },
1692            {{36, 122, -10}, },
1693            {{36, 114, -105}, {115, 115, 388}, {116, 122, 71}, },
1694            {{36, 122, -10}, },
1695            {{36, 122, -10}, },
1696            {{36, 116, -115}, {117, 117, 389}, {118, 122, 71}, },
1697            {{36, 107, -118}, {108, 108, 390}, {109, 122, 71}, },
1698            {{36, 113, -47}, {114, 114, 391}, {115, 122, 71}, },
1699            {{36, 122, -10}, },
1700            {{36, 108, -212}, {109, 109, 392}, {110, 122, 71}, },
1701            {{36, 109, -40}, {110, 110, 393}, {111, 122, 71}, },
1702            {{36, 100, -39}, {101, 101, 394}, {102, 122, 71}, },
1703            {{36, 107, -118}, {108, 108, 395}, {109, 122, 71}, },
1704            {{36, 115, -109}, {116, 116, 396}, {117, 122, 71}, },
1705            {{36, 122, -10}, },
1706            {{36, 122, -10}, },
1707            {{36, 100, -39}, {101, 101, 397}, {102, 122, 71}, },
1708            {{36, 95, -10}, {97, 97, 398}, {98, 122, 71}, },
1709            {{36, 113, -47}, {114, 114, 399}, {115, 122, 71}, },
1710            {{36, 115, -109}, {116, 116, 400}, {117, 122, 71}, },
1711            {{36, 122, -10}, },
1712            {{36, 116, -115}, {117, 117, 401}, {118, 122, 71}, },
1713            {{36, 117, -231}, {118, 118, 402}, {119, 122, 71}, },
1714            {{36, 113, -47}, {114, 114, 403}, {115, 122, 71}, },
1715            {{36, 116, -115}, {117, 117, 404}, {118, 122, 71}, },
1716            {{36, 92, -10}, {95, 95, 405}, {97, 122, 71}, },
1717            {{36, 95, -10}, {97, 97, 406}, {98, 122, 71}, },
1718            {{36, 100, -39}, {101, 101, 407}, {102, 122, 71}, },
1719            {{36, 104, -52}, {105, 105, 408}, {106, 122, 71}, },
1720            {{36, 113, -47}, {114, 114, 409}, {115, 122, 71}, },
1721            {{36, 115, -109}, {116, 116, 410}, {117, 122, 71}, },
1722            {{36, 104, -52}, {105, 105, 411}, {106, 122, 71}, },
1723            {{36, 104, -52}, {105, 105, 412}, {106, 122, 71}, },
1724            {{36, 98, -204}, {99, 99, 413}, {100, 122, 71}, },
1725            {{36, 103, -49}, {104, 104, 414}, {105, 122, 71}, },
1726            {{36, 100, -39}, {101, 101, 415}, {102, 122, 71}, },
1727            {{36, 95, -10}, {97, 118, 71}, {119, 119, 416}, {120, 122, 71}, },
1728            {{36, 114, -105}, {115, 115, 417}, {116, 122, 71}, },
1729            {{36, 122, -10}, },
1730            {{36, 110, -37}, {111, 111, 418}, {112, 122, 71}, },
1731            {{36, 116, -115}, {117, 117, 419}, {118, 122, 71}, },
1732            {{36, 122, -10}, },
1733            {{36, 115, -109}, {116, 116, 420}, {117, 122, 71}, },
1734            {{36, 122, -10}, },
1735            {{48, 57, 421}, {65, 70, 422}, {97, 102, 423}, },
1736            {{48, 102, -341}, },
1737            {{48, 102, -341}, },
1738            {{110, 110, 424}, },
1739            {},
1740            {},
1741            {{36, 122, -161}, },
1742            {{36, 122, -161}, },
1743            {{36, 122, -161}, },
1744            {{36, 122, -161}, },
1745            {{36, 122, -161}, },
1746            {{36, 122, -161}, },
1747            {{36, 122, -161}, },
1748            {{36, 122, -161}, },
1749            {{36, 122, -161}, },
1750            {{36, 122, -161}, },
1751            {{36, 122, -161}, },
1752            {{48, 57, 425}, {65, 70, 426}, {97, 102, 427}, },
1753            {{48, 57, 428}, {65, 70, 429}, {97, 102, 430}, },
1754            {{48, 102, -359}, },
1755            {{48, 102, -359}, },
1756            {{48, 57, 431}, {65, 70, 432}, {97, 102, 433}, },
1757            {{48, 102, -362}, },
1758            {{48, 102, -362}, },
1759            {{0, 65535, -275}, },
1760            {{0, 41, 273}, {42, 42, 364}, {43, 65535, -180}, },
1761            {{0, 65535, -277}, },
1762            {{0, 65535, -277}, },
1763            {{0, 8, 177}, {9, 9, 434}, {10, 10, 367}, {11, 12, 177}, {13, 13, 368}, {14, 31, 177}, {32, 32, 435}, {33, 41, 177}, {42, 42, 178}, {43, 46, 177}, {47, 47, 436}, {48, 65535, 177}, },
1764            {{0, 65535, -369}, },
1765            {{0, 65535, -277}, },
1766            {{0, 8, 437}, {9, 9, 438}, {10, 10, 439}, {11, 12, 437}, {13, 13, 440}, {14, 31, 437}, {32, 32, 441}, {33, 41, 437}, {42, 42, 370}, {43, 46, 437}, {47, 47, 442}, {48, 65535, 437}, },
1767            {{0, 41, -277}, {42, 42, 443}, {43, 46, 365}, {47, 47, 444}, {48, 65535, 365}, },
1768            {{48, 57, 374}, },
1769            {{48, 57, 374}, },
1770            {{48, 57, 374}, {70, 70, 278}, {102, 102, 280}, },
1771            {{105, 105, 445}, },
1772            {{62, 62, 446}, },
1773            {{104, 104, 447}, },
1774            {{109, 109, 448}, },
1775            {{58, 58, 449}, },
1776            {{48, 57, 450}, {65, 70, 451}, {97, 102, 452}, },
1777            {{48, 102, -382}, },
1778            {{48, 102, -382}, },
1779            {{36, 95, -10}, {97, 97, 453}, {98, 122, 71}, },
1780            {{36, 95, -10}, {97, 97, 454}, {98, 122, 71}, },
1781            {{36, 95, -10}, {97, 97, 455}, {98, 122, 71}, },
1782            {{36, 111, -113}, {112, 112, 456}, {113, 122, 71}, },
1783            {{36, 122, -10}, },
1784            {{36, 122, -10}, },
1785            {{36, 107, -118}, {108, 108, 457}, {109, 122, 71}, },
1786            {{36, 100, -39}, {101, 101, 458}, {102, 122, 71}, },
1787            {{36, 108, -212}, {109, 109, 459}, {110, 122, 71}, },
1788            {{36, 110, -37}, {111, 111, 460}, {112, 122, 71}, },
1789            {{36, 99, -246}, {100, 100, 461}, {101, 122, 71}, },
1790            {{36, 122, -10}, },
1791            {{36, 122, -10}, },
1792            {{36, 122, -10}, },
1793            {{36, 108, -212}, {109, 109, 462}, {110, 122, 71}, },
1794            {{36, 109, -40}, {110, 110, 463}, {111, 122, 71}, },
1795            {{36, 101, -44}, {102, 102, 464}, {103, 122, 71}, },
1796            {{36, 103, -49}, {104, 104, 465}, {105, 122, 71}, },
1797            {{36, 111, -113}, {112, 112, 466}, {113, 122, 71}, },
1798            {{36, 100, -39}, {101, 101, 467}, {102, 122, 71}, },
1799            {{36, 113, -47}, {114, 114, 468}, {115, 122, 71}, },
1800            {{36, 107, -118}, {108, 108, 469}, {109, 122, 71}, },
1801            {{36, 115, -109}, {116, 116, 470}, {117, 122, 71}, },
1802            {{36, 115, -109}, {116, 116, 471}, {117, 122, 71}, },
1803            {{36, 98, -204}, {99, 99, 472}, {100, 122, 71}, },
1804            {{36, 98, -204}, {99, 99, 473}, {100, 122, 71}, },
1805            {{36, 109, -40}, {110, 110, 474}, {111, 122, 71}, },
1806            {{36, 122, -10}, },
1807            {{36, 95, -10}, {97, 97, 475}, {98, 122, 71}, },
1808            {{36, 98, -204}, {99, 99, 476}, {100, 122, 71}, },
1809            {{36, 115, -109}, {116, 116, 477}, {117, 122, 71}, },
1810            {{36, 113, -47}, {114, 114, 478}, {115, 122, 71}, },
1811            {{36, 114, -105}, {115, 115, 479}, {116, 122, 71}, },
1812            {{36, 114, -105}, {115, 115, 480}, {116, 122, 71}, },
1813            {{36, 104, -52}, {105, 105, 481}, {106, 122, 71}, },
1814            {{36, 118, -333}, {119, 119, 482}, {120, 122, 71}, },
1815            {{36, 95, -10}, {97, 97, 483}, {98, 122, 71}, },
1816            {{36, 104, -52}, {105, 105, 484}, {106, 122, 71}, },
1817            {{48, 57, 485}, {65, 70, 486}, {97, 102, 487}, },
1818            {{48, 102, -423}, },
1819            {{48, 102, -423}, },
1820            {{105, 105, 488}, },
1821            {{48, 57, 489}, {65, 70, 490}, {97, 102, 491}, },
1822            {{48, 102, -427}, },
1823            {{48, 102, -427}, },
1824            {{48, 57, 492}, {65, 70, 493}, {97, 102, 494}, },
1825            {{48, 102, -430}, },
1826            {{48, 102, -430}, },
1827            {{48, 57, 495}, {65, 70, 496}, {97, 102, 497}, },
1828            {{48, 102, -433}, },
1829            {{48, 102, -433}, },
1830            {{0, 65535, -369}, },
1831            {{0, 65535, -369}, },
1832            {{0, 41, 177}, {42, 42, 498}, {43, 46, 177}, {47, 47, 499}, {48, 65535, 177}, },
1833            {{0, 8, 500}, {9, 9, 501}, {10, 10, 502}, {11, 12, 500}, {13, 13, 503}, {14, 31, 500}, {32, 32, 504}, {33, 41, 500}, {42, 42, 505}, {43, 46, 500}, {47, 47, 506}, {48, 65535, 500}, },
1834            {{0, 65535, -439}, },
1835            {{0, 8, 363}, {9, 9, 507}, {10, 10, 502}, {11, 12, 363}, {13, 13, 503}, {14, 31, 363}, {32, 32, 508}, {33, 41, 363}, {42, 42, 364}, {43, 46, 363}, {47, 47, 509}, {48, 65535, 363}, },
1836            {{0, 65535, -441}, },
1837            {{0, 65535, -439}, },
1838            {{0, 65535, -184}, },
1839            {{0, 8, 510}, {9, 9, 511}, {10, 10, 512}, {11, 12, 510}, {13, 13, 513}, {14, 31, 510}, {32, 32, 514}, {33, 41, 510}, {42, 42, 370}, {43, 46, 510}, {47, 47, 515}, {48, 65535, 510}, },
1840            {{0, 65535, -373}, },
1841            {{116, 116, 516}, },
1842            {},
1843            {{116, 116, 517}, },
1844            {{101, 101, 518}, },
1845            {},
1846            {{36, 122, -10}, },
1847            {{36, 122, -10}, },
1848            {{36, 122, -10}, },
1849            {{36, 98, -204}, {99, 99, 519}, {100, 122, 71}, },
1850            {{36, 115, -109}, {116, 116, 520}, {117, 122, 71}, },
1851            {{36, 109, -40}, {110, 110, 521}, {111, 122, 71}, },
1852            {{36, 110, -37}, {111, 111, 522}, {112, 122, 71}, },
1853            {{36, 115, -109}, {116, 116, 523}, {117, 122, 71}, },
1854            {{36, 122, -10}, },
1855            {{36, 110, -37}, {111, 111, 524}, {112, 122, 71}, },
1856            {{36, 109, -40}, {110, 110, 525}, {111, 122, 71}, },
1857            {{36, 114, -105}, {115, 115, 526}, {116, 122, 71}, },
1858            {{36, 100, -39}, {101, 101, 527}, {102, 122, 71}, },
1859            {{36, 98, -204}, {99, 99, 528}, {100, 122, 71}, },
1860            {{36, 95, -10}, {97, 97, 529}, {98, 122, 71}, },
1861            {{36, 110, -37}, {111, 111, 530}, {112, 122, 71}, },
1862            {{36, 114, -105}, {115, 115, 531}, {116, 122, 71}, },
1863            {{36, 122, -10}, },
1864            {{36, 95, -10}, {97, 97, 532}, {98, 122, 71}, },
1865            {{36, 115, -109}, {116, 116, 533}, {117, 122, 71}, },
1866            {{36, 95, -10}, {97, 120, 71}, {121, 121, 534}, {122, 122, 71}, },
1867            {{36, 100, -39}, {101, 101, 535}, {102, 122, 71}, },
1868            {{36, 115, -109}, {116, 116, 536}, {117, 122, 71}, },
1869            {{36, 122, -10}, },
1870            {{36, 122, -10}, },
1871            {{36, 107, -118}, {108, 108, 537}, {109, 122, 71}, },
1872            {{36, 104, -52}, {105, 105, 538}, {106, 122, 71}, },
1873            {{36, 101, -44}, {102, 102, 539}, {103, 122, 71}, },
1874            {{36, 110, -37}, {111, 111, 540}, {112, 122, 71}, },
1875            {{36, 118, -333}, {119, 119, 541}, {120, 122, 71}, },
1876            {{36, 122, -10}, },
1877            {{36, 100, -39}, {101, 101, 542}, {102, 122, 71}, },
1878            {{36, 109, -40}, {110, 110, 543}, {111, 122, 71}, },
1879            {{36, 107, -118}, {108, 108, 544}, {109, 122, 71}, },
1880            {{36, 107, -118}, {108, 108, 545}, {109, 122, 71}, },
1881            {{0, 127, -8}, },
1882            {{0, 127, -8}, },
1883            {{0, 127, -8}, },
1884            {{116, 116, 546}, },
1885            {{48, 57, 547}, {65, 70, 548}, {97, 102, 549}, },
1886            {{48, 102, -491}, },
1887            {{48, 102, -491}, },
1888            {{48, 57, 550}, {65, 70, 551}, {97, 102, 552}, },
1889            {{48, 102, -494}, },
1890            {{48, 102, -494}, },
1891            {{36, 122, -10}, },
1892            {{36, 122, -10}, },
1893            {{36, 122, -10}, },
1894            {{0, 41, 553}, {42, 42, 178}, {43, 46, 553}, {47, 47, 554}, {48, 65535, 553}, },
1895            {{0, 65535, -277}, },
1896            {{0, 65535, -439}, },
1897            {{0, 65535, -439}, },
1898            {{0, 65535, -441}, },
1899            {{0, 65535, -441}, },
1900            {{0, 65535, -439}, },
1901            {{0, 41, -372}, {42, 42, 505}, {43, 65535, -372}, },
1902            {{0, 41, -439}, {42, 42, 555}, {43, 46, 500}, {47, 47, 556}, {48, 65535, 500}, },
1903            {{0, 65535, -441}, },
1904            {{0, 65535, -441}, },
1905            {{0, 41, 363}, {42, 42, 557}, {43, 46, 363}, {47, 47, 558}, {48, 65535, 363}, },
1906            {{0, 8, 559}, {9, 9, 560}, {10, 10, 561}, {11, 12, 559}, {13, 13, 562}, {14, 31, 559}, {32, 32, 563}, {33, 41, 559}, {42, 42, 564}, {43, 46, 559}, {47, 47, 565}, {48, 65535, 559}, },
1907            {{0, 65535, -512}, },
1908            {{0, 8, 566}, {9, 9, 567}, {10, 10, 561}, {11, 12, 566}, {13, 13, 562}, {14, 31, 566}, {32, 32, 568}, {33, 41, 566}, {42, 42, 569}, {43, 46, 566}, {47, 47, 570}, {48, 65535, 566}, },
1909            {{0, 65535, -514}, },
1910            {{0, 65535, -512}, },
1911            {{0, 65535, -373}, },
1912            {{62, 62, 571}, },
1913            {{101, 101, 572}, },
1914            {{116, 116, 573}, },
1915            {{36, 115, -109}, {116, 116, 574}, {117, 122, 71}, },
1916            {{36, 104, -52}, {105, 105, 575}, {106, 122, 71}, },
1917            {{36, 122, -10}, },
1918            {{36, 104, -52}, {105, 105, 576}, {106, 122, 71}, },
1919            {{36, 122, -10}, },
1920            {{36, 109, -40}, {110, 110, 577}, {111, 122, 71}, },
1921            {{36, 104, -52}, {105, 105, 578}, {106, 122, 71}, },
1922            {{36, 122, -10}, },
1923            {{36, 109, -40}, {110, 110, 579}, {111, 122, 71}, },
1924            {{36, 100, -39}, {101, 101, 580}, {102, 122, 71}, },
1925            {{36, 98, -204}, {99, 99, 581}, {100, 122, 71}, },
1926            {{36, 101, -44}, {102, 102, 582}, {103, 122, 71}, },
1927            {{36, 118, -333}, {119, 119, 583}, {120, 122, 71}, },
1928            {{36, 120, -472}, {121, 121, 584}, {122, 122, 71}, },
1929            {{36, 104, -52}, {105, 105, 585}, {106, 122, 71}, },
1930            {{36, 111, -113}, {112, 112, 586}, {113, 122, 71}, },
1931            {{36, 122, -10}, },
1932            {{36, 100, -39}, {101, 101, 587}, {102, 122, 71}, },
1933            {{36, 104, -52}, {105, 105, 588}, {106, 122, 71}, },
1934            {{36, 109, -40}, {110, 110, 589}, {111, 122, 71}, },
1935            {{36, 111, -113}, {112, 112, 590}, {113, 122, 71}, },
1936            {{36, 109, -40}, {110, 110, 591}, {111, 122, 71}, },
1937            {{36, 104, -52}, {105, 105, 592}, {106, 122, 71}, },
1938            {{36, 109, -40}, {110, 110, 593}, {111, 122, 71}, },
1939            {{36, 122, -10}, },
1940            {{36, 104, -52}, {105, 105, 594}, {106, 122, 71}, },
1941            {{36, 100, -39}, {101, 101, 595}, {102, 122, 71}, },
1942            {{121, 121, 596}, },
1943            {{48, 57, 597}, {65, 70, 598}, {97, 102, 599}, },
1944            {{48, 102, -549}, },
1945            {{48, 102, -549}, },
1946            {{36, 122, -161}, },
1947            {{36, 122, -161}, },
1948            {{36, 122, -161}, },
1949            {{0, 41, 566}, {42, 42, 569}, {43, 65535, 566}, },
1950            {{0, 65535, -369}, },
1951            {{0, 41, -445}, {42, 42, 564}, {43, 65535, -445}, },
1952            {{0, 65535, -508}, },
1953            {{0, 41, 553}, {42, 42, 569}, {43, 65535, -500}, },
1954            {{0, 65535, -439}, },
1955            {{0, 65535, -512}, },
1956            {{0, 65535, -512}, },
1957            {{0, 65535, -514}, },
1958            {{0, 65535, -514}, },
1959            {{0, 65535, -512}, },
1960            {{0, 41, -372}, {42, 42, 564}, {43, 65535, -372}, },
1961            {{0, 41, -512}, {42, 42, 600}, {43, 46, 559}, {47, 47, 601}, {48, 65535, 559}, },
1962            {{0, 65535, -555}, },
1963            {{0, 65535, -514}, },
1964            {{0, 65535, -514}, },
1965            {{0, 41, 273}, {42, 42, 569}, {43, 65535, -180}, },
1966            {{0, 41, 566}, {42, 42, 602}, {43, 46, 566}, {47, 47, 603}, {48, 65535, 566}, },
1967            {},
1968            {{120, 120, 604}, },
1969            {{101, 101, 605}, },
1970            {{36, 122, -10}, },
1971            {{36, 110, -37}, {111, 111, 606}, {112, 122, 71}, },
1972            {{36, 109, -40}, {110, 110, 607}, {111, 122, 71}, },
1973            {{36, 104, -52}, {105, 105, 608}, {106, 122, 71}, },
1974            {{36, 115, -109}, {116, 116, 609}, {117, 122, 71}, },
1975            {{36, 115, -109}, {116, 116, 610}, {117, 122, 71}, },
1976            {{36, 110, -37}, {111, 111, 611}, {112, 122, 71}, },
1977            {{36, 100, -39}, {101, 101, 612}, {102, 122, 71}, },
1978            {{36, 122, -10}, },
1979            {{36, 104, -52}, {105, 105, 613}, {106, 122, 71}, },
1980            {{36, 122, -10}, },
1981            {{36, 95, -10}, {97, 97, 614}, {98, 122, 71}, },
1982            {{36, 100, -39}, {101, 101, 615}, {102, 122, 71}, },
1983            {{36, 99, -246}, {100, 100, 616}, {101, 122, 71}, },
1984            {{36, 109, -40}, {110, 110, 617}, {111, 122, 71}, },
1985            {{36, 117, -231}, {118, 118, 618}, {119, 122, 71}, },
1986            {{36, 122, -10}, },
1987            {{36, 104, -52}, {105, 105, 619}, {106, 122, 71}, },
1988            {{36, 115, -109}, {116, 116, 620}, {117, 122, 71}, },
1989            {{36, 115, -109}, {116, 116, 621}, {117, 122, 71}, },
1990            {{36, 109, -40}, {110, 110, 622}, {111, 122, 71}, },
1991            {{36, 122, -10}, },
1992            {{70, 102, -253}, },
1993            {{36, 122, -161}, },
1994            {{36, 122, -161}, },
1995            {{36, 122, -161}, },
1996            {{0, 65535, -557}, },
1997            {{0, 65535, -567}, },
1998            {{0, 65535, -559}, },
1999            {{0, 65535, -512}, },
2000            {{99, 99, 623}, },
2001            {{114, 114, 624}, },
2002            {{36, 109, -40}, {110, 110, 625}, {111, 122, 71}, },
2003            {{36, 115, -109}, {116, 116, 626}, {117, 122, 71}, },
2004            {{36, 115, -109}, {116, 116, 627}, {117, 122, 71}, },
2005            {{36, 110, -37}, {111, 111, 628}, {112, 122, 71}, },
2006            {{36, 114, -105}, {115, 115, 629}, {116, 122, 71}, },
2007            {{36, 101, -44}, {102, 102, 630}, {103, 122, 71}, },
2008            {{36, 104, -52}, {105, 105, 631}, {106, 122, 71}, },
2009            {{36, 115, -109}, {116, 116, 632}, {117, 122, 71}, },
2010            {{36, 113, -47}, {114, 114, 633}, {115, 122, 71}, },
2011            {{36, 122, -10}, },
2012            {{36, 122, -10}, },
2013            {{36, 117, -231}, {118, 118, 634}, {119, 122, 71}, },
2014            {{36, 110, -37}, {111, 111, 635}, {112, 122, 71}, },
2015            {{36, 95, -10}, {97, 121, 71}, {122, 122, 636}, },
2016            {{36, 98, -204}, {99, 99, 637}, {100, 122, 71}, },
2017            {{36, 122, -10}, },
2018            {{36, 117, -231}, {118, 118, 638}, {119, 122, 71}, },
2019            {{101, 101, 639}, },
2020            {{48, 57, 640}, },
2021            {{36, 122, -10}, },
2022            {{36, 122, -10}, },
2023            {{36, 110, -37}, {111, 111, 641}, {112, 122, 71}, },
2024            {{36, 113, -47}, {114, 114, 642}, {115, 122, 71}, },
2025            {{36, 122, -10}, },
2026            {{36, 122, -10}, },
2027            {{36, 109, -40}, {110, 110, 643}, {111, 122, 71}, },
2028            {{36, 98, -204}, {99, 99, 644}, {100, 122, 71}, },
2029            {{36, 113, -47}, {114, 114, 645}, {115, 122, 71}, },
2030            {{36, 110, -37}, {111, 111, 646}, {112, 122, 71}, },
2031            {{36, 106, -143}, {107, 107, 647}, {108, 122, 71}, },
2032            {{36, 100, -39}, {101, 101, 648}, {102, 122, 71}, },
2033            {{36, 103, -49}, {104, 104, 649}, {105, 122, 71}, },
2034            {{36, 110, -37}, {111, 111, 650}, {112, 122, 71}, },
2035            {{112, 112, 651}, },
2036            {{48, 57, 640}, {58, 58, 652}, },
2037            {{36, 113, -47}, {114, 114, 653}, {115, 122, 71}, },
2038            {{36, 122, -10}, },
2039            {{36, 117, -231}, {118, 118, 654}, {119, 122, 71}, },
2040            {{36, 103, -49}, {104, 104, 655}, {105, 122, 71}, },
2041            {{36, 95, -10}, {97, 97, 656}, {98, 122, 71}, },
2042            {{36, 106, -143}, {107, 107, 657}, {108, 122, 71}, },
2043            {{36, 100, -39}, {101, 101, 658}, {102, 122, 71}, },
2044            {{36, 99, -246}, {100, 100, 659}, {101, 122, 71}, },
2045            {{36, 122, -10}, },
2046            {{36, 106, -143}, {107, 107, 660}, {108, 122, 71}, },
2047            {{116, 116, 661}, },
2048            {},
2049            {{36, 122, -10}, },
2050            {{36, 110, -37}, {111, 111, 662}, {112, 122, 71}, },
2051            {{36, 122, -10}, },
2052            {{36, 120, -472}, {121, 121, 663}, {122, 122, 71}, },
2053            {{36, 100, -39}, {101, 101, 664}, {102, 122, 71}, },
2054            {{36, 122, -10}, },
2055            {{36, 122, -10}, },
2056            {{36, 100, -39}, {101, 101, 665}, {102, 122, 71}, },
2057            {{105, 105, 666}, },
2058            {{36, 106, -143}, {107, 107, 667}, {108, 122, 71}, },
2059            {{36, 122, -10}, },
2060            {{36, 122, -10}, },
2061            {{36, 122, -10}, },
2062            {{111, 111, 668}, },
2063            {{36, 100, -39}, {101, 101, 669}, {102, 122, 71}, },
2064            {{110, 110, 670}, },
2065            {{36, 122, -10}, },
2066            {},
2067        }
2068    };*/

2069
2070    private static int[][] accept;
2071/* {
2072        // INITIAL
2073        {-1, 0, 0, 0, 0, -1, -1, -1, 94, 78, 75, 72, 68, 69, 90, 88, 62, 89, 71, 91, 97, 97, 70, 65, 83, 74, 81, -1, 94, 66, -1, 67, 77, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 63, 76, 64, -1, 80, -1, 99, -1, -1, -1, -1, -1, -1, 94, -1, 94, 94, -1, 94, 94, -1, -1, 0, -1, 97, 97, -1, -1, 73, 85, 84, -1, -1, 79, 82, 86, -1, -1, -1, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, -1, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 59, 94, 94, 94, 94, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 92, -1, 92, 92, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, -1, 93, -1, -1, 0, 0, 0, 0, 98, 97, 97, 97, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 94, 94, 94, 94, 94, 94, 94, 94, 61, 32, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 21, 94, 94, 94, 94, 44, 45, 48, 94, 94, 94, 94, 49, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, -1, -1, -1, -1, 98, 92, 92, 92, -1, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, -1, -1, -1, -1, -1, 0, 0, 0, -1, 98, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, 94, 94, 94, 94, 18, 30, 94, 20, 94, 33, 34, 94, 94, 94, 12, 94, 94, 94, 94, 94, 58, 38, 94, 94, 94, 94, 22, 94, 94, 94, 94, 57, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 16, 94, 60, -1, -1, -1, -1, 98, 98, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, 94, 94, 94, 94, 31, 14, 94, 94, 94, 94, 94, 94, 2, 23, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 19, 94, 94, 94, 94, 94, 54, 94, 94, 94, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 94, -1, -1, 95, 94, 94, 94, 94, 94, 94, 94, 94, 24, 94, 94, 94, 94, 94, 94, 94, 94, 3, 94, 94, 94, 94, 94, 4, 50, 94, 7, 94, 94, 94, 55, 94, 94, 94, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, 94, 94, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, 94, 94, 17, 94, 35, 94, 94, 27, 94, 94, 94, 94, 94, 94, 94, 94, 6, 94, 94, 94, 94, 94, 94, 94, 26, 94, 94, -1, -1, -1, -1, 92, 92, 92, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, 94, -1, -1, 1, 94, 94, 94, 94, 94, 94, 94, 42, 94, 46, 94, 94, 94, 94, 94, 11, 94, 94, 94, 94, 10, 98, 92, 92, 92, 0, 0, -1, 0, -1, -1, 94, 94, 94, 94, 94, 94, 15, 94, 94, 25, 5, 94, 94, 94, 94, 9, 94, -1, -1, 13, 29, 94, 94, 28, 40, 94, 94, 94, 94, 94, 94, 94, 94, -1, -1, 94, 37, 94, 94, 94, 94, 94, 94, 53, 94, -1, 95, 36, 94, 43, 94, 94, 52, 8, 94, -1, 94, 47, 51, 56, -1, 94, -1, 41, 95, },
2074
2075    };*/

2076
2077    public static class State
2078    {
2079        public final static State INITIAL = new State(0);
2080
2081        private int id;
2082
2083        private State(int id)
2084        {
2085            this.id = id;
2086        }
2087
2088        public int id()
2089        {
2090            return id;
2091        }
2092    }
2093}
2094
Popular Tags