001    // $ANTLR 2.7.4: "TriggerSpecification.g" -> "AntlrTriggerSpecificationLexer.java"$
002    
003    /*
004     *  Licensed to the Apache Software Foundation (ASF) under one
005     *  or more contributor license agreements.  See the NOTICE file
006     *  distributed with this work for additional information
007     *  regarding copyright ownership.  The ASF licenses this file
008     *  to you under the Apache License, Version 2.0 (the
009     *  "License"); you may not use this file except in compliance
010     *  with the License.  You may obtain a copy of the License at
011     *  
012     *    http://www.apache.org/licenses/LICENSE-2.0
013     *  
014     *  Unless required by applicable law or agreed to in writing,
015     *  software distributed under the License is distributed on an
016     *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     *  KIND, either express or implied.  See the License for the
018     *  specific language governing permissions and limitations
019     *  under the License. 
020     *  
021     */
022    
023    
024    package org.apache.directory.shared.ldap.trigger;
025    
026    import java.util.ArrayList;
027    import java.util.List;
028    
029    import org.apache.directory.shared.ldap.name.LdapDN;
030    import org.apache.directory.shared.ldap.schema.NormalizerMappingResolver;
031    import org.apache.directory.shared.ldap.trigger.StoredProcedureOption;
032    import org.apache.directory.shared.ldap.trigger.StoredProcedureParameter;
033    import org.apache.directory.shared.ldap.trigger.TriggerSpecification.SPSpec;
034    
035    import org.slf4j.Logger;
036    import org.slf4j.LoggerFactory;
037    
038    
039    import java.io.InputStream;
040    import antlr.TokenStreamException;
041    import antlr.TokenStreamIOException;
042    import antlr.TokenStreamRecognitionException;
043    import antlr.CharStreamException;
044    import antlr.CharStreamIOException;
045    import antlr.ANTLRException;
046    import java.io.Reader;
047    import java.util.Hashtable;
048    import antlr.CharScanner;
049    import antlr.InputBuffer;
050    import antlr.ByteBuffer;
051    import antlr.CharBuffer;
052    import antlr.Token;
053    import antlr.CommonToken;
054    import antlr.RecognitionException;
055    import antlr.NoViableAltForCharException;
056    import antlr.MismatchedCharException;
057    import antlr.TokenStream;
058    import antlr.ANTLRHashString;
059    import antlr.LexerSharedInputState;
060    import antlr.collections.impl.BitSet;
061    import antlr.SemanticException;
062    
063    /**
064      * The parser's primary lexer.
065      *
066      * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
067      * @version $Rev$
068      */
069    public class AntlrTriggerSpecificationLexer extends antlr.CharScanner implements AntlrTriggerSpecificationParserTokenTypes, TokenStream
070     {
071    
072        private static final Logger log = LoggerFactory.getLogger( AntlrTriggerSpecificationLexer.class );
073    public AntlrTriggerSpecificationLexer(InputStream in) {
074            this(new ByteBuffer(in));
075    }
076    public AntlrTriggerSpecificationLexer(Reader in) {
077            this(new CharBuffer(in));
078    }
079    public AntlrTriggerSpecificationLexer(InputBuffer ib) {
080            this(new LexerSharedInputState(ib));
081    }
082    public AntlrTriggerSpecificationLexer(LexerSharedInputState state) {
083            super(state);
084            caseSensitiveLiterals = false;
085            setCaseSensitive(false);
086            literals = new Hashtable();
087            literals.put(new ANTLRHashString("after", this), new Integer(5));
088            literals.put(new ANTLRHashString("scope", this), new Integer(40));
089            literals.put(new ANTLRHashString("rename", this), new Integer(14));
090            literals.put(new ANTLRHashString("$oldSuperiorDN", this), new Integer(31));
091            literals.put(new ANTLRHashString("$deleteoldrdn", this), new Integer(28));
092            literals.put(new ANTLRHashString("modifydn", this), new Integer(12));
093            literals.put(new ANTLRHashString("call", this), new Integer(17));
094            literals.put(new ANTLRHashString("$oldRDN", this), new Integer(30));
095            literals.put(new ANTLRHashString("$entry", this), new Integer(23));
096            literals.put(new ANTLRHashString("base", this), new Integer(41));
097            literals.put(new ANTLRHashString("$newrdn", this), new Integer(27));
098            literals.put(new ANTLRHashString("$modification", this), new Integer(20));
099            literals.put(new ANTLRHashString("$newSuperior", this), new Integer(29));
100            literals.put(new ANTLRHashString("languagescheme", this), new Integer(37));
101            literals.put(new ANTLRHashString("import", this), new Integer(16));
102            literals.put(new ANTLRHashString("subtree", this), new Integer(43));
103            literals.put(new ANTLRHashString("$attributes", this), new Integer(24));
104            literals.put(new ANTLRHashString("$name", this), new Integer(25));
105            literals.put(new ANTLRHashString("one", this), new Integer(42));
106            literals.put(new ANTLRHashString("$ldapcontext", this), new Integer(34));
107            literals.put(new ANTLRHashString("$newentry", this), new Integer(22));
108            literals.put(new ANTLRHashString("modify", this), new Integer(6));
109            literals.put(new ANTLRHashString("add", this), new Integer(10));
110            literals.put(new ANTLRHashString("$operationprincipal", this), new Integer(33));
111            literals.put(new ANTLRHashString("searchcontext", this), new Integer(39));
112            literals.put(new ANTLRHashString("$oldentry", this), new Integer(21));
113            literals.put(new ANTLRHashString("$newDN", this), new Integer(32));
114            literals.put(new ANTLRHashString("$object", this), new Integer(19));
115            literals.put(new ANTLRHashString("export", this), new Integer(15));
116            literals.put(new ANTLRHashString("delete", this), new Integer(11));
117            literals.put(new ANTLRHashString("$deletedentry", this), new Integer(26));
118    }
119    
120    public Token nextToken() throws TokenStreamException {
121            Token theRetToken=null;
122    tryAgain:
123            for (;;) {
124                    Token _token = null;
125                    int _ttype = Token.INVALID_TYPE;
126                    resetText();
127                    try {   // for char stream error handling
128                            try {   // for lexical error handling
129                                    switch ( LA(1)) {
130                                    case '(':
131                                    {
132                                            mOPEN_PARAN(true);
133                                            theRetToken=_returnToken;
134                                            break;
135                                    }
136                                    case ')':
137                                    {
138                                            mCLOSE_PARAN(true);
139                                            theRetToken=_returnToken;
140                                            break;
141                                    }
142                                    case '{':
143                                    {
144                                            mOPEN_CURLY(true);
145                                            theRetToken=_returnToken;
146                                            break;
147                                    }
148                                    case '}':
149                                    {
150                                            mCLOSE_CURLY(true);
151                                            theRetToken=_returnToken;
152                                            break;
153                                    }
154                                    case ';':
155                                    {
156                                            mSEMI(true);
157                                            theRetToken=_returnToken;
158                                            break;
159                                    }
160                                    case ',':
161                                    {
162                                            mSEP(true);
163                                            theRetToken=_returnToken;
164                                            break;
165                                    }
166                                    case '\t':  case '\n':  case '\r':  case ' ':
167                                    {
168                                            mSP(true);
169                                            theRetToken=_returnToken;
170                                            break;
171                                    }
172                                    case '.':
173                                    {
174                                            mDOT(true);
175                                            theRetToken=_returnToken;
176                                            break;
177                                    }
178                                    case '"':
179                                    {
180                                            mUTF8String(true);
181                                            theRetToken=_returnToken;
182                                            break;
183                                    }
184                                    case '#':
185                                    {
186                                            mCOMMENT(true);
187                                            theRetToken=_returnToken;
188                                            break;
189                                    }
190                                    case '$':  case 'a':  case 'b':  case 'c':
191                                    case 'd':  case 'e':  case 'f':  case 'g':
192                                    case 'h':  case 'i':  case 'j':  case 'k':
193                                    case 'l':  case 'm':  case 'n':  case 'o':
194                                    case 'p':  case 'q':  case 'r':  case 's':
195                                    case 't':  case 'u':  case 'v':  case 'w':
196                                    case 'x':  case 'y':  case 'z':
197                                    {
198                                            mIDENTIFIER(true);
199                                            theRetToken=_returnToken;
200                                            break;
201                                    }
202                                    default:
203                                    {
204                                            if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);}
205                                    else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
206                                    }
207                                    }
208                                    if ( _returnToken==null ) continue tryAgain; // found SKIP token
209                                    _ttype = _returnToken.getType();
210                                    _ttype = testLiteralsTable(_ttype);
211                                    _returnToken.setType(_ttype);
212                                    return _returnToken;
213                            }
214                            catch (RecognitionException e) {
215                                    throw new TokenStreamRecognitionException(e);
216                            }
217                    }
218                    catch (CharStreamException cse) {
219                            if ( cse instanceof CharStreamIOException ) {
220                                    throw new TokenStreamIOException(((CharStreamIOException)cse).io);
221                            }
222                            else {
223                                    throw new TokenStreamException(cse.getMessage());
224                            }
225                    }
226            }
227    }
228    
229            public final void mOPEN_PARAN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
230                    int _ttype; Token _token=null; int _begin=text.length();
231                    _ttype = OPEN_PARAN;
232                    int _saveIndex;
233                    
234                    match('(');
235                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
236                            _token = makeToken(_ttype);
237                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
238                    }
239                    _returnToken = _token;
240            }
241            
242            public final void mCLOSE_PARAN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
243                    int _ttype; Token _token=null; int _begin=text.length();
244                    _ttype = CLOSE_PARAN;
245                    int _saveIndex;
246                    
247                    match(')');
248                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
249                            _token = makeToken(_ttype);
250                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
251                    }
252                    _returnToken = _token;
253            }
254            
255            public final void mOPEN_CURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
256                    int _ttype; Token _token=null; int _begin=text.length();
257                    _ttype = OPEN_CURLY;
258                    int _saveIndex;
259                    
260                    match('{');
261                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
262                            _token = makeToken(_ttype);
263                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
264                    }
265                    _returnToken = _token;
266            }
267            
268            public final void mCLOSE_CURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
269                    int _ttype; Token _token=null; int _begin=text.length();
270                    _ttype = CLOSE_CURLY;
271                    int _saveIndex;
272                    
273                    match('}');
274                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
275                            _token = makeToken(_ttype);
276                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
277                    }
278                    _returnToken = _token;
279            }
280            
281            public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
282                    int _ttype; Token _token=null; int _begin=text.length();
283                    _ttype = SEMI;
284                    int _saveIndex;
285                    
286                    match(';');
287                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
288                            _token = makeToken(_ttype);
289                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
290                    }
291                    _returnToken = _token;
292            }
293            
294            public final void mSEP(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
295                    int _ttype; Token _token=null; int _begin=text.length();
296                    _ttype = SEP;
297                    int _saveIndex;
298                    
299                    match(',');
300                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
301                            _token = makeToken(_ttype);
302                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
303                    }
304                    _returnToken = _token;
305            }
306            
307            public final void mSP(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
308                    int _ttype; Token _token=null; int _begin=text.length();
309                    _ttype = SP;
310                    int _saveIndex;
311                    
312                    switch ( LA(1)) {
313                    case ' ':
314                    {
315                            match(' ');
316                            break;
317                    }
318                    case '\t':
319                    {
320                            match('\t');
321                            break;
322                    }
323                    case '\n':
324                    {
325                            match('\n');
326                            newline();
327                            break;
328                    }
329                    case '\r':
330                    {
331                            match('\r');
332                            {
333                            if ((LA(1)=='\n')) {
334                                    match('\n');
335                            }
336                            else {
337                            }
338                            
339                            }
340                            newline();
341                            break;
342                    }
343                    default:
344                    {
345                            throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
346                    }
347                    }
348                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
349                            _token = makeToken(_ttype);
350                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
351                    }
352                    _returnToken = _token;
353            }
354            
355            public final void mDOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
356                    int _ttype; Token _token=null; int _begin=text.length();
357                    _ttype = DOT;
358                    int _saveIndex;
359                    
360                    match('.');
361                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
362                            _token = makeToken(_ttype);
363                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
364                    }
365                    _returnToken = _token;
366            }
367            
368            public final void mUTF8String(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
369                    int _ttype; Token _token=null; int _begin=text.length();
370                    _ttype = UTF8String;
371                    int _saveIndex;
372                    
373                    _saveIndex=text.length();
374                    match('"');
375                    text.setLength(_saveIndex);
376                    {
377                    _loop1857:
378                    do {
379                            if ((_tokenSet_0.member(LA(1)))) {
380                                    mSAFEUTF8CHAR(false);
381                            }
382                            else {
383                                    break _loop1857;
384                            }
385                            
386                    } while (true);
387                    }
388                    _saveIndex=text.length();
389                    match('"');
390                    text.setLength(_saveIndex);
391                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
392                            _token = makeToken(_ttype);
393                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
394                    }
395                    _returnToken = _token;
396            }
397            
398            protected final void mSAFEUTF8CHAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
399                    int _ttype; Token _token=null; int _begin=text.length();
400                    _ttype = SAFEUTF8CHAR;
401                    int _saveIndex;
402                    
403                    switch ( LA(1)) {
404                    case '\u0001':  case '\u0002':  case '\u0003':  case '\u0004':
405                    case '\u0005':  case '\u0006':  case '\u0007':  case '\u0008':
406                    case '\t':  case '\n':  case '\u000b':  case '\u000c':
407                    case '\r':  case '\u000e':  case '\u000f':  case '\u0010':
408                    case '\u0011':  case '\u0012':  case '\u0013':  case '\u0014':
409                    case '\u0015':  case '\u0016':  case '\u0017':  case '\u0018':
410                    case '\u0019':  case '\u001a':  case '\u001b':  case '\u001c':
411                    case '\u001d':  case '\u001e':  case '\u001f':  case ' ':
412                    case '!':
413                    {
414                            matchRange('\u0001','\u0021');
415                            break;
416                    }
417                    case '#':  case '$':  case '%':  case '&':
418                    case '\'':  case '(':  case ')':  case '*':
419                    case '+':  case ',':  case '-':  case '.':
420                    case '/':  case '0':  case '1':  case '2':
421                    case '3':  case '4':  case '5':  case '6':
422                    case '7':  case '8':  case '9':  case ':':
423                    case ';':  case '<':  case '=':  case '>':
424                    case '?':  case '@':  case 'A':  case 'B':
425                    case 'C':  case 'D':  case 'E':  case 'F':
426                    case 'G':  case 'H':  case 'I':  case 'J':
427                    case 'K':  case 'L':  case 'M':  case 'N':
428                    case 'O':  case 'P':  case 'Q':  case 'R':
429                    case 'S':  case 'T':  case 'U':  case 'V':
430                    case 'W':  case 'X':  case 'Y':  case 'Z':
431                    case '[':  case '\\':  case ']':  case '^':
432                    case '_':  case '`':  case 'a':  case 'b':
433                    case 'c':  case 'd':  case 'e':  case 'f':
434                    case 'g':  case 'h':  case 'i':  case 'j':
435                    case 'k':  case 'l':  case 'm':  case 'n':
436                    case 'o':  case 'p':  case 'q':  case 'r':
437                    case 's':  case 't':  case 'u':  case 'v':
438                    case 'w':  case 'x':  case 'y':  case 'z':
439                    case '{':  case '|':  case '}':  case '~':
440                    case '\u007f':
441                    {
442                            matchRange('\u0023','\u007F');
443                            break;
444                    }
445                    case '\u00c0':  case '\u00c1':  case '\u00c2':  case '\u00c3':
446                    case '\u00c4':  case '\u00c5':  case '\u00c6':  case '\u00c7':
447                    case '\u00c8':  case '\u00c9':  case '\u00ca':  case '\u00cb':
448                    case '\u00cc':  case '\u00cd':  case '\u00ce':  case '\u00cf':
449                    case '\u00d0':  case '\u00d1':  case '\u00d2':  case '\u00d3':
450                    case '\u00d4':  case '\u00d5':  case '\u00d6':
451                    {
452                            matchRange('\u00c0','\u00d6');
453                            break;
454                    }
455                    case '\u00d8':  case '\u00d9':  case '\u00da':  case '\u00db':
456                    case '\u00dc':  case '\u00dd':  case '\u00de':  case '\u00df':
457                    case '\u00e0':  case '\u00e1':  case '\u00e2':  case '\u00e3':
458                    case '\u00e4':  case '\u00e5':  case '\u00e6':  case '\u00e7':
459                    case '\u00e8':  case '\u00e9':  case '\u00ea':  case '\u00eb':
460                    case '\u00ec':  case '\u00ed':  case '\u00ee':  case '\u00ef':
461                    case '\u00f0':  case '\u00f1':  case '\u00f2':  case '\u00f3':
462                    case '\u00f4':  case '\u00f5':  case '\u00f6':
463                    {
464                            matchRange('\u00d8','\u00f6');
465                            break;
466                    }
467                    case '\u00f8':  case '\u00f9':  case '\u00fa':  case '\u00fb':
468                    case '\u00fc':  case '\u00fd':  case '\u00fe':  case '\u00ff':
469                    {
470                            matchRange('\u00f8','\u00ff');
471                            break;
472                    }
473                    default:
474                            if (((LA(1) >= '\u0100' && LA(1) <= '\u1fff'))) {
475                                    matchRange('\u0100','\u1fff');
476                            }
477                            else if (((LA(1) >= '\u3040' && LA(1) <= '\u318f'))) {
478                                    matchRange('\u3040','\u318f');
479                            }
480                            else if (((LA(1) >= '\u3300' && LA(1) <= '\u337f'))) {
481                                    matchRange('\u3300','\u337f');
482                            }
483                            else if (((LA(1) >= '\u3400' && LA(1) <= '\u3d2d'))) {
484                                    matchRange('\u3400','\u3d2d');
485                            }
486                            else if (((LA(1) >= '\u4e00' && LA(1) <= '\u9fff'))) {
487                                    matchRange('\u4e00','\u9fff');
488                            }
489                            else if (((LA(1) >= '\uf900' && LA(1) <= '\ufaff'))) {
490                                    matchRange('\uf900','\ufaff');
491                            }
492                    else {
493                            throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
494                    }
495                    }
496                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
497                            _token = makeToken(_ttype);
498                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
499                    }
500                    _returnToken = _token;
501            }
502            
503            public final void mCOMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
504                    int _ttype; Token _token=null; int _begin=text.length();
505                    _ttype = COMMENT;
506                    int _saveIndex;
507                    
508                    match('#');
509                    {
510                    _loop1862:
511                    do {
512                            if ((_tokenSet_1.member(LA(1)))) {
513                                    {
514                                    match(_tokenSet_1);
515                                    }
516                            }
517                            else {
518                                    break _loop1862;
519                            }
520                            
521                    } while (true);
522                    }
523                    {
524                    if ((LA(1)=='\n'||LA(1)=='\r')) {
525                            {
526                            switch ( LA(1)) {
527                            case '\n':
528                            {
529                                    match('\n');
530                                    break;
531                            }
532                            case '\r':
533                            {
534                                    match('\r');
535                                    {
536                                    if ((LA(1)=='\n')) {
537                                            match('\n');
538                                    }
539                                    else {
540                                    }
541                                    
542                                    }
543                                    break;
544                            }
545                            default:
546                            {
547                                    throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
548                            }
549                            }
550                            }
551                            newline();
552                    }
553                    else {
554                    }
555                    
556                    }
557                    _ttype = Token.SKIP;
558                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
559                            _token = makeToken(_ttype);
560                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
561                    }
562                    _returnToken = _token;
563            }
564            
565            public final void mIDENTIFIER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
566                    int _ttype; Token _token=null; int _begin=text.length();
567                    _ttype = IDENTIFIER;
568                    int _saveIndex;
569                    
570                    mALPHA(false);
571                    {
572                    _loop1868:
573                    do {
574                            if ((_tokenSet_2.member(LA(1)))) {
575                                    mALPHA(false);
576                            }
577                            else {
578                                    break _loop1868;
579                            }
580                            
581                    } while (true);
582                    }
583                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
584                            _token = makeToken(_ttype);
585                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
586                    }
587                    _returnToken = _token;
588            }
589            
590            protected final void mALPHA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
591                    int _ttype; Token _token=null; int _begin=text.length();
592                    _ttype = ALPHA;
593                    int _saveIndex;
594                    
595                    switch ( LA(1)) {
596                    case 'a':  case 'b':  case 'c':  case 'd':
597                    case 'e':  case 'f':  case 'g':  case 'h':
598                    case 'i':  case 'j':  case 'k':  case 'l':
599                    case 'm':  case 'n':  case 'o':  case 'p':
600                    case 'q':  case 'r':  case 's':  case 't':
601                    case 'u':  case 'v':  case 'w':  case 'x':
602                    case 'y':  case 'z':
603                    {
604                            matchRange('a','z');
605                            break;
606                    }
607                    case '$':
608                    {
609                            match('$');
610                            break;
611                    }
612                    default:
613                    {
614                            throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
615                    }
616                    }
617                    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
618                            _token = makeToken(_ttype);
619                            _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
620                    }
621                    _returnToken = _token;
622            }
623            
624            
625            private static final long[] mk_tokenSet_0() {
626                    long[] data = new long[3988];
627                    data[0]=-17179869186L;
628                    data[1]=-1L;
629                    data[3]=-36028797027352577L;
630                    for (int i = 4; i<=127; i++) { data[i]=-1L; }
631                    for (int i = 193; i<=197; i++) { data[i]=-1L; }
632                    data[198]=65535L;
633                    for (int i = 204; i<=205; i++) { data[i]=-1L; }
634                    for (int i = 208; i<=243; i++) { data[i]=-1L; }
635                    data[244]=70368744177663L;
636                    for (int i = 312; i<=639; i++) { data[i]=-1L; }
637                    for (int i = 996; i<=1003; i++) { data[i]=-1L; }
638                    return data;
639            }
640            public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
641            private static final long[] mk_tokenSet_1() {
642                    long[] data = new long[2048];
643                    data[0]=-9218L;
644                    for (int i = 1; i<=127; i++) { data[i]=-1L; }
645                    for (int i = 193; i<=197; i++) { data[i]=-1L; }
646                    data[198]=65535L;
647                    for (int i = 204; i<=205; i++) { data[i]=-1L; }
648                    for (int i = 208; i<=243; i++) { data[i]=-1L; }
649                    data[244]=70368744177663L;
650                    for (int i = 312; i<=639; i++) { data[i]=-1L; }
651                    for (int i = 996; i<=1003; i++) { data[i]=-1L; }
652                    return data;
653            }
654            public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
655            private static final long[] mk_tokenSet_2() {
656                    long[] data = new long[1025];
657                    data[0]=68719476736L;
658                    data[1]=576460743713488896L;
659                    return data;
660            }
661            public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
662            
663            }