Пример #1
0
    // $ANTLR start "xmlPropertyIdentifier"
    // AS3_ex.g3:1371:1: xmlPropertyIdentifier : ( xmlAttributeIdentifier | xmlQualifiedIdentifier | s= STAR );
    public AS3_exParser.xmlPropertyIdentifier_return xmlPropertyIdentifier() // throws RecognitionException [1]
    {   
        AS3_exParser.xmlPropertyIdentifier_return retval = new AS3_exParser.xmlPropertyIdentifier_return();
        retval.Start = input.LT(1);
        int xmlPropertyIdentifier_StartIndex = input.Index();
        object root_0 = null;

        IToken s = null;
        AS3_exParser.xmlAttributeIdentifier_return xmlAttributeIdentifier17 = null;

        AS3_exParser.xmlQualifiedIdentifier_return xmlQualifiedIdentifier18 = null;


        object s_tree=null;

        try 
    	{
    	    if ( (state.backtracking > 0) && AlreadyParsedRule(input, 16) ) 
    	    {
    	    	return retval; 
    	    }
            // AS3_ex.g3:1372:7: ( xmlAttributeIdentifier | xmlQualifiedIdentifier | s= STAR )
            int alt14 = 3;
            alt14 = dfa14.Predict(input);
            switch (alt14) 
            {
                case 1 :
                    // AS3_ex.g3:1372:11: xmlAttributeIdentifier
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_xmlAttributeIdentifier_in_xmlPropertyIdentifier5116);
                    	xmlAttributeIdentifier17 = xmlAttributeIdentifier();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, xmlAttributeIdentifier17.Tree);

                    }
                    break;
                case 2 :
                    // AS3_ex.g3:1373:11: xmlQualifiedIdentifier
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_xmlQualifiedIdentifier_in_xmlPropertyIdentifier5128);
                    	xmlQualifiedIdentifier18 = xmlQualifiedIdentifier();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, xmlQualifiedIdentifier18.Tree);

                    }
                    break;
                case 3 :
                    // AS3_ex.g3:1374:11: s= STAR
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	s=(IToken)Match(input,STAR,FOLLOW_STAR_in_xmlPropertyIdentifier5142); 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;

            }
            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, 16, xmlPropertyIdentifier_StartIndex); 
            }
        }
        return retval;
    }
Пример #2
0
    // $ANTLR start "xmlPropertyIdentifier"
    // AS3_ex.g3:1657:1: xmlPropertyIdentifier : ( xmlAttributeIdentifier | xmlQualifiedIdentifier | s= STAR );
    public AS3_exParser.xmlPropertyIdentifier_return xmlPropertyIdentifier() // throws RecognitionException [1]
    {   
        AS3_exParser.xmlPropertyIdentifier_return retval = new AS3_exParser.xmlPropertyIdentifier_return();
        retval.Start = input.LT(1);
        int xmlPropertyIdentifier_StartIndex = input.Index();
        object root_0 = null;

        IToken s = null;
        AS3_exParser.xmlAttributeIdentifier_return xmlAttributeIdentifier17 = null;

        AS3_exParser.xmlQualifiedIdentifier_return xmlQualifiedIdentifier18 = null;


        object s_tree=null;

        try 
        {
            if ( (state.backtracking > 0) && AlreadyParsedRule(input, 16) ) 
            {
                return retval; 
            }
            // AS3_ex.g3:1658:7: ( xmlAttributeIdentifier | xmlQualifiedIdentifier | s= STAR )
            int alt14 = 3;
            switch ( input.LA(1) ) 
            {
            case XML_AT:
                {
                alt14 = 1;
                }
                break;
            case AS:
            case BREAK:
            case CASE:
            case CATCH:
            case CLASS:
            case CONST:
            case CONTINUE:
            case DEFAULT:
            case DELETE:
            case DO:
            case ELSE:
            case EXTENDS:
            case FALSE:
            case FINALLY:
            case FOR:
            case FUNCTION:
            case IF:
            case IMPLEMENTS:
            case IMPORT:
            case IN:
            case INSTANCEOF:
            case INTERFACE:
            case INTERNAL:
            case IS:
            case NATIVE:
            case NEW:
            case NULL:
            case PACKAGE:
            case PRIVATE:
            case PROTECTED:
            case PUBLIC:
            case RETURN:
            case SUPER:
            case SWITCH:
            case THIS:
            case THROW:
            case TO:
            case TRUE:
            case TRY:
            case TYPEOF:
            case USE:
            case VAR:
            case VOID:
            case WHILE:
            case WITH:
            case EACH:
            case GET:
            case SET:
            case NAMESPACE:
            case INCLUDE:
            case DYNAMIC:
            case FINAL:
            case OVERRIDE:
            case STATIC:
            case IDENTIFIER:
                {
                alt14 = 2;
                }
                break;
            case STAR:
                {
                int LA14_5 = input.LA(2);

                if ( (synpred72_AS3_ex()) )
                {
                    alt14 = 2;
                }
                else if ( (true) )
                {
                    alt14 = 3;
                }
                else 
                {
                    if ( state.backtracking > 0 ) {state.failed = true; return retval;}
                    NoViableAltException nvae_d14s5 =
                        new NoViableAltException("", 14, 5, input);

                    throw nvae_d14s5;
                }
                }
                break;
                default:
                    if ( state.backtracking > 0 ) {state.failed = true; return retval;}
                    NoViableAltException nvae_d14s0 =
                        new NoViableAltException("", 14, 0, input);

                    throw nvae_d14s0;
            }

            switch (alt14) 
            {
                case 1 :
                    // AS3_ex.g3:1658:11: xmlAttributeIdentifier
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        PushFollow(FOLLOW_xmlAttributeIdentifier_in_xmlPropertyIdentifier5046);
                        xmlAttributeIdentifier17 = xmlAttributeIdentifier();
                        state.followingStackPointer--;
                        if (state.failed) return retval;
                        if ( state.backtracking == 0 ) adaptor.AddChild(root_0, xmlAttributeIdentifier17.Tree);

                    }
                    break;
                case 2 :
                    // AS3_ex.g3:1659:11: xmlQualifiedIdentifier
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        PushFollow(FOLLOW_xmlQualifiedIdentifier_in_xmlPropertyIdentifier5058);
                        xmlQualifiedIdentifier18 = xmlQualifiedIdentifier();
                        state.followingStackPointer--;
                        if (state.failed) return retval;
                        if ( state.backtracking == 0 ) adaptor.AddChild(root_0, xmlQualifiedIdentifier18.Tree);

                    }
                    break;
                case 3 :
                    // AS3_ex.g3:1660:11: s= STAR
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        s=(IToken)Match(input,STAR,FOLLOW_STAR_in_xmlPropertyIdentifier5072); 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;

            }
            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, 16, xmlPropertyIdentifier_StartIndex); 
            }
        }
        return retval;
    }