KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > ojb > jdo > jdoql > JDOQLLexer


1 // $ANTLR 2.7.5 (20050128): "jdoql-ojb-lexer.g" -> "JDOQLLexer.java"$
2

3     package org.apache.ojb.jdo.jdoql;
4
5 /* Copyright 2003-2005 The Apache Software Foundation
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */

19
20 import java.io.InputStream JavaDoc;
21 import java.io.Reader JavaDoc;
22 import java.util.Hashtable JavaDoc;
23
24 import antlr.ANTLRHashString;
25 import antlr.ByteBuffer;
26 import antlr.CharBuffer;
27 import antlr.CharStreamException;
28 import antlr.CharStreamIOException;
29 import antlr.InputBuffer;
30 import antlr.LexerSharedInputState;
31 import antlr.NoViableAltForCharException;
32 import antlr.RecognitionException;
33 import antlr.Token;
34 import antlr.TokenStream;
35 import antlr.TokenStreamException;
36 import antlr.TokenStreamIOException;
37 import antlr.TokenStreamRecognitionException;
38 import antlr.collections.impl.BitSet;
39
40 public class JDOQLLexer extends antlr.CharScanner implements JDOQLTokenTypes, TokenStream
41  {
42 public JDOQLLexer(InputStream JavaDoc in) {
43     this(new ByteBuffer(in));
44 }
45 public JDOQLLexer(Reader JavaDoc in) {
46     this(new CharBuffer(in));
47 }
48 public JDOQLLexer(InputBuffer ib) {
49     this(new LexerSharedInputState(ib));
50 }
51 public JDOQLLexer(LexerSharedInputState state) {
52     super(state);
53     caseSensitiveLiterals = true;
54     setCaseSensitive(true);
55     literals = new Hashtable JavaDoc();
56     literals.put(new ANTLRHashString("this", this), new Integer JavaDoc(26));
57     literals.put(new ANTLRHashString("false", this), new Integer JavaDoc(24));
58     literals.put(new ANTLRHashString("true", this), new Integer JavaDoc(23));
59     literals.put(new ANTLRHashString("import", this), new Integer JavaDoc(20));
60     literals.put(new ANTLRHashString("float", this), new Integer JavaDoc(33));
61     literals.put(new ANTLRHashString("boolean", this), new Integer JavaDoc(27));
62     literals.put(new ANTLRHashString("ascending", this), new Integer JavaDoc(21));
63     literals.put(new ANTLRHashString("long", this), new Integer JavaDoc(31));
64     literals.put(new ANTLRHashString("null", this), new Integer JavaDoc(25));
65     literals.put(new ANTLRHashString("short", this), new Integer JavaDoc(29));
66     literals.put(new ANTLRHashString("char", this), new Integer JavaDoc(32));
67     literals.put(new ANTLRHashString("byte", this), new Integer JavaDoc(28));
68     literals.put(new ANTLRHashString("descending", this), new Integer JavaDoc(22));
69     literals.put(new ANTLRHashString("int", this), new Integer JavaDoc(30));
70     literals.put(new ANTLRHashString("double", this), new Integer JavaDoc(34));
71 }
72
73 public Token nextToken() throws TokenStreamException {
74     Token theRetToken=null;
75 tryAgain:
76     for (;;) {
77         Token _token = null;
78         int _ttype = Token.INVALID_TYPE;
79         resetText();
80         try { // for char stream error handling
81
try { // for lexical error handling
82
switch ( LA(1)) {
83                 case '(':
84                 {
85                     mSEP_OPENING_PARENTHESIS(true);
86                     theRetToken=_returnToken;
87                     break;
88                 }
89                 case ')':
90                 {
91                     mSEP_CLOSING_PARENTHESIS(true);
92                     theRetToken=_returnToken;
93                     break;
94                 }
95                 case ';':
96                 {
97                     mSEP_SEMICOLON(true);
98                     theRetToken=_returnToken;
99                     break;
100                 }
101                 case ',':
102                 {
103                     mSEP_COMMA(true);
104                     theRetToken=_returnToken;
105                     break;
106                 }
107                 case '=':
108                 {
109                     mOP_EQUAL(true);
110                     theRetToken=_returnToken;
111                     break;
112                 }
113                 case '>':
114                 {
115                     mOP_GREATER(true);
116                     theRetToken=_returnToken;
117                     break;
118                 }
119                 case '<':
120                 {
121                     mOP_LOWER(true);
122                     theRetToken=_returnToken;
123                     break;
124                 }
125                 case '!':
126                 {
127                     mOP_NOT(true);
128                     theRetToken=_returnToken;
129                     break;
130                 }
131                 case '~':
132                 {
133                     mOP_BITWISE_COMPLEMENT(true);
134                     theRetToken=_returnToken;
135                     break;
136                 }
137                 case '&':
138                 {
139                     mOP_BITWISE_AND(true);
140                     theRetToken=_returnToken;
141                     break;
142                 }
143                 case '|':
144                 {
145                     mOP_BITWISE_OR(true);
146                     theRetToken=_returnToken;
147                     break;
148                 }
149                 case '^':
150                 {
151                     mOP_BITWISE_XOR(true);
152                     theRetToken=_returnToken;
153                     break;
154                 }
155                 case '+':
156                 {
157                     mOP_BINARY_PLUS(true);
158                     theRetToken=_returnToken;
159                     break;
160                 }
161                 case '-':
162                 {
163                     mOP_BINARY_MINUS(true);
164                     theRetToken=_returnToken;
165                     break;
166                 }
167                 case '*':
168                 {
169                     mOP_MULTIPLY(true);
170                     theRetToken=_returnToken;
171                     break;
172                 }
173                 case '/':
174                 {
175                     mOP_DIVIDE(true);
176                     theRetToken=_returnToken;
177                     break;
178                 }
179                 case '\t': case '\n': case '\u000c': case '\r':
180                 case ' ':
181                 {
182                     mWHITESPACE(true);
183                     theRetToken=_returnToken;
184                     break;
185                 }
186                 case '\'':
187                 {
188                     mCHARACTER_LITERAL(true);
189                     theRetToken=_returnToken;
190                     break;
191                 }
192                 case '"':
193                 {
194                     mSTRING_LITERAL(true);
195                     theRetToken=_returnToken;
196                     break;
197                 }
198                 case '.': case '0': case '1': case '2':
199                 case '3': case '4': case '5': case '6':
200                 case '7': case '8': case '9':
201                 {
202                     mINT_OR_FLOAT_LITERAL_OR_DOT(true);
203                     theRetToken=_returnToken;
204                     break;
205                 }
206                 default:
207                     if ((_tokenSet_0.member(LA(1)))) {
208                         mIDENTIFIER(true);
209                         theRetToken=_returnToken;
210                     }
211                 else {
212                     if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);}
213                 else {throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
214                 }
215                 }
216                 if ( _returnToken==null ) continue tryAgain; // found SKIP token
217
_ttype = _returnToken.getType();
218                 _returnToken.setType(_ttype);
219                 return _returnToken;
220             }
221             catch (RecognitionException e) {
222                 throw new TokenStreamRecognitionException(e);
223             }
224         }
225         catch (CharStreamException cse) {
226             if ( cse instanceof CharStreamIOException ) {
227                 throw new TokenStreamIOException(((CharStreamIOException)cse).io);
228             }
229             else {
230                 throw new TokenStreamException(cse.getMessage());
231             }
232         }
233     }
234 }
235
236     public final void mSEP_OPENING_PARENTHESIS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
237         int _ttype; Token _token=null; int _begin=text.length();
238         _ttype = SEP_OPENING_PARENTHESIS;
239         int _saveIndex;
240         
241         match('(');
242         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
243             _token = makeToken(_ttype);
244             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
245         }
246         _returnToken = _token;
247     }
248     
249     public final void mSEP_CLOSING_PARENTHESIS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
250         int _ttype; Token _token=null; int _begin=text.length();
251         _ttype = SEP_CLOSING_PARENTHESIS;
252         int _saveIndex;
253         
254         match(')');
255         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
256             _token = makeToken(_ttype);
257             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
258         }
259         _returnToken = _token;
260     }
261     
262     public final void mSEP_SEMICOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
263         int _ttype; Token _token=null; int _begin=text.length();
264         _ttype = SEP_SEMICOLON;
265         int _saveIndex;
266         
267         match(';');
268         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
269             _token = makeToken(_ttype);
270             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
271         }
272         _returnToken = _token;
273     }
274     
275     public final void mSEP_COMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
276         int _ttype; Token _token=null; int _begin=text.length();
277         _ttype = SEP_COMMA;
278         int _saveIndex;
279         
280         match(',');
281         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
282             _token = makeToken(_ttype);
283             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
284         }
285         _returnToken = _token;
286     }
287     
288     public final void mOP_EQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
289         int _ttype; Token _token=null; int _begin=text.length();
290         _ttype = OP_EQUAL;
291         int _saveIndex;
292         
293         match("==");
294         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
295             _token = makeToken(_ttype);
296             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
297         }
298         _returnToken = _token;
299     }
300     
301     public final void mOP_GREATER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
302         int _ttype; Token _token=null; int _begin=text.length();
303         _ttype = OP_GREATER;
304         int _saveIndex;
305         
306         match('>');
307         {
308         if ((LA(1)=='=')) {
309             match('=');
310             
311             _ttype = OP_GREATER_OR_EQUAL;
312             
313         }
314         else {
315         }
316         
317         }
318         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
319             _token = makeToken(_ttype);
320             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
321         }
322         _returnToken = _token;
323     }
324     
325     public final void mOP_LOWER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
326         int _ttype; Token _token=null; int _begin=text.length();
327         _ttype = OP_LOWER;
328         int _saveIndex;
329         
330         match('<');
331         {
332         if ((LA(1)=='=')) {
333             match('=');
334             
335             _ttype = OP_LOWER_OR_EQUAL;
336             
337         }
338         else {
339         }
340         
341         }
342         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
343             _token = makeToken(_ttype);
344             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
345         }
346         _returnToken = _token;
347     }
348     
349     public final void mOP_NOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
350         int _ttype; Token _token=null; int _begin=text.length();
351         _ttype = OP_NOT;
352         int _saveIndex;
353         
354         match('!');
355         {
356         if ((LA(1)=='=')) {
357             match('=');
358             
359             _ttype = OP_NOT_EQUAL;
360             
361         }
362         else {
363         }
364         
365         }
366         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
367             _token = makeToken(_ttype);
368             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
369         }
370         _returnToken = _token;
371     }
372     
373     public final void mOP_BITWISE_COMPLEMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
374         int _ttype; Token _token=null; int _begin=text.length();
375         _ttype = OP_BITWISE_COMPLEMENT;
376         int _saveIndex;
377         
378         match('~');
379         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
380             _token = makeToken(_ttype);
381             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
382         }
383         _returnToken = _token;
384     }
385     
386     public final void mOP_BITWISE_AND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
387         int _ttype; Token _token=null; int _begin=text.length();
388         _ttype = OP_BITWISE_AND;
389         int _saveIndex;
390         
391         match('&');
392         {
393         if ((LA(1)=='&')) {
394             match('&');
395             
396             _ttype = OP_AND;
397             
398         }
399         else {
400         }
401         
402         }
403         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
404             _token = makeToken(_ttype);
405             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
406         }
407         _returnToken = _token;
408     }
409     
410     public final void mOP_BITWISE_OR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
411         int _ttype; Token _token=null; int _begin=text.length();
412         _ttype = OP_BITWISE_OR;
413         int _saveIndex;
414         
415         match('|');
416         {
417         if ((LA(1)=='|')) {
418             match('|');
419             
420             _ttype = OP_OR;
421             
422         }
423         else {
424         }
425         
426         }
427         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
428             _token = makeToken(_ttype);
429             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
430         }
431         _returnToken = _token;
432     }
433     
434     public final void mOP_BITWISE_XOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
435         int _ttype; Token _token=null; int _begin=text.length();
436         _ttype = OP_BITWISE_XOR;
437         int _saveIndex;
438         
439         match('^');
440         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
441             _token = makeToken(_ttype);
442             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
443         }
444         _returnToken = _token;
445     }
446     
447     public final void mOP_BINARY_PLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
448         int _ttype; Token _token=null; int _begin=text.length();
449         _ttype = OP_BINARY_PLUS;
450         int _saveIndex;
451         
452         match('+');
453         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
454             _token = makeToken(_ttype);
455             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
456         }
457         _returnToken = _token;
458     }
459     
460     public final void mOP_BINARY_MINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
461         int _ttype; Token _token=null; int _begin=text.length();
462         _ttype = OP_BINARY_MINUS;
463         int _saveIndex;
464         
465         match('-');
466         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
467             _token = makeToken(_ttype);
468             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
469         }
470         _returnToken = _token;
471     }
472     
473     public final void mOP_MULTIPLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
474         int _ttype; Token _token=null; int _begin=text.length();
475         _ttype = OP_MULTIPLY;
476         int _saveIndex;
477         
478         match('*');
479         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
480             _token = makeToken(_ttype);
481             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
482         }
483         _returnToken = _token;
484     }
485     
486     public final void mOP_DIVIDE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
487         int _ttype; Token _token=null; int _begin=text.length();
488         _ttype = OP_DIVIDE;
489         int _saveIndex;
490         
491         match('/');
492         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
493             _token = makeToken(_ttype);
494             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
495         }
496         _returnToken = _token;
497     }
498     
499     public final void mWHITESPACE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
500         int _ttype; Token _token=null; int _begin=text.length();
501         _ttype = WHITESPACE;
502         int _saveIndex;
503         
504         {
505         int _cnt24=0;
506         _loop24:
507         do {
508             switch ( LA(1)) {
509             case ' ':
510             {
511                 match(' ');
512                 break;
513             }
514             case '\t':
515             {
516                 match('\t');
517                 break;
518             }
519             case '\u000c':
520             {
521                 match('\f');
522                 break;
523             }
524             case '\n': case '\r':
525             {
526                 mLINE_TERMINATOR(false);
527                 break;
528             }
529             default:
530             {
531                 if ( _cnt24>=1 ) { break _loop24; } else {throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
532             }
533             }
534             _cnt24++;
535         } while (true);
536         }
537         
538         _ttype = Token.SKIP;
539             
540         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
541             _token = makeToken(_ttype);
542             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
543         }
544         _returnToken = _token;
545     }
546     
547     protected final void mLINE_TERMINATOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
548         int _ttype; Token _token=null; int _begin=text.length();
549         _ttype = LINE_TERMINATOR;
550         int _saveIndex;
551         
552         {
553         {
554         switch ( LA(1)) {
555         case '\r':
556         {
557             match('\r');
558             break;
559         }
560         case '\n':
561         {
562             break;
563         }
564         default:
565         {
566             throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
567         }
568         }
569         }
570         match('\n');
571         }
572         
573         newline();
574         _ttype = Token.SKIP;
575         
576         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
577             _token = makeToken(_ttype);
578             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
579         }
580         _returnToken = _token;
581     }
582     
583     public final void mIDENTIFIER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
584         int _ttype; Token _token=null; int _begin=text.length();
585         _ttype = IDENTIFIER;
586         int _saveIndex;
587         
588         mIDENTIFIER_START(false);
589         {
590         _loop27:
591         do {
592             if ((_tokenSet_1.member(LA(1)))) {
593                 mIDENTIFIER_PART(false);
594             }
595             else {
596                 break _loop27;
597             }
598             
599         } while (true);
600         }
601         _ttype = testLiteralsTable(_ttype);
602         if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
603             _token = makeToken(_ttype);
604             _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
605         }
606         _returnToken = _token;
607     }
608     
609     protected final void mIDENTIFIER_START(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
610         int _ttype; Token _token=null; int _begin=text.length();
611         _ttype = IDENTIFIER_START;
612         int _saveIndex;
613         
614         {
615         switch ( LA(1)) {
616         case '$':
617         {
618             match('\u0024');
619             break;
620         }
621         case 'A': case 'B': case 'C': case 'D':
622         case 'E': case 'F': case 'G': case 'H':
623         case 'I': case 'J': case 'K': case 'L':
624         case 'M': case 'N': case 'O': case 'P':
625         case 'Q': case 'R': case 'S': case 'T':
626         case 'U': case 'V': case 'W': case 'X':
627         case 'Y': case 'Z':
628         {
629             matchRange('\u0041','\u005a');
630             break;
631         }
632         case '_':
633         {
634             match('\u005f');
635             break;
636         }
637         case 'a': case 'b': case 'c': case 'd':
638         case 'e': case 'f': case 'g': case 'h':
639         case 'i': case 'j': case 'k': case 'l':
640         case 'm': case 'n': case 'o': case 'p':
641         case 'q': case 'r': case 's': case 't':
642         case 'u': case 'v': case 'w': case 'x':
643         case 'y': case 'z':
644         {
645             matchRange('\u0061','\u007a');
646             break;
647         }
648         case '\u00a2': case '\u00a3': case '\u00a4': case '\u00a5':
649         {
650             matchRange('\u00a2','\u00a5');
651             break;
652         }
653         case '\u00aa':
654         {
655             match('\u00aa');
656             break;
657         }
658         case '\u00b5':
659         {
660             match('\u00b5');
661             break;
662         }
663         case '\u00ba':
664         {
665             match('\u00ba');
666             break;
667         }
668         case '\u00c0': case '\u00c1': case '\u00c2': case '\u00c3':
669         case '\u00c4': case '\u00c5': case '\u00c6': case '\u00c7':
670         case '\u00c8': case '\u00c9': case '\u00ca': case '\u00cb':
671         case '\u00cc': case '\u00cd': case '\u00ce': case '\u00cf':
672         case '\u00d0': case '\u00d1': case '\u00d2': case '\u00d3':
673         case '\u00d4': case '\u00d5': case '\u00d6':
674         {
675             matchRange('\u00c0','\u00d6');
676             break;
677         }
678         case '\u00d8': case '\u00d9': case '\u00da': case '\u00db':
679         case '\u00dc': case '\u00dd': case '\u00de': case '\u00df':
680         case '\u00e0': case '\u00e1': case '\u00e2': case '\u00e3':
681         case '\u00e4': case '\u00e5': case '\u00e6': case '\u00e7':
682         case '\u00e8': case '\u00e9': case '\u00ea': case '\u00eb':
683         case '\u00ec': case '\u00ed': case '\u00ee': case '\u00ef':
684         case '\u00f0': case '\u00f1': case '\u00f2': case '\u00f3':
685         case '\u00f4': case '\u00f5': case '\u00f6':
686         {
687             matchRange('\u00d8','\u00f6');
688             break;
689         }
690         case '\u01fa': case '\u01fb': case '\u01fc': case '\u01fd':
691         case '\u01fe': case '\u01ff': case '\u0200': case '\u0201':
692         case '\u0202': case '\u0203': case '\u0204': case '\u0205':
693         case '\u0206': case '\u0207': case '\u0208': case '\u0209':
694         case '\u020a': case '\u020b': case '\u020c': case '\u020d':
695         case '\u020e': case '\u020f': case '\u0210': case '\u0211':
696         case '\u0212': case '\u0213': case '\u0214': case '\u0215':
697         case '\u0216': case '\u0217':
698         {
699             matchRange('\u01fa','\u0217');
700             break;
701         }
702         case '\u0250': case '\u0251': case '\u0252': case '\u0253':
703         case '\u0254': case '\u0255': case '\u0256': case '\u0257':
704         case '\u0258': case '\u0259': case '\u025a': case '\u025b':
705         case '\u025c': case '\u025d': case '\u025e': case '\u025f':
706         case '\u0260': case '\u0261': case '\u0262': case '\u0263':
707         case '\u0264': case '\u0265': case '\u0266': case '\u0267':
708         case '\u0268': case '\u0269': case '\u026a': case '\u026b':
709         case '\u026c': case '\u026d': case '\u026e': case '\u026f':
710         case '\u0270': case '\u0271': case '\u0272': case '\u0273':
711         case '\u0274': case '\u0275': case '\u0276': case '\u0277':
712         case '\u0278': case '\u0279': case '\u027a': case '\u027b':
713         case '\u027c': case '\u027d': case '\u027e': case '\u027f':
714         case '\u0280': case '\u0281': case '\u0282': case '\u0283':
715         case '\u0284': case '\u0285': case '\u0286': case '\u0287':
716         case '\u0288': case '\u0289': case '\u028a': case '\u028b':
717         case '\u028c': case '\u028d': case '\u028e': case '\u028f':
718         case '\u0290': case '\u0291': case '\u0292': case '\u0293':
719         case '\u0294': case '\u0295': case '\u0296': case '\u0297':
720         case '\u0298': case '\u0299': case '\u029a': case '\u029b':
721         case '\u029c': case '\u029d': case '\u029e': case '\u029f':
722         case '\u02a0': case '\u02a1': case '\u02a2': case '\u02a3':
723         case '\u02a4': case '\u02a5': case '\u02a6': case '\u02a7':
724         case '\u02a8':
725         {
726             matchRange('\u0250','\u02a8');
727             break;
728         }
729         case '\u02b0': case '\u02b1': case '\u02b2': case '\u02b3':
730         case '\u02b4': case '\u02b5': case '\u02b6': case '\u02b7':
731         case '\u02b8':
732         {
733             matchRange('\u02b0','\u02b8');
734             break;
735         }
736         case '\u02bb': case '\u02bc': case '\u02bd': case '\u02be':
737         case '\u02bf': case '\u02c0': case '\u02c1':
738         {
739             matchRange('\u02bb','\u02c1');
740             break;
741         }
742         case '\u02d0': case '\u02d1':
743         {
744             matchRange('\u02d0','\u02d1');
745             break;
746         }
747         case '\u02e0': case '\u02e1': case '\u02e2': case '\u02e3':
748         case '\u02e4':
749         {
750             matchRange('\u02e0','\u02e4');
751             break;
752         }
753         case '\u037a':
754         {
755             match('\u037a');
756             break;
757         }
758         case '\u0386':
759         {
760             match('\u0386');
761             break;
762         }
763         case '\u0388': case '\u0389': case '\u038a':
764         {
765             matchRange('\u0388','\u038a');
766             break;
767         }
768         case '\u038c':
769         {
770             match('\u038c');
771             break;
772         }
773         case '\u038e': case '\u038f': case '\u0390': case '\u0391':
774         case '\u0392': case '\u0393': case '\u0394': case '\u0395':
775         case '\u0396': case '\u0397': case '\u0398': case '\u0399':
776         case '\u039a': case '\u039b': case '\u039c': case '\u039d':
777         case '\u039e': case '\u039f': case '\u03a0': case '\u03a1':
778         {
779             matchRange('\u038e','\u03a1');
780             break;
781         }
782         case '\u03a3': case '\u03a4': case '\u03a5': case '\u03a6':
783         case '\u03a7': case '\u03a8': case '\u03a9': case '\u03aa':
784         case '\u03ab': case '\u03ac': case '\u03ad': case '\u03ae':
785         case '\u03af': case '\u03b0': case '\u03b1': case '\u03b2':
786         case '\u03b3': case '\u03b4': case '\u03b5': case '\u03b6':
787         case '\u03b7': case '\u03b8': case '\u03b9': case '\u03ba':
788         case '\u03bb': case '\u03bc': case '\u03bd': case '\u03be':
789         case '\u03bf': case '\u03c0': case '\u03c1': case '\u03c2':
790         case '\u03c3': case '\u03c4': case '\u03c5': case '\u03c6':
791         case '\u03c7': case '\u03c8': case '\u03c9': case '\u03ca':
792         case '\u03cb': case '\u03cc': case '\u03cd': case '\u03ce':
793         {
794             matchRange('\u03a3','\u03ce');
795             break;
796         }
797         case '\u03d0': case '\u03d1': case '\u03d2': case '\u03d3':
798         case '\u03d4': case '\u03d5': case '\u03d6':
799         {
800             matchRange('\u03d0','\u03d6');
801             break;
802         }
803         case '\u03da':
804         {
805             match('\u03da');
806             break;
807         }
808         case '\u03dc':
809         {
810             match('\u03dc');
811             break;
812         }
813         case '\u03de':
814         {
815             match('\u03de');
816             break;
817         }
818         case '\u03e0':
819         {
820             match('\u03e0');
821             break;
822         }
823         case '\u03e2': case '\u03e3': case '\u03e4': case '\u03e5':
824         case '\u03e6': case '\u03e7': case '\u03e8': case '\u03e9':
825         case '\u03ea': case '\u03eb': case '\u03ec': case '\u03ed':
826         case '\u03ee': case '\u03ef': case '\u03f0': case '\u03f1':
827         case '\u03f2': case '\u03f3':
828         {
829             matchRange('\u03e2','\u03f3');
830             break;
831         }
832         case '\u0401': case '\u0402': case '\u0403': case '\u0404':
833         case '\u0405': case '\u0406': case '\u0407': case '\u0408':
834         case '\u0409': case '\u040a': case '\u040b': case '\u040c':
835         {
836             matchRange('\u0401','\u040c');
837             break;
838         }
839         case '\u040e': case '\u040f': case '\u0410': case '\u0411':
840         case '\u0412': case '\u0413': case '\u0414': case '\u0415':
841         case '\u0416': case '\u0417': case '\u0418': case '\u0419':
842         case '\u041a': case '\u041b': case '\u041c': case '\u041d':
843         case '\u041e': case '\u041f': case '\u0420': case '\u0421':
844         case '\u0422': case '\u0423': case '\u0424': case '\u0425':
845         case '\u0426': case '\u0427': case '\u0428': case '\u0429':
846         case '\u042a': case '\u042b': case '\u042c': case '\u042d':
847         case '\u042e': case '\u042f': case '\u0430': case '\u0431':
848         case '\u0432': case '\u0433': case '\u0434': case '\u0435':
849         case '\u0436': case '\u0437': case '\u0438': case '\u0439':
850         case '\u043a': case '\u043b': case '\u043c': case '\u043d':
851         case '\u043e': case '\u043f': case '\u0440': case '\u0441':
852         case '\u0442': case '\u0443': case '\u0444': case '\u0445':
853         case '\u0446': case '\u0447': case '\u0448': case '\u0449':
854         case '\u044a': case '\u044b': case '\u044c': case '\u044d':
855         case '\u044e': case '\u044f':
856         {
857             matchRange('\u040e','\u044f');
858             break;
859         }
860         case '\u0451': case '\u0452': case '\u0453': case '\u0454':
861         case '\u0455': case '\u0456': case '\u0457': case '\u0458':
862         case '\u0459': case '\u045a': case '\u045b': case '\u045c':
863         {
864             matchRange('\u0451','\u045c');
865             break;
866         }
867         case '\u045e': case '\u045f': case '\u0460': case '\u0461':
868         case '\u0462': case '\u0463': case '\u0464': case '\u0465':
869         case '\u0466': case '\u0467': case '\u0468': case '\u0469':
870         case '\u046a': case '\u046b': case '\u046c': case '\u046d':
871         case '\u046e': case '\u046f': case '\u0470': case '\u0471':
872         case '\u0472': case '\u0473': case '\u0474': case '\u0475':
873         case '\u0476': case '\u0477': case '\u0478': case '\u0479':
874         case '\u047a': case '\u047b': case '\u047c': case '\u047d':
875         case '\u047e': case '\u047f': case '\u0480': case '\u0481':
876         {
877             matchRange('\u045e','\u0481');
878             break;
879         }
880         case '\u0490': case '\u0491': case '\u0492': case '\u0493':
881         case '\u0494': case '\u0495': case '\u0496': case '\u0497':
882         case '\u0498': case '\u0499': case '\u049a': case '\u049b':
883         case '\u049c': case '\u049d': case '\u049e': case '\u049f':
884         case '\u04a0': case '\u04a1': case '\u04a2': case '\u04a3':
885         case '\u04a4': case '\u04a5': case '\u04a6': case '\u04a7':
886         case '\u04a8': case '\u04a9': case '\u04aa': case '\u04ab':
887         case '\u04ac': case '\u04ad': case '\u04ae': case '\u04af':
888         case '\u04b0': case '\u04b1': case '\u04b2': case '\u04b3':
889         case '\u04b4': case '\u04b5': case '\u04b6': case '\u04b7':
890         case '\u04b8': case '\u04b9': case '\u04ba': case '\u04bb':
891         case '\u04bc': case '\u04bd': case '\u04be': case '\u04bf':
892         case '\u04c0': case '\u04c1': case '\u04c2': case '\u04c3':
893         case '\u04c4':
894         {
895             matchRange('\u0490','\u04c4');
896             break;
897         }
898         case '\u04c7': case '\u04c8':
899         {
900             matchRange('\u04c7','\u04c8');
901             break;
902         }
903         case '\u04cb': case '\u04cc':
904         {
905             matchRange('\u04cb','\u04cc');
906             break;
907         }
908         case '\u04d0': case '\u04d1': case '\u04d2': case '\u04d3':
909         case '\u04d4': case '\u04d5': case '\u04d6': case '\u04d7':
910         case '\u04d8': case '\u04d9': case '\u04da': case '\u04db':
911         case '\u04dc': case '\u04dd': case '\u04de': case '\u04df':
912         case '\u04e0': case '\u04e1': case '\u04e2': case '\u04e3':
913         case '\u04e4': case '\u04e5': case '\u04e6': case '\u04e7':
914         case '\u04e8': case '\u04e9': case '\u04ea': case '\u04eb':
915         {
916             matchRange('\u04d0','\u04eb');
917             break;
918         }
919         case '\u04ee': case '\u04ef': case '\u04f0': case '\u04f1':
920         case '\u04f2': case '\u04f3': case '\u04f4': case '\u04f5':
921         {
922             matchRange('\u04ee','\u04f5');
923             break;
924         }
925         case '\u04f8': case '\u04f9':
926         {
927             matchRange('\u04f8','\u04f9');
928             break;
929         }
930         case '\u0531': case '\u0532': case '\u0533': case '\u0534':
931         case '\u0535': case '\u0536': case '\u0537': case '\u0538':
932         case '\u0539': case '\u053a': case '\u053b': case '\u053c':
933         case '\u053d': case '\u053e': case '\u053f': case '\u0540':
934         case '\u0541': case '\u0542': case '\u0543': case '\u0544':
935         case '\u0545': case '\u0546': case '\u0547': case '\u0548':
936         case '\u0549': case '\u054a': case '\u054b': case '\u054c':
937         case '\u054d': case '\u054e': case '\u054f': case '\u0550':
938         case '\u0551': case '\u0552': case '\u0553': case '\u0554':
939         case '\u0555': case '\u0556':
940         {
941             matchRange('\u0531','\u0556');
942             break;
943         }
944         case '\u0559':
945         {
946             match('\u0559');
947             break;
948         }
949         case '\u0561': case '\u0562': case '\u0563': case '\u0564':
950         case '\u0565': case '\u0566': case '\u0567': case '\u0568':
951         case '\u0569': case '\u056a': case '\u056b': case '\u056c':
952         case '\u056d': case '\u056e': case '\u056f': case '\u0570':
953         case '\u0571': case '\u0572': case '\u0573': case '\u0574':
954         case '\u0575': case '\u0576': case '\u0577': case '\u0578':
955         case '\u0579': case '\u057a': case '\u057b': case '\u057c':
956         case '\u057d': case '\u057e': case '\u057f': case '\u0580':
957         case '\u0581': case '\u0582': case '\u0583': case '\u0584':
958         case '\u0585': case '\u0586': case '\u0587':
959         {
960             matchRange('\u0561','\u0587');
961             break;
962         }
963         case '\u05d0': case '\u05d1': case '\u05d2': case '\u05d3':
964         case '\u05d4': case '\u05d5': case '\u05d6': case '\u05d7':
965         case '\u05d8': case '\u05d9': case '\u05da': case '\u05db':
966         case '\u05dc': case '\u05dd': case '\u05de': case '\u05df':
967         case '\u05e0': case '\u05e1': case '\u05e2': case '\u05e3':
968         case '\u05e4': case '\u05e5': case '\u05e6': case '\u05e7':
969         case '\u05e8': case '\u05e9': case '\u05ea':
970         {
971             matchRange('\u05d0','\u05ea');
972             break;
973         }
974         case '\u05f0': case '\u05f1': case '\u05f2':
975         {
976             matchRange('\u05f0','\u05f2');
977             break;
978         }
979         case '\u0621': case '\u0622': case '\u0623': case '\u0624':
980         case '\u0625': case '\u0626': case '\u0627': case '\u0628':
981         case '\u0629': case '\u062a': case '\u062b': case '\u062c':
982         case '\u062d': case '\u062e': case '\u062f': case '\u0630':
983         case '\u0631': case '\u0632': case '\u0633': case '\u0634':
984         case '\u0635': case '\u0636': case '\u0637': case '\u0638':
985         case '\u0639': case '\u063a':
986         {
987             matchRange('\u0621','\u063a');
988             break;
989         }
990         case '\u0640': case '\u0641': case '\u0642': case '\u0643':
991         case '\u0644': case '\u0645': case '\u0646': case '\u0647':
992         case '\u0648': case '\u0649': case '\u064a':
993         {
994             matchRange('\u0640','\u064a');
995             break;
996         }
997         case '\u0671': case '\u0672': case '\u0673': case '\u0674':
998         case '\u0675': case '\u0676': case '\u0677': case '\u0678':
999         case '\u0679': case '\u067a': case '\u067b': case '\u067c':
1000        case '\u067d': case '\u067e': case '\u067f': case '\u0680':
1001        case '\u0681': case '\u0682': case '\u0683': case '\u0684':
1002        case '\u0685': case '\u0686': case '\u0687': case '\u0688':
1003        case '\u0689': case '\u068a': case '\u068b': case '\u068c':
1004        case '\u068d': case '\u068e': case '\u068f': case '\u0690':
1005        case '\u0691': case '\u0692': case '\u0693': case '\u0694':
1006        case '\u0695': case '\u0696': case '\u0697': case '\u0698':
1007        case '\u0699': case '\u069a': case '\u069b': case '\u069c':
1008        case '\u069d': case '\u069e': case '\u069f': case '\u06a0':
1009        case '\u06a1': case '\u06a2': case '\u06a3': case '\u06a4':
1010        case '\u06a5': case '\u06a6': case '\u06a7': case '\u06a8':
1011        case '\u06a9': case '\u06aa': case '\u06ab': case '\u06ac':
1012        case '\u06ad': case '\u06ae': case '\u06af': case '\u06b0':
1013        case '\u06b1': case '\u06b2': case '\u06b3': case '\u06b4':
1014        case '\u06b5': case '\u06b6': case '\u06b7':
1015        {
1016            matchRange('\u0671','\u06b7');
1017            break;
1018        }
1019        case '\u06ba': case '\u06bb': case '\u06bc': case '\u06bd':
1020        case '\u06be':
1021        {
1022            matchRange('\u06ba','\u06be');
1023            break;
1024        }
1025        case '\u06c0': case '\u06c1': case '\u06c2': case '\u06c3':
1026        case '\u06c4': case '\u06c5': case '\u06c6': case '\u06c7':
1027        case '\u06c8': case '\u06c9': case '\u06ca': case '\u06cb':
1028        case '\u06cc': case '\u06cd': case '\u06ce':
1029        {
1030            matchRange('\u06c0','\u06ce');
1031            break;
1032        }
1033        case '\u06d0': case '\u06d1': case '\u06d2': case '\u06d3':
1034        {
1035            matchRange('\u06d0','\u06d3');
1036            break;
1037        }
1038        case '\u06d5':
1039        {
1040            match('\u06d5');
1041            break;
1042        }
1043        case '\u06e5': case '\u06e6':
1044        {
1045            matchRange('\u06e5','\u06e6');
1046            break;
1047        }
1048        case '\u0905': case '\u0906': case '\u0907': case '\u0908':
1049        case '\u0909': case '\u090a': case '\u090b': case '\u090c':
1050        case '\u090d': case '\u090e': case '\u090f': case '\u0910':
1051        case '\u0911': case '\u0912': case '\u0913': case '\u0914':
1052        case '\u0915': case '\u0916': case '\u0917': case '\u0918':
1053        case '\u0919': case '\u091a': case '\u091b': case '\u091c':
1054        case '\u091d': case '\u091e': case '\u091f': case '\u0920':
1055        case '\u0921': case '\u0922': case '\u0923': case '\u0924':
1056        case '\u0925': case '\u0926': case '\u0927': case '\u0928':
1057        case '\u0929': case '\u092a': case '\u092b': case '\u092c':
1058        case '\u092d': case '\u092e': case '\u092f': case '\u0930':
1059        case '\u0931': case '\u0932': case '\u0933': case '\u0934':
1060        case '\u0935': case '\u0936': case '\u0937': case '\u0938':
1061        case '\u0939':
1062        {
1063            matchRange('\u0905','\u0939');
1064            break;
1065        }
1066        case '\u093d':
1067        {
1068            match('\u093d');
1069            break;
1070        }
1071        case '\u0958': case '\u0959': case '\u095a': case '\u095b':
1072        case '\u095c': case '\u095d': case '\u095e': case '\u095f':
1073        case '\u0960': case '\u0961':
1074        {
1075            matchRange('\u0958','\u0961');
1076            break;
1077        }
1078        case '\u0985': case '\u0986': case '\u0987': case '\u0988':
1079        case '\u0989': case '\u098a': case '\u098b': case '\u098c':
1080        {
1081            matchRange('\u0985','\u098c');
1082            break;
1083        }
1084        case '\u098f': case '\u0990':
1085        {
1086            matchRange('\u098f','\u0990');
1087            break;
1088        }
1089        case '\u0993': case '\u0994': case '\u0995': case '\u0996':
1090        case '\u0997': case '\u0998': case '\u0999': case '\u099a':
1091        case '\u099b': case '\u099c': case '\u099d': case '\u099e':
1092        case '\u099f': case '\u09a0': case '\u09a1': case '\u09a2':
1093        case '\u09a3': case '\u09a4': case '\u09a5': case '\u09a6':
1094        case '\u09a7': case '\u09a8':
1095        {
1096            matchRange('\u0993','\u09a8');
1097            break;
1098        }
1099        case '\u09aa': case '\u09ab': case '\u09ac': case '\u09ad':
1100        case '\u09ae': case '\u09af': case '\u09b0':
1101        {
1102            matchRange('\u09aa','\u09b0');
1103            break;
1104        }
1105        case '\u09b2':
1106        {
1107            match('\u09b2');
1108            break;
1109        }
1110        case '\u09b6': case '\u09b7': case '\u09b8': case '\u09b9':
1111        {
1112            matchRange('\u09b6','\u09b9');
1113            break;
1114        }
1115        case '\u09dc': case '\u09dd':
1116        {
1117            matchRange('\u09dc','\u09dd');
1118            break;
1119        }
1120        case '\u09df': case '\u09e0': case '\u09e1':
1121        {
1122            matchRange('\u09df','\u09e1');
1123            break;
1124        }
1125        case '\u09f0': case '\u09f1': case '\u09f2': case '\u09f3':
1126        {
1127            matchRange('\u09f0','\u09f3');
1128            break;
1129        }
1130        case '\u0a05': case '\u0a06': case '\u0a07': case '\u0a08':
1131        case '\u0a09': case '\u0a0a':
1132        {
1133            matchRange('\u0a05','\u0a0a');
1134            break;
1135        }
1136        case '\u0a0f': case '\u0a10':
1137        {
1138            matchRange('\u0a0f','\u0a10');
1139            break;
1140        }
1141        case '\u0a13': case '\u0a14': case '\u0a15': case '\u0a16':
1142        case '\u0a17': case '\u0a18': case '\u0a19': case '\u0a1a':
1143        case '\u0a1b': case '\u0a1c': case '\u0a1d': case '\u0a1e':
1144        case '\u0a1f': case '\u0a20': case '\u0a21': case '\u0a22':
1145        case '\u0a23': case '\u0a24': case '\u0a25': case '\u0a26':
1146        case '\u0a27': case '\u0a28':
1147        {
1148            matchRange('\u0a13','\u0a28');
1149            break;
1150        }
1151        case '\u0a2a': case '\u0a2b': case '\u0a2c': case '\u0a2d':
1152        case '\u0a2e': case '\u0a2f': case '\u0a30':
1153        {
1154            matchRange('\u0a2a','\u0a30');
1155            break;
1156        }
1157        case '\u0a32': case '\u0a33':
1158        {
1159            matchRange('\u0a32','\u0a33');
1160            break;
1161        }
1162        case '\u0a35': case '\u0a36':
1163        {
1164            matchRange('\u0a35','\u0a36');
1165            break;
1166        }
1167        case '\u0a38': case '\u0a39':
1168        {
1169            matchRange('\u0a38','\u0a39');
1170            break;
1171        }
1172        case '\u0a59': case '\u0a5a': case '\u0a5b': case '\u0a5c':
1173        {
1174            matchRange('\u0a59','\u0a5c');
1175            break;
1176        }
1177        case '\u0a5e':
1178        {
1179            match('\u0a5e');
1180            break;
1181        }
1182        case '\u0a72': case '\u0a73': case '\u0a74':
1183        {
1184            matchRange('\u0a72','\u0a74');
1185            break;
1186        }
1187        case '\u0a85': case '\u0a86': case '\u0a87': case '\u0a88':
1188        case '\u0a89': case '\u0a8a': case '\u0a8b':
1189        {
1190            matchRange('\u0a85','\u0a8b');
1191            break;
1192        }
1193        case '\u0a8d':
1194        {
1195            match('\u0a8d');
1196            break;
1197        }
1198        case '\u0a8f': case '\u0a90': case '\u0a91':
1199        {
1200            matchRange('\u0a8f','\u0a91');
1201            break;
1202        }
1203        case '\u0a93': case '\u0a94': case '\u0a95': case '\u0a96':
1204        case '\u0a97': case '\u0a98': case '\u0a99': case '\u0a9a':
1205        case '\u0a9b': case '\u0a9c': case '\u0a9d': case '\u0a9e':
1206        case '\u0a9f': case '\u0aa0': case '\u0aa1': case '\u0aa2':
1207        case '\u0aa3': case '\u0aa4': case '\u0aa5': case '\u0aa6':
1208        case '\u0aa7': case '\u0aa8':
1209        {
1210            matchRange('\u0a93','\u0aa8');
1211            break;
1212        }
1213        case '\u0aaa': case '\u0aab': case '\u0aac': case '\u0aad':
1214        case '\u0aae': case '\u0aaf': case '\u0ab0':
1215        {
1216            matchRange('\u0aaa','\u0ab0');
1217            break;
1218        }
1219        case '\u0ab2': case '\u0ab3':
1220        {
1221            matchRange('\u0ab2','\u0ab3');
1222            break;
1223        }
1224        case '\u0ab5': case '\u0ab6': case '\u0ab7': case '\u0ab8':
1225        case '\u0ab9':
1226        {
1227            matchRange('\u0ab5','\u0ab9');
1228            break;
1229        }
1230        case '\u0abd':
1231        {
1232            match('\u0abd');
1233            break;
1234        }
1235        case '\u0ae0':
1236        {
1237            match('\u0ae0');
1238            break;
1239        }
1240        case '\u0b05': case '\u0b06': case '\u0b07': case '\u0b08':
1241        case '\u0b09': case '\u0b0a': case '\u0b0b': case '\u0b0c':
1242        {
1243            matchRange('\u0b05','\u0b0c');
1244            break;
1245        }
1246        case '\u0b0f': case '\u0b10':
1247        {
1248            matchRange('\u0b0f','\u0b10');
1249            break;
1250        }
1251        case '\u0b13': case '\u0b14': case '\u0b15': case '\u0b16':
1252        case '\u0b17': case '\u0b18': case '\u0b19': case '\u0b1a':
1253        case '\u0b1b': case '\u0b1c': case '\u0b1d': case '\u0b1e':
1254        case '\u0b1f': case '\u0b20': case '\u0b21': case '\u0b22':
1255        case '\u0b23': case '\u0b24': case '\u0b25': case '\u0b26':
1256        case '\u0b27': case '\u0b28':
1257        {
1258            matchRange('\u0b13','\u0b28');
1259            break;
1260        }
1261        case '\u0b2a': case '\u0b2b': case '\u0b2c': case '\u0b2d':
1262        case '\u0b2e': case '\u0b2f': case '\u0b30':
1263        {
1264            matchRange('\u0b2a','\u0b30');
1265            break;
1266        }
1267        case '\u0b32': case '\u0b33':
1268        {
1269            matchRange('\u0b32','\u0b33');
1270            break;
1271        }
1272        case '\u0b36': case '\u0b37': case '\u0b38': case '\u0b39':
1273        {
1274            matchRange('\u0b36','\u0b39');
1275            break;
1276        }
1277        case '\u0b3d':
1278        {
1279            match('\u0b3d');
1280            break;
1281        }
1282        case '\u0b5c': case '\u0b5d':
1283        {
1284            matchRange('\u0b5c','\u0b5d');
1285            break;
1286        }
1287        case '\u0b5f': case '\u0b60': case '\u0b61':
1288        {
1289            matchRange('\u0b5f','\u0b61');
1290            break;
1291        }
1292        case '\u0b85': case '\u0b86': case '\u0b87': case '\u0b88':
1293        case '\u0b89': case '\u0b8a':
1294        {
1295            matchRange('\u0b85','\u0b8a');
1296            break;
1297        }
1298        case '\u0b8e': case '\u0b8f': case '\u0b90':
1299        {
1300            matchRange('\u0b8e','\u0b90');
1301            break;
1302        }
1303        case '\u0b92': case '\u0b93': case '\u0b94': case '\u0b95':
1304        {
1305            matchRange('\u0b92','\u0b95');
1306            break;
1307        }
1308        case '\u0b99': case '\u0b9a':
1309        {
1310            matchRange('\u0b99','\u0b9a');
1311            break;
1312        }
1313        case '\u0b9c':
1314        {
1315            match('\u0b9c');
1316            break;
1317        }
1318        case '\u0b9e': case '\u0b9f':
1319        {
1320            matchRange('\u0b9e','\u0b9f');
1321            break;
1322        }
1323        case '\u0ba3': case '\u0ba4':
1324        {
1325            matchRange('\u0ba3','\u0ba4');
1326            break;
1327        }
1328        case '\u0ba8': case '\u0ba9': case '\u0baa':
1329        {
1330            matchRange('\u0ba8','\u0baa');
1331            break;
1332        }
1333        case '\u0bae': case '\u0baf': case '\u0bb0': case '\u0bb1':
1334        case '\u0bb2': case '\u0bb3': case '\u0bb4': case '\u0bb5':
1335        {
1336            matchRange('\u0bae','\u0bb5');
1337            break;
1338        }
1339        case '\u0bb7': case '\u0bb8': case '\u0bb9':
1340        {
1341            matchRange('\u0bb7','\u0bb9');
1342            break;
1343        }
1344        case '\u0c05': case '\u0c06': case '\u0c07': case '\u0c08':
1345        case '\u0c09': case '\u0c0a': case '\u0c0b': case '\u0c0c':
1346        {
1347            matchRange('\u0c05','\u0c0c');
1348            break;
1349        }
1350        case '\u0c0e': case '\u0c0f': case '\u0c10':
1351        {
1352            matchRange('\u0c0e','\u0c10');
1353            break;
1354        }
1355        case '\u0c12': case '\u0c13': case '\u0c14': case '\u0c15':
1356        case '\u0c16': case '\u0c17': case '\u0c18': case '\u0c19':
1357        case '\u0c1a': case '\u0c1b': case '\u0c1c': case '\u0c1d':
1358        case '\u0c1e': case '\u0c1f': case '\u0c20': case '\u0c21':
1359        case '\u0c22': case '\u0c23': case '\u0c24': case '\u0c25':
1360        case '\u0c26': case '\u0c27': case '\u0c28':
1361        {
1362            matchRange('\u0c12','\u0c28');
1363            break;
1364        }
1365        case '\u0c2a': case '\u0c2b': case '\u0c2c': case '\u0c2d':
1366        case '\u0c2e': case '\u0c2f': case '\u0c30': case '\u0c31':
1367        case '\u0c32': case '\u0c33':
1368        {
1369            matchRange('\u0c2a','\u0c33');
1370            break;
1371        }
1372        case '\u0c35': case '\u0c36': case '\u0c37': case '\u0c38':
1373        case '\u0c39':
1374        {
1375            matchRange('\u0c35','\u0c39');
1376            break;
1377        }
1378        case '\u0c60': case '\u0c61':
1379        {
1380            matchRange('\u0c60','\u0c61');
1381            break;
1382        }
1383        case '\u0c85': case '\u0c86': case '\u0c87': case '\u0c88':
1384        case '\u0c89': case '\u0c8a': case '\u0c8b': case '\u0c8c':
1385        {
1386            matchRange('\u0c85','\u0c8c');
1387            break;
1388        }
1389        case '\u0c8e': case '\u0c8f': case '\u0c90':
1390        {
1391            matchRange('\u0c8e','\u0c90');
1392            break;
1393        }
1394        case '\u0c92': case '\u0c93': case '\u0c94': case '\u0c95':
1395        case '\u0c96': case '\u0c97': case '\u0c98': case '\u0c99':
1396        case '\u0c9a': case '\u0c9b': case '\u0c9c': case '\u0c9d':
1397        case '\u0c9e': case '\u0c9f': case '\u0ca0': case '\u0ca1':
1398        case '\u0ca2': case '\u0ca3': case '\u0ca4': case '\u0ca5':
1399        case '\u0ca6': case '\u0ca7': case '\u0ca8':
1400        {
1401            matchRange('\u0c92','\u0ca8');
1402            break;
1403        }
1404        case '\u0caa': case '\u0cab': case '\u0cac': case '\u0cad':
1405        case '\u0cae': case '\u0caf': case '\u0cb0': case '\u0cb1':
1406        case '\u0cb2': case '\u0cb3':
1407        {
1408            matchRange('\u0caa','\u0cb3');
1409            break;
1410        }
1411        case '\u0cb5': case '\u0cb6': case '\u0cb7': case '\u0cb8':
1412        case '\u0cb9':
1413        {
1414            matchRange('\u0cb5','\u0cb9');
1415            break;
1416        }
1417        case '\u0cde':
1418        {
1419            match('\u0cde');
1420            break;
1421        }
1422        case '\u0ce0': case '\u0ce1':
1423        {
1424            matchRange('\u0ce0','\u0ce1');
1425            break;
1426        }
1427        case '\u0d05': case '\u0d06': case '\u0d07': case '\u0d08':
1428        case '\u0d09': case '\u0d0a': case '\u0d0b': case '\u0d0c':
1429        {
1430            matchRange('\u0d05','\u0d0c');
1431            break;
1432        }
1433        case '\u0d0e': case '\u0d0f': case '\u0d10':
1434        {
1435            matchRange('\u0d0e','\u0d10');
1436            break;
1437        }
1438        case '\u0d12': case '\u0d13': case '\u0d14': case '\u0d15':
1439        case '\u0d16': case '\u0d17': case '\u0d18': case '\u0d19':
1440        case '\u0d1a': case '\u0d1b': case '\u0d1c': case '\u0d1d':
1441        case '\u0d1e': case '\u0d1f': case '\u0d20': case '\u0d21':
1442        case '\u0d22': case '\u0d23': case '\u0d24': case '\u0d25':
1443        case '\u0d26': case '\u0d27': case '\u0d28':
1444        {
1445            matchRange('\u0d12','\u0d28');
1446            break;
1447        }
1448        case '\u0d2a': case '\u0d2b': case '\u0d2c': case '\u0d2d':
1449        case '\u0d2e': case '\u0d2f': case '\u0d30': case '\u0d31':
1450        case '\u0d32': case '\u0d33': case '\u0d34': case '\u0d35':
1451        case '\u0d36': case '\u0d37': case '\u0d38': case '\u0d39':
1452        {
1453            matchRange('\u0d2a','\u0d39');
1454            break;
1455        }
1456        case '\u0d60': case '\u0d61':
1457        {
1458            matchRange('\u0d60','\u0d61');
1459            break;
1460        }
1461        case '\u0e01': case '\u0e02': case '\u0e03': case '\u0e04':
1462        case '\u0e05': case '\u0e06': case '\u0e07': case '\u0e08':
1463        case '\u0e09': case '\u0e0a': case '\u0e0b': case '\u0e0c':
1464        case '\u0e0d': case '\u0e0e': case '\u0e0f': case '\u0e10':
1465        case '\u0e11': case '\u0e12': case '\u0e13': case '\u0e14':
1466        case '\u0e15': case '\u0e16': case '\u0e17': case '\u0e18':
1467        case '\u0e19': case '\u0e1a': case '\u0e1b': case '\u0e1c':
1468        case '\u0e1d': case '\u0e1e': case '\u0e1f': case '\u0e20':
1469        case '\u0e21': case '\u0e22': case '\u0e23': case '\u0e24':
1470        case '\u0e25': case '\u0e26': case '\u0e27': case '\u0e28':
1471        case '\u0e29': case '\u0e2a': case '\u0e2b': case '\u0e2c':
1472        case '\u0e2d': case '\u0e2e':
1473        {
1474            matchRange('\u0e01','\u0e2e');
1475            break;
1476        }
1477        case '\u0e30':
1478        {
1479            match('\u0e30');
1480            break;
1481        }
1482        case '\u0e32': case '\u0e33':
1483        {
1484            matchRange('\u0e32','\u0e33');
1485            break;
1486        }
1487        case '\u0e3f': case '\u0e40': case '\u0e41': case '\u0e42':
1488        case '\u0e43': case '\u0e44': case '\u0e45': case '\u0e46':
1489        {
1490            matchRange('\u0e3f','\u0e46');
1491            break;
1492        }
1493        case '\u0e81': case '\u0e82':
1494        {
1495            matchRange('\u0e81','\u0e82');
1496            break;
1497        }
1498        case '\u0e84':
1499        {
1500            match('\u0e84');
1501            break;
1502        }
1503        case '\u0e87': case '\u0e88':
1504        {
1505            matchRange('\u0e87','\u0e88');
1506            break;
1507        }
1508        case '\u0e8a':
1509        {
1510            match('\u0e8a');
1511            break;
1512        }
1513        case '\u0e8d':
1514        {
1515            match('\u0e8d');
1516            break;
1517        }
1518        case '\u0e94': case '\u0e95': case '\u0e96': case '\u0e97':
1519        {
1520            matchRange('\u0e94','\u0e97');
1521            break;
1522        }
1523        case '\u0e99': case '\u0e9a': case '\u0e9b': case '\u0e9c':
1524        case '\u0e9d': case '\u0e9e': case '\u0e9f':
1525        {
1526            matchRange('\u0e99','\u0e9f');
1527            break;
1528        }
1529        case '\u0ea1': case '\u0ea2': case '\u0ea3':
1530        {
1531            matchRange('\u0ea1','\u0ea3');
1532            break;
1533        }
1534        case '\u0ea5':
1535        {
1536            match('\u0ea5');
1537            break;
1538        }
1539        case '\u0ea7':
1540        {
1541            match('\u0ea7');
1542            break;
1543        }
1544        case '\u0eaa': case '\u0eab':
1545        {
1546            matchRange('\u0eaa','\u0eab');
1547            break;
1548        }
1549        case '\u0ead': case '\u0eae':
1550        {
1551            matchRange('\u0ead','\u0eae');
1552            break;
1553        }
1554        case '\u0eb0':
1555        {
1556            match('\u0eb0');
1557            break;
1558        }
1559        case '\u0eb2': case '\u0eb3':
1560        {
1561            matchRange('\u0eb2','\u0eb3');
1562            break;
1563        }
1564        case '\u0ebd':
1565        {
1566            match('\u0ebd');
1567            break;
1568        }
1569        case '\u0ec0': case '\u0ec1': case '\u0ec2': case '\u0ec3':
1570        case '\u0ec4':
1571        {
1572            matchRange('\u0ec0','\u0ec4');
1573            break;
1574        }
1575        case '\u0ec6':
1576        {
1577            match('\u0ec6');
1578            break;
1579        }
1580        case '\u0edc': case '\u0edd':
1581        {
1582            matchRange('\u0edc','\u0edd');
1583            break;
1584        }
1585        case '\u0f40': case '\u0f41': case '\u0f42': case '\u0f43':
1586        case '\u0f44': case '\u0f45': case '\u0f46': case '\u0f47':
1587        {
1588            matchRange('\u0f40','\u0f47');
1589            break;
1590        }
1591        case '\u0f49': case '\u0f4a': case '\u0f4b': case '\u0f4c':
1592        case '\u0f4d': case '\u0f4e': case '\u0f4f': case '\u0f50':
1593        case '\u0f51': case '\u0f52': case '\u0f53': case '\u0f54':
1594        case '\u0f55': case '\u0f56': case '\u0f57': case '\u0f58':
1595        case '\u0f59': case '\u0f5a': case '\u0f5b': case '\u0f5c':
1596        case '\u0f5d': case '\u0f5e': case '\u0f5f': case '\u0f60':
1597        case '\u0f61': case '\u0f62': case '\u0f63': case '\u0f64':
1598        case '\u0f65': case '\u0f66': case '\u0f67': case '\u0f68':
1599        case '\u0f69':
1600        {
1601            matchRange('\u0f49','\u0f69');
1602            break;
1603        }
1604        case '\u10a0': case '\u10a1': case '\u10a2': case '\u10a3':
1605        case '\u10a4': case '\u10a5': case '\u10a6': case '\u10a7':
1606        case '\u10a8': case '\u10a9': case '\u10aa': case '\u10ab':
1607        case '\u10ac': case '\u10ad': case '\u10ae': case '\u10af':
1608        case '\u10b0': case '\u10b1': case '\u10b2': case '\u10b3':
1609        case '\u10b4': case '\u10b5': case '\u10b6': case '\u10b7':
1610        case '\u10b8': case '\u10b9': case '\u10ba': case '\u10bb':
1611        case '\u10bc': case '\u10bd': case '\u10be': case '\u10bf':
1612        case '\u10c0': case '\u10c1': case '\u10c2': case '\u10c3':
1613        case '\u10c4': case '\u10c5':
1614        {
1615            matchRange('\u10a0','\u10c5');
1616            break;
1617        }
1618        case '\u10d0': case '\u10d1': case '\u10d2': case '\u10d3':
1619        case '\u10d4': case '\u10d5': case '\u10d6': case '\u10d7':
1620        case '\u10d8': case '\u10d9': case '\u10da': case '\u10db':
1621        case '\u10dc': case '\u10dd': case '\u10de': case '\u10df':
1622        case '\u10e0': case '\u10e1': case '\u10e2': case '\u10e3':
1623        case '\u10e4': case '\u10e5': case '\u10e6': case '\u10e7':
1624        case '\u10e8': case '\u10e9': case '\u10ea': case '\u10eb':
1625        case '\u10ec': case '\u10ed': case '\u10ee': case '\u10ef':
1626        case '\u10f0': case '\u10f1': case '\u10f2': case '\u10f3':
1627        case '\u10f4': case '\u10f5': case '\u10f6':
1628        {
1629            matchRange('\u10d0','\u10f6');
1630            break;
1631        }
1632        case '\u1100': case '\u1101': case '\u1102': case '\u1103':
1633        case '\u1104': case '\u1105': case '\u1106': case '\u1107':
1634        case '\u1108': case '\u1109': case '\u110a': case '\u110b':
1635        case '\u110c': case '\u110d': case '\u110e': case '\u110f':
1636        case '\u1110': case '\u1111': case '\u1112': case '\u1113':
1637        case '\u1114': case '\u1115': case '\u1116': case '\u1117':
1638        case '\u1118': case '\u1119': case '\u111a': case '\u111b':
1639        case '\u111c': case '\u111d': case '\u111e': case '\u111f':
1640        case '\u1120': case '\u1121': case '\u1122': case '\u1123':
1641        case '\u1124': case '\u1125': case '\u1126': case '\u1127':
1642        case '\u1128': case '\u1129': case '\u112a': case '\u112b':
1643        case '\u112c': case '\u112d': case '\u112e': case '\u112f':
1644        case '\u1130': case '\u1131': case '\u1132': case '\u1133':
1645        case '\u1134': case '\u1135': case '\u1136': case '\u1137':
1646        case '\u1138': case '\u1139': case '\u113a': case '\u113b':
1647        case '\u113c': case '\u113d': case '\u113e': case '\u113f':
1648        case '\u1140': case '\u1141': case '\u1142': case '\u1143':
1649        case '\u1144': case '\u1145': case '\u1146': case '\u1147':
1650        case '\u1148': case '\u1149': case '\u114a': case '\u114b':
1651        case '\u114c': case '\u114d': case '\u114e': case '\u114f':
1652        case '\u1150': case '\u1151': case '\u1152': case '\u1153':
1653        case '\u1154': case '\u1155': case '\u1156': case '\u1157':
1654        case '\u1158': case '\u1159':
1655        {
1656            matchRange('\u1100','\u1159');
1657            break;
1658        }
1659        case '\u115f': case '\u1160': case '\u1161': case '\u1162':
1660        case '\u1163': case '\u1164': case '\u1165': case '\u1166':
1661        case '\u1167': case '\u1168': case '\u1169': case '\u116a':
1662        case '\u116b': case '\u116c': case '\u116d': case '\u116e':
1663        case '\u116f': case '\u1170': case '\u1171': case '\u1172':
1664        case '\u1173': case '\u1174': case '\u1175': case '\u1176':
1665        case '\u1177': case '\u1178': case '\u1179': case '\u117a':
1666        case '\u117b': case '\u117c': case '\u117d': case '\u117e':
1667        case '\u117f': case '\u1180': case '\u1181': case '\u1182':
1668        case '\u1183': case '\u1184': case '\u1185': case '\u1186':
1669        case '\u1187': case '\u1188': case '\u1189': case '\u118a':
1670        case '\u118b': case '\u118c': case '\u118d': case '\u118e':
1671        case '\u118f': case '\u1190': case '\u1191': case '\u1192':
1672        case '\u1193': case '\u1194': case '\u1195': case '\u1196':
1673        case '\u1197': case '\u1198': case '\u1199': case '\u119a':
1674        case '\u119b': case '\u119c': case '\u119d': case '\u119e':
1675        case '\u119f': case '\u11a0': case '\u11a1': case '\u11a2':
1676        {
1677            matchRange('\u115f','\u11a2');
1678            break;
1679        }
1680        case '\u11a8': case '\u11a9': case '\u11aa': case '\u11ab':
1681        case '\u11ac': case '\u11ad': case '\u11ae': case '\u11af':
1682        case '\u11b0': case '\u11b1': case '\u11b2': case '\u11b3':
1683        case '\u11b4': case '\u11b5': case '\u11b6': case '\u11b7':
1684        case '\u11b8': case '\u11b9': case '\u11ba': case '\u11bb':
1685        case '\u11bc': case '\u11bd': case '\u11be': case '\u11bf':
1686        case '\u11c0': case '\u11c1': case '\u11c2': case '\u11c3':
1687        case '\u11c4': case '\u11c5': case '\u11c6': case '\u11c7':
1688        case '\u11c8': case '\u11c9': case '\u11ca': case '\u11cb':
1689        case '\u11cc': case '\u11cd': case '\u11ce': case '\u11cf':
1690        case '\u11d0': case '\u11d1': case '\u11d2': case '\u11d3':
1691        case '\u11d4': case '\u11d5': case '\u11d6': case '\u11d7':
1692        case '\u11d8': case '\u11d9': case '\u11da': case '\u11db':
1693        case '\u11dc': case '\u11dd': case '\u11de': case '\u11df':
1694        case '\u11e0': case '\u11e1': case '\u11e2': case '\u11e3':
1695        case '\u11e4': case '\u11e5': case '\u11e6': case '\u11e7':
1696        case '\u11e8': case '\u11e9': case '\u11ea': case '\u11eb':
1697        case '\u11ec': case '\u11ed': case '\u11ee': case '\u11ef':
1698        case '\u11f0': case '\u11f1': case '\u11f2': case '\u11f3':
1699        case '\u11f4': case '\u11f5': case '\u11f6': case '\u11f7':
1700        case '\u11f8': case '\u11f9':
1701        {
1702            matchRange('\u11a8','\u11f9');
1703            break;
1704        }
1705        case '\u1ea0': case '\u1ea1': case '\u1ea2': case '\u1ea3':
1706        case '\u1ea4': case '\u1ea5': case '\u1ea6': case '\u1ea7':
1707        case '\u1ea8': case '\u1ea9': case '\u1eaa': case '\u1eab':
1708        case '\u1eac': case '\u1ead': case '\u1eae': case '\u1eaf':
1709        case '\u1eb0': case '\u1eb1': case '\u1eb2': case '\u1eb3':
1710        case '\u1eb4': case '\u1eb5': case '\u1eb6': case '\u1eb7':
1711        case '\u1eb8': case '\u1eb9': case '\u1eba': case '\u1ebb':
1712        case '\u1ebc': case '\u1ebd': case '\u1ebe': case '\u1ebf':
1713        case '\u1ec0': case '\u1ec1': case '\u1ec2': case '\u1ec3':
1714        case '\u1ec4': case '\u1ec5': case '\u1ec6': case '\u1ec7':
1715        case '\u1ec8': case '\u1ec9': case '\u1eca': case '\u1ecb':
1716        case '\u1ecc': case '\u1ecd': case '\u1ece': case '\u1ecf':
1717        case '\u1ed0': case '\u1ed1': case '\u1ed2': case '\u1ed3':
1718        case '\u1ed4': case '\u1ed5': case '\u1ed6': case '\u1ed7':
1719        case '\u1ed8': case '\u1ed9': case '\u1eda': case '\u1edb':
1720        case '\u1edc': case '\u1edd': case '\u1ede': case '\u1edf':
1721        case '\u1ee0': case '\u1ee1': case '\u1ee2': case '\u1ee3':
1722        case '\u1ee4': case '\u1ee5': case '\u1ee6': case '\u1ee7':
1723        case '\u1ee8': case '\u1ee9': case '\u1eea': case '\u1eeb':
1724        case '\u1eec': case '\u1eed': case '\u1eee': case '\u1eef':
1725        case '\u1ef0': case '\u1ef1': case '\u1ef2': case '\u1ef3':
1726        case '\u1ef4': case '\u1ef5': case '\u1ef6': case '\u1ef7':
1727        case '\u1ef8': case '\u1ef9':
1728        {
1729            matchRange('\u1ea0','\u1ef9');
1730            break;
1731        }
1732        case '\u1f00': case '\u1f01': case '\u1f02': case '\u1f03':
1733        case '\u1f04': case '\u1f05': case '\u1f06': case '\u1f07':
1734        case '\u1f08': case '\u1f09': case '\u1f0a': case '\u1f0b':
1735        case '\u1f0c': case '\u1f0d': case '\u1f0e': case '\u1f0f':
1736        case '\u1f10': case '\u1f11': case '\u1f12': case '\u1f13':
1737        case '\u1f14': case '\u1f15':
1738        {
1739            matchRange('\u1f00','\u1f15');
1740            break;
1741        }
1742        case '\u1f18': case '\u1f19': case '\u1f1a': case '\u1f1b':
1743        case '\u1f1c': case '\u1f1d':
1744        {
1745            matchRange('\u1f18','\u1f1d');
1746            break;
1747        }
1748        case '\u1f20': case '\u1f21': case '\u1f22': case '\u1f23':
1749        case '\u1f24': case '\u1f25': case '\u1f26': case '\u1f27':
1750        case '\u1f28': case '\u1f29': case '\u1f2a': case '\u1f2b':
1751        case '\u1f2c': case '\u1f2d': case '\u1f2e': case '\u1f2f':
1752        case '\u1f30': case '\u1f31': case '\u1f32': case '\u1f33':
1753        case '\u1f34': case '\u1f35': case '\u1f36': case '\u1f37':
1754        case '\u1f38': case '\u1f39': case '\u1f3a': case '\u1f3b':
1755        case '\u1f3c': case '\u1f3d': case '\u1f3e': case '\u1f3f':
1756        case '\u1f40': case '\u1f41': case '\u1f42': case '\u1f43':
1757        case '\u1f44': case '\u1f45':
1758        {
1759            matchRange('\u1f20','\u1f45');
1760            break;
1761        }
1762        case '\u1f48': case '\u1f49': case '\u1f4a': case '\u1f4b':
1763        case '\u1f4c': case '\u1f4d':
1764        {
1765            matchRange('\u1f48','\u1f4d');
1766            break;
1767        }
1768        case '\u1f50': case '\u1f51': case '\u1f52': case '\u1f53':
1769        case '\u1f54': case '\u1f55': case '\u1f56': case '\u1f57':
1770        {
1771            matchRange('\u1f50','\u1f57');
1772            break;
1773        }
1774        case '\u1f59':
1775        {
1776            match('\u1f59');
1777            break;
1778        }
1779        case '\u1f5b':
1780        {
1781            match('\u1f5b');
1782            break;
1783        }
1784        case '\u1f5d':
1785        {
1786            match('\u1f5d');
1787            break;
1788        }
1789        case '\u1f5f': case '\u1f60': case '\u1f61': case '\u1f62':
1790        case '\u1f63': case '\u1f64': case '\u1f65': case '\u1f66':
1791        case '\u1f67': case '\u1f68': case '\u1f69': case '\u1f6a':
1792        case '\u1f6b': case '\u1f6c': case '\u1f6d': case '\u1f6e':
1793        case '\u1f6f': case '\u1f70': case '\u1f71': case '\u1f72':
1794        case '\u1f73': case '\u1f74': case '\u1f75': case '\u1f76':
1795        case '\u1f77': case '\u1f78': case '\u1f79': case '\u1f7a':
1796        case '\u1f7b': case '\u1f7c': case '\u1f7d':
1797        {
1798            matchRange('\u1f5f','\u1f7d');
1799            break;
1800        }
1801        case '\u1f80': case '\u1f81': case '\u1f82': case '\u1f83':
1802        case '\u1f84': case '\u1f85': case '\u1f86': case '\u1f87':
1803        case '\u1f88': case '\u1f89': case '\u1f8a': case '\u1f8b':
1804        case '\u1f8c': case '\u1f8d': case '\u1f8e': case '\u1f8f':
1805        case '\u1f90': case '\u1f91': case '\u1f92': case '\u1f93':
1806        case '\u1f94': case '\u1f95': case '\u1f96': case '\u1f97':
1807        case '\u1f98': case '\u1f99': case '\u1f9a': case '\u1f9b':
1808        case '\u1f9c': case '\u1f9d': case '\u1f9e': case '\u1f9f':
1809        case '\u1fa0': case '\u1fa1': case '\u1fa2': case '\u1fa3':
1810        case '\u1fa4': case '\u1fa5': case '\u1fa6': case '\u1fa7':
1811        case '\u1fa8': case '\u1fa9': case '\u1faa': case '\u1fab':
1812        case '\u1fac': case '\u1fad': case '\u1fae': case '\u1faf':
1813        case '\u1fb0': case '\u1fb1': case '\u1fb2': case '\u1fb3':
1814        case '\u1fb4':
1815        {
1816            matchRange('\u1f80','\u1fb4');
1817            break;
1818        }
1819        case '\u1fb6': case '\u1fb7': case '\u1fb8': case '\u1fb9':
1820        case '\u1fba': case '\u1fbb': case '\u1fbc':
1821        {
1822            matchRange('\u1fb6','\u1fbc');
1823            break;
1824        }
1825        case '\u1fbe':
1826        {
1827            match('\u1fbe');
1828            break;
1829        }
1830        case '\u1fc2': case '\u1fc3': case '\u1fc4':
1831        {
1832            matchRange('\u1fc2','\u1fc4');
1833            break;
1834        }
1835        case '\u1fc6': case '\u1fc7': case '\u1fc8': case '\u1fc9':
1836        case '\u1fca': case '\u1fcb': case '\u1fcc':
1837        {
1838            matchRange('\u1fc6','\u1fcc');
1839            break;
1840        }
1841        case '\u1fd0': case '\u1fd1': case '\u1fd2': case '\u1fd3':
1842        {
1843            matchRange('\u1fd0','\u1fd3');
1844            break;
1845        }
1846        case '\u1fd6': case '\u1fd7': case '\u1fd8': case '\u1fd9':
1847        case '\u1fda': case '\u1fdb':
1848        {
1849            matchRange('\u1fd6','\u1fdb');
1850            break;
1851        }
1852        case '\u1fe0': case '\u1fe1': case '\u1fe2': case '\u1fe3':
1853        case '\u1fe4': case '\u1fe5': case '\u1fe6': case '\u1fe7':
1854        case '\u1fe8': case '\u1fe9': case '\u1fea': case '\u1feb':
1855        case '\u1fec':
1856        {
1857            matchRange('\u1fe0','\u1fec');
1858            break;
1859        }
1860        case '\u1ff2': case '\u1ff3': case '\u1ff4':
1861        {
1862            matchRange('\u1ff2','\u1ff4');
1863            break;
1864        }
1865        case '\u1ff6': case '\u1ff7': case '\u1ff8': case '\u1ff9':
1866        case '\u1ffa': case '\u1ffb': case '\u1ffc':
1867        {
1868            matchRange('\u1ff6','\u1ffc');
1869            break;
1870        }
1871        case '\u203f': case '\u2040':
1872        {
1873            matchRange('\u203f','\u2040');
1874            break;
1875        }
1876        case '\u207f':
1877        {
1878            match('\u207f');
1879            break;
1880        }
1881        case '\u20a0': case '\u20a1': case '\u20a2': case '\u20a3':
1882        case '\u20a4': case '\u20a5': case '\u20a6': case '\u20a7':
1883        case '\u20a8': case '\u20a9': case '\u20aa': case '\u20ab':
1884        case '\u20ac':
1885        {
1886            matchRange('\u20a0','\u20ac');
1887            break;
1888        }
1889        case '\u2102':
1890        {
1891            match('\u2102');
1892            break;
1893        }
1894        case '\u2107':
1895        {
1896            match('\u2107');
1897            break;
1898        }
1899        case '\u210a': case '\u210b': case '\u210c': case '\u210d':
1900        case '\u210e': case '\u210f': case '\u2110': case '\u2111':
1901        case '\u2112': case '\u2113':
1902        {
1903            matchRange('\u210a','\u2113');
1904            break;
1905        }
1906        case '\u2115':
1907        {
1908            match('\u2115');
1909            break;
1910        }
1911        case '\u2118': case '\u2119': case '\u211a': case '\u211b':
1912        case '\u211c': case '\u211d':
1913        {
1914            matchRange('\u2118','\u211d');
1915            break;
1916        }
1917        case '\u2124':
1918        {
1919            match('\u2124');
1920            break;
1921        }
1922        case '\u2126':
1923        {
1924            match('\u2126');
1925            break;
1926        }
1927        case '\u2128':
1928        {
1929            match('\u2128');
1930            break;
1931        }
1932        case '\u212a': case '\u212b': case '\u212c': case '\u212d':
1933        case '\u212e': case '\u212f': case '\u2130': case '\u2131':
1934        {
1935            matchRange('\u212a','\u2131');
1936            break;
1937        }
1938        case '\u2133': case '\u2134': case '\u2135': case '\u2136':
1939        case '\u2137': case '\u2138':
1940        {
1941            matchRange('\u2133','\u2138');
1942            break;
1943        }
1944        case '\u2160': case '\u2161': case '\u2162': case '\u2163':
1945        case '\u2164': case '\u2165': case '\u2166': case '\u2167':
1946        case '\u2168': case '\u2169': case '\u216a': case '\u216b':
1947        case '\u216c': case '\u216d': case '\u216e': case '\u216f':
1948        case '\u2170': case '\u2171': case '\u2172': case '\u2173':
1949        case '\u2174': case '\u2175': case '\u2176': case '\u2177':
1950        case '\u2178': case '\u2179': case '\u217a': case '\u217b':
1951        case '\u217c': case '\u217d': case '\u217e': case '\u217f':
1952        case '\u2180': case '\u2181': case '\u2182':
1953        {
1954            matchRange('\u2160','\u2182');
1955            break;
1956        }
1957        case '\u3005':
1958        {
1959            match('\u3005');
1960            break;
1961        }
1962        case '\u3007':
1963        {
1964            match('\u3007');
1965            break;
1966        }
1967        case '\u3021': case '\u3022': case '\u3023': case '\u3024':
1968        case '\u3025': case '\u3026': case '\u3027': case '\u3028':
1969        case '\u3029':
1970        {
1971            matchRange('\u3021','\u3029');
1972            break;
1973        }
1974        case '\u3031': case '\u3032': case '\u3033': case '\u3034':
1975        case '\u3035':
1976        {
1977            matchRange('\u3031','\u3035');
1978            break;
1979        }
1980        case '\u3041': case '\u3042': case '\u3043': case '\u3044':
1981        case '\u3045': case '\u3046': case '\u3047': case '\u3048':
1982        case '\u3049': case '\u304a': case '\u304b': case '\u304c':
1983        case '\u304d': case '\u304e': case '\u304f': case '\u3050':
1984        case '\u3051': case '\u3052': case '\u3053': case '\u3054':
1985        case '\u3055': case '\u3056': case '\u3057': case '\u3058':
1986        case '\u3059': case '\u305a': case '\u305b': case '\u305c':
1987        case '\u305d': case '\u305e': case '\u305f': case '\u3060':
1988        case '\u3061': case '\u3062': case '\u3063': case '\u3064':
1989        case '\u3065': case '\u3066': case '\u3067': case '\u3068':
1990        case '\u3069': case '\u306a': case '\u306b': case '\u306c':
1991        case '\u306d': case '\u306e': case '\u306f': case '\u3070':
1992        case '\u3071': case '\u3072': case '\u3073': case '\u3074':
1993        case '\u3075': case '\u3076': case '\u3077': case '\u3078':
1994        case '\u3079': case '\u307a': case '\u307b': case '\u307c':
1995        case '\u307d': case '\u307e': case '\u307f': case '\u3080':
1996        case '\u3081': case '\u3082': case '\u3083': case '\u3084':
1997        case '\u3085': case '\u3086': case '\u3087': case '\u3088':
1998        case '\u3089': case '\u308a': case '\u308b': case '\u308c':
1999        case '\u308d': case '\u308e': case '\u308f': case '\u3090':
2000        case '\u3091': case '\u3092': case '\u3093': case '\u3094':
2001        {
2002            matchRange('\u3041','\u3094');
2003            break;
2004        }
2005        case '\u309b': case '\u309c': case '\u309d': case '\u309e':
2006        {
2007            matchRange('\u309b','\u309e');
2008            break;
2009        }
2010        case '\u30a1': case '\u30a2': case '\u30a3': case '\u30a4':
2011        case '\u30a5': case '\u30a6': case '\u30a7': case '\u30a8':
2012        case '\u30a9': case '\u30aa': case '\u30ab': case '\u30ac':
2013        case '\u30ad': case '\u30ae': case '\u30af': case '\u30b0':
2014        case '\u30b1': case '\u30b2': case '\u30b3': case '\u30b4':
2015        case '\u30b5': case '\u30b6': case '\u30b7': case '\u30b8':
2016        case '\u30b9': case '\u30ba': case '\u30bb': case '\u30bc':
2017        case '\u30bd': case '\u30be': case '\u30bf': case '\u30c0':
2018        case '\u30c1': case '\u30c2': case '\u30c3': case '\u30c4':
2019        case '\u30c5': case '\u30c6': case '\u30c7': case '\u30c8':
2020        case '\u30c9': case '\u30ca': case '\u30cb': case '\u30cc':
2021        case '\u30cd': case '\u30ce': case '\u30cf': case '\u30d0':
2022        case '\u30d1': case '\u30d2': case '\u30d3': case '\u30d4':
2023        case '\u30d5': case '\u30d6': case '\u30d7': case '\u30d8':
2024        case '\u30d9': case '\u30da': case '\u30db': case '\u30dc':
2025        case '\u30dd': case '\u30de': case '\u30df': case '\u30e0':
2026        case '\u30e1': case '\u30e2': case '\u30e3': case '\u30e4':
2027        case '\u30e5': case '\u30e6': case '\u30e7': case '\u30e8':
2028        case '\u30e9': case '\u30ea': case '\u30eb': case '\u30ec':
2029        case '\u30ed': case '\u30ee': case '\u30ef': case '\u30f0':
2030        case '\u30f1': case '\u30f2': case '\u30f3': case '\u30f4':
2031        case '\u30f5': case '\u30f6': case '\u30f7': case '\u30f8':
2032        case '\u30f9': case '\u30fa':
2033        {
2034            matchRange('\u30a1','\u30fa');
2035            break;
2036        }
2037        case '\u30fc': case '\u30fd': case '\u30fe':
2038        {
2039            matchRange('\u30fc','\u30fe');
2040            break;
2041        }
2042        case '\u3105': case '\u3106': case '\u3107': case '\u3108':
2043        case '\u3109': case '\u310a': case '\u310b': case '\u310c':
2044        case '\u310d': case '\u310e': case '\u310f': case '\u3110':
2045        case '\u3111': case '\u3112': case '\u3113': case '\u3114':
2046        case '\u3115': case '\u3116': case '\u3117': case '\u3118':
2047        case '\u3119': case '\u311a': case '\u311b': case '\u311c':
2048        case '\u311d': case '\u311e': case '\u311f': case '\u3120':
2049        case '\u3121': case '\u3122': case '\u3123': case '\u3124':
2050        case '\u3125': case '\u3126': case '\u3127': case '\u3128':
2051        case '\u3129': case '\u312a': case '\u312b': case '\u312c':
2052        {
2053            matchRange('\u3105','\u312c');
2054            break;
2055        }
2056        case '\u3131': case '\u3132': case '\u3133': case '\u3134':
2057        case '\u3135': case '\u3136': case '\u3137': case '\u3138':
2058        case '\u3139': case '\u313a': case '\u313b': case '\u313c':
2059        case '\u313d': case '\u313e': case '\u313f': case '\u3140':
2060        case '\u3141': case '\u3142': case '\u3143': case '\u3144':
2061        case '\u3145': case '\u3146': case '\u3147': case '\u3148':
2062        case '\u3149': case '\u314a': case '\u314b': case '\u314c':
2063        case '\u314d': case '\u314e': case '\u314f': case '\u3150':
2064        case '\u3151': case '\u3152': case '\u3153': case '\u3154':
2065        case '\u3155': case '\u3156': case '\u3157': case '\u3158':
2066        case '\u3159': case '\u315a': case '\u315b': case '\u315c':
2067        case '\u315d': case '\u315e': case '\u315f': case '\u3160':
2068        case '\u3161': case '\u3162': case '\u3163': case '\u3164':
2069        case '\u3165': case '\u3166': case '\u3167': case '\u3168':
2070        case '\u3169': case '\u316a': case '\u316b': case '\u316c':
2071        case '\u316d': case '\u316e': case '\u316f': case '\u3170':
2072        case '\u3171': case '\u3172': case '\u3173': case '\u3174':
2073        case '\u3175': case '\u3176': case '\u3177': case '\u3178':
2074        case '\u3179': case '\u317a': case '\u317b': case '\u317c':
2075        case '\u317d': case '\u317e': case '\u317f': case '\u3180':
2076        case '\u3181': case '\u3182': case '\u3183': case '\u3184':
2077        case '\u3185': case '\u3186': case '\u3187': case '\u3188':
2078        case '\u3189': case '\u318a': case '\u318b': case '\u318c':
2079        case '\u318d': case '\u318e':
2080        {
2081            matchRange('\u3131','\u318e');
2082            break;
2083        }
2084        case '\ufb00': case '\ufb01': case '\ufb02': case '\ufb03':
2085        case '\ufb04': case '\ufb05': case '\ufb06':
2086        {
2087            matchRange('\ufb00','\ufb06');
2088            break;
2089        }
2090        case '\ufb13': case '\ufb14': case '\ufb15': case '\ufb16':
2091        case '\ufb17':
2092        {
2093            matchRange('\ufb13','\ufb17');
2094            break;
2095        }
2096        case '\ufb1f': case '\ufb20': case '\ufb21': case '\ufb22':
2097        case '\ufb23': case '\ufb24': case '\ufb25': case '\ufb26':
2098        case '\ufb27': case '\ufb28':
2099        {
2100            matchRange('\ufb1f','\ufb28');
2101            break;
2102        }
2103        case '\ufb2a': case '\ufb2b': case '\ufb2c': case '\ufb2d':
2104        case '\ufb2e': case '\ufb2f': case '\ufb30': case '\ufb31':
2105        case '\ufb32': case '\ufb33': case '\ufb34': case '\ufb35':
2106        case '\ufb36':
2107        {
2108            matchRange('\ufb2a','\ufb36');
2109            break;
2110        }
2111        case '\ufb38': case '\ufb39': case '\ufb3a': case '\ufb3b':
2112        case '\ufb3c':
2113        {
2114            matchRange('\ufb38','\ufb3c');
2115            break;
2116        }
2117        case '\ufb3e':
2118        {
2119            match('\ufb3e');
2120            break;
2121        }
2122        case '\ufb40': case '\ufb41':
2123        {
2124            matchRange('\ufb40','\ufb41');
2125            break;
2126        }
2127        case '\ufb43': case '\ufb44':
2128        {
2129            matchRange('\ufb43','\ufb44');
2130            break;
2131        }
2132        case '\ufb46': case '\ufb47': case '\ufb48': case '\ufb49':
2133        case '\ufb4a': case '\ufb4b': case '\ufb4c': case '\ufb4d':
2134        case '\ufb4e': case '\ufb4f': case '\ufb50': case '\ufb51':
2135        case '\ufb52': case '\ufb53': case '\ufb54': case '\ufb55':
2136        case '\ufb56': case '\ufb57': case '\ufb58': case '\ufb59':
2137        case '\ufb5a': case '\ufb5b': case '\ufb5c': case '\ufb5d':
2138        case '\ufb5e': case '\ufb5f': case '\ufb60': case '\ufb61':
2139        case '\ufb62': case '\ufb63': case '\ufb64': case '\ufb65':
2140        case '\ufb66': case '\ufb67': case '\ufb68': case '\ufb69':
2141        case '\ufb6a': case '\ufb6b': case '\ufb6c': case '\ufb6d':
2142        case '\ufb6e': case '\ufb6f': case '\ufb70': case '\ufb71':
2143        case '\ufb72': case '\ufb73': case '\ufb74': case '\ufb75':
2144        case '\ufb76': case '\ufb77': case '\ufb78': case '\ufb79':
2145        case '\ufb7a': case '\ufb7b': case '\ufb7c': case '\ufb7d':
2146        case '\ufb7e': case '\ufb7f': case '\ufb80': case '\ufb81':
2147        case '\ufb82': case '\ufb83': case '\ufb84': case '\ufb85':
2148        case '\ufb86': case '\ufb87': case '\ufb88': case '\ufb89':
2149        case '\ufb8a': case '\ufb8b': case '\ufb8c': case '\ufb8d':
2150        case '\ufb8e': case '\ufb8f': case '\ufb90': case '\ufb91':
2151        case '\ufb92': case '\ufb93': case '\ufb94': case '\ufb95':
2152        case '\ufb96': case '\ufb97': case '\ufb98': case '\ufb99':
2153        case '\ufb9a': case '\ufb9b': case '\ufb9c': case '\ufb9d':
2154        case '\ufb9e': case '\ufb9f': case '\ufba0': case '\ufba1':
2155        case '\ufba2': case '\ufba3': case '\ufba4': case '\ufba5':
2156        case '\ufba6': case '\ufba7': case '\ufba8': case '\ufba9':
2157        case '\ufbaa': case '\ufbab': case '\ufbac': case '\ufbad':
2158        case '\ufbae': case '\ufbaf': case '\ufbb0': case '\ufbb1':
2159        {
2160            matchRange('\ufb46','\ufbb1');
2161            break;
2162        }
2163        case '\ufd50': case '\ufd51': case '\ufd52': case '\ufd53':
2164        case '\ufd54': case '\ufd55': case '\ufd56': case '\ufd57':
2165        case '\ufd58': case '\ufd59': case '\ufd5a': case '\ufd5b':
2166        case '\ufd5c': case '\ufd5d': case '\ufd5e': case '\ufd5f':
2167        case '\ufd60': case '\ufd61': case '\ufd62': case '\ufd63':
2168        case '\ufd64': case '\ufd65': case '\ufd66': case '\ufd67':
2169        case '\ufd68': case '\ufd69': case '\ufd6a': case '\ufd6b':
2170        case '\ufd6c': case '\ufd6d': case '\ufd6e': case '\ufd6f':
2171        case '\ufd70': case '\ufd71': case '\ufd72': case '\ufd73':
2172        case '\ufd74': case '\ufd75': case '\ufd76': case '\ufd77':
2173        case '\ufd78': case '\ufd79': case '\ufd7a': case '\ufd7b':
2174        case '\ufd7c': case '\ufd7d': case '\ufd7e': case '\ufd7f':
2175        case '\ufd80': case '\ufd81': case '\ufd82': case '\ufd83':
2176        case '\ufd84': case '\ufd85': case '\ufd86': case '\ufd87':
2177        case '\ufd88': case '\ufd89': case '\ufd8a': case '\ufd8b':
2178        case '\ufd8c': case '\ufd8d': case '\ufd8e': case '\ufd8f':
2179        {
2180            matchRange('\ufd50','\ufd8f');
2181            break;
2182        }
2183        case '\ufd92': case '\ufd93': case '\ufd94': case '\ufd95':
2184        case '\ufd96': case '\ufd97': case '\ufd98': case '\ufd99':
2185        case '\ufd9a': case '\ufd9b': case '\ufd9c': case '\ufd9d':
2186        case '\ufd9e': case '\ufd9f': case '\ufda0': case '\ufda1':
2187        case '\ufda2': case '\ufda3': case '\ufda4': case '\ufda5':
2188        case '\ufda6': case '\ufda7': case '\ufda8': case '\ufda9':
2189        case '\ufdaa': case '\ufdab': case '\ufdac': case '\ufdad':
2190        case '\ufdae': case '\ufdaf': case '\ufdb0': case '\ufdb1':
2191        case '\ufdb2': case '\ufdb3': case '\ufdb4': case '\ufdb5':
2192        case '\ufdb6': case '\ufdb7': case '\ufdb8': case '\ufdb9':
2193        case '\ufdba': case '\ufdbb': case '\ufdbc': case '\ufdbd':
2194        case '\ufdbe': case '\ufdbf': case '\ufdc0': case '\ufdc1':
2195        case '\ufdc2': case '\ufdc3': case '\ufdc4': case '\ufdc5':
2196        case '\ufdc6': case '\ufdc7':
2197        {
2198            matchRange('\ufd92','\ufdc7');
2199            break;
2200        }
2201        case '\ufdf0': case '\ufdf1': case '\ufdf2': case '\ufdf3':
2202        case '\ufdf4': case '\ufdf5': case '\ufdf6': case '\ufdf7':
2203        case '\ufdf8': case '\ufdf9': case '\ufdfa': case '\ufdfb':
2204        {
2205            matchRange('\ufdf0','\ufdfb');
2206            break;
2207        }
2208        case '\ufe33': case '\ufe34':
2209        {
2210            matchRange('\ufe33','\ufe34');
2211            break;
2212        }
2213        case '\ufe4d': case '\ufe4e': case '\ufe4f':
2214        {
2215            matchRange('\ufe4d','\ufe4f');
2216            break;
2217        }
2218        case '\ufe69':
2219        {
2220            match('\ufe69');
2221            break;
2222        }
2223        case '\ufe70': case '\ufe71': case '\ufe72':
2224        {
2225            matchRange('\ufe70','\ufe72');
2226            break;
2227        }
2228        case '\ufe74':
2229        {
2230            match('\ufe74');
2231            break;
2232        }
2233        case '\uff04':
2234        {
2235            match('\uff04');
2236            break;
2237        }
2238        case '\uff21': case '\uff22': case '\uff23': case '\uff24':
2239        case '\uff25': case '\uff26': case '\uff27': case '\uff28':
2240        case '\uff29': case '\uff2a': case '\uff2b': case '\uff2c':
2241        case '\uff2d': case '\uff2e': case '\uff2f': case '\uff30':
2242        case '\uff31': case '\uff32': case '\uff33': case '\uff34':
2243        case '\uff35': case '\uff36': case '\uff37': case '\uff38':
2244        case '\uff39': case '\uff3a':
2245        {
2246            matchRange('\uff21','\uff3a');
2247            break;
2248        }
2249        case '\uff3f':
2250        {
2251            match('\uff3f');
2252            break;
2253        }
2254        case '\uff41': case '\uff42': case '\uff43': case '\uff44':
2255        case '\uff45': case '\uff46': case '\uff47': case '\uff48':
2256        case '\uff49': case '\uff4a': case '\uff4b': case '\uff4c':
2257        case '\uff4d': case '\uff4e': case '\uff4f': case '\uff50':
2258        case '\uff51': case '\uff52': case '\uff53': case '\uff54':
2259        case '\uff55': case '\uff56': case '\uff57': case '\uff58':
2260        case '\uff59': case '\uff5a':
2261        {
2262            matchRange('\uff41','\uff5a');
2263            break;
2264        }
2265        case '\uff66': case '\uff67': case '\uff68': case '\uff69':
2266        case '\uff6a': case '\uff6b': case '\uff6c': case '\uff6d':
2267        case '\uff6e': case '\uff6f': case '\uff70': case '\uff71':
2268        case '\uff72': case '\uff73': case '\uff74': case '\uff75':
2269        case '\uff76': case '\uff77': case '\uff78': case '\uff79':
2270        case '\uff7a': case '\uff7b': case '\uff7c': case '\uff7d':
2271        case '\uff7e': case '\uff7f': case '\uff80': case '\uff81':
2272        case '\uff82': case '\uff83': case '\uff84': case '\uff85':
2273        case '\uff86': case '\uff87': case '\uff88': case '\uff89':
2274        case '\uff8a': case '\uff8b': case '\uff8c': case '\uff8d':
2275        case '\uff8e': case '\uff8f': case '\uff90': case '\uff91':
2276        case '\uff92': case '\uff93': case '\uff94': case '\uff95':
2277        case '\uff96': case '\uff97': case '\uff98': case '\uff99':
2278        case '\uff9a': case '\uff9b': case '\uff9c': case '\uff9d':
2279        case '\uff9e': case '\uff9f': case '\uffa0': case '\uffa1':
2280        case '\uffa2': case '\uffa3': case '\uffa4': case '\uffa5':
2281        case '\uffa6': case '\uffa7': case '\uffa8': case '\uffa9':
2282        case '\uffaa': case '\uffab': case '\uffac': case '\uffad':
2283        case '\uffae': case '\uffaf': case '\uffb0': case '\uffb1':
2284        case '\uffb2': case '\uffb3': case '\uffb4': case '\uffb5':
2285        case '\uffb6': case '\uffb7': case '\uffb8': case '\uffb9':
2286        case '\uffba': case '\uffbb': case '\uffbc': case '\uffbd':
2287        case '\uffbe':
2288        {
2289            matchRange('\uff66','\uffbe');
2290            break;
2291        }
2292        case '\uffc2': case '\uffc3': case '\uffc4': case '\uffc5':
2293        case '\uffc6': case '\uffc7':
2294        {
2295            matchRange('\uffc2','\uffc7');
2296            break;
2297        }
2298        case '\uffca': case '\uffcb': case '\uffcc': case '\uffcd':
2299        case '\uffce': case '\uffcf':
2300        {
2301            matchRange('\uffca','\uffcf');
2302            break;
2303        }
2304        case '\uffd2': case '\uffd3': case '\uffd4': case '\uffd5':
2305        case '\uffd6': case '\uffd7':
2306        {
2307            matchRange('\uffd2','\uffd7');
2308            break;
2309        }
2310        case '\uffda': case '\uffdb': case '\uffdc':
2311        {
2312            matchRange('\uffda','\uffdc');
2313            break;
2314        }
2315        case '\uffe0': case '\uffe1':
2316        {
2317            matchRange('\uffe0','\uffe1');
2318            break;
2319        }
2320        case '\uffe5': case '\uffe6':
2321        {
2322            matchRange('\uffe5','\uffe6');
2323            break;
2324        }
2325        default:
2326            if (((LA(1) >= '\u00f8' && LA(1) <= '\u01f5'))) {
2327                matchRange('\u00f8','\u01f5');
2328            }
2329            else if (((LA(1) >= '\u1e00' && LA(1) <= '\u1e9b'))) {
2330                matchRange('\u1e00','\u1e9b');
2331            }
2332            else if (((LA(1) >= '\u4e00' && LA(1) <= '\u9fa5'))) {
2333                matchRange('\u4e00','\u9fa5');
2334            }
2335            else if (((LA(1) >= '\uac00' && LA(1) <= '\ud7a3'))) {
2336                matchRange('\uac00','\ud7a3');
2337            }
2338            else if (((LA(1) >= '\uf900' && LA(1) <= '\ufa2d'))) {
2339                matchRange('\uf900','\ufa2d');
2340            }
2341            else if (((LA(1) >= '\ufbd3' && LA(1) <= '\ufd3d'))) {
2342                matchRange('\ufbd3','\ufd3d');
2343            }
2344            else if (((LA(1) >= '\ufe76' && LA(1) <= '\ufefc'))) {
2345                matchRange('\ufe76','\ufefc');
2346            }
2347        else {
2348            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
2349        }
2350        }
2351        }
2352        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
2353            _token = makeToken(_ttype);
2354            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
2355        }
2356        _returnToken = _token;
2357    }
2358    
2359    protected final void mIDENTIFIER_PART(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
2360        int _ttype; Token _token=null; int _begin=text.length();
2361        _ttype = IDENTIFIER_PART;
2362        int _saveIndex;
2363        
2364        if ((_tokenSet_0.member(LA(1)))) {
2365            mIDENTIFIER_START(false);
2366        }
2367        else if ((_tokenSet_2.member(LA(1)))) {
2368            {
2369            switch ( LA(1)) {
2370            case '\u0000': case '\u0001': case '\u0002': case '\u0003':
2371            case '\u0004': case '\u0005': case '\u0006': case '\u0007':
2372            case '\u0008':
2373            {
2374                matchRange('\u0000','\u0008');
2375                break;
2376            }
2377            case '\u000e': case '\u000f': case '\u0010': case '\u0011':
2378            case '\u0012': case '\u0013': case '\u0014': case '\u0015':
2379            case '\u0016': case '\u0017': case '\u0018': case '\u0019':
2380            case '\u001a': case '\u001b':
2381            {
2382                matchRange('\u000e','\u001b');
2383                break;
2384            }
2385            case '0': case '1': case '2': case '3':
2386            case '4': case '5': case '6': case '7':
2387            case '8': case '9':
2388            {
2389                matchRange('\u0030','\u0039');
2390                break;
2391            }
2392            case '\u007f': case '\u0080': case '\u0081': case '\u0082':
2393            case '\u0083': case '\u0084': case '\u0085': case '\u0086':
2394            case '\u0087': case '\u0088': case '\u0089': case '\u008a':
2395            case '\u008b': case '\u008c': case '\u008d': case '\u008e':
2396            case '\u008f': case '\u0090': case '\u0091': case '\u0092':
2397            case '\u0093': case '\u0094': case '\u0095': case '\u0096':
2398            case '\u0097': case '\u0098': case '\u0099': case '\u009a':
2399            case '\u009b': case '\u009c': case '\u009d': case '\u009e':
2400            case '\u009f':
2401            {
2402                matchRange('\u007f','\u009f');
2403                break;
2404            }
2405            case '\u0300': case '\u0301': case '\u0302': case '\u0303':
2406            case '\u0304': case '\u0305': case '\u0306': case '\u0307':
2407            case '\u0308': case '\u0309': case '\u030a': case '\u030b':
2408            case '\u030c': case '\u030d': case '\u030e': case '\u030f':
2409            case '\u0310': case '\u0311': case '\u0312': case '\u0313':
2410            case '\u0314': case '\u0315': case '\u0316': case '\u0317':
2411            case '\u0318': case '\u0319': case '\u031a': case '\u031b':
2412            case '\u031c': case '\u031d': case '\u031e': case '\u031f':
2413            case '\u0320': case '\u0321': case '\u0322': case '\u0323':
2414            case '\u0324': case '\u0325': case '\u0326': case '\u0327':
2415            case '\u0328': case '\u0329': case '\u032a': case '\u032b':
2416            case '\u032c': case '\u032d': case '\u032e': case '\u032f':
2417            case '\u0330': case '\u0331': case '\u0332': case '\u0333':
2418            case '\u0334': case '\u0335': case '\u0336': case '\u0337':
2419            case '\u0338': case '\u0339': case '\u033a': case '\u033b':
2420            case '\u033c': case '\u033d': case '\u033e': case '\u033f':
2421            case '\u0340': case '\u0341': case '\u0342': case '\u0343':
2422            case '\u0344': case '\u0345':
2423            {
2424                matchRange('\u0300','\u0345');
2425                break;
2426            }
2427            case '\u0360': case '\u0361':
2428            {
2429                matchRange('\u0360','\u0361');
2430                break;
2431            }
2432            case '\u0483': case '\u0484': case '\u0485': case '\u0486':
2433            {
2434                matchRange('\u0483','\u0486');
2435                break;
2436            }
2437            case '\u0591': case '\u0592': case '\u0593': case '\u0594':
2438            case '\u0595': case '\u0596': case '\u0597': case '\u0598':
2439            case '\u0599': case '\u059a': case '\u059b': case '\u059c':
2440            case '\u059d': case '\u059e': case '\u059f': case '\u05a0':
2441            case '\u05a1':
2442            {
2443                matchRange('\u0591','\u05a1');
2444                break;
2445            }
2446            case '\u05a3': case '\u05a4': case '\u05a5': case '\u05a6':
2447            case '\u05a7': case '\u05a8': case '\u05a9': case '\u05aa':
2448            case '\u05ab': case '\u05ac': case '\u05ad': case '\u05ae':
2449            case '\u05af': case '\u05b0': case '\u05b1': case '\u05b2':
2450            case '\u05b3': case '\u05b4': case '\u05b5': case '\u05b6':
2451            case '\u05b7': case '\u05b8': case '\u05b9':
2452            {
2453                matchRange('\u05a3','\u05b9');
2454                break;
2455            }
2456            case '\u05bb': case '\u05bc': case '\u05bd':
2457            {
2458                matchRange('\u05bb','\u05bd');
2459                break;
2460            }
2461            case '\u05bf':
2462            {
2463                match('\u05bf');
2464                break;
2465            }
2466            case '\u05c1': case '\u05c2':
2467            {
2468                matchRange('\u05c1','\u05c2');
2469                break;
2470            }
2471            case '\u05c4':
2472            {
2473                match('\u05c4');
2474                break;
2475            }
2476            case '\u064b': case '\u064c': case '\u064d': case '\u064e':
2477            case '\u064f': case '\u0650': case '\u0651': case '\u0652':
2478            {
2479                matchRange('\u064b','\u0652');
2480                break;
2481            }
2482            case '\u0660': case '\u0661': case '\u0662': case '\u0663':
2483            case '\u0664': case '\u0665': case '\u0666': case '\u0667':
2484            case '\u0668': case '\u0669':
2485            {
2486                matchRange('\u0660','\u0669');
2487                break;
2488            }
2489            case '\u0670':
2490            {
2491                match('\u0670');
2492                break;
2493            }
2494            case '\u06d6': case '\u06d7': case '\u06d8': case '\u06d9':
2495            case '\u06da': case '\u06db': case '\u06dc':
2496            {
2497                matchRange('\u06d6','\u06dc');
2498                break;
2499            }
2500            case '\u06df': case '\u06e0': case '\u06e1': case '\u06e2':
2501            case '\u06e3': case '\u06e4':
2502            {
2503                matchRange('\u06df','\u06e4');
2504                break;
2505            }
2506            case '\u06e7': case '\u06e8':
2507            {
2508                matchRange('\u06e7','\u06e8');
2509                break;
2510            }
2511            case '\u06ea': case '\u06eb': case '\u06ec': case '\u06ed':
2512            {
2513                matchRange('\u06ea','\u06ed');
2514                break;
2515            }
2516            case '\u06f0': case '\u06f1': case '\u06f2': case '\u06f3':
2517            case '\u06f4': case '\u06f5': case '\u06f6': case '\u06f7':
2518            case '\u06f8': case '\u06f9':
2519            {
2520                matchRange('\u06f0','\u06f9');
2521                break;
2522            }
2523            case '\u0901': case '\u0902': case '\u0903':
2524            {
2525                matchRange('\u0901','\u0903');
2526                break;
2527            }
2528            case '\u093c':
2529            {
2530                match('\u093c');
2531                break;
2532            }
2533            case '\u093e': case '\u093f': case '\u0940': case '\u0941':
2534            case '\u0942': case '\u0943': case '\u0944': case '\u0945':
2535            case '\u0946': case '\u0947': case '\u0948': case '\u0949':
2536            case '\u094a': case '\u094b': case '\u094c': case '\u094d':
2537            {
2538                matchRange('\u093e','\u094d');
2539                break;
2540            }
2541            case '\u0951': case '\u0952': case '\u0953': case '\u0954':
2542            {
2543                matchRange('\u0951','\u0954');
2544                break;
2545            }
2546            case '\u0962': case '\u0963':
2547            {
2548                matchRange('\u0962','\u0963');
2549                break;
2550            }
2551            case '\u0966': case '\u0967': case '\u0968': case '\u0969':
2552            case '\u096a': case '\u096b': case '\u096c': case '\u096d':
2553            case '\u096e': case '\u096f':
2554            {
2555                matchRange('\u0966','\u096f');
2556                break;
2557            }
2558            case '\u0981': case '\u0982': case '\u0983':
2559            {
2560                matchRange('\u0981','\u0983');
2561                break;
2562            }
2563            case '\u09bc':
2564            {
2565                match('\u09bc');
2566                break;
2567            }
2568            case '\u09be': case '\u09bf': case '\u09c0': case '\u09c1':
2569            case '\u09c2': case '\u09c3': case '\u09c4':
2570            {
2571                matchRange('\u09be','\u09c4');
2572                break;
2573            }
2574            case '\u09c7': case '\u09c8':
2575            {
2576                matchRange('\u09c7','\u09c8');
2577                break;
2578            }
2579            case '\u09cb': case '\u09cc': case '\u09cd':
2580            {
2581                matchRange('\u09cb','\u09cd');
2582                break;
2583            }
2584            case '\u09d7':
2585            {
2586                match('\u09d7');
2587                break;
2588            }
2589            case '\u09e2': case '\u09e3':
2590            {
2591                matchRange('\u09e2','\u09e3');
2592                break;
2593            }
2594            case '\u09e6': case '\u09e7': case '\u09e8': case '\u09e9':
2595            case '\u09ea': case '\u09eb': case '\u09ec': case '\u09ed':
2596            case '\u09ee': case '\u09ef':
2597            {
2598                matchRange('\u09e6','\u09ef');
2599                break;
2600            }
2601            case '\u0a02':
2602            {
2603                match('\u0a02');
2604                break;
2605            }
2606            case '\u0a3c':
2607            {
2608                match('\u0a3c');
2609                break;
2610            }
2611            case '\u0a3e': case '\u0a3f': case '\u0a40': case '\u0a41':
2612            case '\u0a42':
2613            {
2614                matchRange('\u0a3e','\u0a42');
2615                break;
2616            }
2617            case '\u0a47': case '\u0a48':
2618            {
2619                matchRange('\u0a47','\u0a48');
2620                break;
2621            }
2622            case '\u0a4b': case '\u0a4c': case '\u0a4d':
2623            {
2624                matchRange('\u0a4b','\u0a4d');
2625                break;
2626            }
2627            case '\u0a66': case '\u0a67': case '\u0a68': case '\u0a69':
2628            case '\u0a6a': case '\u0a6b': case '\u0a6c': case '\u0a6d':
2629            case '\u0a6e': case '\u0a6f': case '\u0a70': case '\u0a71':
2630            {
2631                matchRange('\u0a66','\u0a71');
2632                break;
2633            }
2634            case '\u0a81': case '\u0a82': case '\u0a83':
2635            {
2636                matchRange('\u0a81','\u0a83');
2637                break;
2638            }
2639            case '\u0abc':
2640            {
2641                match('\u0abc');
2642                break;
2643            }
2644            case '\u0abe': case '\u0abf': case '\u0ac0': case '\u0ac1':
2645            case '\u0ac2': case '\u0ac3': case '\u0ac4': case '\u0ac5':
2646            {
2647                matchRange('\u0abe','\u0ac5');
2648                break;
2649            }
2650            case '\u0ac7': case '\u0ac8': case '\u0ac9':
2651            {
2652                matchRange('\u0ac7','\u0ac9');
2653                break;
2654            }
2655            case '\u0acb': case '\u0acc': case '\u0acd':
2656            {
2657                matchRange('\u0acb','\u0acd');
2658                break;
2659            }
2660            case '\u0ae6': case '\u0ae7': case '\u0ae8': case '\u0ae9':
2661            case '\u0aea': case '\u0aeb': case '\u0aec': case '\u0aed':
2662            case '\u0aee': case '\u0aef':
2663            {
2664                matchRange('\u0ae6','\u0aef');
2665                break;
2666            }
2667            case '\u0b01': case '\u0b02': case '\u0b03':
2668            {
2669                matchRange('\u0b01','\u0b03');
2670                break;
2671            }
2672            case '\u0b3c':
2673            {
2674                match('\u0b3c');
2675                break;
2676            }
2677            case '\u0b3e': case '\u0b3f': case '\u0b40': case '\u0b41':
2678            case '\u0b42': case '\u0b43':
2679            {
2680                matchRange('\u0b3e','\u0b43');
2681                break;
2682            }
2683            case '\u0b47': case '\u0b48':
2684            {
2685                matchRange('\u0b47','\u0b48');
2686                break;
2687            }
2688            case '\u0b4b': case '\u0b4c': case '\u0b4d':
2689            {
2690                matchRange('\u0b4b','\u0b4d');
2691                break;
2692            }
2693            case '\u0b56': case '\u0b57':
2694            {
2695                matchRange('\u0b56','\u0b57');
2696                break;
2697            }
2698            case '\u0b66': case '\u0b67': case '\u0b68': case '\u0b69':
2699            case '\u0b6a': case '\u0b6b': case '\u0b6c': case '\u0b6d':
2700            case '\u0b6e': case '\u0b6f':
2701            {
2702                matchRange('\u0b66','\u0b6f');
2703                break;
2704            }
2705            case '\u0b82': case '\u0b83':
2706            {
2707                matchRange('\u0b82','\u0b83');
2708                break;
2709            }
2710            case '\u0bbe': case '\u0bbf': case '\u0bc0': case '\u0bc1':
2711            case '\u0bc2':
2712            {
2713                matchRange('\u0bbe','\u0bc2');
2714                break;
2715            }
2716            case '\u0bc6': case '\u0bc7': case '\u0bc8':
2717            {
2718                matchRange('\u0bc6','\u0bc8');
2719                break;
2720            }
2721            case '\u0bca': case '\u0bcb': case '\u0bcc': case '\u0bcd':
2722            {
2723                matchRange('\u0bca','\u0bcd');
2724                break;
2725            }
2726            case '\u0bd7':
2727            {
2728                match('\u0bd7');
2729                break;
2730            }
2731            case '\u0be7': case '\u0be8': case '\u0be9': case '\u0bea':
2732            case '\u0beb': case '\u0bec': case '\u0bed': case '\u0bee':
2733            case '\u0bef':
2734            {
2735                matchRange('\u0be7','\u0bef');
2736                break;
2737            }
2738            case '\u0c01': case '\u0c02': case '\u0c03':
2739            {
2740                matchRange('\u0c01','\u0c03');
2741                break;
2742            }
2743            case '\u0c3e': case '\u0c3f': case '\u0c40': case '\u0c41':
2744            case '\u0c42': case '\u0c43': case '\u0c44':
2745            {
2746                matchRange('\u0c3e','\u0c44');
2747                break;
2748            }
2749            case '\u0c46': case '\u0c47': case '\u0c48':
2750            {
2751                matchRange('\u0c46','\u0c48');
2752                break;
2753            }
2754            case '\u0c4a': case '\u0c4b': case '\u0c4c': case '\u0c4d':
2755            {
2756                matchRange('\u0c4a','\u0c4d');
2757                break;
2758            }
2759            case '\u0c55': case '\u0c56':
2760            {
2761                matchRange('\u0c55','\u0c56');
2762                break;
2763            }
2764            case '\u0c66': case '\u0c67': case '\u0c68': case '\u0c69':
2765            case '\u0c6a': case '\u0c6b': case '\u0c6c': case '\u0c6d':
2766            case '\u0c6e': case '\u0c6f':
2767            {
2768                matchRange('\u0c66','\u0c6f');
2769                break;
2770            }
2771            case '\u0c82': case '\u0c83':
2772            {
2773                matchRange('\u0c82','\u0c83');
2774                break;
2775            }
2776            case '\u0cbe': case '\u0cbf': case '\u0cc0': case '\u0cc1':
2777            case '\u0cc2': case '\u0cc3': case '\u0cc4':
2778            {
2779                matchRange('\u0cbe','\u0cc4');
2780                break;
2781            }
2782            case '\u0cc6': case '\u0cc7': case '\u0cc8':
2783            {
2784                matchRange('\u0cc6','\u0cc8');
2785                break;
2786            }
2787            case '\u0cca': case '\u0ccb': case '\u0ccc': case '\u0ccd':
2788            {
2789                matchRange('\u0cca','\u0ccd');
2790                break;
2791            }
2792            case '\u0cd5': case '\u0cd6':
2793            {
2794                matchRange('\u0cd5','\u0cd6');
2795                break;
2796            }
2797            case '\u0ce6': case '\u0ce7': case '\u0ce8': case '\u0ce9':
2798            case '\u0cea': case '\u0ceb': case '\u0cec': case '\u0ced':
2799            case '\u0cee': case '\u0cef':
2800            {
2801                matchRange('\u0ce6','\u0cef');
2802                break;
2803            }
2804            case '\u0d02': case '\u0d03':
2805            {
2806                matchRange('\u0d02','\u0d03');
2807                break;
2808            }
2809            case '\u0d3e': case '\u0d3f': case '\u0d40': case '\u0d41':
2810            case '\u0d42': case '\u0d43':
2811            {
2812                matchRange('\u0d3e','\u0d43');
2813                break;
2814            }
2815            case '\u0d46': case '\u0d47': case '\u0d48':
2816            {
2817                matchRange('\u0d46','\u0d48');
2818                break;
2819            }
2820            case '\u0d4a': case '\u0d4b': case '\u0d4c': case '\u0d4d':
2821            {
2822                matchRange('\u0d4a','\u0d4d');
2823                break;
2824            }
2825            case '\u0d57':
2826            {
2827                match('\u0d57');
2828                break;
2829            }
2830            case '\u0d66': case '\u0d67': case '\u0d68': case '\u0d69':
2831            case '\u0d6a': case '\u0d6b': case '\u0d6c': case '\u0d6d':
2832            case '\u0d6e': case '\u0d6f':
2833            {
2834                matchRange('\u0d66','\u0d6f');
2835                break;
2836            }
2837            case '\u0e31':
2838            {
2839                match('\u0e31');
2840                break;
2841            }
2842            case '\u0e34': case '\u0e35': case '\u0e36': case '\u0e37':
2843            case '\u0e38': case '\u0e39': case '\u0e3a':
2844            {
2845                matchRange('\u0e34','\u0e3a');
2846                break;
2847            }
2848            case '\u0e47': case '\u0e48': case '\u0e49': case '\u0e4a':
2849            case '\u0e4b': case '\u0e4c': case '\u0e4d': case '\u0e4e':
2850            {
2851                matchRange('\u0e47','\u0e4e');
2852                break;
2853            }
2854            case '\u0e50': case '\u0e51': case '\u0e52': case '\u0e53':
2855            case '\u0e54': case '\u0e55': case '\u0e56': case '\u0e57':
2856            case '\u0e58': case '\u0e59':
2857            {
2858                matchRange('\u0e50','\u0e59');
2859                break;
2860            }
2861            case '\u0eb1':
2862            {
2863                match('\u0eb1');
2864                break;
2865            }
2866            case '\u0eb4': case '\u0eb5': case '\u0eb6': case '\u0eb7':
2867            case '\u0eb8': case '\u0eb9':
2868            {
2869                matchRange('\u0eb4','\u0eb9');
2870                break;
2871            }
2872            case '\u0ebb': case '\u0ebc':
2873            {
2874                matchRange('\u0ebb','\u0ebc');
2875                break;
2876            }
2877            case '\u0ec8': case '\u0ec9': case '\u0eca': case '\u0ecb':
2878            case '\u0ecc': case '\u0ecd':
2879            {
2880                matchRange('\u0ec8','\u0ecd');
2881                break;
2882            }
2883            case '\u0ed0': case '\u0ed1': case '\u0ed2': case '\u0ed3':
2884            case '\u0ed4': case '\u0ed5': case '\u0ed6': case '\u0ed7':
2885            case '\u0ed8': case '\u0ed9':
2886            {
2887                matchRange('\u0ed0','\u0ed9');
2888                break;
2889            }
2890            case '\u0f18': case '\u0f19':
2891            {
2892                matchRange('\u0f18','\u0f19');
2893                break;
2894            }
2895            case '\u0f20': case '\u0f21': case '\u0f22': case '\u0f23':
2896            case '\u0f24': case '\u0f25': case '\u0f26': case '\u0f27':
2897            case '\u0f28': case '\u0f29':
2898            {
2899                matchRange('\u0f20','\u0f29');
2900                break;
2901            }
2902            case '\u0f35':
2903            {
2904                match('\u0f35');
2905                break;
2906            }
2907            case '\u0f37':
2908            {
2909                match('\u0f37');
2910                break;
2911            }
2912            case '\u0f39':
2913            {
2914                match('\u0f39');
2915                break;
2916            }
2917            case '\u0f3e': case '\u0f3f':
2918            {
2919                matchRange('\u0f3e','\u0f3f');
2920                break;
2921            }
2922            case '\u0f71': case '\u0f72': case '\u0f73': case '\u0f74':
2923            case '\u0f75': case '\u0f76': case '\u0f77': case '\u0f78':
2924            case '\u0f79': case '\u0f7a': case '\u0f7b': case '\u0f7c':
2925            case '\u0f7d': case '\u0f7e': case '\u0f7f': case '\u0f80':
2926            case '\u0f81': case '\u0f82': case '\u0f83': case '\u0f84':
2927            {
2928                matchRange('\u0f71','\u0f84');
2929                break;
2930            }
2931            case '\u0f86': case '\u0f87': case '\u0f88': case '\u0f89':
2932            case '\u0f8a': case '\u0f8b':
2933            {
2934                matchRange('\u0f86','\u0f8b');
2935                break;
2936            }
2937            case '\u0f90': case '\u0f91': case '\u0f92': case '\u0f93':
2938            case '\u0f94': case '\u0f95':
2939            {
2940                matchRange('\u0f90','\u0f95');
2941                break;
2942            }
2943            case '\u0f97':
2944            {
2945                match('\u0f97');
2946                break;
2947            }
2948            case '\u0f99': case '\u0f9a': case '\u0f9b': case '\u0f9c':
2949            case '\u0f9d': case '\u0f9e': case '\u0f9f': case '\u0fa0':
2950            case '\u0fa1': case '\u0fa2': case '\u0fa3': case '\u0fa4':
2951            case '\u0fa5': case '\u0fa6': case '\u0fa7': case '\u0fa8':
2952            case '\u0fa9': case '\u0faa': case '\u0fab': case '\u0fac':
2953            case '\u0fad':
2954            {
2955                matchRange('\u0f99','\u0fad');
2956                break;
2957            }
2958            case '\u0fb1': case '\u0fb2': case '\u0fb3': case '\u0fb4':
2959            case '\u0fb5': case '\u0fb6': case '\u0fb7':
2960            {
2961                matchRange('\u0fb1','\u0fb7');
2962                break;
2963            }
2964            case '\u0fb9':
2965            {
2966                match('\u0fb9');
2967                break;
2968            }
2969            case '\u200c': case '\u200d': case '\u200e': case '\u200f':
2970            {
2971                matchRange('\u200c','\u200f');
2972                break;
2973            }
2974            case '\u202a': case '\u202b': case '\u202c': case '\u202d':
2975            case '\u202e':
2976            {
2977                matchRange('\u202a','\u202e');
2978                break;
2979            }
2980            case '\u206a': case '\u206b': case '\u206c': case '\u206d':
2981            case '\u206e': case '\u206f':
2982            {
2983                matchRange('\u206a','\u206f');
2984                break;
2985            }
2986            case '\u20d0': case '\u20d1': case '\u20d2': case '\u20d3':
2987            case '\u20d4': case '\u20d5': case '\u20d6': case '\u20d7':
2988            case '\u20d8': case '\u20d9': case '\u20da': case '\u20db':
2989            case '\u20dc':
2990            {
2991                matchRange('\u20d0','\u20dc');
2992                break;
2993            }
2994            case '\u20e1':
2995            {
2996                match('\u20e1');
2997                break;
2998            }
2999            case '\u302a': case '\u302b': case '\u302c': case '\u302d':
3000            case '\u302e': case '\u302f':
3001            {
3002                matchRange('\u302a','\u302f');
3003                break;
3004            }
3005            case '\u3099': case '\u309a':
3006            {
3007                matchRange('\u3099','\u309a');
3008                break;
3009            }
3010            case '\ufb1e':
3011            {
3012                match('\ufb1e');
3013                break;
3014            }
3015            case '\ufe20': case '\ufe21': case '\ufe22': case '\ufe23':
3016            {
3017                matchRange('\ufe20','\ufe23');
3018                break;
3019            }
3020            case '\ufeff':
3021            {
3022                match('\ufeff');
3023                break;
3024            }
3025            case '\uff10': case '\uff11': case '\uff12': case '\uff13':
3026            case '\uff14': case '\uff15': case '\uff16': case '\uff17':
3027            case '\uff18': case '\uff19':
3028            {
3029                matchRange('\uff10','\uff19');
3030                break;
3031            }
3032            default:
3033            {
3034                throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3035            }
3036            }
3037            }
3038        }
3039        else {
3040            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3041        }
3042        
3043        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3044            _token = makeToken(_ttype);
3045            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3046        }
3047        _returnToken = _token;
3048    }
3049    
3050    public final void mCHARACTER_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3051        int _ttype; Token _token=null; int _begin=text.length();
3052        _ttype = CHARACTER_LITERAL;
3053        int _saveIndex;
3054        
3055        _saveIndex=text.length();
3056        match('\'');
3057        text.setLength(_saveIndex);
3058        {
3059        if ((_tokenSet_3.member(LA(1)))) {
3060            {
3061            match(_tokenSet_3);
3062            }
3063        }
3064        else if ((LA(1)=='\\')) {
3065            mESCAPE_SEQUENCE(false);
3066        }
3067        else {
3068            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3069        }
3070        
3071        }
3072        _saveIndex=text.length();
3073        match('\'');
3074        text.setLength(_saveIndex);
3075        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3076            _token = makeToken(_ttype);
3077            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3078        }
3079        _returnToken = _token;
3080    }
3081    
3082    protected final void mESCAPE_SEQUENCE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3083        int _ttype; Token _token=null; int _begin=text.length();
3084        _ttype = ESCAPE_SEQUENCE;
3085        int _saveIndex;
3086        
3087        if ((LA(1)=='\\') && (_tokenSet_4.member(LA(2)))) {
3088            {
3089            match('\\');
3090            {
3091            switch ( LA(1)) {
3092            case '"':
3093            {
3094                match('"');
3095                break;
3096            }
3097            case '\'':
3098            {
3099                match('\'');
3100                break;
3101            }
3102            case '\\':
3103            {
3104                match('\\');
3105                break;
3106            }
3107            case 'b':
3108            {
3109                match('b');
3110                break;
3111            }
3112            case 'f':
3113            {
3114                match('f');
3115                break;
3116            }
3117            case 'n':
3118            {
3119                match('n');
3120                break;
3121            }
3122            case 'r':
3123            {
3124                match('r');
3125                break;
3126            }
3127            case 't':
3128            {
3129                match('t');
3130                break;
3131            }
3132            default:
3133            {
3134                throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3135            }
3136            }
3137            }
3138            }
3139        }
3140        else if ((LA(1)=='\\') && (LA(2)=='u')) {
3141            mUNICODE_ESCAPE(false);
3142        }
3143        else if ((LA(1)=='\\') && ((LA(2) >= '0' && LA(2) <= '7'))) {
3144            mOCTAL_ESCAPE(false);
3145        }
3146        else {
3147            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3148        }
3149        
3150        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3151            _token = makeToken(_ttype);
3152            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3153        }
3154        _returnToken = _token;
3155    }
3156    
3157    public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3158        int _ttype; Token _token=null; int _begin=text.length();
3159        _ttype = STRING_LITERAL;
3160        int _saveIndex;
3161        
3162        _saveIndex=text.length();
3163        match('"');
3164        text.setLength(_saveIndex);
3165        {
3166        _loop34:
3167        do {
3168            if ((_tokenSet_5.member(LA(1)))) {
3169                {
3170                match(_tokenSet_5);
3171                }
3172            }
3173            else if ((LA(1)=='\\')) {
3174                mESCAPE_SEQUENCE(false);
3175            }
3176            else {
3177                break _loop34;
3178            }
3179            
3180        } while (true);
3181        }
3182        _saveIndex=text.length();
3183        match('"');
3184        text.setLength(_saveIndex);
3185        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3186            _token = makeToken(_ttype);
3187            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3188        }
3189        _returnToken = _token;
3190    }
3191    
3192    public final void mINT_OR_FLOAT_LITERAL_OR_DOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3193        int _ttype; Token _token=null; int _begin=text.length();
3194        _ttype = INT_OR_FLOAT_LITERAL_OR_DOT;
3195        int _saveIndex;
3196        
3197        boolean canBeOctal = true;
3198        
3199        
3200        
3201        // initially we assume an int
3202
_ttype = INTEGER_LITERAL;
3203        
3204        {
3205        switch ( LA(1)) {
3206        case '0':
3207        {
3208            match('0');
3209            {
3210            if ((LA(1)=='X'||LA(1)=='x')) {
3211                {
3212                switch ( LA(1)) {
3213                case 'x':
3214                {
3215                    match('x');
3216                    break;
3217                }
3218                case 'X':
3219                {
3220                    match('X');
3221                    break;
3222                }
3223                default:
3224                {
3225                    throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3226                }
3227                }
3228                }
3229                {
3230                int _cnt40=0;
3231                _loop40:
3232                do {
3233                    if ((_tokenSet_6.member(LA(1)))) {
3234                        mHEX_DIGIT(false);
3235                    }
3236                    else {
3237                        if ( _cnt40>=1 ) { break _loop40; } else {throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
3238                    }
3239                    
3240                    _cnt40++;
3241                } while (true);
3242                }
3243                {
3244                if ((LA(1)=='L'||LA(1)=='l')) {
3245                    mINTEGER_TYPE_SUFFIX(false);
3246                }
3247                else {
3248                }
3249                
3250                }
3251            }
3252            else {
3253                {
3254                _loop43:
3255                do {
3256                    switch ( LA(1)) {
3257                    case '0': case '1': case '2': case '3':
3258                    case '4': case '5': case '6': case '7':
3259                    {
3260                        mOCTAL_DIGIT(false);
3261                        break;
3262                    }
3263                    case '8': case '9':
3264                    {
3265                        matchRange('8','9');
3266                        canBeOctal = false;
3267                        break;
3268                    }
3269                    default:
3270                    {
3271                        break _loop43;
3272                    }
3273                    }
3274                } while (true);
3275                }
3276                {
3277                switch ( LA(1)) {
3278                case 'D': case 'F': case 'd': case 'f':
3279                {
3280                    mFLOAT_TYPE_SUFFIX(false);
3281                    
3282                    _ttype = FLOATING_POINT_LITERAL;
3283                    
3284                    break;
3285                }
3286                case '.':
3287                {
3288                    match('.');
3289                    {
3290                    _loop46:
3291                    do {
3292                        if (((LA(1) >= '0' && LA(1) <= '9'))) {
3293                            mDIGIT(false);
3294                        }
3295                        else {
3296                            break _loop46;
3297                        }
3298                        
3299                    } while (true);
3300                    }
3301                    {
3302                    if ((LA(1)=='E'||LA(1)=='e')) {
3303                        mEXPONENT_PART(false);
3304                    }
3305                    else {
3306                    }
3307                    
3308                    }
3309                    {
3310                    if ((_tokenSet_7.member(LA(1)))) {
3311                        mFLOAT_TYPE_SUFFIX(false);
3312                    }
3313                    else {
3314                    }
3315                    
3316                    }
3317                    
3318                    _ttype = FLOATING_POINT_LITERAL;
3319                    
3320                    break;
3321                }
3322                case 'E': case 'e':
3323                {
3324                    mEXPONENT_PART(false);
3325                    {
3326                    if ((_tokenSet_7.member(LA(1)))) {
3327                        mFLOAT_TYPE_SUFFIX(false);
3328                    }
3329                    else {
3330                    }
3331                    
3332                    }
3333                    
3334                    _ttype = FLOATING_POINT_LITERAL;
3335                    
3336                    break;
3337                }
3338                default:
3339                    if (( true )&&( canBeOctal )) {
3340                        {
3341                        if ((LA(1)=='L'||LA(1)=='l')) {
3342                            mINTEGER_TYPE_SUFFIX(false);
3343                        }
3344                        else {
3345                        }
3346                        
3347                        }
3348                    }
3349                else {
3350                    throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3351                }
3352                }
3353                }
3354            }
3355            
3356            }
3357            break;
3358        }
3359        case '.':
3360        {
3361            match('.');
3362            {
3363            if (((LA(1) >= '0' && LA(1) <= '9'))) {
3364                {
3365                int _cnt53=0;
3366                _loop53:
3367                do {
3368                    if (((LA(1) >= '0' && LA(1) <= '9'))) {
3369                        mDIGIT(false);
3370                    }
3371                    else {
3372                        if ( _cnt53>=1 ) { break _loop53; } else {throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
3373                    }
3374                    
3375                    _cnt53++;
3376                } while (true);
3377                }
3378                {
3379                if ((LA(1)=='E'||LA(1)=='e')) {
3380                    mEXPONENT_PART(false);
3381                }
3382                else {
3383                }
3384                
3385                }
3386                {
3387                if ((_tokenSet_7.member(LA(1)))) {
3388                    mFLOAT_TYPE_SUFFIX(false);
3389                }
3390                else {
3391                }
3392                
3393                }
3394                
3395                _ttype = FLOATING_POINT_LITERAL;
3396                
3397            }
3398            else {
3399                
3400                _ttype = SEP_DOT;
3401                
3402            }
3403            
3404            }
3405            break;
3406        }
3407        case '1': case '2': case '3': case '4':
3408        case '5': case '6': case '7': case '8':
3409        case '9':
3410        {
3411            matchRange('1','9');
3412            {
3413            _loop57:
3414            do {
3415                if (((LA(1) >= '0' && LA(1) <= '9'))) {
3416                    mDIGIT(false);
3417                }
3418                else {
3419                    break _loop57;
3420                }
3421                
3422            } while (true);
3423            }
3424            {
3425            switch ( LA(1)) {
3426            case 'L': case 'l':
3427            {
3428                mINTEGER_TYPE_SUFFIX(false);
3429                break;
3430            }
3431            case 'D': case 'F': case 'd': case 'f':
3432            {
3433                mFLOAT_TYPE_SUFFIX(false);
3434                
3435                _ttype = FLOATING_POINT_LITERAL;
3436                
3437                break;
3438            }
3439            case '.':
3440            {
3441                match('.');
3442                {
3443                _loop60:
3444                do {
3445                    if (((LA(1) >= '0' && LA(1) <= '9'))) {
3446                        mDIGIT(false);
3447                    }
3448                    else {
3449                        break _loop60;
3450                    }
3451                    
3452                } while (true);
3453                }
3454                {
3455                if ((LA(1)=='E'||LA(1)=='e')) {
3456                    mEXPONENT_PART(false);
3457                }
3458                else {
3459                }
3460                
3461                }
3462                {
3463                if ((_tokenSet_7.member(LA(1)))) {
3464                    mFLOAT_TYPE_SUFFIX(false);
3465                }
3466                else {
3467                }
3468                
3469                }
3470                
3471                _ttype = FLOATING_POINT_LITERAL;
3472                
3473                break;
3474            }
3475            case 'E': case 'e':
3476            {
3477                mEXPONENT_PART(false);
3478                {
3479                if ((_tokenSet_7.member(LA(1)))) {
3480                    mFLOAT_TYPE_SUFFIX(false);
3481                }
3482                else {
3483                }
3484                
3485                }
3486                
3487                _ttype = FLOATING_POINT_LITERAL;
3488                
3489                break;
3490            }
3491            default:
3492                {
3493                }
3494            }
3495            }
3496            break;
3497        }
3498        default:
3499        {
3500            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3501        }
3502        }
3503        }
3504        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3505            _token = makeToken(_ttype);
3506            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3507        }
3508        _returnToken = _token;
3509    }
3510    
3511    protected final void mHEX_DIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3512        int _ttype; Token _token=null; int _begin=text.length();
3513        _ttype = HEX_DIGIT;
3514        int _saveIndex;
3515        
3516        {
3517        switch ( LA(1)) {
3518        case '0': case '1': case '2': case '3':
3519        case '4': case '5': case '6': case '7':
3520        case '8': case '9':
3521        {
3522            matchRange('0','9');
3523            break;
3524        }
3525        case 'a': case 'b': case 'c': case 'd':
3526        case 'e': case 'f':
3527        {
3528            matchRange('a','f');
3529            break;
3530        }
3531        case 'A': case 'B': case 'C': case 'D':
3532        case 'E': case 'F':
3533        {
3534            matchRange('A','F');
3535            break;
3536        }
3537        default:
3538        {
3539            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3540        }
3541        }
3542        }
3543        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3544            _token = makeToken(_ttype);
3545            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3546        }
3547        _returnToken = _token;
3548    }
3549    
3550    protected final void mINTEGER_TYPE_SUFFIX(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3551        int _ttype; Token _token=null; int _begin=text.length();
3552        _ttype = INTEGER_TYPE_SUFFIX;
3553        int _saveIndex;
3554        
3555        {
3556        switch ( LA(1)) {
3557        case 'l':
3558        {
3559            match('l');
3560            break;
3561        }
3562        case 'L':
3563        {
3564            match('L');
3565            break;
3566        }
3567        default:
3568        {
3569            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3570        }
3571        }
3572        }
3573        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3574            _token = makeToken(_ttype);
3575            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3576        }
3577        _returnToken = _token;
3578    }
3579    
3580    protected final void mOCTAL_DIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3581        int _ttype; Token _token=null; int _begin=text.length();
3582        _ttype = OCTAL_DIGIT;
3583        int _saveIndex;
3584        
3585        matchRange('0','7');
3586        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3587            _token = makeToken(_ttype);
3588            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3589        }
3590        _returnToken = _token;
3591    }
3592    
3593    protected final void mFLOAT_TYPE_SUFFIX(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3594        int _ttype; Token _token=null; int _begin=text.length();
3595        _ttype = FLOAT_TYPE_SUFFIX;
3596        int _saveIndex;
3597        
3598        {
3599        switch ( LA(1)) {
3600        case 'f':
3601        {
3602            match('f');
3603            break;
3604        }
3605        case 'F':
3606        {
3607            match('F');
3608            break;
3609        }
3610        case 'd':
3611        {
3612            match('d');
3613            break;
3614        }
3615        case 'D':
3616        {
3617            match('D');
3618            break;
3619        }
3620        default:
3621        {
3622            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3623        }
3624        }
3625        }
3626        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3627            _token = makeToken(_ttype);
3628            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3629        }
3630        _returnToken = _token;
3631    }
3632    
3633    protected final void mDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3634        int _ttype; Token _token=null; int _begin=text.length();
3635        _ttype = DIGIT;
3636        int _saveIndex;
3637        
3638        matchRange('0','9');
3639        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3640            _token = makeToken(_ttype);
3641            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3642        }
3643        _returnToken = _token;
3644    }
3645    
3646    protected final void mEXPONENT_PART(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3647        int _ttype; Token _token=null; int _begin=text.length();
3648        _ttype = EXPONENT_PART;
3649        int _saveIndex;
3650        
3651        {
3652        switch ( LA(1)) {
3653        case 'e':
3654        {
3655            match('e');
3656            break;
3657        }
3658        case 'E':
3659        {
3660            match('E');
3661            break;
3662        }
3663        default:
3664        {
3665            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3666        }
3667        }
3668        }
3669        {
3670        switch ( LA(1)) {
3671        case '+':
3672        {
3673            match('+');
3674            break;
3675        }
3676        case '-':
3677        {
3678            match('-');
3679            break;
3680        }
3681        case '0': case '1': case '2': case '3':
3682        case '4': case '5': case '6': case '7':
3683        case '8': case '9':
3684        {
3685            break;
3686        }
3687        default:
3688        {
3689            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3690        }
3691        }
3692        }
3693        {
3694        int _cnt86=0;
3695        _loop86:
3696        do {
3697            if (((LA(1) >= '0' && LA(1) <= '9'))) {
3698                mDIGIT(false);
3699            }
3700            else {
3701                if ( _cnt86>=1 ) { break _loop86; } else {throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
3702            }
3703            
3704            _cnt86++;
3705        } while (true);
3706        }
3707        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3708            _token = makeToken(_ttype);
3709            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3710        }
3711        _returnToken = _token;
3712    }
3713    
3714    protected final void mUNICODE_ESCAPE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3715        int _ttype; Token _token=null; int _begin=text.length();
3716        _ttype = UNICODE_ESCAPE;
3717        int _saveIndex;
3718        
3719        match('\\');
3720        {
3721        int _cnt72=0;
3722        _loop72:
3723        do {
3724            if ((LA(1)=='u')) {
3725                match('u');
3726            }
3727            else {
3728                if ( _cnt72>=1 ) { break _loop72; } else {throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
3729            }
3730            
3731            _cnt72++;
3732        } while (true);
3733        }
3734        mHEX_DIGIT(false);
3735        mHEX_DIGIT(false);
3736        mHEX_DIGIT(false);
3737        mHEX_DIGIT(false);
3738        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3739            _token = makeToken(_ttype);
3740            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3741        }
3742        _returnToken = _token;
3743    }
3744    
3745    protected final void mOCTAL_ESCAPE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3746        int _ttype; Token _token=null; int _begin=text.length();
3747        _ttype = OCTAL_ESCAPE;
3748        int _saveIndex;
3749        
3750        match('\\');
3751        {
3752        switch ( LA(1)) {
3753        case '0': case '1': case '2': case '3':
3754        {
3755            matchRange('0','3');
3756            {
3757            if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_8.member(LA(2)))) {
3758                matchRange('0','7');
3759                {
3760                if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_8.member(LA(2)))) {
3761                    matchRange('0','7');
3762                }
3763                else if ((_tokenSet_8.member(LA(1))) && (true)) {
3764                }
3765                else {
3766                    throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3767                }
3768                
3769                }
3770            }
3771            else if ((_tokenSet_8.member(LA(1))) && (true)) {
3772            }
3773            else {
3774                throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3775            }
3776            
3777            }
3778            break;
3779        }
3780        case '4': case '5': case '6': case '7':
3781        {
3782            matchRange('4','7');
3783            {
3784            if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_8.member(LA(2)))) {
3785                matchRange('0','7');
3786            }
3787            else if ((_tokenSet_8.member(LA(1))) && (true)) {
3788            }
3789            else {
3790                throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3791            }
3792            
3793            }
3794            break;
3795        }
3796        default:
3797        {
3798            throw new NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
3799        }
3800        }
3801        }
3802        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3803            _token = makeToken(_ttype);
3804            _token.setText(new String JavaDoc(text.getBuffer(), _begin, text.length()-_begin));
3805        }
3806        _returnToken = _token;
3807    }
3808    
3809    
3810    private static final long[] mk_tokenSet_0() {
3811        long[] data = new long[4088];
3812        data[0]=68719476736L;
3813        data[1]=576460745995190270L;
3814        data[2]=297242231151001600L;
3815        data[3]=-36028797027352577L;
3816        for (int i = 4; i<=6; i++) { data[i]=-1L; }
3817        data[7]=-270215977642229761L;
3818        data[8]=16777215L;
3819        data[9]=-65536L;
3820        data[10]=-432624840181022721L;
3821        data[11]=133144182787L;
3822        data[13]=288230376151711744L;
3823        data[14]=-17179879616L;
3824        data[15]=4503588160110591L;
3825        data[16]=-8194L;
3826        data[17]=-536936449L;
3827        data[18]=-65533L;
3828        data[19]=234134404065073567L;
3829        data[20]=-562949953421312L;
3830        data[21]=-8547991553L;
3831        data[22]=255L;
3832        data[23]=1979120929931264L;
3833        data[24]=576460743713488896L;
3834        data[25]=-562949953419265L;
3835        data[26]=9007199254740991999L;
3836        data[27]=412319973375L;
3837        data[36]=2594073385365405664L;
3838        data[37]=17163091968L;
3839        data[38]=271902628478820320L;
3840        data[39]=4222140488351744L;
3841        data[40]=247132830528276448L;
3842        data[41]=7881300924956672L;
3843        data[42]=2589004636761075680L;
3844        data[43]=4294967296L;
3845        data[44]=2579997437506199520L;
3846        data[45]=15837691904L;
3847        data[46]=270153412153034720L;
3848        data[48]=283724577500946400L;
3849        data[49]=12884901888L;
3850        data[50]=283724577500946400L;
3851        data[51]=13958643712L;
3852        data[52]=288228177128316896L;
3853        data[53]=12884901888L;
3854        data[56]=-9219572124669181954L;
3855        data[57]=127L;
3856        data[58]=2309621682768192918L;
3857        data[59]=805306463L;
3858        data[61]=4398046510847L;
3859        data[66]=-4294967296L;
3860        data[67]=36028797018898495L;
3861        data[68]=-1L;
3862        data[69]=-2080374785L;
3863        data[70]=-1065151889409L;
3864        data[71]=288230376151711743L;
3865        for (int i = 120; i<=121; i++) { data[i]=-1L; }
3866        data[122]=-4026531841L;
3867        data[123]=288230376151711743L;
3868        data[124]=-3233808385L;
3869        data[125]=4611686017001275199L;
3870        data[126]=6908521828386340863L;
3871        data[127]=2295745090394464220L;
3872        data[128]=-9223372036854775808L;
3873        data[129]=-9223372036854775807L;
3874        data[130]=35180077121536L;
3875        data[132]=142986334291623044L;
3876        data[133]=-4294967296L;
3877        data[134]=7L;
3878        data[192]=17455838012637344L;
3879        data[193]=-2L;
3880        data[194]=-6574571521L;
3881        data[195]=8646911284551352319L;
3882        data[196]=-527765581332512L;
3883        data[197]=-1L;
3884        data[198]=32767L;
3885        for (int i = 312; i<=637; i++) { data[i]=-1L; }
3886        data[638]=274877906943L;
3887        for (int i = 688; i<=861; i++) { data[i]=-1L; }
3888        data[862]=68719476735L;
3889        for (int i = 996; i<=999; i++) { data[i]=-1L; }
3890        data[1000]=70368744177663L;
3891        data[1004]=6881498029467631743L;
3892        data[1005]=-37L;
3893        data[1006]=1125899906842623L;
3894        data[1007]=-524288L;
3895        for (int i = 1008; i<=1011; i++) { data[i]=-1L; }
3896        data[1012]=4611686018427387903L;
3897        data[1013]=-65536L;
3898        data[1014]=-196609L;
3899        data[1015]=1152640029630136575L;
3900        data[1016]=6755399441055744L;
3901        data[1017]=-11538275021824000L;
3902        data[1018]=-1L;
3903        data[1019]=2305843009213693951L;
3904        data[1020]=-8646911293141286896L;
3905        data[1021]=-274743689218L;
3906        data[1022]=9223372036854775807L;
3907        data[1023]=425688104188L;
3908        return data;
3909    }
3910    public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
3911    private static final long[] mk_tokenSet_1() {
3912        long[] data = new long[4088];
3913        data[0]=287948970162897407L;
3914        data[1]=-8646911290859585538L;
3915        data[2]=297242235445968895L;
3916        data[3]=-36028797027352577L;
3917        for (int i = 4; i<=6; i++) { data[i]=-1L; }
3918        data[7]=-270215977642229761L;
3919        data[8]=16777215L;
3920        data[9]=-65536L;
3921        data[10]=-432624840181022721L;
3922        data[11]=133144182787L;
3923        data[12]=-1L;
3924        data[13]=288230389036613695L;
3925        data[14]=-17179879616L;
3926        data[15]=4503588160110591L;
3927        data[16]=-8194L;
3928        data[17]=-536936449L;
3929        data[18]=-65413L;
3930        data[19]=234134404065073567L;
3931        data[20]=-562949953421312L;
3932        data[21]=-8547991553L;
3933        data[22]=-4899916411759099649L;
3934        data[23]=1979120929931286L;
3935        data[24]=576460743713488896L;
3936        data[25]=-277081224642561L;
3937        data[26]=9007199254740991999L;
3938        data[27]=288017069284229119L;
3939        data[36]=-864691128455135250L;
3940        data[37]=281268803485695L;
3941        data[38]=-3186861885341720594L;
3942        data[39]=4503392135166367L;
3943        data[40]=-3211631683292264476L;
3944        data[41]=9006925953907079L;
3945        data[42]=-869759877059465234L;
3946        data[43]=281204393786303L;
3947        data[44]=-878767076314341394L;
3948        data[45]=281215949093263L;
3949        data[46]=-4341532606274353172L;
3950        data[47]=280925229301191L;
3951        data[48]=-4327961440926441490L;
3952        data[49]=281212990012895L;
3953        data[50]=-4327961440926441492L;
3954        data[51]=281214063754719L;
3955        data[52]=-4323457841299070996L;
3956        data[53]=281212992110031L;
3957        data[56]=-8647052022039707650L;
3958        data[57]=67076095L;
3959        data[58]=4323293666156225942L;
3960        data[59]=872365919L;
3961        data[60]=-4422530440275951616L;
3962        data[61]=-558551906910465L;
3963        data[62]=215680200883507167L;
3964        data[66]=-4294967296L;
3965        data[67]=36028797018898495L;
3966        data[68]=-1L;
3967        data[69]=-2080374785L;
3968        data[70]=-1065151889409L;
3969        data[71]=288230376151711743L;
3970        for (int i = 120; i<=121; i++) { data[i]=-1L; }
3971        data[122]=-4026531841L;
3972        data[123]=288230376151711743L;
3973        data[124]=-3233808385L;
3974        data[125]=4611686017001275199L;
3975        data[126]=6908521828386340863L;
3976        data[127]=2295745090394464220L;
3977        data[128]=-9223235697412870144L;
3978        data[129]=-9223094959924576255L;
3979        data[130]=35180077121536L;
3980        data[131]=9126739968L;
3981        data[132]=142986334291623044L;
3982        data[133]=-4294967296L;
3983        data[134]=7L;
3984        data[192]=17732914942836896L;
3985        data[193]=-2L;
3986        data[194]=-6473908225L;
3987        data[195]=8646911284551352319L;
3988        data[196]=-527765581332512L;
3989        data[197]=-1L;
3990        data[198]=32767L;
3991        for (int i = 312; i<=637; i++) { data[i]=-1L; }
3992        data[638]=274877906943L;
3993        for (int i = 688; i<=861; i++) { data[i]=-1L; }
3994        data[862]=68719476735L;
3995        for (int i = 996; i<=999; i++) { data[i]=-1L; }
3996        data[1000]=70368744177663L;
3997        data[1004]=6881498030541373567L;
3998        data[1005]=-37L;
3999        data[1006]=1125899906842623L;
4000        data[1007]=-524288L;
4001        for (int i = 1008; i<=1011; i++) { data[i]=-1L; }
4002        data[1012]=4611686018427387903L;
4003        data[1013]=-65536L;
4004        data[1014]=-196609L;
4005        data[1015]=1152640029630136575L;
4006        data[1016]=6755463865565184L;
4007        data[1017]=-11538275021824000L;
4008        data[1018]=-1L;
4009        data[1019]=-6917529027641081857L;
4010        data[1020]=-8646911293074243568L;
4011        data[1021]=-274743689218L;
4012        data[1022]=9223372036854775807L;
4013        data[1023]=425688104188L;
4014        return data;
4015    }
4016    public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
4017    private static final long[] mk_tokenSet_2() {
4018        long[] data = new long[2042];
4019        data[0]=287948901443420671L;
4020        data[1]=-9223372036854775808L;
4021        data[2]=4294967295L;
4022        data[12]=-1L;
4023        data[13]=12884901951L;
4024        data[18]=120L;
4025        data[22]=-4899916411759099904L;
4026        data[23]=22L;
4027        data[25]=285868728776704L;
4028        data[27]=288016656964255744L;
4029        data[36]=-3458764513820540914L;
4030        data[37]=281251640393727L;
4031        data[38]=-3458764513820540914L;
4032        data[39]=281251646814623L;
4033        data[40]=-3458764513820540924L;
4034        data[41]=1125625028950407L;
4035        data[42]=-3458764513820540914L;
4036        data[43]=281200098819007L;
4037        data[44]=-3458764513820540914L;
4038        data[45]=281200111401359L;
4039        data[46]=-4611686018427387892L;
4040        data[47]=280925229301191L;
4041        data[48]=-4611686018427387890L;
4042        data[49]=281200105111007L;
4043        data[50]=-4611686018427387892L;
4044        data[51]=281200105111007L;
4045        data[52]=-4611686018427387892L;
4046        data[53]=281200107208143L;
4047        data[56]=572520102629474304L;
4048        data[57]=67075968L;
4049        data[58]=2013671983388033024L;
4050        data[59]=67059456L;
4051        data[60]=-4422530440275951616L;
4052        data[61]=-562949953421312L;
4053        data[62]=215680200883507167L;
4054        data[128]=136339441905664L;
4055        data[129]=277076930199552L;
4056        data[131]=9126739968L;
4057        data[192]=277076930199552L;
4058        data[194]=100663296L;
4059        data[1004]=1073741824L;
4060        data[1016]=64424509440L;
4061        data[1019]=-9223372036854775808L;
4062        data[1020]=67043328L;
4063        return data;
4064    }
4065    public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
4066    private static final long[] mk_tokenSet_3() {
4067        long[] data = new long[2048];
4068        data[0]=-549755823105L;
4069        data[1]=-268435457L;
4070        for (int i = 2; i<=1022; i++) { data[i]=-1L; }
4071        data[1023]=9223372036854775807L;
4072        return data;
4073    }
4074    public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
4075    private static final long[] mk_tokenSet_4() {
4076        long[] data = new long[1025];
4077        data[0]=566935683072L;
4078        data[1]=5700160604602368L;
4079        return data;
4080    }
4081    public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4());
4082    private static final long[] mk_tokenSet_5() {
4083        long[] data = new long[2048];
4084        data[0]=-17179878401L;
4085        data[1]=-268435457L;
4086        for (int i = 2; i<=1022; i++) { data[i]=-1L; }
4087        data[1023]=9223372036854775807L;
4088        return data;
4089    }
4090    public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5());
4091    private static final long[] mk_tokenSet_6() {
4092        long[] data = new long[1025];
4093        data[0]=287948901175001088L;
4094        data[1]=541165879422L;
4095        return data;
4096    }
4097    public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6());
4098    private static final long[] mk_tokenSet_7() {
4099        long[] data = new long[1025];
4100        data[1]=343597383760L;
4101        return data;
4102    }
4103    public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7());
4104    private static final long[] mk_tokenSet_8() {
4105        long[] data = new long[2048];
4106        data[0]=-9217L;
4107        for (int i = 1; i<=1022; i++) { data[i]=-1L; }
4108        data[1023]=9223372036854775807L;
4109        return data;
4110    }
4111    public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8());
4112    
4113    }
4114
Popular Tags