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 + -
显示快捷键?