--- trunk/src/mdParser/MDLexer.cpp 2005/12/02 15:38:03 770 +++ branches/development/src/mdParser/MDLexer.cpp 2010/07/09 23:08:25 1465 @@ -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() @@ -120,18 +123,6 @@ ANTLR_USE_NAMESPACE(antlr)RefToken MDLexer::nextToken( theRetToken=_returnToken; break; } - case 0x2b /* '+' */ : - { - mPLUS(true); - theRetToken=_returnToken; - break; - } - case 0x2d /* '-' */ : - { - mMINUS(true); - theRetToken=_returnToken; - break; - } case 0x9 /* '\t' */ : case 0xa /* '\n' */ : case 0xc /* '\14' */ : @@ -161,22 +152,6 @@ ANTLR_USE_NAMESPACE(antlr)RefToken MDLexer::nextToken( theRetToken=_returnToken; break; } - 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' */ : @@ -235,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); @@ -427,34 +420,6 @@ void MDLexer::mRCURLY(bool _createToken) { _saveIndex=0; } -void MDLexer::mPLUS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = PLUS; - ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - - match('+' /* charlit */ ); - 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::mMINUS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = MINUS; - ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - - match('-' /* charlit */ ); - 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::mWhitespace(bool _createToken) { int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = Whitespace; @@ -511,9 +476,9 @@ void MDLexer::mWhitespace(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 262 "MDParser.g" +#line 233 "MDParser.g" newline(); -#line 517 "MDLexer.cpp" +#line 482 "MDLexer.cpp" } break; } @@ -539,10 +504,10 @@ void MDLexer::mWhitespace(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 267 "MDParser.g" +#line 238 "MDParser.g" printf("CPP_parser.g continuation line detected\n"); deferredNewline(); -#line 546 "MDLexer.cpp" +#line 511 "MDLexer.cpp" } break; } @@ -553,9 +518,9 @@ void MDLexer::mWhitespace(bool _createToken) { } } if ( inputState->guessing==0 ) { -#line 270 "MDParser.g" +#line 241 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; -#line 559 "MDLexer.cpp" +#line 524 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -579,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 277 "MDParser.g" +#line 248 "MDParser.g" deferredNewline(); -#line 585 "MDLexer.cpp" +#line 550 "MDLexer.cpp" } } else if ((_tokenSet_0.member(LA(1)))) { @@ -590,17 +555,17 @@ void MDLexer::mComment(bool _createToken) { } } else { - goto _loop81; + goto _loop86; } } - _loop81:; + _loop86:; } // ( ... )* match("*/"); if ( inputState->guessing==0 ) { -#line 280 "MDParser.g" +#line 251 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; -#line 604 "MDLexer.cpp" +#line 569 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -652,17 +617,17 @@ void MDLexer::mCPPComment(bool _createToken) { } } else { - goto _loop85; + goto _loop90; } } - _loop85:; + _loop90:; } // ( ... )* mEndOfLine(false); if ( inputState->guessing==0 ) { -#line 286 "MDParser.g" +#line 257 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline(); -#line 666 "MDLexer.cpp" +#line 631 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -680,9 +645,9 @@ void MDLexer::mPREPROC_DIRECTIVE(bool _createToken) { match('#' /* charlit */ ); mLineDirective(false); if ( inputState->guessing==0 ) { -#line 293 "MDParser.g" +#line 264 "MDParser.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; newline(); -#line 686 "MDLexer.cpp" +#line 651 "MDLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -700,11 +665,11 @@ void MDLexer::mLineDirective(bool _createToken) { ANTLR_USE_NAMESPACE(antlr)RefToken sl; if ( inputState->guessing==0 ) { -#line 299 "MDParser.g" +#line 270 "MDParser.g" deferredLineCount = 0; -#line 708 "MDLexer.cpp" +#line 673 "MDLexer.cpp" } { switch ( LA(1)) { @@ -726,74 +691,74 @@ void MDLexer::mLineDirective(bool _createToken) { } } { // ( ... )+ - int _cnt90=0; + int _cnt95=0; for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { mSpace(false); } else { - if ( _cnt90>=1 ) { goto _loop90; } 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());} } - _cnt90++; + _cnt95++; } - _loop90:; + _loop95:; } // ( ... )+ mDecimal(true); n=_returnToken; if ( inputState->guessing==0 ) { -#line 304 "MDParser.g" - setLine(oopse::lexi_cast(n->getText()) - 1); -#line 748 "MDLexer.cpp" +#line 275 "MDParser.g" + setLine(OpenMD::lexi_cast(n->getText()) - 1); +#line 713 "MDLexer.cpp" } { // ( ... )+ - int _cnt92=0; + int _cnt97=0; for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { mSpace(false); } else { - if ( _cnt92>=1 ) { goto _loop92; } 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());} } - _cnt92++; + _cnt97++; } - _loop92:; + _loop97:; } // ( ... )+ { mStringLiteral(true); sl=_returnToken; } if ( inputState->guessing==0 ) { -#line 306 "MDParser.g" +#line 277 "MDParser.g" std::string filename = sl->getText().substr(1,sl->getText().length()-2); observer->notify(filename); -#line 771 "MDLexer.cpp" +#line 736 "MDLexer.cpp" } { // ( ... )* for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { { // ( ... )+ - int _cnt96=0; + int _cnt101=0; for (;;) { if ((LA(1) == 0x9 /* '\t' */ || LA(1) == 0xc /* '\14' */ || LA(1) == 0x20 /* ' ' */ )) { mSpace(false); } else { - if ( _cnt96>=1 ) { goto _loop96; } 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());} } - _cnt96++; + _cnt101++; } - _loop96:; + _loop101:; } // ( ... )+ mDecimal(false); } else { - goto _loop97; + goto _loop102; } } - _loop97:; + _loop102:; } // ( ... )* mEndOfLine(false); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -846,18 +811,18 @@ void MDLexer::mDecimal(bool _createToken) { ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { // ( ... )+ - int _cnt122=0; + int _cnt132=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { matchRange('0','9'); } else { - if ( _cnt122>=1 ) { goto _loop122; } 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());} } - _cnt122++; + _cnt132++; } - _loop122:; + _loop132:; } // ( ... )+ if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -895,9 +860,9 @@ void MDLexer::mStringLiteral(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 346 "MDParser.g" +#line 317 "MDParser.g" deferredNewline(); -#line 901 "MDLexer.cpp" +#line 866 "MDLexer.cpp" } } else if ((_tokenSet_3.member(LA(1)))) { @@ -906,11 +871,11 @@ void MDLexer::mStringLiteral(bool _createToken) { } } else { - goto _loop107; + goto _loop112; } } - _loop107:; + _loop112:; } // ( ... )* match('\"' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1070,7 +1035,7 @@ void MDLexer::mEscape(bool _createToken) { { match('x' /* charlit */ ); { // ( ... )+ - int _cnt118=0; + int _cnt123=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_1.member(LA(2))) && (true)) { mDigit(false); @@ -1082,12 +1047,12 @@ void MDLexer::mEscape(bool _createToken) { matchRange('A','F'); } else { - if ( _cnt118>=1 ) { goto _loop118; } 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());} } - _cnt118++; + _cnt123++; } - _loop118:; + _loop123:; } // ( ... )+ break; } @@ -1119,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)); @@ -1148,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)); @@ -1206,39 +1275,76 @@ 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' */ : + 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' */ : { - match('e' /* charlit */ ); + matchRange('0','9'); break; } + case 0x41 /* 'A' */ : + case 0x42 /* 'B' */ : + case 0x43 /* 'C' */ : + case 0x44 /* 'D' */ : case 0x45 /* 'E' */ : + case 0x46 /* 'F' */ : { - match('E' /* charlit */ ); + matchRange('A','F'); break; } + case 0x61 /* 'a' */ : + case 0x62 /* 'b' */ : + case 0x63 /* 'c' */ : case 0x64 /* 'd' */ : + case 0x65 /* 'e' */ : + case 0x66 /* 'f' */ : { - match('d' /* charlit */ ); + matchRange('a','f'); 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; +} + +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 = 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" + + bool isDecimal = false; + ANTLR_USE_NAMESPACE(antlr)RefToken t = ANTLR_USE_NAMESPACE(antlr)nullToken; + +#line 1347 "MDLexer.cpp" + { switch ( LA(1)) { case 0x2b /* '+' */ : @@ -1251,6 +1357,7 @@ void MDLexer::mExponent(bool _createToken) { match('-' /* charlit */ ); break; } + case 0x2e /* '.' */ : case 0x30 /* '0' */ : case 0x31 /* '1' */ : case 0x32 /* '2' */ : @@ -1270,166 +1377,243 @@ void MDLexer::mExponent(bool _createToken) { } } } - { // ( ... )+ - int _cnt130=0; - for (;;) { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); + { + switch ( LA(1)) { + case 0x2e /* '.' */ : + { + match('.' /* charlit */ ); + if ( inputState->guessing==0 ) { +#line 417 "MDParser.g" + _ttype = DOT; +#line 1389 "MDLexer.cpp" } - else { - if ( _cnt130>=1 ) { goto _loop130; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt130++; - } - _loop130:; - } // ( ... )+ - 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::mVocabulary(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); - _ttype = Vocabulary; - ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - - 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 synPredMatched137 = false; - if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_6.member(LA(2))) && (true))) { - int _m137 = mark(); - synPredMatched137 = true; - inputState->guessing++; - try { - { + { + if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { { // ( ... )+ - int _cnt135=0; + int _cnt140=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); + matchRange('0','9'); } else { - if ( _cnt135>=1 ) { goto _loop135; } 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());} } - _cnt135++; + _cnt140++; } - _loop135:; + _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) { - synPredMatched137 = false; + else { } - rewind(_m137); - inputState->guessing--; - } - if ( synPredMatched137 ) { - { // ( ... )+ - int _cnt139=0; - for (;;) { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - mDigit(false); - } - else { - if ( _cnt139>=1 ) { goto _loop139; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt139++; + } - _loop139:; - } // ( ... )+ + 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 _loop142; + 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:; + } // ( ... )+ } - _loop142:; - } // ( ... )* - { - 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 451 "MDParser.g" - _ttype = FLOATONE; -#line 1420 "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 452 "MDParser.g" - _ttype = FLOATTWO; -#line 1433 "MDLexer.cpp" +#line 448 "MDParser.g" + isDecimal=true; +#line 1617 "MDLexer.cpp" } break; } @@ -1440,272 +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 _cnt160=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 ( _cnt160>=1 ) { goto _loop160; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } } - _cnt160++; - } - _loop160:; - } // ( ... )+ - { // ( ... )* - 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 _loop162; + 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 { + } + + } } - } - } - _loop162:; - } // ( ... )* - if ( inputState->guessing==0 ) { -#line 480 "MDParser.g" - _ttype = HEXADECIMALINT; -#line 1556 "MDLexer.cpp" - } - } - else if ((LA(1) == 0x2e /* '.' */ )) { - match('.' /* charlit */ ); - if ( inputState->guessing==0 ) { -#line 458 "MDParser.g" - _ttype = DOT; -#line 1564 "MDLexer.cpp" - } - { - if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { - { // ( ... )+ - int _cnt147=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 ( _cnt147>=1 ) { goto _loop147; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt147++; + } + { + 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 { + } + + } } - _loop147:; - } // ( ... )+ - { - 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 459 "MDParser.g" - _ttype = FLOATONE; -#line 1593 "MDLexer.cpp" +#line 458 "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 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 { } } + break; } - 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 _loop151; - } - - } - _loop151:; - } // ( ... )* - { // ( ... )* - for (;;) { - switch ( LA(1)) { - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; - } - case 0x55 /* 'U' */ : - case 0x75 /* 'u' */ : - { - mUnsignedSuffix(false); - break; - } - default: - { - goto _loop153; - } - } - } - _loop153:; - } // ( ... )* - if ( inputState->guessing==0 ) { -#line 469 "MDParser.g" - _ttype = OCTALINT; -#line 1660 "MDLexer.cpp" - } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); } - 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 _loop155; - } - - } - _loop155:; - } // ( ... )* - { // ( ... )* - for (;;) { - switch ( LA(1)) { - case 0x4c /* 'L' */ : - case 0x6c /* 'l' */ : - { - mLongSuffix(false); - break; - } - case 0x55 /* 'U' */ : - case 0x75 /* 'u' */ : - { - mUnsignedSuffix(false); - break; - } - default: - { - goto _loop157; - } - } - } - _loop157:; - } // ( ... )* - if ( inputState->guessing==0 ) { -#line 474 "MDParser.g" - _ttype = DECIMALINT; -#line 1703 "MDLexer.cpp" - } } - else { - 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)); @@ -1714,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 _loop166; + else { + if ( _cnt172>=1 ) { goto _loop172; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - } + + _cnt172++; } - _loop166:; - } // ( ... )* - _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)); @@ -1891,36 +1840,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 6 7 +// \" # $ % & \' ( ) + , - . / 0 1 2 3 4 5 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 6 7 +// \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 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 6 7 +// \" \' 0 1 2 3 4 5 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 6 7 +// # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 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 6 7 +// \' 0 1 2 3 4 5 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 6 7 +// 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 6 7 +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);