コード例 #1
0
ファイル: AS3_exParser.cs プロジェクト: Gr33z00/flashdevelop
    // $ANTLR start "interfaceElement"
    // AS3_ex.g3:1659:1: interfaceElement : ( propertyDeclaration | interfaceFunctionDeclaration | statement | directive );
    public AS3_exParser.interfaceElement_return interfaceElement() // throws RecognitionException [1]
    {   
        AS3_exParser.interfaceElement_return retval = new AS3_exParser.interfaceElement_return();
        retval.Start = input.LT(1);
        int interfaceElement_StartIndex = input.Index();
        object root_0 = null;

        AS3_exParser.propertyDeclaration_return propertyDeclaration98 = null;

        AS3_exParser.interfaceFunctionDeclaration_return interfaceFunctionDeclaration99 = null;

        AS3_exParser.statement_return statement100 = null;

        AS3_exParser.directive_return directive101 = null;



        try 
    	{
    	    if ( (state.backtracking > 0) && AlreadyParsedRule(input, 48) ) 
    	    {
    	    	return retval; 
    	    }
            // AS3_ex.g3:1660:5: ( propertyDeclaration | interfaceFunctionDeclaration | statement | directive )
            int alt55 = 4;
            alt55 = dfa55.Predict(input);
            switch (alt55) 
            {
                case 1 :
                    // AS3_ex.g3:1660:9: propertyDeclaration
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_propertyDeclaration_in_interfaceElement6835);
                    	propertyDeclaration98 = propertyDeclaration();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, propertyDeclaration98.Tree);

                    }
                    break;
                case 2 :
                    // AS3_ex.g3:1660:31: interfaceFunctionDeclaration
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_interfaceFunctionDeclaration_in_interfaceElement6839);
                    	interfaceFunctionDeclaration99 = interfaceFunctionDeclaration();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, interfaceFunctionDeclaration99.Tree);

                    }
                    break;
                case 3 :
                    // AS3_ex.g3:1660:62: statement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_statement_in_interfaceElement6843);
                    	statement100 = statement();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, statement100.Tree);

                    }
                    break;
                case 4 :
                    // AS3_ex.g3:1660:73: directive
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_directive_in_interfaceElement6846);
                    	directive101 = directive();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, directive101.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, 48, interfaceElement_StartIndex); 
            }
        }
        return retval;
    }
