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

📄 treetonfaconverter.java

📁 ANTLR(ANother Tool for Language Recognition)它是这样的一种工具
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
				match(_t,ID);				_t = _t.getNextSibling();				g=atom(_t);				_t = _retTree;				_t = __t75;				_t = _t.getNextSibling();				break;			}			case BLOCK:			case OPTIONAL:			case CLOSURE:			case POSITIVE_CLOSURE:			{				g=ebnf(_t);				_t = _retTree;				break;			}			case TREE_BEGIN:			{				g=tree(_t);				_t = _retTree;				break;			}			case SYNPRED:			{				AST __t76 = _t;				GrammarAST tmp44_AST_in = (GrammarAST)_t;				match(_t,SYNPRED);				_t = _t.getFirstChild();				block(_t);				_t = _retTree;				_t = __t76;				_t = _t.getNextSibling();				break;			}			case ACTION:			{				GrammarAST tmp45_AST_in = (GrammarAST)_t;				match(_t,ACTION);				_t = _t.getNextSibling();				break;			}			case SEMPRED:			{				pred = (GrammarAST)_t;				match(_t,SEMPRED);				_t = _t.getNextSibling();				g = factory.build_SemanticPredicate(pred);				break;			}			case SYN_SEMPRED:			{				spred = (GrammarAST)_t;				match(_t,SYN_SEMPRED);				_t = _t.getNextSibling();				g = factory.build_SemanticPredicate(spred);				break;			}			case GATED_SEMPRED:			{				gpred = (GrammarAST)_t;				match(_t,GATED_SEMPRED);				_t = _t.getNextSibling();				g = factory.build_SemanticPredicate(gpred);				break;			}			case EPSILON:			{				GrammarAST tmp46_AST_in = (GrammarAST)_t;				match(_t,EPSILON);				_t = _t.getNextSibling();				g = factory.build_Epsilon();				break;			}			default:			{				throw new NoViableAltException(_t);			}			}		}		catch (RecognitionException ex) {			reportError(ex);			if (_t!=null) {_t = _t.getNextSibling();}		}		_retTree = _t;		return g;	}		public final void exceptionSpec(AST _t) throws RecognitionException {				GrammarAST exceptionSpec_AST_in = (_t == ASTNULL) ? null : (GrammarAST)_t;				try {      // for error handling			AST __t53 = _t;			GrammarAST tmp47_AST_in = (GrammarAST)_t;			match(_t,LITERAL_exception);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case ARG_ACTION:			{				GrammarAST tmp48_AST_in = (GrammarAST)_t;				match(_t,ARG_ACTION);				_t = _t.getNextSibling();				break;			}			case 3:			case LITERAL_catch:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			{			_loop56:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==LITERAL_catch)) {					exceptionHandler(_t);					_t = _retTree;				}				else {					break _loop56;				}							} while (true);			}			_t = __t53;			_t = _t.getNextSibling();		}		catch (RecognitionException ex) {			reportError(ex);			if (_t!=null) {_t = _t.getNextSibling();}		}		_retTree = _t;	}		public final void exceptionHandler(AST _t) throws RecognitionException {				GrammarAST exceptionHandler_AST_in = (_t == ASTNULL) ? null : (GrammarAST)_t;				try {      // for error handling			AST __t58 = _t;			GrammarAST tmp49_AST_in = (GrammarAST)_t;			match(_t,LITERAL_catch);			_t = _t.getFirstChild();			GrammarAST tmp50_AST_in = (GrammarAST)_t;			match(_t,ARG_ACTION);			_t = _t.getNextSibling();			GrammarAST tmp51_AST_in = (GrammarAST)_t;			match(_t,ACTION);			_t = _t.getNextSibling();			_t = __t58;			_t = _t.getNextSibling();		}		catch (RecognitionException ex) {			reportError(ex);			if (_t!=null) {_t = _t.getNextSibling();}		}		_retTree = _t;	}		public final StateCluster  atom(AST _t) throws RecognitionException {		StateCluster g=null;				GrammarAST atom_AST_in = (_t == ASTNULL) ? null : (GrammarAST)_t;		GrammarAST r = null;		GrammarAST rarg = null;		GrammarAST as1 = null;		GrammarAST t = null;		GrammarAST targ = null;		GrammarAST as2 = null;		GrammarAST c = null;		GrammarAST as3 = null;		GrammarAST s = null;		GrammarAST as4 = null;		GrammarAST w = null;		GrammarAST as5 = null;				try {      // for error handling			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case RULE_REF:			{				AST __t95 = _t;				r = _t==ASTNULL ? null :(GrammarAST)_t;				match(_t,RULE_REF);				_t = _t.getFirstChild();				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case ARG_ACTION:				{					rarg = (GrammarAST)_t;					match(_t,ARG_ACTION);					_t = _t.getNextSibling();					break;				}				case 3:				case BANG:				case ROOT:				case RULEROOT:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case BANG:				case ROOT:				case RULEROOT:				{					as1 = _t==ASTNULL ? null : (GrammarAST)_t;					ast_suffix(_t);					_t = _retTree;					break;				}				case 3:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				_t = __t95;				_t = _t.getNextSibling();								NFAState start = grammar.getRuleStartState(r.getText());				if ( start!=null ) {				int ruleIndex = grammar.getRuleIndex(r.getText());				g = factory.build_RuleRef(ruleIndex, start);				r.followingNFAState = g.right;				if ( g.left.transition(0) instanceof RuleClosureTransition					 && grammar.type!=Grammar.LEXER )				{				addFollowTransition(r.getText(), g.right);				}				// else rule ref got inlined to a set				}								break;			}			case TOKEN_REF:			{				AST __t98 = _t;				t = _t==ASTNULL ? null :(GrammarAST)_t;				match(_t,TOKEN_REF);				_t = _t.getFirstChild();				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case ARG_ACTION:				{					targ = (GrammarAST)_t;					match(_t,ARG_ACTION);					_t = _t.getNextSibling();					break;				}				case 3:				case BANG:				case ROOT:				case RULEROOT:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case BANG:				case ROOT:				case RULEROOT:				{					as2 = _t==ASTNULL ? null : (GrammarAST)_t;					ast_suffix(_t);					_t = _retTree;					break;				}				case 3:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				_t = __t98;				_t = _t.getNextSibling();								if ( grammar.type==Grammar.LEXER ) {				NFAState start = grammar.getRuleStartState(t.getText());				if ( start!=null ) {				int ruleIndex = grammar.getRuleIndex(t.getText());				g = factory.build_RuleRef(ruleIndex, start);				// don't add FOLLOW transitions in the lexer;				// only exact context should be used.				}				}				else {				int tokenType = grammar.getTokenType(t.getText());				g = factory.build_Atom(tokenType);				t.followingNFAState = g.right;				}								break;			}			case CHAR_LITERAL:			{				AST __t101 = _t;				c = _t==ASTNULL ? null :(GrammarAST)_t;				match(_t,CHAR_LITERAL);				_t = _t.getFirstChild();				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case BANG:				case ROOT:				case RULEROOT:				{					as3 = _t==ASTNULL ? null : (GrammarAST)_t;					ast_suffix(_t);					_t = _retTree;					break;				}				case 3:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				_t = __t101;				_t = _t.getNextSibling();									if ( grammar.type==Grammar.LEXER ) {						g = factory.build_CharLiteralAtom(c.getText());					}					else {				int tokenType = grammar.getTokenType(c.getText());				g = factory.build_Atom(tokenType);				c.followingNFAState = g.right;					}									break;			}			case STRING_LITERAL:			{				AST __t103 = _t;				s = _t==ASTNULL ? null :(GrammarAST)_t;				match(_t,STRING_LITERAL);				_t = _t.getFirstChild();				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case BANG:				case ROOT:				case RULEROOT:				{					as4 = _t==ASTNULL ? null : (GrammarAST)_t;					ast_suffix(_t);					_t = _retTree;					break;				}				case 3:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				_t = __t103;				_t = _t.getNextSibling();									if ( grammar.type==Grammar.LEXER ) {						g = factory.build_StringLiteralAtom(s.getText());					}					else {				int tokenType = grammar.getTokenType(s.getText());				g = factory.build_Atom(tokenType);				s.followingNFAState = g.right;					}									break;			}			case WILDCARD:			{				AST __t105 = _t;				w = _t==ASTNULL ? null :(GrammarAST)_t;				match(_t,WILDCARD);				_t = _t.getFirstChild();				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case BANG:				case ROOT:				case RULEROOT:				{					as5 = _t==ASTNULL ? null : (GrammarAST)_t;					ast_suffix(_t);					_t = _retTree;					break;				}				case 3:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				_t = __t105;				_t = _t.getNextSibling();				g = factory.build_Wildcard();				break;			}			case SET:			{				g=set(_t);				_t = _retTree;				break;			}			default:			{				throw new NoViableAltException(_t);			}			}		}		catch (RecognitionException ex) {			reportError(ex);			if (_t!=null) {_t = _t.getNextSibling();}		}		_retTree = _t;		return g;	}		public final void ast_suffix(AST _t) throws RecognitionException {				GrammarAST ast_suffix_AST_in = (_t == ASTNULL) ? null : (GrammarAST)_t;				if ( grammar.getOption("output")==null ) {			ErrorManager.grammarError(ErrorManager.MSG_REWRITE_OR_OP_WITH_NO_OUTPUT_OPTION,									  grammar, ast_suffix_AST_in.token, currentRuleName);		}						try {      // for error handling			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case ROOT:			{				GrammarAST tmp52_AST_in = (GrammarAST)_t;				match(_t,ROOT);				_t = _t.getNextSibling();				break;			}			case RULEROOT:			{				GrammarAST tmp53_AST_in = (GrammarAST)_t;				match(_t,RULEROOT);				_t = _t.getNextSibling();				break;			}			case BANG:			{				GrammarAST tmp54_AST_in = (GrammarAST)_t;				match(_t,BANG);				_t = _t.getNextSibling();				break;			}			default:			{				throw new NoViableAltException(_t);			}			}		}		catch (RecognitionException ex) {			reportError(ex);			if (_t!=null) {_t = _t.getNextSibling();}		}		_retTree = _t;	}		public final StateCluster  set(AST _t) throws RecognitionException {		StateCluster g=null;				GrammarAST set_AST_in = (_t == ASTNULL) ? null : (GrammarAST)_t;		GrammarAST s = null;		GrammarAST ast = null;				IntSet elements=new IntervalSet();		set_AST_in.setSetValue(elements); // track set for use by code gen						try {      // for error handling			AST __t109 = _t;			s = _t==ASTNULL ? null :(GrammarAST)_t;			match(_t,SET);			_t = _t.getFirstChild();			{			int _cnt111=0;			_loop111:			do {				if (_t==null) _t=ASTNULL;				if ((_tokenSet_1.member(_t.getType()))) {					setElement(_t,elements);					_t = _retTree;				}				else {					if ( _cnt111>=1 ) { break _loop111; } else {throw new NoViableAltException(_t);}				}								_cnt111++;			} while (true);			}			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case BANG:			case ROOT:			case RULEROOT:			{				ast = _t==ASTNULL ? null : (GrammarAST)_t;				ast_suffix(_t);				_t = _retTree;				break;			}			case 3:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			_t = __t109;			_t = _t.getNextSibling();						g = factory.build_Set(elements);			s.followingNFAState = g.right;					}		catch (RecognitionException ex) {			reportError(ex);			if (_t!=null) {_t = _t.getNextSibling();}		}		_retTree = _t;		return g;	}		public final StateCluster  atom_or_notatom(AST _t) throws RecognitionException {		StateCluster g=null;				GrammarAST atom_or_notatom_AST_in = (_t == ASTNULL) ? null : (GrammarAST)_t;		GrammarAST n = null;		GrammarAST c = null;		GrammarAST ast1 = null;		GrammarAST t = null;		GrammarAST ast3 = null;

⌨️ 快捷键说明

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