// $ANTLR start "packageElement" // AS3_ex.g3:1532:1: packageElement : ( classOrInterfaceDecl | propertyDeclaration | functionDeclaration | interfaceFunctionDeclaration | statement | directive ); public AS3_exParser.packageElement_return packageElement() // throws RecognitionException [1] { AS3_exParser.packageElement_return retval = new AS3_exParser.packageElement_return(); retval.Start = input.LT(1); int packageElement_StartIndex = input.Index(); object root_0 = null; AS3_exParser.classOrInterfaceDecl_return classOrInterfaceDecl55 = null; AS3_exParser.propertyDeclaration_return propertyDeclaration56 = null; AS3_exParser.functionDeclaration_return functionDeclaration57 = null; AS3_exParser.interfaceFunctionDeclaration_return interfaceFunctionDeclaration58 = null; AS3_exParser.statement_return statement59 = null; AS3_exParser.directive_return directive60 = null; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 32) ) { return retval; } // AS3_ex.g3:1533:5: ( classOrInterfaceDecl | propertyDeclaration | functionDeclaration | interfaceFunctionDeclaration | statement | directive ) int alt36 = 6; alt36 = dfa36.Predict(input); switch (alt36) { case 1 : // AS3_ex.g3:1533:9: classOrInterfaceDecl { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_classOrInterfaceDecl_in_packageElement6109); classOrInterfaceDecl55 = classOrInterfaceDecl(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, classOrInterfaceDecl55.Tree); } break; case 2 : // AS3_ex.g3:1533:32: propertyDeclaration { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_propertyDeclaration_in_packageElement6113); propertyDeclaration56 = propertyDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, propertyDeclaration56.Tree); } break; case 3 : // AS3_ex.g3:1533:54: functionDeclaration { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_functionDeclaration_in_packageElement6117); functionDeclaration57 = functionDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, functionDeclaration57.Tree); } break; case 4 : // AS3_ex.g3:1533:76: interfaceFunctionDeclaration { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_interfaceFunctionDeclaration_in_packageElement6121); interfaceFunctionDeclaration58 = interfaceFunctionDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, interfaceFunctionDeclaration58.Tree); } break; case 5 : // AS3_ex.g3:1533:107: statement { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_statement_in_packageElement6125); statement59 = statement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, statement59.Tree); } break; case 6 : // AS3_ex.g3:1533:119: directive { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_directive_in_packageElement6129); directive60 = directive(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, directive60.Tree); } break; } 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, 32, packageElement_StartIndex); } } return retval; }
// $ANTLR start "packageElement" // AS3_ex.g3:1864:1: packageElement : ( conditionalCompilerOption l= LCURLY ( packageElement )* r= RCURLY | classOrInterfaceDecl | propertyDeclaration | functionDeclaration | interfaceFunctionDeclaration | statement | directive ); public AS3_exParser.packageElement_return packageElement() // throws RecognitionException [1] { AS3_exParser.packageElement_return retval = new AS3_exParser.packageElement_return(); retval.Start = input.LT(1); int packageElement_StartIndex = input.Index(); object root_0 = null; IToken l = null; IToken r = null; AS3_exParser.conditionalCompilerOption_return conditionalCompilerOption57 = null; AS3_exParser.packageElement_return packageElement58 = null; AS3_exParser.classOrInterfaceDecl_return classOrInterfaceDecl59 = null; AS3_exParser.propertyDeclaration_return propertyDeclaration60 = null; AS3_exParser.functionDeclaration_return functionDeclaration61 = null; AS3_exParser.interfaceFunctionDeclaration_return interfaceFunctionDeclaration62 = null; AS3_exParser.statement_return statement63 = null; AS3_exParser.directive_return directive64 = null; object l_tree=null; object r_tree=null; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 32) ) { return retval; } // AS3_ex.g3:1865:5: ( conditionalCompilerOption l= LCURLY ( packageElement )* r= RCURLY | classOrInterfaceDecl | propertyDeclaration | functionDeclaration | interfaceFunctionDeclaration | statement | directive ) int alt37 = 7; alt37 = dfa37.Predict(input); switch (alt37) { case 1 : // AS3_ex.g3:1866:6: conditionalCompilerOption l= LCURLY ( packageElement )* r= RCURLY { root_0 = (object)adaptor.GetNilNode(); if ( state.backtracking == 0 ) { insertCR(false); } PushFollow(FOLLOW_conditionalCompilerOption_in_packageElement6181); conditionalCompilerOption57 = conditionalCompilerOption(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, conditionalCompilerOption57.Tree); l=(IToken)Match(input,LCURLY,FOLLOW_LCURLY_in_packageElement6189); 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 ) { mCodeBlockStack.Add(ASPrettyPrinter.BraceContext_Conditional_code); leftCurlyNewlineHandler(false); emit(l);pushIndent(true); {mPrinter.addDeclEqualsBlock();} mCodeBlockStack.Add(ASPrettyPrinter.BraceContext_block_code); } // AS3_ex.g3:1875:4: ( packageElement )* do { int alt36 = 2; int LA36_0 = input.LA(1); if ( ((LA36_0 >= AS && LA36_0 <= LCURLY) || LA36_0 == LPAREN || LA36_0 == LBRACK || LA36_0 == LT || (LA36_0 >= PLUS && LA36_0 <= STAR) || (LA36_0 >= INC && LA36_0 <= DEC) || (LA36_0 >= NOT && LA36_0 <= INV) || (LA36_0 >= XML_AT && LA36_0 <= XML_LS_STD) || (LA36_0 >= SINGLE_QUOTE_LITERAL && LA36_0 <= DOUBLE_QUOTE_LITERAL) || LA36_0 == REGULAR_EXPR_LITERAL || LA36_0 == HEX_NUMBER_LITERAL || LA36_0 == DEC_NUMBER_LITERAL || LA36_0 == IDENTIFIER || (LA36_0 >= XML_COMMENT && LA36_0 <= XML_PI)) ) { alt36 = 1; } switch (alt36) { case 1 : // AS3_ex.g3:0:0: packageElement { PushFollow(FOLLOW_packageElement_in_packageElement6199); packageElement58 = packageElement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, packageElement58.Tree); } break; default: goto loop36; } } while (true); loop36: ; // Stops C# compiler whining that label 'loop36' has no statements if ( state.backtracking == 0 ) { mPrinter.popDeclEqualsBlock(); } if ( state.backtracking == 0 ) { popIndent(); } r=(IToken)Match(input,RCURLY,FOLLOW_RCURLY_in_packageElement6214); 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 ) { insertCR(false);emit(r);popBlockStack();popBlockStack(); } } break; case 2 : // AS3_ex.g3:1878:8: classOrInterfaceDecl { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_classOrInterfaceDecl_in_packageElement6229); classOrInterfaceDecl59 = classOrInterfaceDecl(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, classOrInterfaceDecl59.Tree); } break; case 3 : // AS3_ex.g3:1878:31: propertyDeclaration { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_propertyDeclaration_in_packageElement6233); propertyDeclaration60 = propertyDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, propertyDeclaration60.Tree); } break; case 4 : // AS3_ex.g3:1878:53: functionDeclaration { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_functionDeclaration_in_packageElement6237); functionDeclaration61 = functionDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, functionDeclaration61.Tree); } break; case 5 : // AS3_ex.g3:1878:75: interfaceFunctionDeclaration { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_interfaceFunctionDeclaration_in_packageElement6241); interfaceFunctionDeclaration62 = interfaceFunctionDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, interfaceFunctionDeclaration62.Tree); } break; case 6 : // AS3_ex.g3:1878:106: statement { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_statement_in_packageElement6245); statement63 = statement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, statement63.Tree); } break; case 7 : // AS3_ex.g3:1878:118: directive { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_directive_in_packageElement6249); directive64 = directive(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, directive64.Tree); } break; } 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, 32, packageElement_StartIndex); } } return retval; }