// $ANTLR start "bindingDecl" // AS3_ex.g3:1572:1: bindingDecl : L= LBRACK I= IDENTIFIER (L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN )? R= RBRACK (s= SEMI )? ; public AS3_exParser.bindingDecl_return bindingDecl() // throws RecognitionException [1] { AS3_exParser.bindingDecl_return retval = new AS3_exParser.bindingDecl_return(); retval.Start = input.LT(1); int bindingDecl_StartIndex = input.Index(); object root_0 = null; IToken L = null; IToken I = null; IToken C = null; IToken R = null; IToken s = null; AS3_exParser.bindingDeclArg_return bindingDeclArg78 = null; AS3_exParser.bindingDeclArg_return bindingDeclArg79 = null; object L_tree=null; object I_tree=null; object C_tree=null; object R_tree=null; object s_tree=null; bool bindable=false; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 40) ) { return retval; } // AS3_ex.g3:1574:2: (L= LBRACK I= IDENTIFIER (L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN )? R= RBRACK (s= SEMI )? ) // AS3_ex.g3:1574:4: L= LBRACK I= IDENTIFIER (L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN )? R= RBRACK (s= SEMI )? { root_0 = (object)adaptor.GetNilNode(); L=(IToken)Match(input,LBRACK,FOLLOW_LBRACK_in_bindingDecl6384); if (state.failed) return retval; if ( state.backtracking == 0 ) {L_tree = (object)adaptor.Create(L); adaptor.AddChild(root_0, L_tree); } I=(IToken)Match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_bindingDecl6394); if (state.failed) return retval; if ( state.backtracking == 0 ) {I_tree = (object)adaptor.Create(I); adaptor.AddChild(root_0, I_tree); } if ( state.backtracking == 0 ) { bindable=mPrinter.IsDirectiveForNextElement(I.Text); if (bindable) mPrinter.MarkBindablePos(false); //call this to mark position *before* we send any of the tokens to the printer Emit((CommonToken)L); } if ( state.backtracking == 0 ) { Emit((CommonToken)I); } // AS3_ex.g3:1583:5: (L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN )? int alt45 = 2; int LA45_0 = input.LA(1); if ( (LA45_0 == LPAREN) ) { alt45 = 1; } switch (alt45) { case 1 : // AS3_ex.g3:1583:6: L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN { L=(IToken)Match(input,LPAREN,FOLLOW_LPAREN_in_bindingDecl6420); if (state.failed) return retval; if ( state.backtracking == 0 ) {L_tree = (object)adaptor.Create(L); adaptor.AddChild(root_0, L_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)L);InsertWS(mPrinter.GetAdvancedSpacesInsideParens()); } // AS3_ex.g3:1584:8: ( bindingDeclArg (C= COMMA bindingDeclArg )* )? int alt44 = 2; int LA44_0 = input.LA(1); if ( ((LA44_0 >= AS && LA44_0 <= STATIC) || LA44_0 == STAR || LA44_0 == XML_AT || (LA44_0 >= SINGLE_QUOTE_LITERAL && LA44_0 <= DOUBLE_QUOTE_LITERAL) || LA44_0 == HEX_NUMBER_LITERAL || LA44_0 == DEC_NUMBER_LITERAL || LA44_0 == IDENTIFIER) ) { alt44 = 1; } switch (alt44) { case 1 : // AS3_ex.g3:1584:9: bindingDeclArg (C= COMMA bindingDeclArg )* { PushFollow(FOLLOW_bindingDeclArg_in_bindingDecl6433); bindingDeclArg78 = bindingDeclArg(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, bindingDeclArg78.Tree); // AS3_ex.g3:1584:24: (C= COMMA bindingDeclArg )* do { int alt43 = 2; int LA43_0 = input.LA(1); if ( (LA43_0 == COMMA) ) { alt43 = 1; } switch (alt43) { case 1 : // AS3_ex.g3:1584:25: C= COMMA bindingDeclArg { C=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_bindingDecl6438); if (state.failed) return retval; if ( state.backtracking == 0 ) {C_tree = (object)adaptor.Create(C); adaptor.AddChild(root_0, C_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)C); } PushFollow(FOLLOW_bindingDeclArg_in_bindingDecl6442); bindingDeclArg79 = bindingDeclArg(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, bindingDeclArg79.Tree); } break; default: goto loop43; } } while (true); loop43: ; // Stops C# compiler whining that label 'loop43' has no statements } break; } R=(IToken)Match(input,RPAREN,FOLLOW_RPAREN_in_bindingDecl6456); if (state.failed) return retval; if ( state.backtracking == 0 ) {R_tree = (object)adaptor.Create(R); adaptor.AddChild(root_0, R_tree); } if ( state.backtracking == 0 ) { InsertWS(mPrinter.GetAdvancedSpacesInsideParens());Emit((CommonToken)R); } } break; } R=(IToken)Match(input,RBRACK,FOLLOW_RBRACK_in_bindingDecl6478); if (state.failed) return retval; if ( state.backtracking == 0 ) {R_tree = (object)adaptor.Create(R); adaptor.AddChild(root_0, R_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)R); } // AS3_ex.g3:1587:38: (s= SEMI )? int alt46 = 2; int LA46_0 = input.LA(1); if ( (LA46_0 == SEMI) ) { int LA46_1 = input.LA(2); if ( (synpred120_AS3_ex()) ) { alt46 = 1; } } switch (alt46) { case 1 : // AS3_ex.g3:1587:39: s= SEMI { s=(IToken)Match(input,SEMI,FOLLOW_SEMI_in_bindingDecl6484); if (state.failed) return retval; if ( state.backtracking == 0 ) {s_tree = (object)adaptor.Create(s); adaptor.AddChild(root_0, s_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)s); } } break; } if ( state.backtracking == 0 ) { if (bindable) { mPrinter.SetBindableMode(); } } } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 40, bindingDecl_StartIndex); } } return retval; }
// $ANTLR start "bindingDecl" // AS3_ex.g3:1934:1: bindingDecl : L= LBRACK (XA= XML_AT )? I= IDENTIFIER (L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN )? R= RBRACK (s= SEMI )? ; public AS3_exParser.bindingDecl_return bindingDecl() // throws RecognitionException [1] { AS3_exParser.bindingDecl_return retval = new AS3_exParser.bindingDecl_return(); retval.Start = input.LT(1); int bindingDecl_StartIndex = input.Index(); object root_0 = null; IToken L = null; IToken XA = null; IToken I = null; IToken C = null; IToken R = null; IToken s = null; AS3_exParser.bindingDeclArg_return bindingDeclArg83 = null; AS3_exParser.bindingDeclArg_return bindingDeclArg84 = null; object L_tree=null; object XA_tree=null; object I_tree=null; object C_tree=null; object R_tree=null; object s_tree=null; bool bindable=false; bool pushedIndent=false; bool pushedFormat=false; bool pushedWrapInfo=false; WrapOptions options=mPrinter.getExpressionWrapOptions(); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 40) ) { return retval; } // AS3_ex.g3:1942:2: (L= LBRACK (XA= XML_AT )? I= IDENTIFIER (L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN )? R= RBRACK (s= SEMI )? ) // AS3_ex.g3:1943:6: L= LBRACK (XA= XML_AT )? I= IDENTIFIER (L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN )? R= RBRACK (s= SEMI )? { root_0 = (object)adaptor.GetNilNode(); if ( state.backtracking == 0 ) { pushedFormat=pushFormatType(options, true); pushedWrapInfo=pushWrapInfo(options, true); } L=(IToken)Match(input,LBRACK,FOLLOW_LBRACK_in_bindingDecl6536); if (state.failed) return retval; if ( state.backtracking == 0 ) {L_tree = (object)adaptor.Create(L); adaptor.AddChild(root_0, L_tree); } // AS3_ex.g3:1947:5: (XA= XML_AT )? int alt44 = 2; int LA44_0 = input.LA(1); if ( (LA44_0 == XML_AT) ) { alt44 = 1; } switch (alt44) { case 1 : // AS3_ex.g3:1947:6: XA= XML_AT { XA=(IToken)Match(input,XML_AT,FOLLOW_XML_AT_in_bindingDecl6547); if (state.failed) return retval; if ( state.backtracking == 0 ) {XA_tree = (object)adaptor.Create(XA); adaptor.AddChild(root_0, XA_tree); } } break; } I=(IToken)Match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_bindingDecl6553); if (state.failed) return retval; if ( state.backtracking == 0 ) {I_tree = (object)adaptor.Create(I); adaptor.AddChild(root_0, I_tree); } if ( state.backtracking == 0 ) { bindable=mPrinter.isDirectiveForNextElement(I.Text); if (bindable) mPrinter.markBindablePos(false); //call this to mark position *before* we send any of the tokens to the printer emit(L); } if ( state.backtracking == 0 ) { if (XA!=null) emit(XA); emit(I); mPrinter.setLastBindableTagName(I.Text); } // AS3_ex.g3:1958:3: (L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN )? int alt47 = 2; int LA47_0 = input.LA(1); if ( (LA47_0 == LPAREN) ) { alt47 = 1; } switch (alt47) { case 1 : // AS3_ex.g3:1958:4: L= LPAREN ( bindingDeclArg (C= COMMA bindingDeclArg )* )? R= RPAREN { L=(IToken)Match(input,LPAREN,FOLLOW_LPAREN_in_bindingDecl6577); if (state.failed) return retval; if ( state.backtracking == 0 ) {L_tree = (object)adaptor.Create(L); adaptor.AddChild(root_0, L_tree); } if ( state.backtracking == 0 ) { emit(L);insertWS(mPrinter.getAdvancedSpacesInsideParensInArgumentLists()); } // AS3_ex.g3:1959:8: ( bindingDeclArg (C= COMMA bindingDeclArg )* )? int alt46 = 2; int LA46_0 = input.LA(1); if ( ((LA46_0 >= AS && LA46_0 <= STATIC) || (LA46_0 >= PLUS && LA46_0 <= STAR) || LA46_0 == XML_AT || (LA46_0 >= SINGLE_QUOTE_LITERAL && LA46_0 <= DOUBLE_QUOTE_LITERAL) || LA46_0 == HEX_NUMBER_LITERAL || LA46_0 == DEC_NUMBER_LITERAL || LA46_0 == IDENTIFIER) ) { alt46 = 1; } switch (alt46) { case 1 : // AS3_ex.g3:1959:9: bindingDeclArg (C= COMMA bindingDeclArg )* { PushFollow(FOLLOW_bindingDeclArg_in_bindingDecl6589); bindingDeclArg83 = bindingDeclArg(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, bindingDeclArg83.Tree); // AS3_ex.g3:1959:24: (C= COMMA bindingDeclArg )* do { int alt45 = 2; int LA45_0 = input.LA(1); if ( (LA45_0 == COMMA) ) { alt45 = 1; } switch (alt45) { case 1 : // AS3_ex.g3:1959:25: C= COMMA bindingDeclArg { C=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_bindingDecl6594); if (state.failed) return retval; if ( state.backtracking == 0 ) {C_tree = (object)adaptor.Create(C); adaptor.AddChild(root_0, C_tree); } if ( state.backtracking == 0 ) { pushedIndent=emitCommaWithSpacingAndCRs(options, C, pushedIndent, -1, ASPrettyPrinter.Break_SubType_Other); } PushFollow(FOLLOW_bindingDeclArg_in_bindingDecl6598); bindingDeclArg84 = bindingDeclArg(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, bindingDeclArg84.Tree); } break; default: goto loop45; } } while (true); loop45: ; // Stops C# compiler whining that label 'loop45' has no statements } break; } R=(IToken)Match(input,RPAREN,FOLLOW_RPAREN_in_bindingDecl6609); if (state.failed) return retval; if ( state.backtracking == 0 ) {R_tree = (object)adaptor.Create(R); adaptor.AddChild(root_0, R_tree); } if ( state.backtracking == 0 ) { insertWS(mPrinter.getAdvancedSpacesInsideParensInArgumentLists());emit(R); } } break; } R=(IToken)Match(input,RBRACK,FOLLOW_RBRACK_in_bindingDecl6630); if (state.failed) return retval; if ( state.backtracking == 0 ) {R_tree = (object)adaptor.Create(R); adaptor.AddChild(root_0, R_tree); } if ( state.backtracking == 0 ) { emit(R); } // AS3_ex.g3:1962:25: (s= SEMI )? int alt48 = 2; int LA48_0 = input.LA(1); if ( (LA48_0 == SEMI) ) { int LA48_1 = input.LA(2); if ( (synpred123_AS3_ex()) ) { alt48 = 1; } } switch (alt48) { case 1 : // AS3_ex.g3:1962:26: s= SEMI { s=(IToken)Match(input,SEMI,FOLLOW_SEMI_in_bindingDecl6636); if (state.failed) return retval; if ( state.backtracking == 0 ) {s_tree = (object)adaptor.Create(s); adaptor.AddChild(root_0, s_tree); } if ( state.backtracking == 0 ) { emit(s); } } break; } if ( state.backtracking == 0 ) { if (pushedWrapInfo) mPrinter.popWrapContext(); if (pushedIndent) popIndent(); if (pushedFormat) { mPrinter.popFormatMode(); } if (bindable) { mPrinter.setBindableMode(); } } } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 40, bindingDecl_StartIndex); } } return retval; }