⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actionlexer.java

📁 Java写的词法/语法分析器。可生成JAVA语言或者是C++的词法和语法分析器。并可产生语法分析树和对该树进行遍历
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
				break;			}			case ']':			{				break;			}			default:			{				throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());			}			}			}			break;		}		case ']':		{			break;		}		default:		{			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}		}		}		_saveIndex=text.length();		match(']');		text.setLength(_saveIndex);						String ys = "";				if ( y!=null ) {					ys = ","+y.getText();				}				text.setLength(_begin); text.append(generator.getASTCreateString(null,x.getText()+ys));						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 mTEXT_ARG(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = TEXT_ARG;		int _saveIndex;				{		int _cnt53=0;		_loop53:		do {			if ((_tokenSet_6.member(LA(1))) && ((LA(2) >= '\3' && LA(2) <= '~'))) {				mTEXT_ARG_ELEMENT(false);				{				if ((_tokenSet_7.member(LA(1))) && (_tokenSet_8.member(LA(2)))) {					mWS(false);				}				else if ((_tokenSet_8.member(LA(1))) && (true)) {				}				else {					throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());				}								}			}			else {				if ( _cnt53>=1 ) { break _loop53; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());}			}						_cnt53++;		} 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 mTREE_ELEMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = TREE_ELEMENT;		int _saveIndex;		Token id=null;				switch ( LA(1)) {		case '(':		{			mTREE(false);			break;		}		case '[':		{			mAST_CONSTRUCTOR(false);			break;		}		case 'A':  case 'B':  case 'C':  case 'D':		case 'E':  case 'F':  case 'G':  case 'H':		case 'I':  case 'J':  case 'K':  case 'L':		case 'M':  case 'N':  case 'O':  case 'P':		case 'Q':  case 'R':  case 'S':  case 'T':		case 'U':  case 'V':  case 'W':  case 'X':		case 'Y':  case 'Z':  case '_':  case 'a':		case 'b':  case 'c':  case 'd':  case 'e':		case 'f':  case 'g':  case 'h':  case 'i':		case 'j':  case 'k':  case 'l':  case 'm':		case 'n':  case 'o':  case 'p':  case 'q':		case 'r':  case 's':  case 't':  case 'u':		case 'v':  case 'w':  case 'x':  case 'y':		case 'z':		{			mID_ELEMENT(false);			break;		}		case '"':		{			mSTRING(false);			break;		}		default:			if ((LA(1)=='@') && (LA(2)=='(')) {				_saveIndex=text.length();				match('@');				text.setLength(_saveIndex);				mTREE(false);			}			else if ((LA(1)=='@') && (LA(2)=='[')) {				_saveIndex=text.length();				match('@');				text.setLength(_saveIndex);				mAST_CONSTRUCTOR(false);			}			else if ((LA(1)=='@') && (_tokenSet_1.member(LA(2)))) {				_saveIndex=text.length();				match('@');				text.setLength(_saveIndex);				mID_ELEMENT(true);				id=_returnToken;				String t=generator.mapTreeId(id.getText(), null); text.setLength(_begin); text.append(t);			}			else if ((LA(1)=='@') && (LA(2)=='@')) {				match("@@");				String t = currentRule.getRuleName()+"_AST"; text.setLength(_begin); text.append(t);			}		else {			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}		}		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {			_token = makeToken(_ttype);			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));		}		_returnToken = _token;	}	/** An ID_ELEMENT can be a func call, array ref, simple var, *  or AST label ref. */	protected final void mID_ELEMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = ID_ELEMENT;		int _saveIndex;		Token id=null;				mID(true);		id=_returnToken;		{		if ((_tokenSet_7.member(LA(1))) && (_tokenSet_9.member(LA(2)))) {			_saveIndex=text.length();			mWS(false);			text.setLength(_saveIndex);		}		else if ((_tokenSet_9.member(LA(1))) && (true)) {		}		else {			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}				}		{		switch ( LA(1)) {		case '(':		{			match('(');			{			if ((_tokenSet_7.member(LA(1))) && (_tokenSet_10.member(LA(2)))) {				_saveIndex=text.length();				mWS(false);				text.setLength(_saveIndex);			}			else if ((_tokenSet_10.member(LA(1))) && ((LA(2) >= '\3' && LA(2) <= '~'))) {			}			else {				throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());			}						}			{			switch ( LA(1)) {			case '"':  case '\'':  case '(':  case '0':			case '1':  case '2':  case '3':  case '4':			case '5':  case '6':  case '7':  case '8':			case '9':  case '@':  case 'A':  case 'B':			case 'C':  case 'D':  case 'E':  case 'F':			case 'G':  case 'H':  case 'I':  case 'J':			case 'K':  case 'L':  case 'M':  case 'N':			case 'O':  case 'P':  case 'Q':  case 'R':			case 'S':  case 'T':  case 'U':  case 'V':			case 'W':  case 'X':  case 'Y':  case 'Z':			case '[':  case '_':  case 'a':  case 'b':			case 'c':  case 'd':  case 'e':  case 'f':			case 'g':  case 'h':  case 'i':  case 'j':			case 'k':  case 'l':  case 'm':  case 'n':			case 'o':  case 'p':  case 'q':  case 'r':			case 's':  case 't':  case 'u':  case 'v':			case 'w':  case 'x':  case 'y':  case 'z':			{				mARG(false);				{				_loop42:				do {					if ((LA(1)==',')) {						match(',');						{						switch ( LA(1)) {						case '\t':  case '\n':  case '\r':  case ' ':						{							_saveIndex=text.length();							mWS(false);							text.setLength(_saveIndex);							break;						}						case '"':  case '\'':  case '(':  case '0':						case '1':  case '2':  case '3':  case '4':						case '5':  case '6':  case '7':  case '8':						case '9':  case '@':  case 'A':  case 'B':						case 'C':  case 'D':  case 'E':  case 'F':						case 'G':  case 'H':  case 'I':  case 'J':						case 'K':  case 'L':  case 'M':  case 'N':						case 'O':  case 'P':  case 'Q':  case 'R':						case 'S':  case 'T':  case 'U':  case 'V':						case 'W':  case 'X':  case 'Y':  case 'Z':						case '[':  case '_':  case 'a':  case 'b':						case 'c':  case 'd':  case 'e':  case 'f':						case 'g':  case 'h':  case 'i':  case 'j':						case 'k':  case 'l':  case 'm':  case 'n':						case 'o':  case 'p':  case 'q':  case 'r':						case 's':  case 't':  case 'u':  case 'v':						case 'w':  case 'x':  case 'y':  case 'z':						{							break;						}						default:						{							throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());						}						}						}						mARG(false);					}					else {						break _loop42;					}									} while (true);				}				break;			}			case '\t':  case '\n':  case '\r':  case ' ':			case ')':			{				break;			}			default:			{				throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());			}			}			}			{			switch ( LA(1)) {			case '\t':  case '\n':  case '\r':  case ' ':			{				_saveIndex=text.length();				mWS(false);				text.setLength(_saveIndex);				break;			}			case ')':			{				break;			}			default:			{				throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());			}			}			}			match(')');			break;		}		case '[':		{			{			int _cnt47=0;			_loop47:			do {				if ((LA(1)=='[')) {					match('[');					{					switch ( LA(1)) {					case '\t':  case '\n':  case '\r':  case ' ':					{						_saveIndex=text.length();						mWS(false);						text.setLength(_saveIndex);						break;					}					case '"':  case '\'':  case '(':  case '0':					case '1':  case '2':  case '3':  case '4':					case '5':  case '6':  case '7':  case '8':					case '9':  case '@':  case 'A':  case 'B':					case 'C':  case 'D':  case 'E':  case 'F':					case 'G':  case 'H':  case 'I':  case 'J':					case 'K':  case 'L':  case 'M':  case 'N':					case 'O':  case 'P':  case 'Q':  case 'R':					case 'S':  case 'T':  case 'U':  case 'V':					case 'W':  case 'X':  case 'Y':  case 'Z':					case '[':  case '_':  case 'a':  case 'b':					case 'c':  case 'd':  case 'e':  case 'f':					case 'g':  case 'h':  case 'i':  case 'j':					case 'k':  case 'l':  case 'm':  case 'n':					case 'o':  case 'p':  case 'q':  case 'r':					case 's':  case 't':  case 'u':  case 'v':					case 'w':  case 'x':  case 'y':  case 'z':					{						break;					}					default:					{						throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());					}					}					}					mARG(false);					{					switch ( LA(1)) {					case '\t':  case '\n':  case '\r':  case ' ':					{						_saveIndex=text.length();						mWS(false);						text.setLength(_saveIndex);						break;					}					case ']':					{						break;					}					default:					{						throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());					}					}					}					match(']');				}				else {					if ( _cnt47>=1 ) { break _loop47; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());}				}								_cnt47++;			} while (true);			}			break;		}		case '.':		{			match('.');			mID_ELEMENT(false);			break;		}		case '\t':  case '\n':  case '\r':  case ' ':		case ')':  case '*':  case '+':  case ',':		case '-':  case '/':  case ':':  case ']':		{									String t=generator.mapTreeId(id.getText(), transInfo);						text.setLength(_begin); text.append(t);									{			if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))))&&(transInfo!=null && transInfo.refRuleRoot!=null)) {				{				switch ( LA(1)) {				case '\t':  case '\n':  case '\r':  case ' ':				{					mWS(false);					break;				}				case ':':				{					break;				}				default:				{					throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());				}				}				}				mVAR_ASSIGN(false);			}			else if ((_tokenSet_11.member(LA(1))) && (true)) {			}			else {				throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());			}						}			break;		}		default:		{			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}		}		}		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {			_token = makeToken(_ttype);			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));		}		_returnToken = _token;	}	/** The arguments of a @[...] constructor are text, token type, *  or a tree. */	protected final void mAST_CTOR_ELEMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = AST_CTOR_ELEMENT;		int _saveIndex;				if ((LA(1)=='"') && ((LA(2) >= '\3' && LA(2) <= '~'))) {			mSTRING(false);		}		else if ((_tokenSet_12.member(LA(1))) && ((LA(2) >= '\3' && LA(2) <= '~'))) {			mTREE_ELEMENT(false);		}		else if (((LA(1) >= '0' && LA(1) <= '9'))) {			mINT(false);		}		else {			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}				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 mINT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = INT;		int _saveIndex;				{		int _cnt96=0;		_loop96:		do {			if (((LA(1) >= '0' && LA(1) <= '9'))) {				mDIGIT(false);			}			else {				if ( _cnt96>=1 ) { break _loop96; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());}			}						_cnt96++;		} 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 mARG(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = ARG;		int _saveIndex;				{		switch ( LA(1)) {		case '\'':		{			mCHAR(false);			break;		}		case '0':  case '1':  case '2':  case '3':		case '4':  case '5':  case '6':  case '7':		case '8':  case '9':		{			mINT_OR_FLOAT(false);			break;		}		default:			if ((_tokenSet_12.member(LA(1))) && ((LA(2) >= '\3' && LA(2) <= '~'))) {				mTREE_ELEMENT(false);			}			else if ((LA(1)=='"') && ((LA(2) >= '\3' && LA(2) <= '~'))) {				mSTRING(false);			}		else {			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}		}		}		{		_loop74:		do {			if ((_tokenSet_13.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {				{				switch ( LA(1)) {				case '\t':  case '\n':  case '\r':  case ' ':				{					mWS(false);					break;				}				case '*':  case '+':  case '-':  case '/':				{					break;				}				default:				{					throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());				}				}				}				{				switch ( LA(1)) {				case '+':				{					match('+');					break;				}				case '-':				{					match('-');					break;				}				case '*':				{					match('*');					break;				}				case '/':

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -