--- trunk/src/mdParser/MDLexer.cpp 2005/12/14 18:02:28 810 +++ trunk/src/mdParser/MDLexer.cpp 2014/02/26 14:14:50 1969 @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.5 (20050406): "MDParser.g" -> "MDLexer.cpp"$ */ +/* $ANTLR 2.7.7 (20121118): "MDParser.g" -> "MDLexer.cpp"$ */ #include "MDLexer.hpp" #include #include @@ -17,7 +17,7 @@ MDLexer::MDLexer(ANTLR_USE_NAMESPACE(antlr)InputBuffer } MDLexer::MDLexer(ANTLR_USE_NAMESPACE(antlr)InputBuffer& ib) - : ANTLR_USE_NAMESPACE(antlr)CharScanner(ib,true) + : ANTLR_USE_NAMESPACE(antlr)CharScanner(ib, true) { initLiterals(); } @@ -30,19 +30,26 @@ void MDLexer::initLiterals() void MDLexer::initLiterals() { - literals["members"] = 14; - literals["position"] = 15; - literals["torsion"] = 10; - literals["component"] = 4; - literals["rigidBody"] = 11; + literals["flucQ"] = 21; + literals["satellites"] = 18; + literals["cutoffGroup"] = 14; + literals["RNEMD"] = 22; + literals["rigidBody"] = 13; + literals["fragment"] = 15; literals["zconstraint"] = 6; - literals["cutoffGroup"] = 12; - literals["bend"] = 9; - literals["orientation"] = 16; - literals["fragment"] = 13; - literals["bond"] = 8; + literals["minimizer"] = 23; + literals["component"] = 4; + literals["center"] = 17; + literals["members"] = 16; + literals["position"] = 19; + literals["orientation"] = 20; + literals["bend"] = 10; + literals["torsion"] = 11; + literals["atom"] = 8; literals["molecule"] = 5; - literals["atom"] = 7; + literals["restraint"] = 7; + literals["inversion"] = 12; + literals["bond"] = 9; } ANTLR_USE_NAMESPACE(antlr)RefToken MDLexer::nextToken() @@ -149,24 +156,6 @@ ANTLR_USE_NAMESPACE(antlr)RefToken MDLexer::nextToken( theRetToken=_returnToken; break; } - case 0x2b /* '+' */ : - case 0x2d /* '-' */ : - case 0x2e /* '.' */ : - case 0x30 /* '0' */ : - case 0x31 /* '1' */ : - case 0x32 /* '2' */ : - case 0x33 /* '3' */ : - case 0x34 /* '4' */ : - case 0x35 /* '5' */ : - case 0x36 /* '6' */ : - case 0x37 /* '7' */ : - case 0x38 /* '8' */ : - case 0x39 /* '9' */ : - { - mNumber(true); - theRetToken=_returnToken; - break; - } case 0x41 /* 'A' */ : case 0x42 /* 'B' */ : case 0x43 /* 'C' */ : @@ -225,6 +214,24 @@ ANTLR_USE_NAMESPACE(antlr)RefToken MDLexer::nextToken( theRetToken=_returnToken; break; } + case 0x2b /* '+' */ : + case 0x2d /* '-' */ : + case 0x2e /* '.' */ : + case 0x30 /* '0' */ : + case 0x31 /* '1' */ : + case 0x32 /* '2' */ : + case 0x33 /* '3' */ : + case 0x34 /* '4' */ : + case 0x35 /* '5' */ : + case 0x36 /* '6' */ : + case 0x37 /* '7' */ : + case 0x38 /* '8' */ : + case 0x39 /* '9' */ : + { + mNUM_INT(true); + theRetToken=_returnToken; + break; + } default: if ((LA(1) == 0x2f /* '/' */ ) && (LA(2) == 0x2a /* '*' */ )) { mComment(true); @@ -473,9 +480,9 @@ void MDLexer::mWhitespace(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 259 "MDParser.g" +#line 255 "MDParser.g" newline(); -#line 479 "MDLexer.cpp" +#line 486 "MDLexer.cpp" } break; } @@ -501,10 +508,10 @@ void MDLexer::mWhitespace(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 264 "MDParser.g" +#line 260 "MDParser.g" printf("CPP_parser.g continuation line detected\n"); deferredNewline(); -#line 508 "MDLexer.cpp" +#line 515 "MDLexer.cpp" } break; } @@ -515,9 +522,9 @@ void MDLexer::mWhitespace(bool _createToken) { } } if ( inputState->guessing==0 ) { -#line 267 "MDParser.g" +#line 263 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; -#line 521 "MDLexer.cpp" +#line 528 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -541,9 +548,9 @@ void MDLexer::mComment(bool _createToken) { else if ((LA(1) == 0xa /* '\n' */ || LA(1) == 0xd /* '\r' */ )) { mEndOfLine(false); if ( inputState->guessing==0 ) { -#line 274 "MDParser.g" +#line 270 "MDParser.g" deferredNewline(); -#line 547 "MDLexer.cpp" +#line 554 "MDLexer.cpp" } } else if ((_tokenSet_0.member(LA(1)))) { @@ -552,17 +559,17 @@ void MDLexer::mComment(bool _createToken) { } } else { - goto _loop78; + goto _loop96; } } - _loop78:; + _loop96:; } // ( ... )* match("*/"); if ( inputState->guessing==0 ) { -#line 277 "MDParser.g" +#line 273 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; -#line 566 "MDLexer.cpp" +#line 573 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -614,17 +621,17 @@ void MDLexer::mCPPComment(bool _createToken) { } } else { - goto _loop82; + goto _loop100; } } - _loop82:; + _loop100:; } // ( ... )* mEndOfLine(false); if ( inputState->guessing==0 ) { -#line 283 "MDParser.g" +#line 279 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline(); -#line 628 "MDLexer.cpp" +#line 635 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -642,9 +649,9 @@ void MDLexer::mPREPROC_DIRECTIVE(bool _createToken) { match('#' /* charlit */ ); mLineDirective(false); if ( inputState->guessing==0 ) { -#line 290 "MDParser.g" +#line 286 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline(); -#line 648 "MDLexer.cpp" +#line 655 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -662,11 +669,11 @@ void MDLexer::mLineDirective(bool _createToken) { ANTLR_USE_NAMESPACE(antlr)RefToken sl; if ( inputState->guessing==0 ) { -#line 296 "MDParser.g" +#line 292 "MDParser.g" deferredLineCount = 0; -#line 670 "MDLexer.cpp" +#line 677 "MDLexer.cpp" } { switch ( LA(1)) { @@ -688,74 +695,74 @@ void MDLexer::mLineDirective(bool _createToken) { } } { // ( ... )+ - int _cnt87=0; + int _cnt105=0; for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { mSpace(false); } else { - if ( _cnt87>=1 ) { goto _loop87; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt105>=1 ) { goto _loop105; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt87++; + _cnt105++; } - _loop87:; + _loop105:; } // ( ... )+ mDecimal(true); n=_returnToken; if ( inputState->guessing==0 ) { -#line 301 "MDParser.g" - setLine(oopse::lexi_cast(n->getText()) - 1); -#line 710 "MDLexer.cpp" +#line 297 "MDParser.g" + setLine(OpenMD::lexi_cast(n->getText()) - 1); +#line 717 "MDLexer.cpp" } { // ( ... )+ - int _cnt89=0; + int _cnt107=0; for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { mSpace(false); } else { - if ( _cnt89>=1 ) { goto _loop89; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt107>=1 ) { goto _loop107; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt89++; + _cnt107++; } - _loop89:; + _loop107:; } // ( ... )+ { mStringLiteral(true); sl=_returnToken; } if ( inputState->guessing==0 ) { -#line 303 "MDParser.g" +#line 299 "MDParser.g" std::string filename = sl->getText().substr(1,sl->getText().length()-2); observer->notify(filename); -#line 733 "MDLexer.cpp" +#line 740 "MDLexer.cpp" } { // ( ... )* for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { { // ( ... )+ - int _cnt93=0; + int _cnt111=0; for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { mSpace(false); } else { - if ( _cnt93>=1 ) { goto _loop93; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt111>=1 ) { goto _loop111; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt93++; + _cnt111++; } - _loop93:; + _loop111:; } // ( ... )+ mDecimal(false); } else { - goto _loop94; + goto _loop112; } } - _loop94:; + _loop112:; } // ( ... )* mEndOfLine(false); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -808,18 +815,18 @@ void MDLexer::mDecimal(bool _createToken) { ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { // ( ... )+ - int _cnt119=0; + int _cnt142=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { matchRange('0','9'); } else { - if ( _cnt119>=1 ) { goto _loop119; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt142>=1 ) { goto _loop142; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt119++; + _cnt142++; } - _loop119:; + _loop142:; } // ( ... )+ if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -857,9 +864,9 @@ void MDLexer::mStringLiteral(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 343 "MDParser.g" +#line 339 "MDParser.g" deferredNewline(); -#line 863 "MDLexer.cpp" +#line 870 "MDLexer.cpp" } } else if ((_tokenSet_3.member(LA(1)))) { @@ -868,11 +875,11 @@ void MDLexer::mStringLiteral(bool _createToken) { } } else { - goto _loop104; + goto _loop122; } } - _loop104:; + _loop122:; } // ( ... )* match('\"' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1032,7 +1039,7 @@ void MDLexer::mEscape(bool _createToken) { { match('x' /* charlit */ ); { // ( ... )+ - int _cnt115=0; + int _cnt133=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_1.member(LA(2))) && (true)) { mDigit(false); @@ -1044,12 +1051,12 @@ void MDLexer::mEscape(bool _createToken) { matchRange('A','F'); } else { - if ( _cnt115>=1 ) { goto _loop115; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt133>=1 ) { goto _loop133; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt115++; + _cnt133++; } - _loop115:; + _loop133:; } // ( ... )+ break; } @@ -1081,27 +1088,12 @@ void MDLexer::mDigit(bool _createToken) { _saveIndex=0; } -void MDLexer::mLongSuffix(bool _createToken) { +void MDLexer::mVocabulary(bool _createToken) { int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = LongSuffix; + _ttype = Vocabulary; ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - switch ( LA(1)) { - case 0x6c /* 'l' */ : - { - match('l' /* charlit */ ); - break; - } - case 0x4c /* 'L' */ : - { - match('L' /* charlit */ ); - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); - } - } + matchRange('\3',static_cast('\377')); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -1110,56 +1102,175 @@ void MDLexer::mLongSuffix(bool _createToken) { _saveIndex=0; } -void MDLexer::mUnsignedSuffix(bool _createToken) { +void MDLexer::mID(bool _createToken) { int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = UnsignedSuffix; + _ttype = ID; ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; + { switch ( LA(1)) { + case 0x61 /* 'a' */ : + case 0x62 /* 'b' */ : + case 0x63 /* 'c' */ : + case 0x64 /* 'd' */ : + case 0x65 /* 'e' */ : + case 0x66 /* 'f' */ : + case 0x67 /* 'g' */ : + case 0x68 /* 'h' */ : + case 0x69 /* 'i' */ : + case 0x6a /* 'j' */ : + case 0x6b /* 'k' */ : + case 0x6c /* 'l' */ : + case 0x6d /* 'm' */ : + case 0x6e /* 'n' */ : + case 0x6f /* 'o' */ : + case 0x70 /* 'p' */ : + case 0x71 /* 'q' */ : + case 0x72 /* 'r' */ : + case 0x73 /* 's' */ : + case 0x74 /* 't' */ : case 0x75 /* 'u' */ : + case 0x76 /* 'v' */ : + case 0x77 /* 'w' */ : + case 0x78 /* 'x' */ : + case 0x79 /* 'y' */ : + case 0x7a /* 'z' */ : { - match('u' /* charlit */ ); + matchRange('a','z'); break; } + case 0x41 /* 'A' */ : + case 0x42 /* 'B' */ : + case 0x43 /* 'C' */ : + case 0x44 /* 'D' */ : + case 0x45 /* 'E' */ : + case 0x46 /* 'F' */ : + case 0x47 /* 'G' */ : + case 0x48 /* 'H' */ : + case 0x49 /* 'I' */ : + case 0x4a /* 'J' */ : + case 0x4b /* 'K' */ : + case 0x4c /* 'L' */ : + case 0x4d /* 'M' */ : + case 0x4e /* 'N' */ : + case 0x4f /* 'O' */ : + case 0x50 /* 'P' */ : + case 0x51 /* 'Q' */ : + case 0x52 /* 'R' */ : + case 0x53 /* 'S' */ : + case 0x54 /* 'T' */ : case 0x55 /* 'U' */ : + case 0x56 /* 'V' */ : + case 0x57 /* 'W' */ : + case 0x58 /* 'X' */ : + case 0x59 /* 'Y' */ : + case 0x5a /* 'Z' */ : { - match('U' /* charlit */ ); + matchRange('A','Z'); break; } - default: + case 0x5f /* '_' */ : { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); - } - } - if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { - _token = makeToken(_ttype); - _token->setText(text.substr(_begin, text.length()-_begin)); - } - _returnToken = _token; - _saveIndex=0; -} - -void MDLexer::mFloatSuffix(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = FloatSuffix; - ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - - switch ( LA(1)) { - case 0x66 /* 'f' */ : - { - match('f' /* charlit */ ); + match('_' /* charlit */ ); break; } - case 0x46 /* 'F' */ : - { - match('F' /* charlit */ ); - break; - } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } } + } + { // ( ... )* + for (;;) { + switch ( LA(1)) { + case 0x61 /* 'a' */ : + case 0x62 /* 'b' */ : + case 0x63 /* 'c' */ : + case 0x64 /* 'd' */ : + case 0x65 /* 'e' */ : + case 0x66 /* 'f' */ : + case 0x67 /* 'g' */ : + case 0x68 /* 'h' */ : + case 0x69 /* 'i' */ : + case 0x6a /* 'j' */ : + case 0x6b /* 'k' */ : + case 0x6c /* 'l' */ : + case 0x6d /* 'm' */ : + case 0x6e /* 'n' */ : + case 0x6f /* 'o' */ : + case 0x70 /* 'p' */ : + case 0x71 /* 'q' */ : + case 0x72 /* 'r' */ : + case 0x73 /* 's' */ : + case 0x74 /* 't' */ : + case 0x75 /* 'u' */ : + case 0x76 /* 'v' */ : + case 0x77 /* 'w' */ : + case 0x78 /* 'x' */ : + case 0x79 /* 'y' */ : + case 0x7a /* 'z' */ : + { + matchRange('a','z'); + break; + } + case 0x41 /* 'A' */ : + case 0x42 /* 'B' */ : + case 0x43 /* 'C' */ : + case 0x44 /* 'D' */ : + case 0x45 /* 'E' */ : + case 0x46 /* 'F' */ : + case 0x47 /* 'G' */ : + case 0x48 /* 'H' */ : + case 0x49 /* 'I' */ : + case 0x4a /* 'J' */ : + case 0x4b /* 'K' */ : + case 0x4c /* 'L' */ : + case 0x4d /* 'M' */ : + case 0x4e /* 'N' */ : + case 0x4f /* 'O' */ : + case 0x50 /* 'P' */ : + case 0x51 /* 'Q' */ : + case 0x52 /* 'R' */ : + case 0x53 /* 'S' */ : + case 0x54 /* 'T' */ : + case 0x55 /* 'U' */ : + case 0x56 /* 'V' */ : + case 0x57 /* 'W' */ : + case 0x58 /* 'X' */ : + case 0x59 /* 'Y' */ : + case 0x5a /* 'Z' */ : + { + matchRange('A','Z'); + break; + } + case 0x5f /* '_' */ : + { + match('_' /* charlit */ ); + break; + } + case 0x30 /* '0' */ : + case 0x31 /* '1' */ : + case 0x32 /* '2' */ : + case 0x33 /* '3' */ : + case 0x34 /* '4' */ : + case 0x35 /* '5' */ : + case 0x36 /* '6' */ : + case 0x37 /* '7' */ : + case 0x38 /* '8' */ : + case 0x39 /* '9' */ : + { + matchRange('0','9'); + break; + } + default: + { + goto _loop138; + } + } + } + _loop138:; + } // ( ... )* + _ttype = testLiteralsTable(_ttype); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -1168,51 +1279,13 @@ void MDLexer::mFloatSuffix(bool _createToken) { _saveIndex=0; } -void MDLexer::mExponent(bool _createToken) { +void MDLexer::mHEX_DIGIT(bool _createToken) { int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = Exponent; + _ttype = HEX_DIGIT; ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { switch ( LA(1)) { - case 0x65 /* 'e' */ : - { - match('e' /* charlit */ ); - break; - } - case 0x45 /* 'E' */ : - { - match('E' /* charlit */ ); - break; - } - case 0x64 /* 'd' */ : - { - match('d' /* charlit */ ); - break; - } - case 0x44 /* 'D' */ : - { - match('D' /* charlit */ ); - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - switch ( LA(1)) { - case 0x2b /* '+' */ : - { - match('+' /* charlit */ ); - break; - } - case 0x2d /* '-' */ : - { - match('-' /* charlit */ ); - break; - } case 0x30 /* '0' */ : case 0x31 /* '1' */ : case 0x32 /* '2' */ : @@ -1224,28 +1297,35 @@ void MDLexer::mExponent(bool _createToken) { case 0x38 /* '8' */ : case 0x39 /* '9' */ : { + matchRange('0','9'); break; } + case 0x41 /* 'A' */ : + case 0x42 /* 'B' */ : + case 0x43 /* 'C' */ : + case 0x44 /* 'D' */ : + case 0x45 /* 'E' */ : + case 0x46 /* 'F' */ : + { + matchRange('A','F'); + break; + } + case 0x61 /* 'a' */ : + case 0x62 /* 'b' */ : + case 0x63 /* 'c' */ : + case 0x64 /* 'd' */ : + case 0x65 /* 'e' */ : + case 0x66 /* 'f' */ : + { + matchRange('a','f'); + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } } } - { // ( ... )+ - int _cnt127=0; - for (;;) { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); - } - else { - if ( _cnt127>=1 ) { goto _loop127; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt127++; - } - _loop127:; - } // ( ... )+ if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -1254,24 +1334,20 @@ void MDLexer::mExponent(bool _createToken) { _saveIndex=0; } -void MDLexer::mVocabulary(bool _createToken) { +void MDLexer::mNUM_INT(bool _createToken) { int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = Vocabulary; + _ttype = NUM_INT; ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; + ANTLR_USE_NAMESPACE(antlr)RefToken f1; + ANTLR_USE_NAMESPACE(antlr)RefToken f2; + ANTLR_USE_NAMESPACE(antlr)RefToken f3; + ANTLR_USE_NAMESPACE(antlr)RefToken f4; +#line 432 "MDParser.g" - matchRange('\3',static_cast('\377')); - if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { - _token = makeToken(_ttype); - _token->setText(text.substr(_begin, text.length()-_begin)); - } - _returnToken = _token; - _saveIndex=0; -} - -void MDLexer::mNumber(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = Number; - ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; + bool isDecimal = false; + ANTLR_USE_NAMESPACE(antlr)RefToken t = ANTLR_USE_NAMESPACE(antlr)nullToken; + +#line 1351 "MDLexer.cpp" { switch ( LA(1)) { @@ -1306,402 +1382,374 @@ void MDLexer::mNumber(bool _createToken) { } } { - bool synPredMatched136 = false; - if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_6.member(LA(2))) && (true))) { - int _m136 = mark(); - synPredMatched136 = true; - inputState->guessing++; - try { - { + switch ( LA(1)) { + case 0x2e /* '.' */ : + { + match('.' /* charlit */ ); + if ( inputState->guessing==0 ) { +#line 439 "MDParser.g" + _ttype = DOT; +#line 1393 "MDLexer.cpp" + } + { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { { // ( ... )+ - int _cnt134=0; + int _cnt150=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); + matchRange('0','9'); } else { - if ( _cnt134>=1 ) { goto _loop134; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt150>=1 ) { goto _loop150; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt134++; + _cnt150++; } - _loop134:; + _loop150:; } // ( ... )+ { - switch ( LA(1)) { - case 0x2e /* '.' */ : - { - match('.' /* charlit */ ); - break; + if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) { + mEXPONENT(false); } - case 0x65 /* 'e' */ : - { - match('e' /* charlit */ ); - break; + else { } - case 0x45 /* 'E' */ : - { - match('E' /* charlit */ ); - break; + } - case 0x64 /* 'd' */ : { - match('d' /* charlit */ ); - break; - } - case 0x44 /* 'D' */ : - { - match('D' /* charlit */ ); - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); - } - } - } - } - } - catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { - synPredMatched136 = false; - } - rewind(_m136); - inputState->guessing--; - } - if ( synPredMatched136 ) { - { // ( ... )+ - int _cnt138=0; - for (;;) { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); - } - else { - if ( _cnt138>=1 ) { goto _loop138; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt138++; - } - _loop138:; - } // ( ... )+ - { - switch ( LA(1)) { - case 0x2e /* '.' */ : - { - match('.' /* charlit */ ); - { // ( ... )* - for (;;) { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); + if ((_tokenSet_8.member(LA(1)))) { + mFLOAT_SUFFIX(true); + f1=_returnToken; + if ( inputState->guessing==0 ) { +#line 440 "MDParser.g" + t=f1; +#line 1426 "MDLexer.cpp" } - else { - goto _loop141; - } - } - _loop141:; - } // ( ... )* - { - if ((_tokenSet_7.member(LA(1)))) { - mExponent(false); - } else { } } if ( inputState->guessing==0 ) { -#line 450 "MDParser.g" - _ttype = FLOATONE; -#line 1415 "MDLexer.cpp" +#line 441 "MDParser.g" + + if ( t && + (t->getText().find('f') != ANTLR_USE_NAMESPACE(std)string::npos || + t->getText().find('F') != ANTLR_USE_NAMESPACE(std)string::npos ) ) { + _ttype = NUM_FLOAT; + } + else { + _ttype = NUM_DOUBLE; // assume double + } + +#line 1445 "MDLexer.cpp" } - break; } - case 0x44 /* 'D' */ : - case 0x45 /* 'E' */ : - case 0x64 /* 'd' */ : - case 0x65 /* 'e' */ : - { - mExponent(false); - if ( inputState->guessing==0 ) { -#line 451 "MDParser.g" - _ttype = FLOATTWO; -#line 1428 "MDLexer.cpp" - } - break; + else { } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); + } - } - } - { - switch ( LA(1)) { - case 0x46 /* 'F' */ : - case 0x66 /* 'f' */ : - { - mFloatSuffix(false); - break; - } - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; - } - default: - { - } - } - } + break; } - else if ((LA(1) == 0x30 /* '0' */ ) && (LA(2) == 0x58 /* 'X' */ || LA(2) == 0x78 /* 'x' */ )) { - match('0' /* charlit */ ); + case 0x30 /* '0' */ : + case 0x31 /* '1' */ : + case 0x32 /* '2' */ : + case 0x33 /* '3' */ : + case 0x34 /* '4' */ : + case 0x35 /* '5' */ : + case 0x36 /* '6' */ : + case 0x37 /* '7' */ : + case 0x38 /* '8' */ : + case 0x39 /* '9' */ : + { { switch ( LA(1)) { - case 0x78 /* 'x' */ : + case 0x30 /* '0' */ : { - match('x' /* charlit */ ); - break; - } - case 0x58 /* 'X' */ : - { - match('X' /* charlit */ ); - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { // ( ... )+ - int _cnt159=0; - for (;;) { - switch ( LA(1)) { - case 0x61 /* 'a' */ : - case 0x62 /* 'b' */ : - case 0x63 /* 'c' */ : - case 0x64 /* 'd' */ : - case 0x65 /* 'e' */ : - case 0x66 /* 'f' */ : - { - matchRange('a','f'); - break; + match('0' /* charlit */ ); + if ( inputState->guessing==0 ) { +#line 453 "MDParser.g" + isDecimal = true; +#line 1473 "MDLexer.cpp" } - case 0x41 /* 'A' */ : - case 0x42 /* 'B' */ : - case 0x43 /* 'C' */ : - case 0x44 /* 'D' */ : - case 0x45 /* 'E' */ : - case 0x46 /* 'F' */ : { - matchRange('A','F'); - break; + if ((LA(1) == 0x58 /* 'X' */ || LA(1) == 0x78 /* 'x' */ )) { + { + switch ( LA(1)) { + case 0x78 /* 'x' */ : + { + match('x' /* charlit */ ); + break; + } + case 0x58 /* 'X' */ : + { + match('X' /* charlit */ ); + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); + } + } + } + { // ( ... )+ + int _cnt157=0; + for (;;) { + if ((_tokenSet_9.member(LA(1))) && (true) && (true)) { + mHEX_DIGIT(false); + } + else { + if ( _cnt157>=1 ) { goto _loop157; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + } + + _cnt157++; + } + _loop157:; + } // ( ... )+ } - case 0x30 /* '0' */ : - case 0x31 /* '1' */ : - case 0x32 /* '2' */ : - case 0x33 /* '3' */ : - case 0x34 /* '4' */ : - case 0x35 /* '5' */ : - case 0x36 /* '6' */ : - case 0x37 /* '7' */ : - case 0x38 /* '8' */ : - case 0x39 /* '9' */ : - { - mDigit(false); - break; + else { + bool synPredMatched162 = false; + if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true))) { + int _m162 = mark(); + synPredMatched162 = true; + inputState->guessing++; + try { + { + { // ( ... )+ + int _cnt160=0; + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { + matchRange('0','9'); + } + else { + if ( _cnt160>=1 ) { goto _loop160; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + } + + _cnt160++; + } + _loop160:; + } // ( ... )+ + { + if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) { + mEXPONENT(false); + } + else if ((LA(1) == 0x2e /* '.' */ )) { + match('.' /* charlit */ ); + } + else if ((_tokenSet_8.member(LA(1))) && (true)) { + mFLOAT_SUFFIX(false); + } + else { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); + } + + } + } + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { + synPredMatched162 = false; + } + rewind(_m162); + inputState->guessing--; + } + if ( synPredMatched162 ) { + { // ( ... )+ + int _cnt164=0; + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { + matchRange('0','9'); + } + else { + if ( _cnt164>=1 ) { goto _loop164; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + } + + _cnt164++; + } + _loop164:; + } // ( ... )+ + } + else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x37 /* '7' */ )) && (true) && (true)) { + { // ( ... )+ + int _cnt166=0; + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x37 /* '7' */ ))) { + matchRange('0','7'); + } + else { + if ( _cnt166>=1 ) { goto _loop166; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + } + + _cnt166++; + } + _loop166:; + } // ( ... )+ + } + else { + } } - default: - { - if ( _cnt159>=1 ) { goto _loop159; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - } - _cnt159++; + break; } - _loop159:; - } // ( ... )+ - { // ( ... )* - for (;;) { - switch ( LA(1)) { - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : + case 0x31 /* '1' */ : + case 0x32 /* '2' */ : + case 0x33 /* '3' */ : + case 0x34 /* '4' */ : + case 0x35 /* '5' */ : + case 0x36 /* '6' */ : + case 0x37 /* '7' */ : + case 0x38 /* '8' */ : + case 0x39 /* '9' */ : + { { - mLongSuffix(false); - break; + matchRange('1','9'); } - case 0x55 /* 'U' */ : - case 0x75 /* 'u' */ : - { - mUnsignedSuffix(false); - break; - } - default: - { - goto _loop161; - } - } - } - _loop161:; - } // ( ... )* - if ( inputState->guessing==0 ) { -#line 479 "MDParser.g" - _ttype = HEXADECIMALINT; -#line 1551 "MDLexer.cpp" - } - } - else if ((LA(1) == 0x2e /* '.' */ )) { - match('.' /* charlit */ ); - if ( inputState->guessing==0 ) { -#line 457 "MDParser.g" - _ttype = DOT; -#line 1559 "MDLexer.cpp" - } - { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - { // ( ... )+ - int _cnt146=0; + { // ( ... )* for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); + matchRange('0','9'); } else { - if ( _cnt146>=1 ) { goto _loop146; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + goto _loop169; } - _cnt146++; } - _loop146:; - } // ( ... )+ - { - if ((_tokenSet_7.member(LA(1)))) { - mExponent(false); - } - else { - } - - } + _loop169:; + } // ( ... )* if ( inputState->guessing==0 ) { -#line 458 "MDParser.g" - _ttype = FLOATONE; -#line 1588 "MDLexer.cpp" +#line 470 "MDParser.g" + isDecimal=true; +#line 1621 "MDLexer.cpp" } - { - switch ( LA(1)) { - case 0x46 /* 'F' */ : - case 0x66 /* 'f' */ : - { - mFloatSuffix(false); - break; - } - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; - } - default: - { - } - } - } + break; } - else { + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } - } - } - else if ((LA(1) == 0x30 /* '0' */ ) && (true) && (true)) { - match('0' /* charlit */ ); - { // ( ... )* - for (;;) { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x37 /* '7' */ ))) { - matchRange('0','7'); - } - else { - goto _loop150; - } - } - _loop150:; - } // ( ... )* - { // ( ... )* - for (;;) { + { + if ((LA(1) == 0x4c /* 'L' */ || LA(1) == 0x6c /* 'l' */ )) { + { switch ( LA(1)) { - case 0x4c /* 'L' */ : case 0x6c /* 'l' */ : { - mLongSuffix(false); + match('l' /* charlit */ ); break; } - case 0x55 /* 'U' */ : - case 0x75 /* 'u' */ : + case 0x4c /* 'L' */ : { - mUnsignedSuffix(false); + match('L' /* charlit */ ); break; } default: { - goto _loop152; + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } } - } - _loop152:; - } // ( ... )* - if ( inputState->guessing==0 ) { -#line 468 "MDParser.g" - _ttype = OCTALINT; -#line 1655 "MDLexer.cpp" - } - } - else if (((LA(1) >= 0x31 /* '1' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true)) { - matchRange('1','9'); - { // ( ... )* - for (;;) { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); } - else { - goto _loop154; + if ( inputState->guessing==0 ) { +#line 472 "MDParser.g" + _ttype = NUM_LONG; +#line 1654 "MDLexer.cpp" } - } - _loop154:; - } // ( ... )* - { // ( ... )* - for (;;) { - switch ( LA(1)) { - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : + else if (((_tokenSet_10.member(LA(1))))&&(isDecimal)) { { - mLongSuffix(false); - break; + if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) { + mEXPONENT(false); + { + if ((_tokenSet_8.member(LA(1)))) { + mFLOAT_SUFFIX(true); + f3=_returnToken; + if ( inputState->guessing==0 ) { +#line 477 "MDParser.g" + t=f3; +#line 1668 "MDLexer.cpp" + } + } + else { + } + + } } - case 0x55 /* 'U' */ : - case 0x75 /* 'u' */ : - { - mUnsignedSuffix(false); - break; - } - default: - { - goto _loop156; + else if ((LA(1) == 0x2e /* '.' */ )) { + match('.' /* charlit */ ); + { // ( ... )* + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { + matchRange('0','9'); + } + else { + goto _loop174; + } + + } + _loop174:; + } // ( ... )* + { + if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) { + mEXPONENT(false); + } + else { + } + + } + { + if ((_tokenSet_8.member(LA(1)))) { + mFLOAT_SUFFIX(true); + f2=_returnToken; + if ( inputState->guessing==0 ) { +#line 476 "MDParser.g" + t=f2; +#line 1705 "MDLexer.cpp" + } + } + else { + } + + } } + else if ((_tokenSet_8.member(LA(1))) && (true)) { + mFLOAT_SUFFIX(true); + f4=_returnToken; + if ( inputState->guessing==0 ) { +#line 478 "MDParser.g" + t=f4; +#line 1719 "MDLexer.cpp" + } } + else { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); + } + + } + if ( inputState->guessing==0 ) { +#line 480 "MDParser.g" + + if ( t && + (t->getText().find('f') != ANTLR_USE_NAMESPACE(std)string::npos || + t->getText().find('F') != ANTLR_USE_NAMESPACE(std)string::npos ) ) { + _ttype = NUM_FLOAT; + } + else { + _ttype = NUM_DOUBLE; // assume double + } + +#line 1739 "MDLexer.cpp" + } } - _loop156:; - } // ( ... )* - if ( inputState->guessing==0 ) { -#line 473 "MDParser.g" - _ttype = DECIMALINT; -#line 1698 "MDLexer.cpp" + else { } + + } + break; } - else { + default: + { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } - } + } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -1710,175 +1758,84 @@ void MDLexer::mNumber(bool _createToken) { _saveIndex=0; } -void MDLexer::mID(bool _createToken) { +void MDLexer::mEXPONENT(bool _createToken) { int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = ID; + _ttype = EXPONENT; ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { switch ( LA(1)) { - case 0x61 /* 'a' */ : - case 0x62 /* 'b' */ : - case 0x63 /* 'c' */ : - case 0x64 /* 'd' */ : case 0x65 /* 'e' */ : - case 0x66 /* 'f' */ : - case 0x67 /* 'g' */ : - case 0x68 /* 'h' */ : - case 0x69 /* 'i' */ : - case 0x6a /* 'j' */ : - case 0x6b /* 'k' */ : - case 0x6c /* 'l' */ : - case 0x6d /* 'm' */ : - case 0x6e /* 'n' */ : - case 0x6f /* 'o' */ : - case 0x70 /* 'p' */ : - case 0x71 /* 'q' */ : - case 0x72 /* 'r' */ : - case 0x73 /* 's' */ : - case 0x74 /* 't' */ : - case 0x75 /* 'u' */ : - case 0x76 /* 'v' */ : - case 0x77 /* 'w' */ : - case 0x78 /* 'x' */ : - case 0x79 /* 'y' */ : - case 0x7a /* 'z' */ : { - matchRange('a','z'); + match('e' /* charlit */ ); break; } - case 0x41 /* 'A' */ : - case 0x42 /* 'B' */ : - case 0x43 /* 'C' */ : - case 0x44 /* 'D' */ : case 0x45 /* 'E' */ : - case 0x46 /* 'F' */ : - case 0x47 /* 'G' */ : - case 0x48 /* 'H' */ : - case 0x49 /* 'I' */ : - case 0x4a /* 'J' */ : - case 0x4b /* 'K' */ : - case 0x4c /* 'L' */ : - case 0x4d /* 'M' */ : - case 0x4e /* 'N' */ : - case 0x4f /* 'O' */ : - case 0x50 /* 'P' */ : - case 0x51 /* 'Q' */ : - case 0x52 /* 'R' */ : - case 0x53 /* 'S' */ : - case 0x54 /* 'T' */ : - case 0x55 /* 'U' */ : - case 0x56 /* 'V' */ : - case 0x57 /* 'W' */ : - case 0x58 /* 'X' */ : - case 0x59 /* 'Y' */ : - case 0x5a /* 'Z' */ : { - matchRange('A','Z'); + match('E' /* charlit */ ); break; } - case 0x5f /* '_' */ : + case 0x64 /* 'd' */ : { - match('_' /* charlit */ ); + match('d' /* charlit */ ); break; } + case 0x44 /* 'D' */ : + { + match('D' /* charlit */ ); + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } } } - { // ( ... )* + { + switch ( LA(1)) { + case 0x2b /* '+' */ : + { + match('+' /* charlit */ ); + break; + } + case 0x2d /* '-' */ : + { + match('-' /* charlit */ ); + break; + } + case 0x30 /* '0' */ : + case 0x31 /* '1' */ : + case 0x32 /* '2' */ : + case 0x33 /* '3' */ : + case 0x34 /* '4' */ : + case 0x35 /* '5' */ : + case 0x36 /* '6' */ : + case 0x37 /* '7' */ : + case 0x38 /* '8' */ : + case 0x39 /* '9' */ : + { + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); + } + } + } + { // ( ... )+ + int _cnt182=0; for (;;) { - switch ( LA(1)) { - case 0x61 /* 'a' */ : - case 0x62 /* 'b' */ : - case 0x63 /* 'c' */ : - case 0x64 /* 'd' */ : - case 0x65 /* 'e' */ : - case 0x66 /* 'f' */ : - case 0x67 /* 'g' */ : - case 0x68 /* 'h' */ : - case 0x69 /* 'i' */ : - case 0x6a /* 'j' */ : - case 0x6b /* 'k' */ : - case 0x6c /* 'l' */ : - case 0x6d /* 'm' */ : - case 0x6e /* 'n' */ : - case 0x6f /* 'o' */ : - case 0x70 /* 'p' */ : - case 0x71 /* 'q' */ : - case 0x72 /* 'r' */ : - case 0x73 /* 's' */ : - case 0x74 /* 't' */ : - case 0x75 /* 'u' */ : - case 0x76 /* 'v' */ : - case 0x77 /* 'w' */ : - case 0x78 /* 'x' */ : - case 0x79 /* 'y' */ : - case 0x7a /* 'z' */ : - { - matchRange('a','z'); - break; - } - case 0x41 /* 'A' */ : - case 0x42 /* 'B' */ : - case 0x43 /* 'C' */ : - case 0x44 /* 'D' */ : - case 0x45 /* 'E' */ : - case 0x46 /* 'F' */ : - case 0x47 /* 'G' */ : - case 0x48 /* 'H' */ : - case 0x49 /* 'I' */ : - case 0x4a /* 'J' */ : - case 0x4b /* 'K' */ : - case 0x4c /* 'L' */ : - case 0x4d /* 'M' */ : - case 0x4e /* 'N' */ : - case 0x4f /* 'O' */ : - case 0x50 /* 'P' */ : - case 0x51 /* 'Q' */ : - case 0x52 /* 'R' */ : - case 0x53 /* 'S' */ : - case 0x54 /* 'T' */ : - case 0x55 /* 'U' */ : - case 0x56 /* 'V' */ : - case 0x57 /* 'W' */ : - case 0x58 /* 'X' */ : - case 0x59 /* 'Y' */ : - case 0x5a /* 'Z' */ : - { - matchRange('A','Z'); - break; - } - case 0x5f /* '_' */ : - { - match('_' /* charlit */ ); - break; - } - case 0x30 /* '0' */ : - case 0x31 /* '1' */ : - case 0x32 /* '2' */ : - case 0x33 /* '3' */ : - case 0x34 /* '4' */ : - case 0x35 /* '5' */ : - case 0x36 /* '6' */ : - case 0x37 /* '7' */ : - case 0x38 /* '8' */ : - case 0x39 /* '9' */ : - { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { matchRange('0','9'); - break; } - default: - { - goto _loop165; + else { + if ( _cnt182>=1 ) { goto _loop182; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - } + + _cnt182++; } - _loop165:; - } // ( ... )* - _ttype = testLiteralsTable(_ttype); + _loop182:; + } // ( ... )+ if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -1887,36 +1844,83 @@ void MDLexer::mID(bool _createToken) { _saveIndex=0; } +void MDLexer::mFLOAT_SUFFIX(bool _createToken) { + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); + _ttype = FLOAT_SUFFIX; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; + + switch ( LA(1)) { + case 0x66 /* 'f' */ : + { + match('f' /* charlit */ ); + break; + } + case 0x46 /* 'F' */ : + { + match('F' /* charlit */ ); + break; + } + case 0x64 /* 'd' */ : + { + match('d' /* charlit */ ); + break; + } + case 0x44 /* 'D' */ : + { + match('D' /* charlit */ ); + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); + } + } + if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { + _token = makeToken(_ttype); + _token->setText(text.substr(_begin, text.length()-_begin)); + } + _returnToken = _token; + _saveIndex=0; +} + const unsigned long MDLexer::_tokenSet_0_data_[] = { 4294958079UL, 4294966271UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12 // 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! -// \" # $ % & \' ( ) + , - . / 0 1 2 3 4 5 +// \" # $ % & \' ( ) + , - . / 0 1 2 3 4 5 6 7 8 9 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_0(_tokenSet_0_data_,16); const unsigned long MDLexer::_tokenSet_1_data_[] = { 4294958079UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12 // 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! -// \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 +// \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_1(_tokenSet_1_data_,16); const unsigned long MDLexer::_tokenSet_2_data_[] = { 0UL, 2164195460UL, 268435456UL, 22298694UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// \" \' 0 1 2 3 4 5 +// \" \' 0 1 2 3 4 5 6 7 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_2(_tokenSet_2_data_,10); const unsigned long MDLexer::_tokenSet_3_data_[] = { 4294958079UL, 4294967291UL, 4026531839UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12 // 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! -// # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 +// # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_3(_tokenSet_3_data_,16); const unsigned long MDLexer::_tokenSet_4_data_[] = { 0UL, 67043456UL, 126UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// \' 0 1 2 3 4 5 +// \' 0 1 2 3 4 5 6 7 8 9 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_4(_tokenSet_4_data_,10); const unsigned long MDLexer::_tokenSet_5_data_[] = { 4294967295UL, 4294967167UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e -// 0x1f ! \" # $ % & ( ) * + , - . / 0 1 2 3 4 5 +// 0x1f ! \" # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_5(_tokenSet_5_data_,16); -const unsigned long MDLexer::_tokenSet_6_data_[] = { 0UL, 67059712UL, 48UL, 48UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// . 0 1 2 3 4 5 +const unsigned long MDLexer::_tokenSet_6_data_[] = { 0UL, 0UL, 48UL, 48UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_6(_tokenSet_6_data_,10); -const unsigned long MDLexer::_tokenSet_7_data_[] = { 0UL, 0UL, 48UL, 48UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long MDLexer::_tokenSet_7_data_[] = { 0UL, 67053568UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// + - 0 1 2 3 4 5 6 7 8 9 const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_7(_tokenSet_7_data_,10); +const unsigned long MDLexer::_tokenSet_8_data_[] = { 0UL, 0UL, 80UL, 80UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_8(_tokenSet_8_data_,10); +const unsigned long MDLexer::_tokenSet_9_data_[] = { 0UL, 67043328UL, 126UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// 0 1 2 3 4 5 6 7 8 9 +const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_9(_tokenSet_9_data_,10); +const unsigned long MDLexer::_tokenSet_10_data_[] = { 0UL, 16384UL, 112UL, 112UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// . +const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_tokenSet_10(_tokenSet_10_data_,10);