ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/mdParser/MDLexer.cpp
Revision: 2469
Committed: Fri Dec 2 15:38:03 2005 UTC (18 years, 7 months ago) by tim
File size: 49653 byte(s)
Log Message:
End of the Link --> List
Return of the Oject-Oriented
replace yacc/lex parser with antlr parser

File Contents

# Content
1 /* $ANTLR 2.7.5 (20050406): "MDParser.g" -> "MDLexer.cpp"$ */
2 #include "MDLexer.hpp"
3 #include <antlr/CharBuffer.hpp>
4 #include <antlr/TokenStreamException.hpp>
5 #include <antlr/TokenStreamIOException.hpp>
6 #include <antlr/TokenStreamRecognitionException.hpp>
7 #include <antlr/CharStreamException.hpp>
8 #include <antlr/CharStreamIOException.hpp>
9 #include <antlr/NoViableAltForCharException.hpp>
10
11 #line 1 "MDParser.g"
12 #line 13 "MDLexer.cpp"
13 MDLexer::MDLexer(ANTLR_USE_NAMESPACE(std)istream& in)
14 : ANTLR_USE_NAMESPACE(antlr)CharScanner(new ANTLR_USE_NAMESPACE(antlr)CharBuffer(in),true)
15 {
16 initLiterals();
17 }
18
19 MDLexer::MDLexer(ANTLR_USE_NAMESPACE(antlr)InputBuffer& ib)
20 : ANTLR_USE_NAMESPACE(antlr)CharScanner(ib,true)
21 {
22 initLiterals();
23 }
24
25 MDLexer::MDLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState& state)
26 : ANTLR_USE_NAMESPACE(antlr)CharScanner(state,true)
27 {
28 initLiterals();
29 }
30
31 void MDLexer::initLiterals()
32 {
33 literals["members"] = 14;
34 literals["position"] = 15;
35 literals["torsion"] = 10;
36 literals["component"] = 4;
37 literals["rigidBody"] = 11;
38 literals["zconstraint"] = 6;
39 literals["cutoffGroup"] = 12;
40 literals["bend"] = 9;
41 literals["orientation"] = 16;
42 literals["fragment"] = 13;
43 literals["bond"] = 8;
44 literals["molecule"] = 5;
45 literals["atom"] = 7;
46 }
47
48 ANTLR_USE_NAMESPACE(antlr)RefToken MDLexer::nextToken()
49 {
50 ANTLR_USE_NAMESPACE(antlr)RefToken theRetToken;
51 for (;;) {
52 ANTLR_USE_NAMESPACE(antlr)RefToken theRetToken;
53 int _ttype = ANTLR_USE_NAMESPACE(antlr)Token::INVALID_TYPE;
54 resetText();
55 try { // for lexical and char stream error handling
56 switch ( LA(1)) {
57 case 0x3d /* '=' */ :
58 {
59 mASSIGNEQUAL(true);
60 theRetToken=_returnToken;
61 break;
62 }
63 case 0x3a /* ':' */ :
64 {
65 mCOLON(true);
66 theRetToken=_returnToken;
67 break;
68 }
69 case 0x2c /* ',' */ :
70 {
71 mCOMMA(true);
72 theRetToken=_returnToken;
73 break;
74 }
75 case 0x3f /* '?' */ :
76 {
77 mQUESTIONMARK(true);
78 theRetToken=_returnToken;
79 break;
80 }
81 case 0x3b /* ';' */ :
82 {
83 mSEMICOLON(true);
84 theRetToken=_returnToken;
85 break;
86 }
87 case 0x28 /* '(' */ :
88 {
89 mLPAREN(true);
90 theRetToken=_returnToken;
91 break;
92 }
93 case 0x29 /* ')' */ :
94 {
95 mRPAREN(true);
96 theRetToken=_returnToken;
97 break;
98 }
99 case 0x5b /* '[' */ :
100 {
101 mLBRACKET(true);
102 theRetToken=_returnToken;
103 break;
104 }
105 case 0x5d /* ']' */ :
106 {
107 mRBRACKET(true);
108 theRetToken=_returnToken;
109 break;
110 }
111 case 0x7b /* '{' */ :
112 {
113 mLCURLY(true);
114 theRetToken=_returnToken;
115 break;
116 }
117 case 0x7d /* '}' */ :
118 {
119 mRCURLY(true);
120 theRetToken=_returnToken;
121 break;
122 }
123 case 0x2b /* '+' */ :
124 {
125 mPLUS(true);
126 theRetToken=_returnToken;
127 break;
128 }
129 case 0x2d /* '-' */ :
130 {
131 mMINUS(true);
132 theRetToken=_returnToken;
133 break;
134 }
135 case 0x9 /* '\t' */ :
136 case 0xa /* '\n' */ :
137 case 0xc /* '\14' */ :
138 case 0xd /* '\r' */ :
139 case 0x20 /* ' ' */ :
140 case 0x5c /* '\\' */ :
141 {
142 mWhitespace(true);
143 theRetToken=_returnToken;
144 break;
145 }
146 case 0x23 /* '#' */ :
147 {
148 mPREPROC_DIRECTIVE(true);
149 theRetToken=_returnToken;
150 break;
151 }
152 case 0x22 /* '\"' */ :
153 {
154 mStringLiteral(true);
155 theRetToken=_returnToken;
156 break;
157 }
158 case 0x27 /* '\'' */ :
159 {
160 mCharLiteral(true);
161 theRetToken=_returnToken;
162 break;
163 }
164 case 0x2e /* '.' */ :
165 case 0x30 /* '0' */ :
166 case 0x31 /* '1' */ :
167 case 0x32 /* '2' */ :
168 case 0x33 /* '3' */ :
169 case 0x34 /* '4' */ :
170 case 0x35 /* '5' */ :
171 case 0x36 /* '6' */ :
172 case 0x37 /* '7' */ :
173 case 0x38 /* '8' */ :
174 case 0x39 /* '9' */ :
175 {
176 mNumber(true);
177 theRetToken=_returnToken;
178 break;
179 }
180 case 0x41 /* 'A' */ :
181 case 0x42 /* 'B' */ :
182 case 0x43 /* 'C' */ :
183 case 0x44 /* 'D' */ :
184 case 0x45 /* 'E' */ :
185 case 0x46 /* 'F' */ :
186 case 0x47 /* 'G' */ :
187 case 0x48 /* 'H' */ :
188 case 0x49 /* 'I' */ :
189 case 0x4a /* 'J' */ :
190 case 0x4b /* 'K' */ :
191 case 0x4c /* 'L' */ :
192 case 0x4d /* 'M' */ :
193 case 0x4e /* 'N' */ :
194 case 0x4f /* 'O' */ :
195 case 0x50 /* 'P' */ :
196 case 0x51 /* 'Q' */ :
197 case 0x52 /* 'R' */ :
198 case 0x53 /* 'S' */ :
199 case 0x54 /* 'T' */ :
200 case 0x55 /* 'U' */ :
201 case 0x56 /* 'V' */ :
202 case 0x57 /* 'W' */ :
203 case 0x58 /* 'X' */ :
204 case 0x59 /* 'Y' */ :
205 case 0x5a /* 'Z' */ :
206 case 0x5f /* '_' */ :
207 case 0x61 /* 'a' */ :
208 case 0x62 /* 'b' */ :
209 case 0x63 /* 'c' */ :
210 case 0x64 /* 'd' */ :
211 case 0x65 /* 'e' */ :
212 case 0x66 /* 'f' */ :
213 case 0x67 /* 'g' */ :
214 case 0x68 /* 'h' */ :
215 case 0x69 /* 'i' */ :
216 case 0x6a /* 'j' */ :
217 case 0x6b /* 'k' */ :
218 case 0x6c /* 'l' */ :
219 case 0x6d /* 'm' */ :
220 case 0x6e /* 'n' */ :
221 case 0x6f /* 'o' */ :
222 case 0x70 /* 'p' */ :
223 case 0x71 /* 'q' */ :
224 case 0x72 /* 'r' */ :
225 case 0x73 /* 's' */ :
226 case 0x74 /* 't' */ :
227 case 0x75 /* 'u' */ :
228 case 0x76 /* 'v' */ :
229 case 0x77 /* 'w' */ :
230 case 0x78 /* 'x' */ :
231 case 0x79 /* 'y' */ :
232 case 0x7a /* 'z' */ :
233 {
234 mID(true);
235 theRetToken=_returnToken;
236 break;
237 }
238 default:
239 if ((LA(1) == 0x2f /* '/' */ ) && (LA(2) == 0x2a /* '*' */ )) {
240 mComment(true);
241 theRetToken=_returnToken;
242 }
243 else if ((LA(1) == 0x2f /* '/' */ ) && (LA(2) == 0x2f /* '/' */ )) {
244 mCPPComment(true);
245 theRetToken=_returnToken;
246 }
247 else {
248 if (LA(1)==EOF_CHAR)
249 {
250 uponEOF();
251 _returnToken = makeToken(ANTLR_USE_NAMESPACE(antlr)Token::EOF_TYPE);
252 }
253 else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
254 }
255 }
256 if ( !_returnToken )
257 goto tryAgain; // found SKIP token
258
259 _ttype = _returnToken->getType();
260 _returnToken->setType(_ttype);
261 return _returnToken;
262 }
263 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& e) {
264 throw ANTLR_USE_NAMESPACE(antlr)TokenStreamRecognitionException(e);
265 }
266 catch (ANTLR_USE_NAMESPACE(antlr)CharStreamIOException& csie) {
267 throw ANTLR_USE_NAMESPACE(antlr)TokenStreamIOException(csie.io);
268 }
269 catch (ANTLR_USE_NAMESPACE(antlr)CharStreamException& cse) {
270 throw ANTLR_USE_NAMESPACE(antlr)TokenStreamException(cse.getMessage());
271 }
272 tryAgain:;
273 }
274 }
275
276 void MDLexer::mASSIGNEQUAL(bool _createToken) {
277 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
278 _ttype = ASSIGNEQUAL;
279 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
280
281 match('=' /* charlit */ );
282 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
283 _token = makeToken(_ttype);
284 _token->setText(text.substr(_begin, text.length()-_begin));
285 }
286 _returnToken = _token;
287 _saveIndex=0;
288 }
289
290 void MDLexer::mCOLON(bool _createToken) {
291 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
292 _ttype = COLON;
293 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
294
295 match(':' /* charlit */ );
296 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
297 _token = makeToken(_ttype);
298 _token->setText(text.substr(_begin, text.length()-_begin));
299 }
300 _returnToken = _token;
301 _saveIndex=0;
302 }
303
304 void MDLexer::mCOMMA(bool _createToken) {
305 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
306 _ttype = COMMA;
307 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
308
309 match(',' /* charlit */ );
310 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
311 _token = makeToken(_ttype);
312 _token->setText(text.substr(_begin, text.length()-_begin));
313 }
314 _returnToken = _token;
315 _saveIndex=0;
316 }
317
318 void MDLexer::mQUESTIONMARK(bool _createToken) {
319 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
320 _ttype = QUESTIONMARK;
321 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
322
323 match('?' /* charlit */ );
324 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
325 _token = makeToken(_ttype);
326 _token->setText(text.substr(_begin, text.length()-_begin));
327 }
328 _returnToken = _token;
329 _saveIndex=0;
330 }
331
332 void MDLexer::mSEMICOLON(bool _createToken) {
333 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
334 _ttype = SEMICOLON;
335 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
336
337 match(';' /* charlit */ );
338 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
339 _token = makeToken(_ttype);
340 _token->setText(text.substr(_begin, text.length()-_begin));
341 }
342 _returnToken = _token;
343 _saveIndex=0;
344 }
345
346 void MDLexer::mLPAREN(bool _createToken) {
347 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
348 _ttype = LPAREN;
349 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
350
351 match('(' /* charlit */ );
352 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
353 _token = makeToken(_ttype);
354 _token->setText(text.substr(_begin, text.length()-_begin));
355 }
356 _returnToken = _token;
357 _saveIndex=0;
358 }
359
360 void MDLexer::mRPAREN(bool _createToken) {
361 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
362 _ttype = RPAREN;
363 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
364
365 match(')' /* charlit */ );
366 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
367 _token = makeToken(_ttype);
368 _token->setText(text.substr(_begin, text.length()-_begin));
369 }
370 _returnToken = _token;
371 _saveIndex=0;
372 }
373
374 void MDLexer::mLBRACKET(bool _createToken) {
375 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
376 _ttype = LBRACKET;
377 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
378
379 match('[' /* charlit */ );
380 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
381 _token = makeToken(_ttype);
382 _token->setText(text.substr(_begin, text.length()-_begin));
383 }
384 _returnToken = _token;
385 _saveIndex=0;
386 }
387
388 void MDLexer::mRBRACKET(bool _createToken) {
389 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
390 _ttype = RBRACKET;
391 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
392
393 match(']' /* charlit */ );
394 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
395 _token = makeToken(_ttype);
396 _token->setText(text.substr(_begin, text.length()-_begin));
397 }
398 _returnToken = _token;
399 _saveIndex=0;
400 }
401
402 void MDLexer::mLCURLY(bool _createToken) {
403 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
404 _ttype = LCURLY;
405 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
406
407 match('{' /* charlit */ );
408 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
409 _token = makeToken(_ttype);
410 _token->setText(text.substr(_begin, text.length()-_begin));
411 }
412 _returnToken = _token;
413 _saveIndex=0;
414 }
415
416 void MDLexer::mRCURLY(bool _createToken) {
417 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
418 _ttype = RCURLY;
419 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
420
421 match('}' /* charlit */ );
422 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
423 _token = makeToken(_ttype);
424 _token->setText(text.substr(_begin, text.length()-_begin));
425 }
426 _returnToken = _token;
427 _saveIndex=0;
428 }
429
430 void MDLexer::mPLUS(bool _createToken) {
431 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
432 _ttype = PLUS;
433 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
434
435 match('+' /* charlit */ );
436 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
437 _token = makeToken(_ttype);
438 _token->setText(text.substr(_begin, text.length()-_begin));
439 }
440 _returnToken = _token;
441 _saveIndex=0;
442 }
443
444 void MDLexer::mMINUS(bool _createToken) {
445 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
446 _ttype = MINUS;
447 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
448
449 match('-' /* charlit */ );
450 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
451 _token = makeToken(_ttype);
452 _token->setText(text.substr(_begin, text.length()-_begin));
453 }
454 _returnToken = _token;
455 _saveIndex=0;
456 }
457
458 void MDLexer::mWhitespace(bool _createToken) {
459 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
460 _ttype = Whitespace;
461 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
462
463 {
464 switch ( LA(1)) {
465 case 0x9 /* '\t' */ :
466 case 0xc /* '\14' */ :
467 case 0x20 /* ' ' */ :
468 {
469 {
470 switch ( LA(1)) {
471 case 0x20 /* ' ' */ :
472 {
473 match(' ' /* charlit */ );
474 break;
475 }
476 case 0x9 /* '\t' */ :
477 {
478 match('\t' /* charlit */ );
479 break;
480 }
481 case 0xc /* '\14' */ :
482 {
483 match('\14' /* charlit */ );
484 break;
485 }
486 default:
487 {
488 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
489 }
490 }
491 }
492 break;
493 }
494 case 0xa /* '\n' */ :
495 case 0xd /* '\r' */ :
496 {
497 {
498 if ((LA(1) == 0xd /* '\r' */ ) && (LA(2) == 0xa /* '\n' */ )) {
499 match('\r' /* charlit */ );
500 match('\n' /* charlit */ );
501 }
502 else if ((LA(1) == 0xd /* '\r' */ ) && (true)) {
503 match('\r' /* charlit */ );
504 }
505 else if ((LA(1) == 0xa /* '\n' */ )) {
506 match('\n' /* charlit */ );
507 }
508 else {
509 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
510 }
511
512 }
513 if ( inputState->guessing==0 ) {
514 #line 262 "MDParser.g"
515 newline();
516 #line 517 "MDLexer.cpp"
517 }
518 break;
519 }
520 case 0x5c /* '\\' */ :
521 {
522 {
523 if ((LA(1) == 0x5c /* '\\' */ ) && (LA(2) == 0xd /* '\r' */ ) && (LA(3) == 0xa /* '\n' */ )) {
524 match('\\' /* charlit */ );
525 match('\r' /* charlit */ );
526 match('\n' /* charlit */ );
527 }
528 else if ((LA(1) == 0x5c /* '\\' */ ) && (LA(2) == 0xd /* '\r' */ ) && (true)) {
529 match('\\' /* charlit */ );
530 match('\r' /* charlit */ );
531 }
532 else if ((LA(1) == 0x5c /* '\\' */ ) && (LA(2) == 0xa /* '\n' */ )) {
533 match('\\' /* charlit */ );
534 match('\n' /* charlit */ );
535 }
536 else {
537 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
538 }
539
540 }
541 if ( inputState->guessing==0 ) {
542 #line 267 "MDParser.g"
543 printf("CPP_parser.g continuation line detected\n");
544 deferredNewline();
545 #line 546 "MDLexer.cpp"
546 }
547 break;
548 }
549 default:
550 {
551 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
552 }
553 }
554 }
555 if ( inputState->guessing==0 ) {
556 #line 270 "MDParser.g"
557 _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
558 #line 559 "MDLexer.cpp"
559 }
560 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
561 _token = makeToken(_ttype);
562 _token->setText(text.substr(_begin, text.length()-_begin));
563 }
564 _returnToken = _token;
565 _saveIndex=0;
566 }
567
568 void MDLexer::mComment(bool _createToken) {
569 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
570 _ttype = Comment;
571 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
572
573 match("/*");
574 { // ( ... )*
575 for (;;) {
576 if (((LA(1) == 0x2a /* '*' */ ) && ((LA(2) >= 0x0 /* '\0' */ && LA(2) <= 0xff)) && ((LA(3) >= 0x0 /* '\0' */ && LA(3) <= 0xff)))&&(LA(2) != '/')) {
577 match('*' /* charlit */ );
578 }
579 else if ((LA(1) == 0xa /* '\n' */ || LA(1) == 0xd /* '\r' */ )) {
580 mEndOfLine(false);
581 if ( inputState->guessing==0 ) {
582 #line 277 "MDParser.g"
583 deferredNewline();
584 #line 585 "MDLexer.cpp"
585 }
586 }
587 else if ((_tokenSet_0.member(LA(1)))) {
588 {
589 match(_tokenSet_0);
590 }
591 }
592 else {
593 goto _loop81;
594 }
595
596 }
597 _loop81:;
598 } // ( ... )*
599 match("*/");
600 if ( inputState->guessing==0 ) {
601 #line 280 "MDParser.g"
602 _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
603 #line 604 "MDLexer.cpp"
604 }
605 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
606 _token = makeToken(_ttype);
607 _token->setText(text.substr(_begin, text.length()-_begin));
608 }
609 _returnToken = _token;
610 _saveIndex=0;
611 }
612
613 void MDLexer::mEndOfLine(bool _createToken) {
614 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
615 _ttype = EndOfLine;
616 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
617
618 {
619 if ((LA(1) == 0xd /* '\r' */ ) && (LA(2) == 0xa /* '\n' */ ) && (true)) {
620 match("\r\n");
621 }
622 else if ((LA(1) == 0xd /* '\r' */ ) && (true) && (true)) {
623 match('\r' /* charlit */ );
624 }
625 else if ((LA(1) == 0xa /* '\n' */ )) {
626 match('\n' /* charlit */ );
627 }
628 else {
629 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
630 }
631
632 }
633 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
634 _token = makeToken(_ttype);
635 _token->setText(text.substr(_begin, text.length()-_begin));
636 }
637 _returnToken = _token;
638 _saveIndex=0;
639 }
640
641 void MDLexer::mCPPComment(bool _createToken) {
642 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
643 _ttype = CPPComment;
644 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
645
646 match("//");
647 { // ( ... )*
648 for (;;) {
649 if ((_tokenSet_1.member(LA(1)))) {
650 {
651 match(_tokenSet_1);
652 }
653 }
654 else {
655 goto _loop85;
656 }
657
658 }
659 _loop85:;
660 } // ( ... )*
661 mEndOfLine(false);
662 if ( inputState->guessing==0 ) {
663 #line 286 "MDParser.g"
664 _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline();
665 #line 666 "MDLexer.cpp"
666 }
667 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
668 _token = makeToken(_ttype);
669 _token->setText(text.substr(_begin, text.length()-_begin));
670 }
671 _returnToken = _token;
672 _saveIndex=0;
673 }
674
675 void MDLexer::mPREPROC_DIRECTIVE(bool _createToken) {
676 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
677 _ttype = PREPROC_DIRECTIVE;
678 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
679
680 match('#' /* charlit */ );
681 mLineDirective(false);
682 if ( inputState->guessing==0 ) {
683 #line 293 "MDParser.g"
684 _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline();
685 #line 686 "MDLexer.cpp"
686 }
687 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
688 _token = makeToken(_ttype);
689 _token->setText(text.substr(_begin, text.length()-_begin));
690 }
691 _returnToken = _token;
692 _saveIndex=0;
693 }
694
695 void MDLexer::mLineDirective(bool _createToken) {
696 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
697 _ttype = LineDirective;
698 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
699 ANTLR_USE_NAMESPACE(antlr)RefToken n;
700 ANTLR_USE_NAMESPACE(antlr)RefToken sl;
701
702 if ( inputState->guessing==0 ) {
703 #line 299 "MDParser.g"
704
705 deferredLineCount = 0;
706
707 #line 708 "MDLexer.cpp"
708 }
709 {
710 switch ( LA(1)) {
711 case 0x6c /* 'l' */ :
712 {
713 match("line");
714 break;
715 }
716 case 0x9 /* '\t' */ :
717 case 0xc /* '\14' */ :
718 case 0x20 /* ' ' */ :
719 {
720 break;
721 }
722 default:
723 {
724 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
725 }
726 }
727 }
728 { // ( ... )+
729 int _cnt90=0;
730 for (;;) {
731 if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) {
732 mSpace(false);
733 }
734 else {
735 if ( _cnt90>=1 ) { goto _loop90; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
736 }
737
738 _cnt90++;
739 }
740 _loop90:;
741 } // ( ... )+
742 mDecimal(true);
743 n=_returnToken;
744 if ( inputState->guessing==0 ) {
745 #line 304 "MDParser.g"
746 setLine(oopse::lexi_cast<int>(n->getText()) - 1);
747 #line 748 "MDLexer.cpp"
748 }
749 { // ( ... )+
750 int _cnt92=0;
751 for (;;) {
752 if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) {
753 mSpace(false);
754 }
755 else {
756 if ( _cnt92>=1 ) { goto _loop92; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
757 }
758
759 _cnt92++;
760 }
761 _loop92:;
762 } // ( ... )+
763 {
764 mStringLiteral(true);
765 sl=_returnToken;
766 }
767 if ( inputState->guessing==0 ) {
768 #line 306 "MDParser.g"
769 std::string filename = sl->getText().substr(1,sl->getText().length()-2); observer->notify(filename);
770 #line 771 "MDLexer.cpp"
771 }
772 { // ( ... )*
773 for (;;) {
774 if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) {
775 { // ( ... )+
776 int _cnt96=0;
777 for (;;) {
778 if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) {
779 mSpace(false);
780 }
781 else {
782 if ( _cnt96>=1 ) { goto _loop96; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
783 }
784
785 _cnt96++;
786 }
787 _loop96:;
788 } // ( ... )+
789 mDecimal(false);
790 }
791 else {
792 goto _loop97;
793 }
794
795 }
796 _loop97:;
797 } // ( ... )*
798 mEndOfLine(false);
799 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
800 _token = makeToken(_ttype);
801 _token->setText(text.substr(_begin, text.length()-_begin));
802 }
803 _returnToken = _token;
804 _saveIndex=0;
805 }
806
807 void MDLexer::mSpace(bool _createToken) {
808 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
809 _ttype = Space;
810 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
811
812 {
813 switch ( LA(1)) {
814 case 0x20 /* ' ' */ :
815 {
816 match(' ' /* charlit */ );
817 break;
818 }
819 case 0x9 /* '\t' */ :
820 {
821 match('\t' /* charlit */ );
822 break;
823 }
824 case 0xc /* '\14' */ :
825 {
826 match('\14' /* charlit */ );
827 break;
828 }
829 default:
830 {
831 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
832 }
833 }
834 }
835 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
836 _token = makeToken(_ttype);
837 _token->setText(text.substr(_begin, text.length()-_begin));
838 }
839 _returnToken = _token;
840 _saveIndex=0;
841 }
842
843 void MDLexer::mDecimal(bool _createToken) {
844 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
845 _ttype = Decimal;
846 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
847
848 { // ( ... )+
849 int _cnt122=0;
850 for (;;) {
851 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
852 matchRange('0','9');
853 }
854 else {
855 if ( _cnt122>=1 ) { goto _loop122; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
856 }
857
858 _cnt122++;
859 }
860 _loop122:;
861 } // ( ... )+
862 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
863 _token = makeToken(_ttype);
864 _token->setText(text.substr(_begin, text.length()-_begin));
865 }
866 _returnToken = _token;
867 _saveIndex=0;
868 }
869
870 void MDLexer::mStringLiteral(bool _createToken) {
871 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
872 _ttype = StringLiteral;
873 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
874
875 match('\"' /* charlit */ );
876 { // ( ... )*
877 for (;;) {
878 if ((LA(1) == 0x5c /* '\\' */ ) && (_tokenSet_2.member(LA(2)))) {
879 mEscape(false);
880 }
881 else if ((LA(1) == 0x5c /* '\\' */ ) && (LA(2) == 0xa /* '\n' */ || LA(2) == 0xd /* '\r' */ )) {
882 {
883 if ((LA(1) == 0x5c /* '\\' */ ) && (LA(2) == 0xd /* '\r' */ ) && (LA(3) == 0xa /* '\n' */ )) {
884 match("\\\r\n");
885 }
886 else if ((LA(1) == 0x5c /* '\\' */ ) && (LA(2) == 0xd /* '\r' */ ) && (_tokenSet_1.member(LA(3)))) {
887 match("\\\r");
888 }
889 else if ((LA(1) == 0x5c /* '\\' */ ) && (LA(2) == 0xa /* '\n' */ )) {
890 match("\\\n");
891 }
892 else {
893 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
894 }
895
896 }
897 if ( inputState->guessing==0 ) {
898 #line 346 "MDParser.g"
899 deferredNewline();
900 #line 901 "MDLexer.cpp"
901 }
902 }
903 else if ((_tokenSet_3.member(LA(1)))) {
904 {
905 match(_tokenSet_3);
906 }
907 }
908 else {
909 goto _loop107;
910 }
911
912 }
913 _loop107:;
914 } // ( ... )*
915 match('\"' /* charlit */ );
916 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
917 _token = makeToken(_ttype);
918 _token->setText(text.substr(_begin, text.length()-_begin));
919 }
920 _returnToken = _token;
921 _saveIndex=0;
922 }
923
924 void MDLexer::mCharLiteral(bool _createToken) {
925 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
926 _ttype = CharLiteral;
927 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
928
929 match('\'' /* charlit */ );
930 {
931 if ((LA(1) == 0x5c /* '\\' */ ) && (_tokenSet_2.member(LA(2))) && (_tokenSet_4.member(LA(3)))) {
932 mEscape(false);
933 }
934 else if ((_tokenSet_5.member(LA(1))) && (LA(2) == 0x27 /* '\'' */ ) && (true)) {
935 {
936 match(_tokenSet_5);
937 }
938 }
939 else {
940 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
941 }
942
943 }
944 match('\'' /* charlit */ );
945 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
946 _token = makeToken(_ttype);
947 _token->setText(text.substr(_begin, text.length()-_begin));
948 }
949 _returnToken = _token;
950 _saveIndex=0;
951 }
952
953 void MDLexer::mEscape(bool _createToken) {
954 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
955 _ttype = Escape;
956 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
957
958 match('\\' /* charlit */ );
959 {
960 switch ( LA(1)) {
961 case 0x61 /* 'a' */ :
962 {
963 match('a' /* charlit */ );
964 break;
965 }
966 case 0x62 /* 'b' */ :
967 {
968 match('b' /* charlit */ );
969 break;
970 }
971 case 0x66 /* 'f' */ :
972 {
973 match('f' /* charlit */ );
974 break;
975 }
976 case 0x6e /* 'n' */ :
977 {
978 match('n' /* charlit */ );
979 break;
980 }
981 case 0x72 /* 'r' */ :
982 {
983 match('r' /* charlit */ );
984 break;
985 }
986 case 0x74 /* 't' */ :
987 {
988 match('t' /* charlit */ );
989 break;
990 }
991 case 0x76 /* 'v' */ :
992 {
993 match('v' /* charlit */ );
994 break;
995 }
996 case 0x22 /* '\"' */ :
997 {
998 match('\"' /* charlit */ );
999 break;
1000 }
1001 case 0x27 /* '\'' */ :
1002 {
1003 match('\'' /* charlit */ );
1004 break;
1005 }
1006 case 0x5c /* '\\' */ :
1007 {
1008 match('\\' /* charlit */ );
1009 break;
1010 }
1011 case 0x3f /* '?' */ :
1012 {
1013 match('?' /* charlit */ );
1014 break;
1015 }
1016 case 0x30 /* '0' */ :
1017 case 0x31 /* '1' */ :
1018 case 0x32 /* '2' */ :
1019 case 0x33 /* '3' */ :
1020 {
1021 {
1022 matchRange('0','3');
1023 }
1024 {
1025 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_1.member(LA(2))) && (true)) {
1026 mDigit(false);
1027 {
1028 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_1.member(LA(2))) && (true)) {
1029 mDigit(false);
1030 }
1031 else if ((_tokenSet_1.member(LA(1))) && (true) && (true)) {
1032 }
1033 else {
1034 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1035 }
1036
1037 }
1038 }
1039 else if ((_tokenSet_1.member(LA(1))) && (true) && (true)) {
1040 }
1041 else {
1042 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1043 }
1044
1045 }
1046 break;
1047 }
1048 case 0x34 /* '4' */ :
1049 case 0x35 /* '5' */ :
1050 case 0x36 /* '6' */ :
1051 case 0x37 /* '7' */ :
1052 {
1053 {
1054 matchRange('4','7');
1055 }
1056 {
1057 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_1.member(LA(2))) && (true)) {
1058 mDigit(false);
1059 }
1060 else if ((_tokenSet_1.member(LA(1))) && (true) && (true)) {
1061 }
1062 else {
1063 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1064 }
1065
1066 }
1067 break;
1068 }
1069 case 0x78 /* 'x' */ :
1070 {
1071 match('x' /* charlit */ );
1072 { // ( ... )+
1073 int _cnt118=0;
1074 for (;;) {
1075 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_1.member(LA(2))) && (true)) {
1076 mDigit(false);
1077 }
1078 else if (((LA(1) >= 0x61 /* 'a' */ && LA(1) <= 0x66 /* 'f' */ )) && (_tokenSet_1.member(LA(2))) && (true)) {
1079 matchRange('a','f');
1080 }
1081 else if (((LA(1) >= 0x41 /* 'A' */ && LA(1) <= 0x46 /* 'F' */ )) && (_tokenSet_1.member(LA(2))) && (true)) {
1082 matchRange('A','F');
1083 }
1084 else {
1085 if ( _cnt118>=1 ) { goto _loop118; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1086 }
1087
1088 _cnt118++;
1089 }
1090 _loop118:;
1091 } // ( ... )+
1092 break;
1093 }
1094 default:
1095 {
1096 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1097 }
1098 }
1099 }
1100 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1101 _token = makeToken(_ttype);
1102 _token->setText(text.substr(_begin, text.length()-_begin));
1103 }
1104 _returnToken = _token;
1105 _saveIndex=0;
1106 }
1107
1108 void MDLexer::mDigit(bool _createToken) {
1109 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1110 _ttype = Digit;
1111 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1112
1113 matchRange('0','9');
1114 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1115 _token = makeToken(_ttype);
1116 _token->setText(text.substr(_begin, text.length()-_begin));
1117 }
1118 _returnToken = _token;
1119 _saveIndex=0;
1120 }
1121
1122 void MDLexer::mLongSuffix(bool _createToken) {
1123 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1124 _ttype = LongSuffix;
1125 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1126
1127 switch ( LA(1)) {
1128 case 0x6c /* 'l' */ :
1129 {
1130 match('l' /* charlit */ );
1131 break;
1132 }
1133 case 0x4c /* 'L' */ :
1134 {
1135 match('L' /* charlit */ );
1136 break;
1137 }
1138 default:
1139 {
1140 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1141 }
1142 }
1143 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1144 _token = makeToken(_ttype);
1145 _token->setText(text.substr(_begin, text.length()-_begin));
1146 }
1147 _returnToken = _token;
1148 _saveIndex=0;
1149 }
1150
1151 void MDLexer::mUnsignedSuffix(bool _createToken) {
1152 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1153 _ttype = UnsignedSuffix;
1154 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1155
1156 switch ( LA(1)) {
1157 case 0x75 /* 'u' */ :
1158 {
1159 match('u' /* charlit */ );
1160 break;
1161 }
1162 case 0x55 /* 'U' */ :
1163 {
1164 match('U' /* charlit */ );
1165 break;
1166 }
1167 default:
1168 {
1169 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1170 }
1171 }
1172 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1173 _token = makeToken(_ttype);
1174 _token->setText(text.substr(_begin, text.length()-_begin));
1175 }
1176 _returnToken = _token;
1177 _saveIndex=0;
1178 }
1179
1180 void MDLexer::mFloatSuffix(bool _createToken) {
1181 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1182 _ttype = FloatSuffix;
1183 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1184
1185 switch ( LA(1)) {
1186 case 0x66 /* 'f' */ :
1187 {
1188 match('f' /* charlit */ );
1189 break;
1190 }
1191 case 0x46 /* 'F' */ :
1192 {
1193 match('F' /* charlit */ );
1194 break;
1195 }
1196 default:
1197 {
1198 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1199 }
1200 }
1201 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1202 _token = makeToken(_ttype);
1203 _token->setText(text.substr(_begin, text.length()-_begin));
1204 }
1205 _returnToken = _token;
1206 _saveIndex=0;
1207 }
1208
1209 void MDLexer::mExponent(bool _createToken) {
1210 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1211 _ttype = Exponent;
1212 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1213
1214 {
1215 switch ( LA(1)) {
1216 case 0x65 /* 'e' */ :
1217 {
1218 match('e' /* charlit */ );
1219 break;
1220 }
1221 case 0x45 /* 'E' */ :
1222 {
1223 match('E' /* charlit */ );
1224 break;
1225 }
1226 case 0x64 /* 'd' */ :
1227 {
1228 match('d' /* charlit */ );
1229 break;
1230 }
1231 case 0x44 /* 'D' */ :
1232 {
1233 match('D' /* charlit */ );
1234 break;
1235 }
1236 default:
1237 {
1238 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1239 }
1240 }
1241 }
1242 {
1243 switch ( LA(1)) {
1244 case 0x2b /* '+' */ :
1245 {
1246 match('+' /* charlit */ );
1247 break;
1248 }
1249 case 0x2d /* '-' */ :
1250 {
1251 match('-' /* charlit */ );
1252 break;
1253 }
1254 case 0x30 /* '0' */ :
1255 case 0x31 /* '1' */ :
1256 case 0x32 /* '2' */ :
1257 case 0x33 /* '3' */ :
1258 case 0x34 /* '4' */ :
1259 case 0x35 /* '5' */ :
1260 case 0x36 /* '6' */ :
1261 case 0x37 /* '7' */ :
1262 case 0x38 /* '8' */ :
1263 case 0x39 /* '9' */ :
1264 {
1265 break;
1266 }
1267 default:
1268 {
1269 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1270 }
1271 }
1272 }
1273 { // ( ... )+
1274 int _cnt130=0;
1275 for (;;) {
1276 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
1277 mDigit(false);
1278 }
1279 else {
1280 if ( _cnt130>=1 ) { goto _loop130; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1281 }
1282
1283 _cnt130++;
1284 }
1285 _loop130:;
1286 } // ( ... )+
1287 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1288 _token = makeToken(_ttype);
1289 _token->setText(text.substr(_begin, text.length()-_begin));
1290 }
1291 _returnToken = _token;
1292 _saveIndex=0;
1293 }
1294
1295 void MDLexer::mVocabulary(bool _createToken) {
1296 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1297 _ttype = Vocabulary;
1298 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1299
1300 matchRange('\3',static_cast<unsigned char>('\377'));
1301 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1302 _token = makeToken(_ttype);
1303 _token->setText(text.substr(_begin, text.length()-_begin));
1304 }
1305 _returnToken = _token;
1306 _saveIndex=0;
1307 }
1308
1309 void MDLexer::mNumber(bool _createToken) {
1310 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1311 _ttype = Number;
1312 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1313
1314 bool synPredMatched137 = false;
1315 if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_6.member(LA(2))) && (true))) {
1316 int _m137 = mark();
1317 synPredMatched137 = true;
1318 inputState->guessing++;
1319 try {
1320 {
1321 { // ( ... )+
1322 int _cnt135=0;
1323 for (;;) {
1324 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
1325 mDigit(false);
1326 }
1327 else {
1328 if ( _cnt135>=1 ) { goto _loop135; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1329 }
1330
1331 _cnt135++;
1332 }
1333 _loop135:;
1334 } // ( ... )+
1335 {
1336 switch ( LA(1)) {
1337 case 0x2e /* '.' */ :
1338 {
1339 match('.' /* charlit */ );
1340 break;
1341 }
1342 case 0x65 /* 'e' */ :
1343 {
1344 match('e' /* charlit */ );
1345 break;
1346 }
1347 case 0x45 /* 'E' */ :
1348 {
1349 match('E' /* charlit */ );
1350 break;
1351 }
1352 case 0x64 /* 'd' */ :
1353 {
1354 match('d' /* charlit */ );
1355 break;
1356 }
1357 case 0x44 /* 'D' */ :
1358 {
1359 match('D' /* charlit */ );
1360 break;
1361 }
1362 default:
1363 {
1364 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1365 }
1366 }
1367 }
1368 }
1369 }
1370 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
1371 synPredMatched137 = false;
1372 }
1373 rewind(_m137);
1374 inputState->guessing--;
1375 }
1376 if ( synPredMatched137 ) {
1377 { // ( ... )+
1378 int _cnt139=0;
1379 for (;;) {
1380 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
1381 mDigit(false);
1382 }
1383 else {
1384 if ( _cnt139>=1 ) { goto _loop139; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1385 }
1386
1387 _cnt139++;
1388 }
1389 _loop139:;
1390 } // ( ... )+
1391 {
1392 switch ( LA(1)) {
1393 case 0x2e /* '.' */ :
1394 {
1395 match('.' /* charlit */ );
1396 { // ( ... )*
1397 for (;;) {
1398 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
1399 mDigit(false);
1400 }
1401 else {
1402 goto _loop142;
1403 }
1404
1405 }
1406 _loop142:;
1407 } // ( ... )*
1408 {
1409 if ((_tokenSet_7.member(LA(1)))) {
1410 mExponent(false);
1411 }
1412 else {
1413 }
1414
1415 }
1416 if ( inputState->guessing==0 ) {
1417 #line 451 "MDParser.g"
1418 _ttype = FLOATONE;
1419 #line 1420 "MDLexer.cpp"
1420 }
1421 break;
1422 }
1423 case 0x44 /* 'D' */ :
1424 case 0x45 /* 'E' */ :
1425 case 0x64 /* 'd' */ :
1426 case 0x65 /* 'e' */ :
1427 {
1428 mExponent(false);
1429 if ( inputState->guessing==0 ) {
1430 #line 452 "MDParser.g"
1431 _ttype = FLOATTWO;
1432 #line 1433 "MDLexer.cpp"
1433 }
1434 break;
1435 }
1436 default:
1437 {
1438 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1439 }
1440 }
1441 }
1442 {
1443 switch ( LA(1)) {
1444 case 0x46 /* 'F' */ :
1445 case 0x66 /* 'f' */ :
1446 {
1447 mFloatSuffix(false);
1448 break;
1449 }
1450 case 0x4c /* 'L' */ :
1451 case 0x6c /* 'l' */ :
1452 {
1453 mLongSuffix(false);
1454 break;
1455 }
1456 default:
1457 {
1458 }
1459 }
1460 }
1461 }
1462 else if ((LA(1) == 0x30 /* '0' */ ) && (LA(2) == 0x58 /* 'X' */ || LA(2) == 0x78 /* 'x' */ )) {
1463 match('0' /* charlit */ );
1464 {
1465 switch ( LA(1)) {
1466 case 0x78 /* 'x' */ :
1467 {
1468 match('x' /* charlit */ );
1469 break;
1470 }
1471 case 0x58 /* 'X' */ :
1472 {
1473 match('X' /* charlit */ );
1474 break;
1475 }
1476 default:
1477 {
1478 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1479 }
1480 }
1481 }
1482 { // ( ... )+
1483 int _cnt160=0;
1484 for (;;) {
1485 switch ( LA(1)) {
1486 case 0x61 /* 'a' */ :
1487 case 0x62 /* 'b' */ :
1488 case 0x63 /* 'c' */ :
1489 case 0x64 /* 'd' */ :
1490 case 0x65 /* 'e' */ :
1491 case 0x66 /* 'f' */ :
1492 {
1493 matchRange('a','f');
1494 break;
1495 }
1496 case 0x41 /* 'A' */ :
1497 case 0x42 /* 'B' */ :
1498 case 0x43 /* 'C' */ :
1499 case 0x44 /* 'D' */ :
1500 case 0x45 /* 'E' */ :
1501 case 0x46 /* 'F' */ :
1502 {
1503 matchRange('A','F');
1504 break;
1505 }
1506 case 0x30 /* '0' */ :
1507 case 0x31 /* '1' */ :
1508 case 0x32 /* '2' */ :
1509 case 0x33 /* '3' */ :
1510 case 0x34 /* '4' */ :
1511 case 0x35 /* '5' */ :
1512 case 0x36 /* '6' */ :
1513 case 0x37 /* '7' */ :
1514 case 0x38 /* '8' */ :
1515 case 0x39 /* '9' */ :
1516 {
1517 mDigit(false);
1518 break;
1519 }
1520 default:
1521 {
1522 if ( _cnt160>=1 ) { goto _loop160; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1523 }
1524 }
1525 _cnt160++;
1526 }
1527 _loop160:;
1528 } // ( ... )+
1529 { // ( ... )*
1530 for (;;) {
1531 switch ( LA(1)) {
1532 case 0x4c /* 'L' */ :
1533 case 0x6c /* 'l' */ :
1534 {
1535 mLongSuffix(false);
1536 break;
1537 }
1538 case 0x55 /* 'U' */ :
1539 case 0x75 /* 'u' */ :
1540 {
1541 mUnsignedSuffix(false);
1542 break;
1543 }
1544 default:
1545 {
1546 goto _loop162;
1547 }
1548 }
1549 }
1550 _loop162:;
1551 } // ( ... )*
1552 if ( inputState->guessing==0 ) {
1553 #line 480 "MDParser.g"
1554 _ttype = HEXADECIMALINT;
1555 #line 1556 "MDLexer.cpp"
1556 }
1557 }
1558 else if ((LA(1) == 0x2e /* '.' */ )) {
1559 match('.' /* charlit */ );
1560 if ( inputState->guessing==0 ) {
1561 #line 458 "MDParser.g"
1562 _ttype = DOT;
1563 #line 1564 "MDLexer.cpp"
1564 }
1565 {
1566 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
1567 { // ( ... )+
1568 int _cnt147=0;
1569 for (;;) {
1570 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
1571 mDigit(false);
1572 }
1573 else {
1574 if ( _cnt147>=1 ) { goto _loop147; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1575 }
1576
1577 _cnt147++;
1578 }
1579 _loop147:;
1580 } // ( ... )+
1581 {
1582 if ((_tokenSet_7.member(LA(1)))) {
1583 mExponent(false);
1584 }
1585 else {
1586 }
1587
1588 }
1589 if ( inputState->guessing==0 ) {
1590 #line 459 "MDParser.g"
1591 _ttype = FLOATONE;
1592 #line 1593 "MDLexer.cpp"
1593 }
1594 {
1595 switch ( LA(1)) {
1596 case 0x46 /* 'F' */ :
1597 case 0x66 /* 'f' */ :
1598 {
1599 mFloatSuffix(false);
1600 break;
1601 }
1602 case 0x4c /* 'L' */ :
1603 case 0x6c /* 'l' */ :
1604 {
1605 mLongSuffix(false);
1606 break;
1607 }
1608 default:
1609 {
1610 }
1611 }
1612 }
1613 }
1614 else {
1615 }
1616
1617 }
1618 }
1619 else if ((LA(1) == 0x30 /* '0' */ ) && (true) && (true)) {
1620 match('0' /* charlit */ );
1621 { // ( ... )*
1622 for (;;) {
1623 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x37 /* '7' */ ))) {
1624 matchRange('0','7');
1625 }
1626 else {
1627 goto _loop151;
1628 }
1629
1630 }
1631 _loop151:;
1632 } // ( ... )*
1633 { // ( ... )*
1634 for (;;) {
1635 switch ( LA(1)) {
1636 case 0x4c /* 'L' */ :
1637 case 0x6c /* 'l' */ :
1638 {
1639 mLongSuffix(false);
1640 break;
1641 }
1642 case 0x55 /* 'U' */ :
1643 case 0x75 /* 'u' */ :
1644 {
1645 mUnsignedSuffix(false);
1646 break;
1647 }
1648 default:
1649 {
1650 goto _loop153;
1651 }
1652 }
1653 }
1654 _loop153:;
1655 } // ( ... )*
1656 if ( inputState->guessing==0 ) {
1657 #line 469 "MDParser.g"
1658 _ttype = OCTALINT;
1659 #line 1660 "MDLexer.cpp"
1660 }
1661 }
1662 else if (((LA(1) >= 0x31 /* '1' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true)) {
1663 matchRange('1','9');
1664 { // ( ... )*
1665 for (;;) {
1666 if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
1667 mDigit(false);
1668 }
1669 else {
1670 goto _loop155;
1671 }
1672
1673 }
1674 _loop155:;
1675 } // ( ... )*
1676 { // ( ... )*
1677 for (;;) {
1678 switch ( LA(1)) {
1679 case 0x4c /* 'L' */ :
1680 case 0x6c /* 'l' */ :
1681 {
1682 mLongSuffix(false);
1683 break;
1684 }
1685 case 0x55 /* 'U' */ :
1686 case 0x75 /* 'u' */ :
1687 {
1688 mUnsignedSuffix(false);
1689 break;
1690 }
1691 default:
1692 {
1693 goto _loop157;
1694 }
1695 }
1696 }
1697 _loop157:;
1698 } // ( ... )*
1699 if ( inputState->guessing==0 ) {
1700 #line 474 "MDParser.g"
1701 _ttype = DECIMALINT;
1702 #line 1703 "MDLexer.cpp"
1703 }
1704 }
1705 else {
1706 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1707 }
1708
1709 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1710 _token = makeToken(_ttype);
1711 _token->setText(text.substr(_begin, text.length()-_begin));
1712 }
1713 _returnToken = _token;
1714 _saveIndex=0;
1715 }
1716
1717 void MDLexer::mID(bool _createToken) {
1718 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1719 _ttype = ID;
1720 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1721
1722 {
1723 switch ( LA(1)) {
1724 case 0x61 /* 'a' */ :
1725 case 0x62 /* 'b' */ :
1726 case 0x63 /* 'c' */ :
1727 case 0x64 /* 'd' */ :
1728 case 0x65 /* 'e' */ :
1729 case 0x66 /* 'f' */ :
1730 case 0x67 /* 'g' */ :
1731 case 0x68 /* 'h' */ :
1732 case 0x69 /* 'i' */ :
1733 case 0x6a /* 'j' */ :
1734 case 0x6b /* 'k' */ :
1735 case 0x6c /* 'l' */ :
1736 case 0x6d /* 'm' */ :
1737 case 0x6e /* 'n' */ :
1738 case 0x6f /* 'o' */ :
1739 case 0x70 /* 'p' */ :
1740 case 0x71 /* 'q' */ :
1741 case 0x72 /* 'r' */ :
1742 case 0x73 /* 's' */ :
1743 case 0x74 /* 't' */ :
1744 case 0x75 /* 'u' */ :
1745 case 0x76 /* 'v' */ :
1746 case 0x77 /* 'w' */ :
1747 case 0x78 /* 'x' */ :
1748 case 0x79 /* 'y' */ :
1749 case 0x7a /* 'z' */ :
1750 {
1751 matchRange('a','z');
1752 break;
1753 }
1754 case 0x41 /* 'A' */ :
1755 case 0x42 /* 'B' */ :
1756 case 0x43 /* 'C' */ :
1757 case 0x44 /* 'D' */ :
1758 case 0x45 /* 'E' */ :
1759 case 0x46 /* 'F' */ :
1760 case 0x47 /* 'G' */ :
1761 case 0x48 /* 'H' */ :
1762 case 0x49 /* 'I' */ :
1763 case 0x4a /* 'J' */ :
1764 case 0x4b /* 'K' */ :
1765 case 0x4c /* 'L' */ :
1766 case 0x4d /* 'M' */ :
1767 case 0x4e /* 'N' */ :
1768 case 0x4f /* 'O' */ :
1769 case 0x50 /* 'P' */ :
1770 case 0x51 /* 'Q' */ :
1771 case 0x52 /* 'R' */ :
1772 case 0x53 /* 'S' */ :
1773 case 0x54 /* 'T' */ :
1774 case 0x55 /* 'U' */ :
1775 case 0x56 /* 'V' */ :
1776 case 0x57 /* 'W' */ :
1777 case 0x58 /* 'X' */ :
1778 case 0x59 /* 'Y' */ :
1779 case 0x5a /* 'Z' */ :
1780 {
1781 matchRange('A','Z');
1782 break;
1783 }
1784 case 0x5f /* '_' */ :
1785 {
1786 match('_' /* charlit */ );
1787 break;
1788 }
1789 default:
1790 {
1791 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1792 }
1793 }
1794 }
1795 { // ( ... )*
1796 for (;;) {
1797 switch ( LA(1)) {
1798 case 0x61 /* 'a' */ :
1799 case 0x62 /* 'b' */ :
1800 case 0x63 /* 'c' */ :
1801 case 0x64 /* 'd' */ :
1802 case 0x65 /* 'e' */ :
1803 case 0x66 /* 'f' */ :
1804 case 0x67 /* 'g' */ :
1805 case 0x68 /* 'h' */ :
1806 case 0x69 /* 'i' */ :
1807 case 0x6a /* 'j' */ :
1808 case 0x6b /* 'k' */ :
1809 case 0x6c /* 'l' */ :
1810 case 0x6d /* 'm' */ :
1811 case 0x6e /* 'n' */ :
1812 case 0x6f /* 'o' */ :
1813 case 0x70 /* 'p' */ :
1814 case 0x71 /* 'q' */ :
1815 case 0x72 /* 'r' */ :
1816 case 0x73 /* 's' */ :
1817 case 0x74 /* 't' */ :
1818 case 0x75 /* 'u' */ :
1819 case 0x76 /* 'v' */ :
1820 case 0x77 /* 'w' */ :
1821 case 0x78 /* 'x' */ :
1822 case 0x79 /* 'y' */ :
1823 case 0x7a /* 'z' */ :
1824 {
1825 matchRange('a','z');
1826 break;
1827 }
1828 case 0x41 /* 'A' */ :
1829 case 0x42 /* 'B' */ :
1830 case 0x43 /* 'C' */ :
1831 case 0x44 /* 'D' */ :
1832 case 0x45 /* 'E' */ :
1833 case 0x46 /* 'F' */ :
1834 case 0x47 /* 'G' */ :
1835 case 0x48 /* 'H' */ :
1836 case 0x49 /* 'I' */ :
1837 case 0x4a /* 'J' */ :
1838 case 0x4b /* 'K' */ :
1839 case 0x4c /* 'L' */ :
1840 case 0x4d /* 'M' */ :
1841 case 0x4e /* 'N' */ :
1842 case 0x4f /* 'O' */ :
1843 case 0x50 /* 'P' */ :
1844 case 0x51 /* 'Q' */ :
1845 case 0x52 /* 'R' */ :
1846 case 0x53 /* 'S' */ :
1847 case 0x54 /* 'T' */ :
1848 case 0x55 /* 'U' */ :
1849 case 0x56 /* 'V' */ :
1850 case 0x57 /* 'W' */ :
1851 case 0x58 /* 'X' */ :
1852 case 0x59 /* 'Y' */ :
1853 case 0x5a /* 'Z' */ :
1854 {
1855 matchRange('A','Z');
1856 break;
1857 }
1858 case 0x5f /* '_' */ :
1859 {
1860 match('_' /* charlit */ );
1861 break;
1862 }
1863 case 0x30 /* '0' */ :
1864 case 0x31 /* '1' */ :
1865 case 0x32 /* '2' */ :
1866 case 0x33 /* '3' */ :
1867 case 0x34 /* '4' */ :
1868 case 0x35 /* '5' */ :
1869 case 0x36 /* '6' */ :
1870 case 0x37 /* '7' */ :
1871 case 0x38 /* '8' */ :
1872 case 0x39 /* '9' */ :
1873 {
1874 matchRange('0','9');
1875 break;
1876 }
1877 default:
1878 {
1879 goto _loop166;
1880 }
1881 }
1882 }
1883 _loop166:;
1884 } // ( ... )*
1885 _ttype = testLiteralsTable(_ttype);
1886 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1887 _token = makeToken(_ttype);
1888 _token->setText(text.substr(_begin, text.length()-_begin));
1889 }
1890 _returnToken = _token;
1891 _saveIndex=0;
1892 }
1893
1894
1895 const unsigned long MDLexer::_tokenSet_0_data_[] = { 4294958079UL, 4294966271UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1896 // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12
1897 // 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f !
1898 // \" # $ % & \' ( ) + , - . / 0 1 2 3 4 5 6 7
1899 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_0(_tokenSet_0_data_,16);
1900 const unsigned long MDLexer::_tokenSet_1_data_[] = { 4294958079UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1901 // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12
1902 // 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f !
1903 // \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7
1904 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_1(_tokenSet_1_data_,16);
1905 const unsigned long MDLexer::_tokenSet_2_data_[] = { 0UL, 2164195460UL, 268435456UL, 22298694UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1906 // \" \' 0 1 2 3 4 5 6 7
1907 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_2(_tokenSet_2_data_,10);
1908 const unsigned long MDLexer::_tokenSet_3_data_[] = { 4294958079UL, 4294967291UL, 4026531839UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1909 // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12
1910 // 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f !
1911 // # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7
1912 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_3(_tokenSet_3_data_,16);
1913 const unsigned long MDLexer::_tokenSet_4_data_[] = { 0UL, 67043456UL, 126UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1914 // \' 0 1 2 3 4 5 6 7
1915 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_4(_tokenSet_4_data_,10);
1916 const unsigned long MDLexer::_tokenSet_5_data_[] = { 4294967295UL, 4294967167UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1917 // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10
1918 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e
1919 // 0x1f ! \" # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 7
1920 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_5(_tokenSet_5_data_,16);
1921 const unsigned long MDLexer::_tokenSet_6_data_[] = { 0UL, 67059712UL, 48UL, 48UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1922 // . 0 1 2 3 4 5 6 7
1923 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_6(_tokenSet_6_data_,10);
1924 const unsigned long MDLexer::_tokenSet_7_data_[] = { 0UL, 0UL, 48UL, 48UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1925 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_7(_tokenSet_7_data_,10);
1926