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