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>
13MDLexer::MDLexer(ANTLR_USE_NAMESPACE(std)istream& in)
14 : ANTLR_USE_NAMESPACE(antlr)CharScanner(new ANTLR_USE_NAMESPACE(antlr)CharBuffer(in),true)
19MDLexer::MDLexer(ANTLR_USE_NAMESPACE(antlr)InputBuffer& ib)
20 : ANTLR_USE_NAMESPACE(antlr)CharScanner(ib,true)
25MDLexer::MDLexer(
const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState& state)
26 : ANTLR_USE_NAMESPACE(antlr)CharScanner(state,true)
31void MDLexer::initLiterals()
33 literals[
"Quartic"] = 30;
34 literals[
"UreyBradley"] = 34;
35 literals[
"Harmonic"] = 28;
36 literals[
"flucQ"] = 24;
37 literals[
"satellites"] = 21;
38 literals[
"Opls"] = 38;
39 literals[
"cutoffGroup"] = 14;
40 literals[
"RNEMD"] = 25;
41 literals[
"constraint"] = 15;
42 literals[
"sequence"] = 18;
43 literals[
"Trappe"] = 39;
44 literals[
"distance"] = 16;
45 literals[
"Cosine"] = 35;
46 literals[
"rigidBody"] = 13;
47 literals[
"fragment"] = 17;
48 literals[
"charge"] = 44;
49 literals[
"zconstraint"] = 6;
50 literals[
"minimizer"] = 26;
51 literals[
"Cubic"] = 29;
52 literals[
"component"] = 4;
53 literals[
"GhostBend"] = 33;
54 literals[
"center"] = 20;
55 literals[
"members"] = 19;
56 literals[
"position"] = 22;
57 literals[
"Charmm"] = 37;
58 literals[
"AmberImproper"] = 40;
59 literals[
"Fixed"] = 27;
60 literals[
"Polynomial"] = 31;
61 literals[
"orientation"] = 23;
62 literals[
"bend"] = 10;
63 literals[
"torsion"] = 11;
65 literals[
"molecule"] = 5;
66 literals[
"nodes"] = 45;
67 literals[
"CentralAtomHeight"] = 42;
68 literals[
"Morse"] = 32;
69 literals[
"restraint"] = 7;
70 literals[
"inversion"] = 12;
72 literals[
"GhostTorsion"] = 36;
73 literals[
"ImproperCosine"] = 41;
74 literals[
"Dreiding"] = 43;
77ANTLR_USE_NAMESPACE(antlr)RefToken MDLexer::nextToken()
79 ANTLR_USE_NAMESPACE(antlr)RefToken theRetToken;
81 ANTLR_USE_NAMESPACE(antlr)RefToken theRetToken;
82 int _ttype = ANTLR_USE_NAMESPACE(antlr)Token::INVALID_TYPE;
89 theRetToken=_returnToken;
95 theRetToken=_returnToken;
101 theRetToken=_returnToken;
107 theRetToken=_returnToken;
113 theRetToken=_returnToken;
119 theRetToken=_returnToken;
125 theRetToken=_returnToken;
131 theRetToken=_returnToken;
137 theRetToken=_returnToken;
143 theRetToken=_returnToken;
149 theRetToken=_returnToken;
160 theRetToken=_returnToken;
165 mPREPROC_DIRECTIVE(
true);
166 theRetToken=_returnToken;
171 mStringLiteral(
true);
172 theRetToken=_returnToken;
178 theRetToken=_returnToken;
236 theRetToken=_returnToken;
254 theRetToken=_returnToken;
258 if ((LA(1) == 0x2f ) && (LA(2) == 0x2a )) {
260 theRetToken=_returnToken;
262 else if ((LA(1) == 0x2f ) && (LA(2) == 0x2f )) {
264 theRetToken=_returnToken;
270 _returnToken = makeToken(ANTLR_USE_NAMESPACE(antlr)Token::EOF_TYPE);
272 else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
278 _ttype = _returnToken->getType();
279 _returnToken->setType(_ttype);
282 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& e) {
283 throw ANTLR_USE_NAMESPACE(antlr)TokenStreamRecognitionException(e);
285 catch (ANTLR_USE_NAMESPACE(antlr)CharStreamIOException& csie) {
286 throw ANTLR_USE_NAMESPACE(antlr)TokenStreamIOException(csie.io);
288 catch (ANTLR_USE_NAMESPACE(antlr)CharStreamException& cse) {
289 throw ANTLR_USE_NAMESPACE(antlr)TokenStreamException(cse.getMessage());
295void MDLexer::mASSIGNEQUAL(
bool _createToken) {
296 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
297 _ttype = ASSIGNEQUAL;
298 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
301 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
302 _token = makeToken(_ttype);
303 _token->setText(text.substr(_begin, text.length()-_begin));
305 _returnToken = _token;
309void MDLexer::mCOLON(
bool _createToken) {
310 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
312 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
315 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
316 _token = makeToken(_ttype);
317 _token->setText(text.substr(_begin, text.length()-_begin));
319 _returnToken = _token;
323void MDLexer::mCOMMA(
bool _createToken) {
324 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
326 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
329 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
330 _token = makeToken(_ttype);
331 _token->setText(text.substr(_begin, text.length()-_begin));
333 _returnToken = _token;
337void MDLexer::mQUESTIONMARK(
bool _createToken) {
338 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
339 _ttype = QUESTIONMARK;
340 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
343 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
344 _token = makeToken(_ttype);
345 _token->setText(text.substr(_begin, text.length()-_begin));
347 _returnToken = _token;
351void MDLexer::mSEMICOLON(
bool _createToken) {
352 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
354 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
357 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
358 _token = makeToken(_ttype);
359 _token->setText(text.substr(_begin, text.length()-_begin));
361 _returnToken = _token;
365void MDLexer::mLPAREN(
bool _createToken) {
366 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
368 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
371 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
372 _token = makeToken(_ttype);
373 _token->setText(text.substr(_begin, text.length()-_begin));
375 _returnToken = _token;
379void MDLexer::mRPAREN(
bool _createToken) {
380 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
382 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
385 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
386 _token = makeToken(_ttype);
387 _token->setText(text.substr(_begin, text.length()-_begin));
389 _returnToken = _token;
393void MDLexer::mLBRACKET(
bool _createToken) {
394 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
396 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
399 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
400 _token = makeToken(_ttype);
401 _token->setText(text.substr(_begin, text.length()-_begin));
403 _returnToken = _token;
407void MDLexer::mRBRACKET(
bool _createToken) {
408 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
410 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
413 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
414 _token = makeToken(_ttype);
415 _token->setText(text.substr(_begin, text.length()-_begin));
417 _returnToken = _token;
421void MDLexer::mLCURLY(
bool _createToken) {
422 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
424 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
427 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
428 _token = makeToken(_ttype);
429 _token->setText(text.substr(_begin, text.length()-_begin));
431 _returnToken = _token;
435void MDLexer::mRCURLY(
bool _createToken) {
436 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
438 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
441 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
442 _token = makeToken(_ttype);
443 _token->setText(text.substr(_begin, text.length()-_begin));
445 _returnToken = _token;
449void MDLexer::mWhitespace(
bool _createToken) {
450 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
452 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
479 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
489 if ((LA(1) == 0xd ) && (LA(2) == 0xa )) {
493 else if ((LA(1) == 0xd ) && (
true)) {
496 else if ((LA(1) == 0xa )) {
500 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
504 if ( inputState->guessing==0 ) {
505#line 343 "MDParser.g"
507#line 508 "MDLexer.cpp"
514 if ((LA(1) == 0x5c ) && (LA(2) == 0xd ) && (LA(3) == 0xa )) {
519 else if ((LA(1) == 0x5c ) && (LA(2) == 0xd ) && (
true)) {
523 else if ((LA(1) == 0x5c ) && (LA(2) == 0xa )) {
528 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
532 if ( inputState->guessing==0 ) {
533#line 348 "MDParser.g"
534 printf(
"CPP_parser.g continuation line detected\n");
536#line 537 "MDLexer.cpp"
542 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
546 if ( inputState->guessing==0 ) {
547#line 351 "MDParser.g"
548 _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
549#line 550 "MDLexer.cpp"
551 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
552 _token = makeToken(_ttype);
553 _token->setText(text.substr(_begin, text.length()-_begin));
555 _returnToken = _token;
559void MDLexer::mComment(
bool _createToken) {
560 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
562 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
567 if (((LA(1) == 0x2a ) && ((LA(2) >= 0x0 && LA(2) <= 0xff)) && ((LA(3) >= 0x0 && LA(3) <= 0xff)))&&(LA(2) !=
'/')) {
570 else if ((LA(1) == 0xa || LA(1) == 0xd )) {
572 if ( inputState->guessing==0 ) {
573#line 358 "MDParser.g"
575#line 576 "MDLexer.cpp"
578 else if ((_tokenSet_0.member(LA(1)))) {
591 if ( inputState->guessing==0 ) {
592#line 361 "MDParser.g"
593 _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
594#line 595 "MDLexer.cpp"
596 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
597 _token = makeToken(_ttype);
598 _token->setText(text.substr(_begin, text.length()-_begin));
600 _returnToken = _token;
604void MDLexer::mEndOfLine(
bool _createToken) {
605 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
607 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
610 if ((LA(1) == 0xd ) && (LA(2) == 0xa ) && (
true)) {
613 else if ((LA(1) == 0xd ) && (
true) && (
true)) {
616 else if ((LA(1) == 0xa )) {
620 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
624 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
625 _token = makeToken(_ttype);
626 _token->setText(text.substr(_begin, text.length()-_begin));
628 _returnToken = _token;
632void MDLexer::mCPPComment(
bool _createToken) {
633 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
635 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
640 if ((_tokenSet_1.member(LA(1)))) {
653 if ( inputState->guessing==0 ) {
654#line 367 "MDParser.g"
655 _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline();
656#line 657 "MDLexer.cpp"
658 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
659 _token = makeToken(_ttype);
660 _token->setText(text.substr(_begin, text.length()-_begin));
662 _returnToken = _token;
666void MDLexer::mPREPROC_DIRECTIVE(
bool _createToken) {
667 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
668 _ttype = PREPROC_DIRECTIVE;
669 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
672 mLineDirective(
false);
673 if ( inputState->guessing==0 ) {
674#line 374 "MDParser.g"
675 _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline();
676#line 677 "MDLexer.cpp"
678 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
679 _token = makeToken(_ttype);
680 _token->setText(text.substr(_begin, text.length()-_begin));
682 _returnToken = _token;
686void MDLexer::mLineDirective(
bool _createToken) {
687 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
688 _ttype = LineDirective;
689 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
690 ANTLR_USE_NAMESPACE(antlr)RefToken n;
691 ANTLR_USE_NAMESPACE(antlr)RefToken sl;
693 if ( inputState->guessing==0 ) {
694#line 380 "MDParser.g"
696 deferredLineCount = 0;
698#line 699 "MDLexer.cpp"
715 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
722 if ((LA(1) == 0x9 || LA(1) == 0xc || LA(1) == 0x20 )) {
726 if ( _cnt116>=1 ) {
goto _loop116; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
735 if ( inputState->guessing==0 ) {
736#line 385 "MDParser.g"
737 setLine(OpenMD::lexi_cast<int>(n->getText()) - 1);
738#line 739 "MDLexer.cpp"
743 if ((LA(1) == 0x9 || LA(1) == 0xc || LA(1) == 0x20 )) {
747 if ( _cnt118>=1 ) {
goto _loop118; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
755 mStringLiteral(
true);
758 if ( inputState->guessing==0 ) {
759#line 387 "MDParser.g"
760 std::string filename = sl->getText().substr(1,sl->getText().length()-2); observer->notify(filename);
761#line 762 "MDLexer.cpp"
765 if ((LA(1) == 0x9 || LA(1) == 0xc || LA(1) == 0x20 )) {
769 if ((LA(1) == 0x9 || LA(1) == 0xc || LA(1) == 0x20 )) {
773 if ( _cnt122>=1 ) {
goto _loop122; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
790 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
791 _token = makeToken(_ttype);
792 _token->setText(text.substr(_begin, text.length()-_begin));
794 _returnToken = _token;
798void MDLexer::mSpace(
bool _createToken) {
799 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
801 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
822 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
826 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
827 _token = makeToken(_ttype);
828 _token->setText(text.substr(_begin, text.length()-_begin));
830 _returnToken = _token;
834void MDLexer::mDecimal(
bool _createToken) {
835 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
837 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
842 if (((LA(1) >= 0x30 && LA(1) <= 0x39 ))) {
846 if ( _cnt153>=1 ) {
goto _loop153; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
853 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
854 _token = makeToken(_ttype);
855 _token->setText(text.substr(_begin, text.length()-_begin));
857 _returnToken = _token;
861void MDLexer::mStringLiteral(
bool _createToken) {
862 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
863 _ttype = StringLiteral;
864 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
869 if ((LA(1) == 0x5c ) && (_tokenSet_2.member(LA(2)))) {
872 else if ((LA(1) == 0x5c ) && (LA(2) == 0xa || LA(2) == 0xd )) {
874 if ((LA(1) == 0x5c ) && (LA(2) == 0xd ) && (LA(3) == 0xa )) {
877 else if ((LA(1) == 0x5c ) && (LA(2) == 0xd ) && (_tokenSet_1.member(LA(3)))) {
880 else if ((LA(1) == 0x5c ) && (LA(2) == 0xa )) {
884 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
888 if ( inputState->guessing==0 ) {
889#line 427 "MDParser.g"
891#line 892 "MDLexer.cpp"
894 else if ((_tokenSet_3.member(LA(1)))) {
907 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
908 _token = makeToken(_ttype);
909 _token->setText(text.substr(_begin, text.length()-_begin));
911 _returnToken = _token;
915void MDLexer::mCharLiteral(
bool _createToken) {
916 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
917 _ttype = CharLiteral;
918 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
922 if ((LA(1) == 0x5c ) && (_tokenSet_2.member(LA(2))) && (_tokenSet_4.member(LA(3)))) {
925 else if ((_tokenSet_5.member(LA(1))) && (LA(2) == 0x27 ) && (
true)) {
931 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
936 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
937 _token = makeToken(_ttype);
938 _token->setText(text.substr(_begin, text.length()-_begin));
940 _returnToken = _token;
944void MDLexer::mEscape(
bool _createToken) {
945 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
947 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1013 matchRange(
'0',
'3');
1016 if (((LA(1) >= 0x30 && LA(1) <= 0x39 )) && (_tokenSet_1.member(LA(2))) && (
true)) {
1019 if (((LA(1) >= 0x30 && LA(1) <= 0x39 )) && (_tokenSet_1.member(LA(2))) && (
true)) {
1022 else if ((_tokenSet_1.member(LA(1))) && (
true) && (
true)) {
1025 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1030 else if ((_tokenSet_1.member(LA(1))) && (
true) && (
true)) {
1033 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1045 matchRange(
'4',
'7');
1048 if (((LA(1) >= 0x30 && LA(1) <= 0x39 )) && (_tokenSet_1.member(LA(2))) && (
true)) {
1051 else if ((_tokenSet_1.member(LA(1))) && (
true) && (
true)) {
1054 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1066 if (((LA(1) >= 0x30 && LA(1) <= 0x39 )) && (_tokenSet_1.member(LA(2))) && (
true)) {
1069 else if (((LA(1) >= 0x61 && LA(1) <= 0x66 )) && (_tokenSet_1.member(LA(2))) && (
true)) {
1070 matchRange(
'a',
'f');
1072 else if (((LA(1) >= 0x41 && LA(1) <= 0x46 )) && (_tokenSet_1.member(LA(2))) && (
true)) {
1073 matchRange(
'A',
'F');
1076 if ( _cnt144>=1 ) {
goto _loop144; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1087 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1091 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1092 _token = makeToken(_ttype);
1093 _token->setText(text.substr(_begin, text.length()-_begin));
1095 _returnToken = _token;
1099void MDLexer::mDigit(
bool _createToken) {
1100 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1102 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1104 matchRange(
'0',
'9');
1105 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1106 _token = makeToken(_ttype);
1107 _token->setText(text.substr(_begin, text.length()-_begin));
1109 _returnToken = _token;
1113void MDLexer::mVocabulary(
bool _createToken) {
1114 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1115 _ttype = Vocabulary;
1116 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1118 matchRange(
'\3',
static_cast<unsigned char>(
'\377'));
1119 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1120 _token = makeToken(_ttype);
1121 _token->setText(text.substr(_begin, text.length()-_begin));
1123 _returnToken = _token;
1127void MDLexer::mID(
bool _createToken) {
1128 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1130 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1161 matchRange(
'a',
'z');
1191 matchRange(
'A',
'Z');
1201 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1235 matchRange(
'a',
'z');
1265 matchRange(
'A',
'Z');
1284 matchRange(
'0',
'9');
1295 _ttype = testLiteralsTable(_ttype);
1296 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1297 _token = makeToken(_ttype);
1298 _token->setText(text.substr(_begin, text.length()-_begin));
1300 _returnToken = _token;
1304void MDLexer::mHEX_DIGIT(
bool _createToken) {
1305 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1307 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1322 matchRange(
'0',
'9');
1332 matchRange(
'A',
'F');
1342 matchRange(
'a',
'f');
1347 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1351 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1352 _token = makeToken(_ttype);
1353 _token->setText(text.substr(_begin, text.length()-_begin));
1355 _returnToken = _token;
1359void MDLexer::mNUM_INT(
bool _createToken) {
1360 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1362 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1363 ANTLR_USE_NAMESPACE(antlr)RefToken f1;
1364 ANTLR_USE_NAMESPACE(antlr)RefToken f2;
1365 ANTLR_USE_NAMESPACE(antlr)RefToken f3;
1366 ANTLR_USE_NAMESPACE(antlr)RefToken f4;
1367#line 520 "MDParser.g"
1369 bool isDecimal =
false;
1370 ANTLR_USE_NAMESPACE(antlr)RefToken t = ANTLR_USE_NAMESPACE(antlr)nullToken;
1372#line 1373 "MDLexer.cpp"
1402 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1411 if ( inputState->guessing==0 ) {
1412#line 527 "MDParser.g"
1414#line 1415 "MDLexer.cpp"
1417 if (((LA(1) >= 0x30 && LA(1) <= 0x39 ))) {
1421 if (((LA(1) >= 0x30 && LA(1) <= 0x39 ))) {
1422 matchRange(
'0',
'9');
1425 if ( _cnt161>=1 ) {
goto _loop161; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1433 if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) {
1441 if ((_tokenSet_8.member(LA(1)))) {
1442 mFLOAT_SUFFIX(
true);
1444 if ( inputState->guessing==0 ) {
1445#line 528 "MDParser.g"
1447#line 1448 "MDLexer.cpp"
1454 if ( inputState->guessing==0 ) {
1455#line 529 "MDParser.g"
1458 (t->getText().find(
'f') != ANTLR_USE_NAMESPACE(std)string::npos ||
1459 t->getText().find(
'F') != ANTLR_USE_NAMESPACE(std)string::npos ) ) {
1463 _ttype = NUM_DOUBLE;
1466#line 1467 "MDLexer.cpp"
1491 if ( inputState->guessing==0 ) {
1492#line 541 "MDParser.g"
1494#line 1495 "MDLexer.cpp"
1497 if ((LA(1) == 0x58 || LA(1) == 0x78 )) {
1512 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1519 if ((_tokenSet_9.member(LA(1))) && (
true) && (
true)) {
1523 if ( _cnt168>=1 ) {
goto _loop168; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1532 bool synPredMatched173 =
false;
1533 if ((((LA(1) >= 0x30 && LA(1) <= 0x39 )) && (
true) && (
true))) {
1535 synPredMatched173 =
true;
1536 inputState->guessing++;
1542 if (((LA(1) >= 0x30 && LA(1) <= 0x39 ))) {
1543 matchRange(
'0',
'9');
1546 if ( _cnt171>=1 ) {
goto _loop171; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1554 if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) {
1557 else if ((LA(1) == 0x2e )) {
1560 else if ((_tokenSet_8.member(LA(1))) && (
true)) {
1561 mFLOAT_SUFFIX(
false);
1564 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1570 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
1571 synPredMatched173 =
false;
1574 inputState->guessing--;
1576 if ( synPredMatched173 ) {
1580 if (((LA(1) >= 0x30 && LA(1) <= 0x39 ))) {
1581 matchRange(
'0',
'9');
1584 if ( _cnt175>=1 ) {
goto _loop175; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1592 else if (((LA(1) >= 0x30 && LA(1) <= 0x37 )) && (
true) && (
true)) {
1596 if (((LA(1) >= 0x30 && LA(1) <= 0x37 ))) {
1597 matchRange(
'0',
'7');
1600 if ( _cnt177>=1 ) {
goto _loop177; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1625 matchRange(
'1',
'9');
1629 if (((LA(1) >= 0x30 && LA(1) <= 0x39 ))) {
1630 matchRange(
'0',
'9');
1639 if ( inputState->guessing==0 ) {
1640#line 558 "MDParser.g"
1642#line 1643 "MDLexer.cpp"
1648 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1653 if ((LA(1) == 0x4c || LA(1) == 0x6c )) {
1668 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1672 if ( inputState->guessing==0 ) {
1673#line 560 "MDParser.g"
1675#line 1676 "MDLexer.cpp"
1678 else if (((_tokenSet_10.member(LA(1))))&&(isDecimal)) {
1680 if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) {
1683 if ((_tokenSet_8.member(LA(1)))) {
1684 mFLOAT_SUFFIX(
true);
1686 if ( inputState->guessing==0 ) {
1687#line 565 "MDParser.g"
1689#line 1690 "MDLexer.cpp"
1697 else if ((LA(1) == 0x2e )) {
1701 if (((LA(1) >= 0x30 && LA(1) <= 0x39 ))) {
1702 matchRange(
'0',
'9');
1712 if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) {
1720 if ((_tokenSet_8.member(LA(1)))) {
1721 mFLOAT_SUFFIX(
true);
1723 if ( inputState->guessing==0 ) {
1724#line 564 "MDParser.g"
1726#line 1727 "MDLexer.cpp"
1734 else if ((_tokenSet_8.member(LA(1))) && (
true)) {
1735 mFLOAT_SUFFIX(
true);
1737 if ( inputState->guessing==0 ) {
1738#line 566 "MDParser.g"
1740#line 1741 "MDLexer.cpp"
1744 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1748 if ( inputState->guessing==0 ) {
1749#line 568 "MDParser.g"
1752 (t->getText().find(
'f') != ANTLR_USE_NAMESPACE(std)string::npos ||
1753 t->getText().find(
'F') != ANTLR_USE_NAMESPACE(std)string::npos ) ) {
1757 _ttype = NUM_DOUBLE;
1760#line 1761 "MDLexer.cpp"
1771 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1775 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1776 _token = makeToken(_ttype);
1777 _token->setText(text.substr(_begin, text.length()-_begin));
1779 _returnToken = _token;
1783void MDLexer::mEXPONENT(
bool _createToken) {
1784 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1786 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1812 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1843 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1850 if (((LA(1) >= 0x30 && LA(1) <= 0x39 ))) {
1851 matchRange(
'0',
'9');
1854 if ( _cnt193>=1 ) {
goto _loop193; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
1861 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1862 _token = makeToken(_ttype);
1863 _token->setText(text.substr(_begin, text.length()-_begin));
1865 _returnToken = _token;
1869void MDLexer::mFLOAT_SUFFIX(
bool _createToken) {
1870 int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
1871 _ttype = FLOAT_SUFFIX;
1872 ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
1897 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
1900 if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
1901 _token = makeToken(_ttype);
1902 _token->setText(text.substr(_begin, text.length()-_begin));
1904 _returnToken = _token;
1909const unsigned long MDLexer::_tokenSet_0_data_[] = { 4294958079UL, 4294966271UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1914const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_0(_tokenSet_0_data_,16);
1915const unsigned long MDLexer::_tokenSet_1_data_[] = { 4294958079UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1920const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_1(_tokenSet_1_data_,16);
1921const unsigned long MDLexer::_tokenSet_2_data_[] = { 0UL, 2164195460UL, 268435456UL, 22298694UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1923const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_2(_tokenSet_2_data_,10);
1924const unsigned long MDLexer::_tokenSet_3_data_[] = { 4294958079UL, 4294967291UL, 4026531839UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1929const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_3(_tokenSet_3_data_,16);
1930const unsigned long MDLexer::_tokenSet_4_data_[] = { 0UL, 67043456UL, 126UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1932const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_4(_tokenSet_4_data_,10);
1933const unsigned long MDLexer::_tokenSet_5_data_[] = { 4294967295UL, 4294967167UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1938const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_5(_tokenSet_5_data_,16);
1939const unsigned long MDLexer::_tokenSet_6_data_[] = { 0UL, 0UL, 48UL, 48UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1941const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_6(_tokenSet_6_data_,10);
1942const unsigned long MDLexer::_tokenSet_7_data_[] = { 0UL, 67053568UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1944const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_7(_tokenSet_7_data_,10);
1945const unsigned long MDLexer::_tokenSet_8_data_[] = { 0UL, 0UL, 80UL, 80UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1947const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_8(_tokenSet_8_data_,10);
1948const unsigned long MDLexer::_tokenSet_9_data_[] = { 0UL, 67043328UL, 126UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1950const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_9(_tokenSet_9_data_,10);
1951const unsigned long MDLexer::_tokenSet_10_data_[] = { 0UL, 16384UL, 112UL, 112UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
1953const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_10(_tokenSet_10_data_,10);