コード例 #2
0
    // $ANTLR start "interfaceElement"
    // AS3_ex.g3:2093:1: interfaceElement : ( ( conditionalCompilerOption LCURLY )=> conditionalCompilerOption l= LCURLY ( interfaceElement )* r= RCURLY | propertyDeclaration | interfaceFunctionDeclaration | statement | directive );
    public AS3_exParser.interfaceElement_return interfaceElement() // throws RecognitionException [1]
    {   
        AS3_exParser.interfaceElement_return retval = new AS3_exParser.interfaceElement_return();
        retval.Start = input.LT(1);
        int interfaceElement_StartIndex = input.Index();
        object root_0 = null;

        IToken l = null;
        IToken r = null;
        AS3_exParser.conditionalCompilerOption_return conditionalCompilerOption107 = null;

        AS3_exParser.interfaceElement_return interfaceElement108 = null;

        AS3_exParser.propertyDeclaration_return propertyDeclaration109 = null;

        AS3_exParser.interfaceFunctionDeclaration_return interfaceFunctionDeclaration110 = null;

        AS3_exParser.statement_return statement111 = null;

        AS3_exParser.directive_return directive112 = null;


        object l_tree=null;
        object r_tree=null;

        try 
        {
            if ( (state.backtracking > 0) && AlreadyParsedRule(input, 48) ) 
            {
                return retval; 
            }
            // AS3_ex.g3:2094:5: ( ( conditionalCompilerOption LCURLY )=> conditionalCompilerOption l= LCURLY ( interfaceElement )* r= RCURLY | propertyDeclaration | interfaceFunctionDeclaration | statement | directive )
            int alt61 = 5;
            alt61 = dfa61.Predict(input);
            switch (alt61) 
            {
                case 1 :
                    // AS3_ex.g3:2094:7: ( conditionalCompilerOption LCURLY )=> conditionalCompilerOption l= LCURLY ( interfaceElement )* r= RCURLY
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        if ( state.backtracking == 0 ) 
                        {
                          insertCR(false);
                        }
                        PushFollow(FOLLOW_conditionalCompilerOption_in_interfaceElement7203);
                        conditionalCompilerOption107 = conditionalCompilerOption();
                        state.followingStackPointer--;
                        if (state.failed) return retval;
                        if ( state.backtracking == 0 ) adaptor.AddChild(root_0, conditionalCompilerOption107.Tree);
                        l=(IToken)Match(input,LCURLY,FOLLOW_LCURLY_in_interfaceElement7211); 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:2104:4: ( interfaceElement )*
                        do 
                        {
                            int alt60 = 2;
                            int LA60_0 = input.LA(1);

                            if ( ((LA60_0 >= AS && LA60_0 <= LCURLY) || LA60_0 == LPAREN || LA60_0 == LBRACK || LA60_0 == LT || (LA60_0 >= PLUS && LA60_0 <= STAR) || (LA60_0 >= INC && LA60_0 <= DEC) || (LA60_0 >= NOT && LA60_0 <= INV) || (LA60_0 >= XML_AT && LA60_0 <= XML_LS_STD) || (LA60_0 >= SINGLE_QUOTE_LITERAL && LA60_0 <= DOUBLE_QUOTE_LITERAL) || LA60_0 == REGULAR_EXPR_LITERAL || LA60_0 == HEX_NUMBER_LITERAL || LA60_0 == DEC_NUMBER_LITERAL || LA60_0 == IDENTIFIER || (LA60_0 >= XML_COMMENT && LA60_0 <= XML_PI)) )
                            {
                                alt60 = 1;
                            }


                            switch (alt60) 
                            {
                                case 1 :
                                    // AS3_ex.g3:0:0: interfaceElement
                                    {
                                        PushFollow(FOLLOW_interfaceElement_in_interfaceElement7221);
                                        interfaceElement108 = interfaceElement();
                                        state.followingStackPointer--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking == 0 ) adaptor.AddChild(root_0, interfaceElement108.Tree);

                                    }
                                    break;

                                default:
                                    goto loop60;
                            }
                        } while (true);

                        loop60:
                            ;   // Stops C# compiler whining that label 'loop60' has no statements

                        if ( state.backtracking == 0 ) 
                        {
                          popIndent();
                        }
                        if ( state.backtracking == 0 ) 
                        {
                          mPrinter.popDeclEqualsBlock();
                        }
                        r=(IToken)Match(input,RCURLY,FOLLOW_RCURLY_in_interfaceElement7240); 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:2108:7: propertyDeclaration
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        PushFollow(FOLLOW_propertyDeclaration_in_interfaceElement7254);
                        propertyDeclaration109 = propertyDeclaration();
                        state.followingStackPointer--;
                        if (state.failed) return retval;
                        if ( state.backtracking == 0 ) adaptor.AddChild(root_0, propertyDeclaration109.Tree);

                    }
                    break;
                case 3 :
                    // AS3_ex.g3:2108:29: interfaceFunctionDeclaration
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        PushFollow(FOLLOW_interfaceFunctionDeclaration_in_interfaceElement7258);
                        interfaceFunctionDeclaration110 = interfaceFunctionDeclaration();
                        state.followingStackPointer--;
                        if (state.failed) return retval;
                        if ( state.backtracking == 0 ) adaptor.AddChild(root_0, interfaceFunctionDeclaration110.Tree);

                    }
                    break;
                case 4 :
                    // AS3_ex.g3:2108:60: statement
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        PushFollow(FOLLOW_statement_in_interfaceElement7262);
                        statement111 = statement();
                        state.followingStackPointer--;
                        if (state.failed) return retval;
                        if ( state.backtracking == 0 ) adaptor.AddChild(root_0, statement111.Tree);

                    }
                    break;
                case 5 :
                    // AS3_ex.g3:2108:71: directive
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        PushFollow(FOLLOW_directive_in_interfaceElement7265);
                        directive112 = directive();
                        state.followingStackPointer--;
                        if (state.failed) return retval;
                        if ( state.backtracking == 0 ) adaptor.AddChild(root_0, directive112.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, 48, interfaceElement_StartIndex); 
            }
        }
        return retval;
    }