📄 treetonfaconverter.java
字号:
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 + -