public List translateAction(String action) { String rname = null; if ( enclosingRule!=null ) { rname = enclosingRule.name; } ActionTranslator translator = new ActionTranslator(generator, rname, new antlr.CommonToken(ANTLRParser.ACTION,action),outerAltNum); return translator.translateToChunks(); }
match('%'); if (state.failed) return ; int xStart852 = getCharIndex(); mID(); if (state.failed) return ; x = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, xStart852, getCharIndex()-1); match('.'); if (state.failed) return ; int yStart858 = getCharIndex(); mID(); if (state.failed) return ; y = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, yStart858, getCharIndex()-1); mWS(); if (state.failed) return ; match('='); if (state.failed) return ; int exprStart867 = getCharIndex(); mATTR_VALUE_EXPR(); if (state.failed) return ; expr = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, exprStart867, getCharIndex()-1); match(';'); if (state.failed) return ; if ( state.backtracking==1 ) { StringTemplate st = template("actionSetAttribute"); st.setAttribute("st", (x!=null?x.getText():null)); st.setAttribute("attrName", (y!=null?y.getText():null)); st.setAttribute("expr", translateAction((expr!=null?expr.getText():null)));
match('$'); if (state.failed) return ; int ID1Start317 = getCharIndex(); mID(); if (state.failed) return ; ID1 = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, ID1Start317, getCharIndex()-1); if ( !((enclosingRule!=null && getElementLabel((ID1!=null?ID1.getText():null))!=null && enclosingRule.getRuleLabel((ID1!=null?ID1.getText():null))==null)) ) { if (state.backtracking>0) {state.failed=true; return ;} Grammar.LabelElementPair pair = getElementLabel((ID1!=null?ID1.getText():null)); if ( pair.type==Grammar.RULE_LIST_LABEL || pair.type==Grammar.TOKEN_LIST_LABEL || pair.type==Grammar.WILDCARD_TREE_LIST_LABEL ) st = template("listLabelRef"); st = template("tokenLabelRef");
public final void mTEMPLATE_EXPR() throws RecognitionException { try { int _type = TEMPLATE_EXPR; int _channel = DEFAULT_TOKEN_CHANNEL; CommonToken a=null; // org/antlr/grammar/v3/ActionTranslator.g:739:2: ( '%' a= ACTION ) // org/antlr/grammar/v3/ActionTranslator.g:739:4: '%' a= ACTION { match('%'); if (state.failed) return ; int aStart916 = getCharIndex(); mACTION(); if (state.failed) return ; a = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, aStart916, getCharIndex()-1); if ( state.backtracking==1 ) { StringTemplate st = template("actionStringConstructor"); String action = (a!=null?a.getText():null); action = action.substring(1,action.length()-1); // stuff inside {...} st.setAttribute("stringExpr", translateAction(action)); } } state.type = _type; state.channel = _channel; } finally { } } // $ANTLR end "TEMPLATE_EXPR"
public final void mERROR_X() throws RecognitionException { try { int _type = ERROR_X; int _channel = DEFAULT_TOKEN_CHANNEL; CommonToken x=null; // org/antlr/grammar/v3/ActionTranslator.g:770:2: ( '$' x= ID ) // org/antlr/grammar/v3/ActionTranslator.g:770:4: '$' x= ID { match('$'); if (state.failed) return ; int xStart1042 = getCharIndex(); mID(); if (state.failed) return ; x = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, xStart1042, getCharIndex()-1); if ( state.backtracking==1 ) { chunks.add(getText()); generator.issueInvalidAttributeError((x!=null?x.getText():null), enclosingRule,actionToken, outerAltNum); } } state.type = _type; state.channel = _channel; } finally { } } // $ANTLR end "ERROR_X"
match('$'); if (state.failed) return; int ID6Start669 = getCharIndex(); int ID6StartLine669 = getLine(); int ID6StartCharPos669 = getCharPositionInLine(); mID(); if (state.failed) return; ID6 = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, ID6Start669, getCharIndex()-1); ID6.setLine(ID6StartLine669); ID6.setCharPositionInLine(ID6StartCharPos669); if ( !((resolveDynamicScope((ID6!=null?ID6.getText():null))!=null)) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "ISOLATED_DYNAMIC_SCOPE", "resolveDynamicScope($ID.text)!=null"); ST st = template("isolatedDynamicScopeRef"); st.add("scope", (ID6!=null?ID6.getText():null));
match('$'); if (state.failed) return; int ID2Start348 = getCharIndex(); int ID2StartLine348 = getLine(); int ID2StartCharPos348 = getCharPositionInLine(); mID(); if (state.failed) return; ID2 = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, ID2Start348, getCharIndex()-1); ID2.setLine(ID2StartLine348); ID2.setCharPositionInLine(ID2StartCharPos348); if ( !((grammar.type!=Grammar.LEXER && enclosingRule!=null && isTokenRefInAlt((ID2!=null?ID2.getText():null)))) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "ISOLATED_TOKEN_REF", "grammar.type!=Grammar.LEXER && enclosingRule!=null && isTokenRefInAlt($ID.text)"); checkElementRefUniqueness((ID2!=null?ID2.getText():null), true); if ( label==null ) { ErrorManager.grammarError(ErrorManager.MSG_FORWARD_ELEMENT_REF, ST st = template("tokenLabelRef"); st.add("label", label);
match('$'); if (state.failed) return; int xStart1049 = getCharIndex(); int xStartLine1049 = getLine(); int xStartCharPos1049 = getCharPositionInLine(); mID(); if (state.failed) return; x = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, xStart1049, getCharIndex()-1); x.setLine(xStartLine1049); x.setCharPositionInLine(xStartCharPos1049); chunks.add(getText()); generator.issueInvalidAttributeError((x!=null?x.getText():null), enclosingRule,actionToken,
match('$'); if (state.failed) return; int xStart217 = getCharIndex(); int xStartLine217 = getLine(); int xStartCharPos217 = getCharPositionInLine(); mID(); if (state.failed) return; x = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, xStart217, getCharIndex()-1); x.setLine(xStartLine217); x.setCharPositionInLine(xStartCharPos217); match('.'); if (state.failed) return; int yStart223 = getCharIndex(); int yStartLine223 = getLine(); int yStartCharPos223 = getCharPositionInLine(); mID(); if (state.failed) return; y = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, yStart223, getCharIndex()-1); y.setLine(yStartLine223); y.setCharPositionInLine(yStartCharPos223); mWS(); if (state.failed) return; match('='); if (state.failed) return; if ( !((enclosingRule!=null && input.LA(1)!='=')) ) { if (state.backtracking>0) {state.failed=true; return;} if ( !(((enclosingRule.getRuleLabel((x!=null?x.getText():null))!=null || isRuleRefInAlt((x!=null?x.getText():null))) && getRuleLabelAttribute(enclosingRule.getRuleLabel((x!=null?x.getText():null))!=null?enclosingRule.getRuleLabel((x!=null?x.getText():null)).referencedRuleName:(x!=null?x.getText():null),(y!=null?y.getText():null))!=null)) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "SET_RULE_SCOPE_ATTR", "(enclosingRule.getRuleLabel($x.text)!=null || isRuleRefInAlt($x.text)) &&\n\t getRuleLabelAttribute(enclosingRule.getRuleLabel($x.text)!=null?enclosingRule.getRuleLabel($x.text).referencedRuleName:$x.text,$y.text)!=null");
match('$'); if (state.failed) return ; int ID2Start341 = getCharIndex(); mID(); if (state.failed) return ; ID2 = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, ID2Start341, getCharIndex()-1); if ( !((grammar.type!=Grammar.LEXER && enclosingRule!=null && isTokenRefInAlt((ID2!=null?ID2.getText():null)))) ) { if (state.backtracking>0) {state.failed=true; return ;} throw new FailedPredicateException(input, "ISOLATED_TOKEN_REF", "grammar.type!=Grammar.LEXER && enclosingRule!=null && isTokenRefInAlt($ID.text)"); checkElementRefUniqueness((ID2!=null?ID2.getText():null), true); if ( label==null ) { ErrorManager.grammarError(ErrorManager.MSG_FORWARD_ELEMENT_REF, StringTemplate st = template("tokenLabelRef"); st.setAttribute("label", label);
match('%'); if (state.failed) return; int aStart923 = getCharIndex(); int aStartLine923 = getLine(); int aStartCharPos923 = getCharPositionInLine(); mACTION(); if (state.failed) return; a = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, aStart923, getCharIndex()-1); a.setLine(aStartLine923); a.setCharPositionInLine(aStartCharPos923); ST st = template("actionStringConstructor"); String action = (a!=null?a.getText():null); action = action.substring(1,action.length()-1); // stuff inside {...} st.add("stringExpr", translateAction(action));
match('$'); if (state.failed) return; int xStart135 = getCharIndex(); int xStartLine135 = getLine(); int xStartCharPos135 = getCharPositionInLine(); mID(); if (state.failed) return; x = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, xStart135, getCharIndex()-1); x.setLine(xStartLine135); x.setCharPositionInLine(xStartCharPos135); match('.'); if (state.failed) return; int yStart141 = getCharIndex(); int yStartLine141 = getLine(); int yStartCharPos141 = getCharPositionInLine(); mID(); if (state.failed) return; y = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, yStart141, getCharIndex()-1); y.setLine(yStartLine141); y.setCharPositionInLine(yStartCharPos141); mWS(); if (state.failed) return; match('='); if (state.failed) return; if ( !((enclosingRule!=null && input.LA(1)!='=' && (enclosingRule.getTokenLabel((x!=null?x.getText():null))!=null|| isTokenRefInAlt((x!=null?x.getText():null))) && AttributeScope.tokenScope.getAttribute((y!=null?y.getText():null))!=null)) ) { if (state.backtracking>0) {state.failed=true; return;}
match('%'); if (state.failed) return; mID(); if (state.failed) return; match('('); if (state.failed) return; mWS(); if (state.failed) return; mARG(); if (state.failed) return; match(','); if (state.failed) return; mWS(); if (state.failed) return; mARG(); if (state.failed) return; mWS(); if (state.failed) return; match(')'); if (state.failed) return; if ( state.backtracking==1 ) { String action = getText().substring(1,getText().length()); String ruleName = "<outside-of-rule>"; if ( enclosingRule!=null ) {
match('%'); if (state.failed) return; match('('); if (state.failed) return; mACTION(); if (state.failed) return; match(')'); if (state.failed) return; match('('); if (state.failed) return; mWS(); if (state.failed) return; mARG(); if (state.failed) return; match(','); if (state.failed) return; mWS(); if (state.failed) return; mARG(); if (state.failed) return; mWS(); if (state.failed) return; match(')'); if (state.failed) return; if ( state.backtracking==1 ) { String action = getText().substring(1,getText().length()); ST st = generator.translateTemplateConstructor(enclosingRule.name,
Token.DEFAULT_CHANNEL, input.index(),input.index()); eof.setLine(getLine()); eof.setCharPositionInLine(getCharPositionInLine()); return eof; state.backtracking=1; state.failed=false; mTokens(); state.backtracking=0; if ( state.failed ) { emit(); return state.token; reportError(re); recover(re);
match('$'); if (state.failed) return ; int xStart210 = getCharIndex(); mID(); if (state.failed) return ; x = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, xStart210, getCharIndex()-1); match('.'); if (state.failed) return ; int yStart216 = getCharIndex(); mID(); if (state.failed) return ; y = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, yStart216, getCharIndex()-1); mWS(); if (state.failed) return ; match('='); if (state.failed) return ; if ( !((enclosingRule!=null && input.LA(1)!='=')) ) { if (state.backtracking>0) {state.failed=true; return ;} if ( !(((enclosingRule.getRuleLabel((x!=null?x.getText():null))!=null || isRuleRefInAlt((x!=null?x.getText():null))) && getRuleLabelAttribute(enclosingRule.getRuleLabel((x!=null?x.getText():null))!=null?enclosingRule.getRuleLabel((x!=null?x.getText():null)).referencedRuleName:(x!=null?x.getText():null),(y!=null?y.getText():null))!=null)) ) { if (state.backtracking>0) {state.failed=true; return ;} throw new FailedPredicateException(input, "SET_RULE_SCOPE_ATTR", "(enclosingRule.getRuleLabel($x.text)!=null || isRuleRefInAlt($x.text)) &&\n\t getRuleLabelAttribute(enclosingRule.getRuleLabel($x.text)!=null?enclosingRule.getRuleLabel($x.text).referencedRuleName:$x.text,$y.text)!=null");
match('$'); if (state.failed) return ; int xStart128 = getCharIndex(); mID(); if (state.failed) return ; x = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, xStart128, getCharIndex()-1); match('.'); if (state.failed) return ; int yStart134 = getCharIndex(); mID(); if (state.failed) return ; y = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, yStart134, getCharIndex()-1); mWS(); if (state.failed) return ; match('='); if (state.failed) return ; if ( !((enclosingRule!=null && input.LA(1)!='=' && (enclosingRule.getTokenLabel((x!=null?x.getText():null))!=null|| isTokenRefInAlt((x!=null?x.getText():null))) && AttributeScope.tokenScope.getAttribute((y!=null?y.getText():null))!=null)) ) { if (state.backtracking>0) {state.failed=true; return ;}
match('\\'); if (state.failed) return ; match('$'); if (state.failed) return ; if ( state.backtracking==1 ) { chunks.add("$"); match('\\'); if (state.failed) return ; match('%'); if (state.failed) return ; if ( state.backtracking==1 ) { chunks.add("%"); match('\\'); if (state.failed) return ; if ( (input.LA(1)>='\u0000' && input.LA(1)<='#')||(input.LA(1)>='&' && input.LA(1)<='\uFFFF') ) { input.consume(); if (state.backtracking>0) {state.failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); recover(mse); throw mse;} chunks.add(getText());
match('$'); if (state.failed) return ; if ( state.backtracking==1 ) { chunks.add(getText()); match('%'); if (state.failed) return ; mID(); if (state.failed) return ; match('.'); if (state.failed) return ; match('('); if (state.failed) return ; match(')'); if (state.failed) return ; match(','); if (state.failed) return ; match('{'); if (state.failed) return ; match('}'); if (state.failed) return ; match('\"'); if (state.failed) return ; chunks.add(getText()); ErrorManager.grammarError(ErrorManager.MSG_INVALID_TEMPLATE_ACTION, grammar, actionToken, getText());
state.backtracking=1; state.failed=false; mTokens(); state.backtracking=0; emit(); return state.token; reportError(re); recover(re);