// $ANTLR start "bitwiseANDExpression" // AS3_ex.g3:2292:1: bitwiseANDExpression : equalityExpression (A= AND equalityExpression )* ; public AS3_exParser.bitwiseANDExpression_return bitwiseANDExpression() // throws RecognitionException [1] { AS3_exParser.bitwiseANDExpression_return retval = new AS3_exParser.bitwiseANDExpression_return(); retval.Start = input.LT(1); int bitwiseANDExpression_StartIndex = input.Index(); object root_0 = null; IToken A = null; AS3_exParser.equalityExpression_return equalityExpression277 = null; AS3_exParser.equalityExpression_return equalityExpression278 = null; object A_tree=null; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 116) ) { return retval; } // AS3_ex.g3:2293:5: ( equalityExpression (A= AND equalityExpression )* ) // AS3_ex.g3:2293:9: equalityExpression (A= AND equalityExpression )* { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_equalityExpression_in_bitwiseANDExpression10965); equalityExpression277 = equalityExpression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, equalityExpression277.Tree); // AS3_ex.g3:2293:28: (A= AND equalityExpression )* do { int alt127 = 2; int LA127_0 = input.LA(1); if ( (LA127_0 == AND) ) { alt127 = 1; } switch (alt127) { case 1 : // AS3_ex.g3:2293:30: A= AND equalityExpression { A=(IToken)Match(input,AND,FOLLOW_AND_in_bitwiseANDExpression10971); if (state.failed) return retval; if ( state.backtracking == 0 ) {A_tree = (object)adaptor.Create(A); adaptor.AddChild(root_0, A_tree); } if ( state.backtracking == 0 ) { IndentEmit((CommonToken)A); } PushFollow(FOLLOW_equalityExpression_in_bitwiseANDExpression10975); equalityExpression278 = equalityExpression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, equalityExpression278.Tree); if ( state.backtracking == 0 ) { PopIndent(); } } break; default: goto loop127; } } while (true); loop127: ; // Stops C# compiler whining that label 'loop127' has no statements } 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, 116, bitwiseANDExpression_StartIndex); } } return retval; }
// $ANTLR start "bitwiseANDExpression" // AS3_ex.g3:3194:1: bitwiseANDExpression : equalityExpression (A= AND equalityExpression )* ; public AS3_exParser.bitwiseANDExpression_return bitwiseANDExpression() // throws RecognitionException [1] { AS3_exParser.bitwiseANDExpression_return retval = new AS3_exParser.bitwiseANDExpression_return(); retval.Start = input.LT(1); int bitwiseANDExpression_StartIndex = input.Index(); object root_0 = null; IToken A = null; AS3_exParser.equalityExpression_return equalityExpression288 = null; AS3_exParser.equalityExpression_return equalityExpression289 = null; object A_tree=null; WrapOptions options=mPrinter.getExpressionWrapOptions(); bool pushedWrapInfo=false; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 116) ) { return retval; } // AS3_ex.g3:3199:5: ( equalityExpression (A= AND equalityExpression )* ) // AS3_ex.g3:3199:9: equalityExpression (A= AND equalityExpression )* { root_0 = (object)adaptor.GetNilNode(); if ( state.backtracking == 0 ) { pushedWrapInfo=pushWrapInfo(options, true); } PushFollow(FOLLOW_equalityExpression_in_bitwiseANDExpression12517); equalityExpression288 = equalityExpression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, equalityExpression288.Tree); // AS3_ex.g3:3200:28: (A= AND equalityExpression )* do { int alt134 = 2; int LA134_0 = input.LA(1); if ( (LA134_0 == AND) ) { int LA134_2 = input.LA(2); if ( (synpred265_AS3_ex()) ) { alt134 = 1; } } switch (alt134) { case 1 : // AS3_ex.g3:3200:30: A= AND equalityExpression { A=(IToken)Match(input,AND,FOLLOW_AND_in_bitwiseANDExpression12523); if (state.failed) return retval; if ( state.backtracking == 0 ) {A_tree = (object)adaptor.Create(A); adaptor.AddChild(root_0, A_tree); } if ( state.backtracking == 0 ) { indentEmit(A, ASPrettyPrinter.Break_Arithmetic_Ops_code); } PushFollow(FOLLOW_equalityExpression_in_bitwiseANDExpression12527); equalityExpression289 = equalityExpression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, equalityExpression289.Tree); if ( state.backtracking == 0 ) { popIndent(); } } break; default: goto loop134; } } while (true); loop134: ; // Stops C# compiler whining that label 'loop134' has no statements if ( state.backtracking == 0 ) { if (pushedWrapInfo) mPrinter.popWrapContext(); } } 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, 116, bitwiseANDExpression_StartIndex); } } return retval; }