--- trunk/src/mdParser/MDLexer.cpp 2005/12/14 18:02:28 810 +++ trunk/src/mdParser/MDLexer.cpp 2009/11/25 20:02:06 1390 @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.5 (20050406): "MDParser.g" -> "MDLexer.cpp"$ */ +/* $ANTLR 2.7.7 (20090623): "MDParser.g" -> "MDLexer.cpp"$ */ #include "MDLexer.hpp" #include #include @@ -30,19 +30,22 @@ void MDLexer::initLiterals() void MDLexer::initLiterals() { - literals["members"] = 14; - literals["position"] = 15; - literals["torsion"] = 10; + literals["members"] = 16; + literals["position"] = 18; + literals["torsion"] = 11; literals["component"] = 4; - literals["rigidBody"] = 11; + literals["restraint"] = 7; + literals["rigidBody"] = 13; + literals["center"] = 17; + literals["inversion"] = 12; literals["zconstraint"] = 6; - literals["cutoffGroup"] = 12; - literals["bend"] = 9; - literals["orientation"] = 16; - literals["fragment"] = 13; - literals["bond"] = 8; + literals["cutoffGroup"] = 14; + literals["bend"] = 10; + literals["orientation"] = 19; + literals["fragment"] = 15; + literals["bond"] = 9; literals["molecule"] = 5; - literals["atom"] = 7; + literals["atom"] = 8; } ANTLR_USE_NAMESPACE(antlr)RefToken MDLexer::nextToken() @@ -149,24 +152,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 +210,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 +476,9 @@ void MDLexer::mWhitespace(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 259 "MDParser.g" +#line 233 "MDParser.g" newline(); -#line 479 "MDLexer.cpp" +#line 482 "MDLexer.cpp" } break; } @@ -501,10 +504,10 @@ void MDLexer::mWhitespace(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 264 "MDParser.g" +#line 238 "MDParser.g" printf("CPP_parser.g continuation line detected\n"); deferredNewline(); -#line 508 "MDLexer.cpp" +#line 511 "MDLexer.cpp" } break; } @@ -515,9 +518,9 @@ void MDLexer::mWhitespace(bool _createToken) { } } if ( inputState->guessing==0 ) { -#line 267 "MDParser.g" +#line 241 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; -#line 521 "MDLexer.cpp" +#line 524 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -541,9 +544,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 248 "MDParser.g" deferredNewline(); -#line 547 "MDLexer.cpp" +#line 550 "MDLexer.cpp" } } else if ((_tokenSet_0.member(LA(1)))) { @@ -552,17 +555,17 @@ void MDLexer::mComment(bool _createToken) { } } else { - goto _loop78; + goto _loop86; } } - _loop78:; + _loop86:; } // ( ... )* match("*/"); if ( inputState->guessing==0 ) { -#line 277 "MDParser.g" +#line 251 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; -#line 566 "MDLexer.cpp" +#line 569 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -614,17 +617,17 @@ void MDLexer::mCPPComment(bool _createToken) { } } else { - goto _loop82; + goto _loop90; } } - _loop82:; + _loop90:; } // ( ... )* mEndOfLine(false); if ( inputState->guessing==0 ) { -#line 283 "MDParser.g" +#line 257 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline(); -#line 628 "MDLexer.cpp" +#line 631 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -642,9 +645,9 @@ void MDLexer::mPREPROC_DIRECTIVE(bool _createToken) { match('#' /* charlit */ ); mLineDirective(false); if ( inputState->guessing==0 ) { -#line 290 "MDParser.g" +#line 264 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline(); -#line 648 "MDLexer.cpp" +#line 651 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -662,11 +665,11 @@ void MDLexer::mLineDirective(bool _createToken) { ANTLR_USE_NAMESPACE(antlr)RefToken sl; if ( inputState->guessing==0 ) { -#line 296 "MDParser.g" +#line 270 "MDParser.g" deferredLineCount = 0; -#line 670 "MDLexer.cpp" +#line 673 "MDLexer.cpp" } { switch ( LA(1)) { @@ -688,74 +691,74 @@ void MDLexer::mLineDirective(bool _createToken) { } } { // ( ... )+ - int _cnt87=0; + int _cnt95=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 ( _cnt95>=1 ) { goto _loop95; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt87++; + _cnt95++; } - _loop87:; + _loop95:; } // ( ... )+ mDecimal(true); n=_returnToken; if ( inputState->guessing==0 ) { -#line 301 "MDParser.g" - setLine(oopse::lexi_cast(n->getText()) - 1); -#line 710 "MDLexer.cpp" +#line 275 "MDParser.g" + setLine(OpenMD::lexi_cast(n->getText()) - 1); +#line 713 "MDLexer.cpp" } { // ( ... )+ - int _cnt89=0; + int _cnt97=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 ( _cnt97>=1 ) { goto _loop97; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt89++; + _cnt97++; } - _loop89:; + _loop97:; } // ( ... )+ { mStringLiteral(true); sl=_returnToken; } if ( inputState->guessing==0 ) { -#line 303 "MDParser.g" +#line 277 "MDParser.g" std::string filename = sl->getText().substr(1,sl->getText().length()-2); observer->notify(filename); -#line 733 "MDLexer.cpp" +#line 736 "MDLexer.cpp" } { // ( ... )* for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { { // ( ... )+ - int _cnt93=0; + int _cnt101=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 ( _cnt101>=1 ) { goto _loop101; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt93++; + _cnt101++; } - _loop93:; + _loop101:; } // ( ... )+ mDecimal(false); } else { - goto _loop94; + goto _loop102; } } - _loop94:; + _loop102:; } // ( ... )* mEndOfLine(false); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -808,18 +811,18 @@ void MDLexer::mDecimal(bool _createToken) { ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { // ( ... )+ - int _cnt119=0; + int _cnt132=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 ( _cnt132>=1 ) { goto _loop132; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt119++; + _cnt132++; } - _loop119:; + _loop132:; } // ( ... )+ if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -857,9 +860,9 @@ void MDLexer::mStringLiteral(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 343 "MDParser.g" +#line 317 "MDParser.g" deferredNewline(); -#line 863 "MDLexer.cpp" +#line 866 "MDLexer.cpp" } } else if ((_tokenSet_3.member(LA(1)))) { @@ -868,11 +871,11 @@ void MDLexer::mStringLiteral(bool _createToken) { } } else { - goto _loop104; + goto _loop112; } } - _loop104:; + _loop112:; } // ( ... )* match('\"' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1032,7 +1035,7 @@ void MDLexer::mEscape(bool _createToken) { { match('x' /* charlit */ ); { // ( ... )+ - int _cnt115=0; + int _cnt123=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_1.member(LA(2))) && (true)) { mDigit(false); @@ -1044,12 +1047,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 ( _cnt123>=1 ) { goto _loop123; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt115++; + _cnt123++; } - _loop115:; + _loop123:; } // ( ... )+ break; } @@ -1081,27 +1084,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 +1098,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 _loop128; + } + } + } + _loop128:; + } // ( ... )* + _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 +1275,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 +1293,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 +1330,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 410 "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 1347 "MDLexer.cpp" { switch ( LA(1)) { @@ -1306,125 +1378,242 @@ 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 417 "MDParser.g" + _ttype = DOT; +#line 1389 "MDLexer.cpp" + } + { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { { // ( ... )+ - int _cnt134=0; + int _cnt140=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 ( _cnt140>=1 ) { goto _loop140; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt134++; + _cnt140++; } - _loop134:; + _loop140:; } // ( ... )+ { - 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; + if ((_tokenSet_8.member(LA(1)))) { + mFLOAT_SUFFIX(true); + f1=_returnToken; + if ( inputState->guessing==0 ) { +#line 418 "MDParser.g" + t=f1; +#line 1422 "MDLexer.cpp" + } } - case 0x44 /* 'D' */ : - { - match('D' /* charlit */ ); - break; + else { } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); + } + if ( inputState->guessing==0 ) { +#line 419 "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 1441 "MDLexer.cpp" } - } - } } - catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { - synPredMatched136 = false; + else { } - 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:; - } // ( ... )+ + 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' */ : + { { switch ( LA(1)) { - case 0x2e /* '.' */ : + case 0x30 /* '0' */ : { - match('.' /* charlit */ ); - { // ( ... )* - for (;;) { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); + match('0' /* charlit */ ); + if ( inputState->guessing==0 ) { +#line 431 "MDParser.g" + isDecimal = true; +#line 1469 "MDLexer.cpp" + } + { + if ((LA(1) == 0x58 /* 'X' */ || LA(1) == 0x78 /* 'x' */ )) { + { + switch ( LA(1)) { + case 0x78 /* 'x' */ : + { + match('x' /* charlit */ ); + break; } - else { - goto _loop141; + case 0x58 /* 'X' */ : + { + match('X' /* charlit */ ); + break; } - + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); + } + } + } + { // ( ... )+ + int _cnt147=0; + for (;;) { + if ((_tokenSet_9.member(LA(1))) && (true) && (true)) { + mHEX_DIGIT(false); + } + else { + if ( _cnt147>=1 ) { goto _loop147; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + } + + _cnt147++; + } + _loop147:; + } // ( ... )+ } - _loop141:; - } // ( ... )* - { - if ((_tokenSet_7.member(LA(1)))) { - mExponent(false); - } else { - } - + bool synPredMatched152 = false; + if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true))) { + int _m152 = mark(); + synPredMatched152 = true; + inputState->guessing++; + try { + { + { // ( ... )+ + int _cnt150=0; + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { + matchRange('0','9'); + } + else { + if ( _cnt150>=1 ) { goto _loop150; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + } + + _cnt150++; + } + _loop150:; + } // ( ... )+ + { + 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) { + synPredMatched152 = false; + } + rewind(_m152); + inputState->guessing--; + } + if ( synPredMatched152 ) { + { // ( ... )+ + int _cnt154=0; + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { + matchRange('0','9'); + } + else { + if ( _cnt154>=1 ) { goto _loop154; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + } + + _cnt154++; + } + _loop154:; + } // ( ... )+ + } + else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x37 /* '7' */ )) && (true) && (true)) { + { // ( ... )+ + int _cnt156=0; + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x37 /* '7' */ ))) { + matchRange('0','7'); + } + else { + if ( _cnt156>=1 ) { goto _loop156; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + } + + _cnt156++; + } + _loop156:; + } // ( ... )+ + } + else { + } } - if ( inputState->guessing==0 ) { -#line 450 "MDParser.g" - _ttype = FLOATONE; -#line 1415 "MDLexer.cpp" } break; } - case 0x44 /* 'D' */ : - case 0x45 /* 'E' */ : - case 0x64 /* 'd' */ : - case 0x65 /* 'e' */ : + 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' */ : { - mExponent(false); + { + matchRange('1','9'); + } + { // ( ... )* + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { + matchRange('0','9'); + } + else { + goto _loop159; + } + + } + _loop159:; + } // ( ... )* if ( inputState->guessing==0 ) { -#line 451 "MDParser.g" - _ttype = FLOATTWO; -#line 1428 "MDLexer.cpp" +#line 448 "MDParser.g" + isDecimal=true; +#line 1617 "MDLexer.cpp" } break; } @@ -1435,273 +1624,128 @@ void MDLexer::mNumber(bool _createToken) { } } { - switch ( LA(1)) { - case 0x46 /* 'F' */ : - case 0x66 /* 'f' */ : - { - mFloatSuffix(false); - break; - } - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; - } - default: + if ((LA(1) == 0x4c /* 'L' */ || LA(1) == 0x6c /* 'l' */ )) { { - } - } - } - } - else if ((LA(1) == 0x30 /* '0' */ ) && (LA(2) == 0x58 /* 'X' */ || LA(2) == 0x78 /* 'x' */ )) { - match('0' /* charlit */ ); - { - 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 _cnt159=0; - for (;;) { switch ( LA(1)) { - case 0x61 /* 'a' */ : - case 0x62 /* 'b' */ : - case 0x63 /* 'c' */ : - case 0x64 /* 'd' */ : - case 0x65 /* 'e' */ : - case 0x66 /* 'f' */ : + case 0x6c /* 'l' */ : { - matchRange('a','f'); + match('l' /* charlit */ ); break; } - case 0x41 /* 'A' */ : - case 0x42 /* 'B' */ : - case 0x43 /* 'C' */ : - case 0x44 /* 'D' */ : - case 0x45 /* 'E' */ : - case 0x46 /* 'F' */ : + case 0x4c /* 'L' */ : { - matchRange('A','F'); + match('L' /* 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' */ : - { - mDigit(false); - break; - } default: { - if ( _cnt159>=1 ) { goto _loop159; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } } - _cnt159++; - } - _loop159:; - } // ( ... )+ - { // ( ... )* - for (;;) { - switch ( LA(1)) { - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; } - case 0x55 /* 'U' */ : - case 0x75 /* 'u' */ : - { - mUnsignedSuffix(false); - break; + if ( inputState->guessing==0 ) { +#line 450 "MDParser.g" + _ttype = NUM_LONG; +#line 1650 "MDLexer.cpp" } - default: + } + else if (((_tokenSet_10.member(LA(1))))&&(isDecimal)) { { - goto _loop161; + 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 455 "MDParser.g" + t=f3; +#line 1664 "MDLexer.cpp" + } + } + else { + } + + } } - } - } - _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); + else if ((LA(1) == 0x2e /* '.' */ )) { + match('.' /* charlit */ ); + { // ( ... )* + for (;;) { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { + matchRange('0','9'); + } + else { + goto _loop164; + } + } + _loop164:; + } // ( ... )* + { + if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) { + mEXPONENT(false); + } else { - if ( _cnt146>=1 ) { goto _loop146; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt146++; + } + { + if ((_tokenSet_8.member(LA(1)))) { + mFLOAT_SUFFIX(true); + f2=_returnToken; + if ( inputState->guessing==0 ) { +#line 454 "MDParser.g" + t=f2; +#line 1701 "MDLexer.cpp" + } + } + else { + } + + } } - _loop146:; - } // ( ... )+ - { - if ((_tokenSet_7.member(LA(1)))) { - mExponent(false); + else if ((_tokenSet_8.member(LA(1))) && (true)) { + mFLOAT_SUFFIX(true); + f4=_returnToken; + if ( inputState->guessing==0 ) { +#line 456 "MDParser.g" + t=f4; +#line 1715 "MDLexer.cpp" + } } else { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } } if ( inputState->guessing==0 ) { #line 458 "MDParser.g" - _ttype = FLOATONE; -#line 1588 "MDLexer.cpp" + + 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 1735 "MDLexer.cpp" } - { - switch ( LA(1)) { - case 0x46 /* 'F' */ : - case 0x66 /* 'f' */ : - { - mFloatSuffix(false); - break; - } - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; - } - default: - { - } - } - } } else { } - } - } - 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 (;;) { - switch ( LA(1)) { - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; - } - case 0x55 /* 'U' */ : - case 0x75 /* 'u' */ : - { - mUnsignedSuffix(false); - break; - } - default: - { - goto _loop152; - } - } - } - _loop152:; - } // ( ... )* - if ( inputState->guessing==0 ) { -#line 468 "MDParser.g" - _ttype = OCTALINT; -#line 1655 "MDLexer.cpp" } + break; } - 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; - } - - } - _loop154:; - } // ( ... )* - { // ( ... )* - for (;;) { - switch ( LA(1)) { - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; - } - case 0x55 /* 'U' */ : - case 0x75 /* 'u' */ : - { - mUnsignedSuffix(false); - break; - } - default: - { - goto _loop156; - } - } - } - _loop156:; - } // ( ... )* - if ( inputState->guessing==0 ) { -#line 473 "MDParser.g" - _ttype = DECIMALINT; -#line 1698 "MDLexer.cpp" - } - } - 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 +1754,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 _cnt172=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 ( _cnt172>=1 ) { goto _loop172; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - } + + _cnt172++; } - _loop165:; - } // ( ... )* - _ttype = testLiteralsTable(_ttype); + _loop172:; + } // ( ... )+ 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,7 +1840,46 @@ 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 ! @@ -1914,9 +1906,17 @@ const ANTLR_USE_NAMESPACE(antlr)BitSet MDLexer::_token // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! \" # $ % & ( ) * + , - . / 0 1 2 3 4 5 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 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 +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);