javalexer.java
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· Java 代码 · 共 2,127 行 · 第 1/4 页
JAVA
2,127 行
switch ( LA(1)) { case '.': { match('.'); if ( inputState.guessing==0 ) { _ttype = DOT; } { switch ( LA(1)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { { { int _cnt398=0; _loop398: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { if ( _cnt398>=1 ) { break _loop398; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } _cnt398++; } while (true); } { if ((LA(1)=='E'||LA(1)=='e')) { mEXPONENT(false); } else { } } { if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { mFLOAT_SUFFIX(true); f1=_returnToken; if ( inputState.guessing==0 ) { t=f1; } } else { } } if ( inputState.guessing==0 ) { if (t != null && t.getText().toUpperCase().indexOf('F')>=0) { _ttype = NUM_FLOAT; } else { _ttype = NUM_DOUBLE; // assume double } } } break; } case '.': { { match(".."); if ( inputState.guessing==0 ) { _ttype = TRIPLE_DOT; } } break; } default: { } } } break; } case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { { switch ( LA(1)) { case '0': { match('0'); if ( inputState.guessing==0 ) { isDecimal = true; } { if ((LA(1)=='X'||LA(1)=='x')) { { switch ( LA(1)) { case 'x': { match('x'); break; } case 'X': { match('X'); break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } { int _cnt406=0; _loop406: do { if ((_tokenSet_4.member(LA(1))) && (true) && (true) && (true)) { mHEX_DIGIT(false); } else { if ( _cnt406>=1 ) { break _loop406; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } _cnt406++; } while (true); } } else { boolean synPredMatched411 = false; if ((((LA(1) >= '0' && LA(1) <= '9')) && (true) && (true) && (true))) { int _m411 = mark(); synPredMatched411 = true; inputState.guessing++; try { { { int _cnt409=0; _loop409: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { if ( _cnt409>=1 ) { break _loop409; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } _cnt409++; } while (true); } { switch ( LA(1)) { case '.': { match('.'); break; } case 'E': case 'e': { mEXPONENT(false); break; } case 'D': case 'F': case 'd': case 'f': { mFLOAT_SUFFIX(false); break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } } } catch (RecognitionException pe) { synPredMatched411 = false; } rewind(_m411); inputState.guessing--; } if ( synPredMatched411 ) { { int _cnt413=0; _loop413: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { if ( _cnt413>=1 ) { break _loop413; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } _cnt413++; } while (true); } } else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { { int _cnt415=0; _loop415: do { if (((LA(1) >= '0' && LA(1) <= '7'))) { matchRange('0','7'); } else { if ( _cnt415>=1 ) { break _loop415; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } _cnt415++; } while (true); } } else { } } } break; } case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { { matchRange('1','9'); } { _loop418: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { break _loop418; } } while (true); } if ( inputState.guessing==0 ) { isDecimal=true; } break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } { if ((LA(1)=='L'||LA(1)=='l')) { { switch ( LA(1)) { case 'l': { match('l'); break; } case 'L': { match('L'); break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } if ( inputState.guessing==0 ) { _ttype = NUM_LONG; } } else if (((LA(1)=='.'||LA(1)=='D'||LA(1)=='E'||LA(1)=='F'||LA(1)=='d'||LA(1)=='e'||LA(1)=='f'))&&(isDecimal)) { { switch ( LA(1)) { case '.': { match('.'); { _loop423: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { break _loop423; } } while (true); } { if ((LA(1)=='E'||LA(1)=='e')) { mEXPONENT(false); } else { } } { if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { mFLOAT_SUFFIX(true); f2=_returnToken; if ( inputState.guessing==0 ) { t=f2; } } else { } } break; } case 'E': case 'e': { mEXPONENT(false); { if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { mFLOAT_SUFFIX(true); f3=_returnToken; if ( inputState.guessing==0 ) { t=f3; } } else { } } break; } case 'D': case 'F': case 'd': case 'f': { mFLOAT_SUFFIX(true); f4=_returnToken; if ( inputState.guessing==0 ) { t=f4; } break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } if ( inputState.guessing==0 ) { if (t != null && t.getText().toUpperCase() .indexOf('F') >= 0) { _ttype = NUM_FLOAT; } else { _ttype = NUM_DOUBLE; // assume double } } } else { } } break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } if ( _createToken && _token==null && _ttype!=Token.SKIP ) { _token = makeToken(_ttype); _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); } _returnToken = _token; } protected final void mEXPONENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { int _ttype; Token _token=null; int _begin=text.length(); _ttype = EXPONENT; int _saveIndex; { switch ( LA(1)) { case 'e': { match('e'); break; } case 'E': { match('E'); break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } { switch ( LA(1)) { case '+': { match('+'); break; } case '-': { match('-'); break; } case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } { int _cnt432=0; _loop432: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { if ( _cnt432>=1 ) { break _loop432; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } _cnt432++; } while (true); } if ( _createToken && _token==null && _ttype!=Token.SKIP ) { _token = makeToken(_ttype); _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); } _returnToken = _token; } protected final void mFLOAT_SUFFIX(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { int _ttype; Token _token=null; int _begin=text.length(); _ttype = FLOAT_SUFFIX; int _saveIndex; switch ( LA(1)) { case 'f': { match('f'); break; } case 'F': { match('F'); break; } case 'd': { match('d'); break; } case 'D': { match('D'); break; } default: { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } if ( _createToken && _token==null && _ttype!=Token.SKIP ) { _token = makeToken(_ttype); _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); } _returnToken = _token; } public final void mAT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { int _ttype; Token _token=null; int _begin=text.length(); _ttype = AT; int _saveIndex; match('@'); if ( _createToken && _token==null && _ttype!=Token.SKIP ) { _token = makeToken(_ttype); _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); } _returnToken = _token; } private static final long[] mk_tokenSet_0() { long[] data = new long[2048]; data[0]=-9224L; for (int i = 1; i<=1023; i++) { data[i]=-1L; } return data; } public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); private static final long[] mk_tokenSet_1() { long[] data = new long[2048]; data[0]=-4398046520328L; for (int i = 1; i<=1023; i++) { data[i]=-1L; } return data; } public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); private static final long[] mk_tokenSet_2() { long[] data = new long[2048]; data[0]=-17179878408L; data[1]=-268435457L; for (int i = 2; i<=1023; i++) { data[i]=-1L; } return data; } public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); private static final long[] mk_tokenSet_3() { long[] data = new long[2048]; data[0]=-549755823112L; data[1]=-268435457L; for (int i = 2; i<=1023; i++) { data[i]=-1L; } return data; } public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); private static final long[] mk_tokenSet_4() { long[] data = new long[1025]; data[0]=287948901175001088L; data[1]=541165879422L; return data; } public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4()); }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?