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

📄 actionlexer.java

📁 Java写的词法/语法分析器。可生成JAVA语言或者是C++的词法和语法分析器。并可产生语法分析树和对该树进行遍历
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
			switch ( LA(1)) {			case '\\':			{				mESC(false);				break;			}			case '\3':  case '\4':  case '\5':  case '\6':			case '\7':  case '\10':  case '\t':  case '\n':			case '\13':  case '\14':  case '\r':  case '\16':			case '\17':  case '\20':  case '\21':  case '\22':			case '\23':  case '\24':  case '\25':  case '\26':			case '\27':  case '\30':  case '\31':  case '\32':			case '\33':  case '\34':  case '\35':  case '\36':			case '\37':  case ' ':  case '!':  case '#':			case '$':  case '%':  case '&':  case '\'':			case '(':  case ')':  case '*':  case '+':			case ',':  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 ';':			case '<':  case '=':  case '>':  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':  case '[':			case ']':  case '^':  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':  case '{':  case '|':			case '}':  case '~':			{				matchNot('"');				break;			}			default:			{				break _loop85;			}			}		} while (true);		}		match('"');		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 mCHAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = CHAR;		int _saveIndex;				match('\'');		{		switch ( LA(1)) {		case '\\':		{			mESC(false);			break;		}		case '\3':  case '\4':  case '\5':  case '\6':		case '\7':  case '\10':  case '\t':  case '\n':		case '\13':  case '\14':  case '\r':  case '\16':		case '\17':  case '\20':  case '\21':  case '\22':		case '\23':  case '\24':  case '\25':  case '\26':		case '\27':  case '\30':  case '\31':  case '\32':		case '\33':  case '\34':  case '\35':  case '\36':		case '\37':  case ' ':  case '!':  case '"':		case '#':  case '$':  case '%':  case '&':		case '(':  case ')':  case '*':  case '+':		case ',':  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 ';':		case '<':  case '=':  case '>':  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':  case '[':		case ']':  case '^':  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':  case '{':  case '|':		case '}':  case '~':		{			matchNot('\'');			break;		}		default:		{			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}		}		}		match('\'');		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(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = TREE;		int _saveIndex;		Token t=null;		Token t2=null;					StringBuffer buf = new StringBuffer();			int n=0;			Vector terms = new Vector(10);						_saveIndex=text.length();		match('(');		text.setLength(_saveIndex);		{		switch ( LA(1)) {		case '\t':  case '\n':  case '\r':  case ' ':		{			_saveIndex=text.length();			mWS(false);			text.setLength(_saveIndex);			break;		}		case '"':  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':  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());		}		}		}		_saveIndex=text.length();		mTREE_ELEMENT(true);		text.setLength(_saveIndex);		t=_returnToken;		terms.appendElement(t.getText());		{		switch ( LA(1)) {		case '\t':  case '\n':  case '\r':  case ' ':		{			_saveIndex=text.length();			mWS(false);			text.setLength(_saveIndex);			break;		}		case ')':  case ',':		{			break;		}		default:		{			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}		}		}		{		_loop26:		do {			if ((LA(1)==',')) {				_saveIndex=text.length();				match(',');				text.setLength(_saveIndex);				{				switch ( LA(1)) {				case '\t':  case '\n':  case '\r':  case ' ':				{					_saveIndex=text.length();					mWS(false);					text.setLength(_saveIndex);					break;				}				case '"':  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':  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());				}				}				}				_saveIndex=text.length();				mTREE_ELEMENT(true);				text.setLength(_saveIndex);				t2=_returnToken;				terms.appendElement(t2.getText());				{				switch ( LA(1)) {				case '\t':  case '\n':  case '\r':  case ' ':				{					_saveIndex=text.length();					mWS(false);					text.setLength(_saveIndex);					break;				}				case ')':  case ',':				{					break;				}				default:				{					throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());				}				}				}			}			else {				break _loop26;			}					} while (true);		}		text.setLength(_begin); text.append(generator.getASTCreateString(terms));		_saveIndex=text.length();		match(')');		text.setLength(_saveIndex);		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 mID(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = ID;		int _saveIndex;				{		switch ( LA(1)) {		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':		{			matchRange('a','z');			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':		{			matchRange('A','Z');			break;		}		case '_':		{			match('_');			break;		}		default:		{			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}		}		}		{		_loop79:		do {			if ((_tokenSet_4.member(LA(1))) && (true)) {				{				switch ( LA(1)) {				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':				{					matchRange('a','z');					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':				{					matchRange('A','Z');					break;				}				case '0':  case '1':  case '2':  case '3':				case '4':  case '5':  case '6':  case '7':				case '8':  case '9':				{					matchRange('0','9');					break;				}				case '_':				{					match('_');					break;				}				default:				{					throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());				}				}				}			}			else {				break _loop79;			}					} 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 mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = WS;		int _saveIndex;				{		int _cnt105=0;		_loop105:		do {			if ((LA(1)==' ') && (_tokenSet_5.member(LA(2)))) {				match(' ');			}			else if ((LA(1)=='\t') && (_tokenSet_5.member(LA(2)))) {				match('\t');			}			else if ((LA(1)=='\r') && (LA(2)=='\n')) {				match('\r');				match('\n');				newline();			}			else if ((LA(1)=='\r') && (_tokenSet_5.member(LA(2)))) {				match('\r');				newline();			}			else if ((LA(1)=='\n') && (_tokenSet_5.member(LA(2)))) {				match('\n');				newline();			}			else {				if ( _cnt105>=1 ) { break _loop105; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());}			}						_cnt105++;		} 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 mVAR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = VAR_ASSIGN;		int _saveIndex;				match(":=");						// inform the code generator that an assignment was done to				// AST root for the rule if invoker set refRuleRoot.				if ( transInfo!=null && transInfo.refRuleRoot!=null ) {					transInfo.assignToRoot=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 mAST_CONSTRUCTOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = AST_CONSTRUCTOR;		int _saveIndex;		Token x=null;		Token y=null;				_saveIndex=text.length();		match('[');		text.setLength(_saveIndex);		{		switch ( LA(1)) {		case '\t':  case '\n':  case '\r':  case ' ':		{			_saveIndex=text.length();			mWS(false);			text.setLength(_saveIndex);			break;		}		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());		}		}		}		_saveIndex=text.length();		mAST_CTOR_ELEMENT(true);		text.setLength(_saveIndex);		x=_returnToken;		{		switch ( LA(1)) {		case '\t':  case '\n':  case '\r':  case ' ':		{			_saveIndex=text.length();			mWS(false);			text.setLength(_saveIndex);			break;		}		case ',':  case ']':		{			break;		}		default:		{			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());		}		}		}		{		switch ( LA(1)) {		case ',':		{			_saveIndex=text.length();			match(',');			text.setLength(_saveIndex);			{			switch ( LA(1)) {			case '\t':  case '\n':  case '\r':  case ' ':			{				_saveIndex=text.length();				mWS(false);				text.setLength(_saveIndex);				break;			}			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());			}			}			}			_saveIndex=text.length();			mAST_CTOR_ELEMENT(true);			text.setLength(_saveIndex);			y=_returnToken;			{			switch ( LA(1)) {			case '\t':  case '\n':  case '\r':  case ' ':			{				_saveIndex=text.length();				mWS(false);				text.setLength(_saveIndex);

⌨️ 快捷键说明

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