groovylexer.java
来自「大名鼎鼎的java动态脚本语言。已经通过了sun的认证」· Java 代码 · 共 2,085 行 · 第 1/5 页
JAVA
2,085 行
synPredMatched583 = true; inputState.guessing++; try { { match('*'); matchNot('/'); } } catch (RecognitionException pe) { synPredMatched583 = false; } rewind(_m583); inputState.guessing--; } if ( synPredMatched583 ) { match('*'); } else if ((LA(1)=='\n'||LA(1)=='\r')) { mONE_NL(false,true); } else if ((_tokenSet_2.member(LA(1)))) { { match(_tokenSet_2); } } else { break _loop585; } } while (true); } match("*/"); if ( inputState.guessing==0 ) { if (!whitespaceIncluded) _ttype = Token.SKIP; } 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 mSH_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { int _ttype; Token _token=null; int _begin=text.length(); _ttype = SH_COMMENT; int _saveIndex; if (!(getLine() == 1 && getColumn() == 1)) throw new SemanticException("getLine() == 1 && getColumn() == 1"); match("#!"); { _loop579: do { if ((_tokenSet_1.member(LA(1)))) { { match(_tokenSet_1); } } else { break _loop579; } } while (true); } if ( inputState.guessing==0 ) { if (!whitespaceIncluded) _ttype = Token.SKIP; } 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 mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { int _ttype; Token _token=null; int _begin=text.length(); _ttype = STRING_LITERAL; int _saveIndex; int tt=0; boolean synPredMatched588 = false; if (((LA(1)=='\'') && (LA(2)=='\'') && (LA(3)=='\'') && ((LA(4) >= '\u0003' && LA(4) <= '\ufffe')))) { int _m588 = mark(); synPredMatched588 = true; inputState.guessing++; try { { match("'''"); } } catch (RecognitionException pe) { synPredMatched588 = false; } rewind(_m588); inputState.guessing--; } if ( synPredMatched588 ) { _saveIndex=text.length(); match("'''"); text.setLength(_saveIndex); { _loop593: do { switch ( LA(1)) { case '\\': { mESC(false); break; } case '"': { match('"'); break; } case '$': { match('$'); break; } case '\n': case '\r': { mSTRING_NL(false,true); break; } default: boolean synPredMatched592 = false; if (((LA(1)=='\'') && ((LA(2) >= '\u0003' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0003' && LA(3) <= '\ufffe')) && ((LA(4) >= '\u0003' && LA(4) <= '\ufffe')))) { int _m592 = mark(); synPredMatched592 = true; inputState.guessing++; try { { match('\''); { if ((_tokenSet_3.member(LA(1)))) { matchNot('\''); } else if ((LA(1)=='\'')) { match('\''); matchNot('\''); } else { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } } catch (RecognitionException pe) { synPredMatched592 = false; } rewind(_m592); inputState.guessing--; } if ( synPredMatched592 ) { match('\''); } else if ((_tokenSet_4.member(LA(1)))) { mSTRING_CH(false); } else { break _loop593; } } } while (true); } _saveIndex=text.length(); match("'''"); text.setLength(_saveIndex); } else { boolean synPredMatched597 = false; if (((LA(1)=='"') && (LA(2)=='"') && (LA(3)=='"') && ((LA(4) >= '\u0003' && LA(4) <= '\ufffe')))) { int _m597 = mark(); synPredMatched597 = true; inputState.guessing++; try { { match("\"\"\""); } } catch (RecognitionException pe) { synPredMatched597 = false; } rewind(_m597); inputState.guessing--; } if ( synPredMatched597 ) { _saveIndex=text.length(); match("\"\"\""); text.setLength(_saveIndex); tt=mSTRING_CTOR_END(false,true, /*tripleQuote:*/ true); if ( inputState.guessing==0 ) { _ttype = tt; } } else if ((LA(1)=='\'') && (_tokenSet_1.member(LA(2))) && (true) && (true)) { _saveIndex=text.length(); match('\''); text.setLength(_saveIndex); if ( inputState.guessing==0 ) { ++suppressNewline; } { _loop595: do { switch ( LA(1)) { case '\\': { mESC(false); break; } case '"': { match('"'); break; } case '$': { match('$'); break; } default: if ((_tokenSet_4.member(LA(1)))) { mSTRING_CH(false); } else { break _loop595; } } } while (true); } if ( inputState.guessing==0 ) { --suppressNewline; } _saveIndex=text.length(); match('\''); text.setLength(_saveIndex); } else if ((LA(1)=='"') && ((LA(2) >= '\u0003' && LA(2) <= '\ufffe')) && (true) && (true)) { _saveIndex=text.length(); match('"'); text.setLength(_saveIndex); if ( inputState.guessing==0 ) { ++suppressNewline; } tt=mSTRING_CTOR_END(false,true, /*tripleQuote:*/ false); if ( inputState.guessing==0 ) { _ttype = tt; } } else { 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 mSTRING_CH(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { int _ttype; Token _token=null; int _begin=text.length(); _ttype = STRING_CH; int _saveIndex; { match(_tokenSet_4); } 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 mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { int _ttype; Token _token=null; int _begin=text.length(); _ttype = ESC; int _saveIndex; if ((LA(1)=='\\') && (LA(2)=='"'||LA(2)=='$'||LA(2)=='\''||LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='\\'||LA(2)=='b'||LA(2)=='f'||LA(2)=='n'||LA(2)=='r'||LA(2)=='t'||LA(2)=='u')) { _saveIndex=text.length(); match('\\'); text.setLength(_saveIndex); { switch ( LA(1)) { case 'n': { match('n'); if ( inputState.guessing==0 ) { text.setLength(_begin); text.append("\n"); } break; } case 'r': { match('r'); if ( inputState.guessing==0 ) { text.setLength(_begin); text.append("\r"); } break; } case 't': { match('t'); if ( inputState.guessing==0 ) { text.setLength(_begin); text.append("\t"); } break; } case 'b': { match('b'); if ( inputState.guessing==0 ) { text.setLength(_begin); text.append("\b"); } break; } case 'f': { match('f'); if ( inputState.guessing==0 ) { text.setLength(_begin); text.append("\f"); } break; } case '"': { match('"'); break; } case '\'': { match('\''); break; } case '\\': { match('\\'); break; } case '$': { match('$'); break; } case 'u': { { int _cnt623=0; _loop623: do { if ((LA(1)=='u')) { match('u'); } else { if ( _cnt623>=1 ) { break _loop623; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } _cnt623++; } while (true); } if ( inputState.guessing==0 ) { text.setLength(_begin); text.append(""); } mHEX_DIGIT(false); mHEX_DIGIT(false); mHEX_DIGIT(false); mHEX_DIGIT(false); if ( inputState.guessing==0 ) { char ch = (char)Integer.parseInt(new String(text.getBuffer(),_begin,text.length()-_begin),16); text.setLength(_begin); text.append(ch); } break; } case '0': case '1': case '2': case '3': { matchRange('0','3'); { if (((LA(1) >= '0' && LA(1) <= '7')) && ((LA(2) >= '\u0003' && LA(2) <= '\ufffe')) && (true) && (true)) { matchRange('0','7'); { if (((LA(1) >= '0' && LA(1) <= '7')) && ((LA(2) >= '\u0003' && LA(2) <= '\ufffe')) && (true) && (true)) { matchRange('0','7'); } else if (((LA(1) >= '\u0003' && LA(1) <= '\ufffe')) && (true) && (true) && (true)) { } else { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } } else if (((LA(1) >= '\u0003' && LA(1) <= '\ufffe')) && (true) && (true) && (true)) { } else { throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); } } if ( inputState.guessing==0 ) { char ch = (char)Integer.parseInt(new String(text.getBuffer(),_begin,text.length()-_begin),8); text.setLength(_begin); text.append(ch); } break; } case '4': case '5': case '6': case '7': { matchRange('4','7'); { if (((LA(1) >= '0' && LA(1) <= '7')) && ((LA(2) >= '\u0003' && LA(2) <= '\ufffe')) && (true) && (true)) { matchRange('0','7'); } else if (((LA(1) >= '\u0003' && LA(1) <= '\ufffe')) && (true) && (true) && (true)) { } else { throw new NoViableAltForCharException((char)LA(1), getFilename()
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?