Ejemplo n.º 1
0
        // throws RecognitionException [1]
        // $ANTLR start primaryExpression
        // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1450:1: primaryExpression : (und= UNDEFINED | c= constant | arrayLiteral | objectLiteral | functionDefinition | newFullExpression | encapsulatedExpression | qualifiedIdent );
        public primaryExpression_return primaryExpression()
        {
            primaryExpression_return retval = new primaryExpression_return();
            retval.start = input.LT(1);
            int primaryExpression_StartIndex = input.Index();
            CommonTree root_0 = null;

            CommonToken und = null;
            constant_return c = null;

            arrayLiteral_return arrayLiteral290 = null;

            objectLiteral_return objectLiteral291 = null;

            functionDefinition_return functionDefinition292 = null;

            newFullExpression_return newFullExpression293 = null;

            encapsulatedExpression_return encapsulatedExpression294 = null;

            qualifiedIdent_return qualifiedIdent295 = null;

            CommonTree und_tree=null;

            try
            {
            if ( (backtracking > 0) && AlreadyParsedRule(input, 111) )
            {
                return retval;
            }
            // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1451:4: (und= UNDEFINED | c= constant | arrayLiteral | objectLiteral | functionDefinition | newFullExpression | encapsulatedExpression | qualifiedIdent )
            int alt84 = 8;
            switch ( input.LA(1) )
            {
            case UNDEFINED:
                {
                alt84 = 1;
                }
                break;
            case STRING_LITERAL:
            case TRUE:
            case FALSE:
            case NULL:
            case HEX_LITERAL:
            case DECIMAL_LITERAL:
            case OCTAL_LITERAL:
            case FLOAT_LITERAL:
                {
                alt84 = 2;
                }
                break;
            case LBRACK:
                {
                alt84 = 3;
                }
                break;
            case LCURLY:
                {
                alt84 = 4;
                }
                break;
            case FUNCTION:
                {
                alt84 = 5;
                }
                break;
            case NEW:
                {
                alt84 = 6;
                }
                break;
            case LPAREN:
                {
                alt84 = 7;
                }
                break;
            case GET:
            case SET:
            case IDENT:
            case DYNAMIC:
            case IS:
            case AS:
            case USE:
            case XML:
                {
                alt84 = 8;
                }
                break;
                default:
                    if ( backtracking > 0 ) {failed = true; return retval;}
                    NoViableAltException nvae_d84s0 =
                        new NoViableAltException("1450:1: primaryExpression : (und= UNDEFINED | c= constant | arrayLiteral | objectLiteral | functionDefinition | newFullExpression | encapsulatedExpression | qualifiedIdent );", 84, 0, input);

                    throw nvae_d84s0;
            }

            switch (alt84)
            {
                case 1 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1451:4: und= UNDEFINED
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        und = (CommonToken)input.LT(1);
                        Match(input,UNDEFINED,FOLLOW_UNDEFINED_in_primaryExpression5216); if (failed) return retval;
                        if ( backtracking==0 ) {
                        und_tree = (CommonTree)adaptor.Create(und);
                        adaptor.AddChild(root_0, und_tree);
                        }
                        if ( backtracking == 0 )
                        {
                           buffer.Append(und.Text);
                        }

                    }
                    break;
                case 2 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1452:4: c= constant
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_constant_in_primaryExpression5228);
                        c = constant();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, c.Tree);
                        if ( backtracking == 0 )
                        {
                           buffer.Append(((CommonTree)c.Tree).Text);
                        }

                    }
                    break;
                case 3 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1453:4: arrayLiteral
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_arrayLiteral_in_primaryExpression5239);
                        arrayLiteral290 = arrayLiteral();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, arrayLiteral290.Tree);

                    }
                    break;
                case 4 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1454:4: objectLiteral
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_objectLiteral_in_primaryExpression5244);
                        objectLiteral291 = objectLiteral();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, objectLiteral291.Tree);

                    }
                    break;
                case 5 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1455:4: functionDefinition
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_functionDefinition_in_primaryExpression5249);
                        functionDefinition292 = functionDefinition();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, functionDefinition292.Tree);

                    }
                    break;
                case 6 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1456:4: newFullExpression
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_newFullExpression_in_primaryExpression5254);
                        newFullExpression293 = newFullExpression();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, newFullExpression293.Tree);

                    }
                    break;
                case 7 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1457:4: encapsulatedExpression
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_encapsulatedExpression_in_primaryExpression5259);
                        encapsulatedExpression294 = encapsulatedExpression();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, encapsulatedExpression294.Tree);

                    }
                    break;
                case 8 :
                    // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1458:4: qualifiedIdent
                    {
                        root_0 = (CommonTree)adaptor.GetNilNode();

                        PushFollow(FOLLOW_qualifiedIdent_in_primaryExpression5264);
                        qualifiedIdent295 = qualifiedIdent();
                        followingStackPointer_--;
                        if (failed) return retval;
                        if ( backtracking==0 ) adaptor.AddChild(root_0, qualifiedIdent295.Tree);

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( backtracking==0 )
            {	retval.tree = (CommonTree)adaptor.RulePostProcessing(root_0);
                adaptor.SetTokenBoundaries(retval.Tree, retval.start, retval.stop);
            }
            }

            catch (NoViableAltException e)
            {
                Debug.WriteLine("NoValiable alt: token=" + e.Token + " (decision=" + e.decisionNumber + " state " + e.stateNumber + ")" + " decision=<<" + e.grammarDecisionDescription + ">>");
                throw e;
            }
            catch (MismatchedTokenException e)
            {
                Debug.WriteLine("[" + e.Line + ":" + e.Index + "]: " + e.Message + ". Unexpected " + e.UnexpectedType.ToString() +  "( expecting: "+ e.expecting + " )");
                throw e;
            }
            catch(RecognitionException e)
            {
                Debug.WriteLine("RecognitionException: " + e);
                throw e;
            }
            finally
            {
            if ( backtracking > 0 )
            {
                Memoize(input, 111, primaryExpression_StartIndex);
            }
            }
            return retval;
        }
Ejemplo n.º 2
0
    // $ANTLR start primaryExpression
    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );
    public primaryExpression_return primaryExpression() // throws RecognitionException [1]
    {   
        primaryExpression_return retval = new primaryExpression_return();
        retval.start = input.LT(1);
        
        CommonTree root_0 = null;
    
        IToken char_literal28 = null;
        IToken char_literal30 = null;
        value_return expr = null;

        expression_return expression29 = null;

        newExpression_return newExpression31 = null;

        identifier_return identifier32 = null;

        arguments_return arguments33 = null;

        methodCall_return methodCall34 = null;

        queryExpression_return queryExpression35 = null;
        
        
        CommonTree char_literal28_tree=null;
        CommonTree char_literal30_tree=null;
    
        try 
    	{
            // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:157:2: ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression )
            int alt16 = 6;
            switch ( input.LA(1) ) 
            {
            case 34:
            	{
                alt16 = 1;
                }
                break;
            case INTEGER:
            case FLOAT:
            case STRING:
            case 57:
            case 58:
            	{
                alt16 = 2;
                }
                break;
            case 38:
            	{
                int LA16_3 = input.LA(2);
                
                if ( (LA16_3 == 56) )
                {
                    alt16 = 2;
                }
                else if ( (LA16_3 == ID || LA16_3 == 39) )
                {
                    alt16 = 3;
                }
                else 
                {
                    NoViableAltException nvae_d16s3 =
                        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 3, input);
                
                    throw nvae_d16s3;
                }
                }
                break;
            case ID:
            	{
                int LA16_4 = input.LA(2);
                
                if ( (LA16_4 == 34) )
                {
                    switch ( input.LA(3) ) 
                    {
                    case 34:
                    	{
                        switch ( input.LA(4) ) 
                        {
                        case INTEGER:
                        case FLOAT:
                        case STRING:
                        case 28:
                        case 32:
                        case 34:
                        case 38:
                        case 42:
                        case 57:
                        case 58:
                        	{
                            alt16 = 4;
                            }
                            break;
                        case ID:
                        	{
                            switch ( input.LA(5) ) 
                            {
                            case 15:
                            case 17:
                            case 19:
                            case 20:
                            case 21:
                            case 22:
                            case 23:
                            case 24:
                            case 25:
                            case 26:
                            case 27:
                            case 28:
                            case 29:
                            case 30:
                            case 31:
                            case 33:
                            case 34:
                            	{
                                alt16 = 4;
                                }
                                break;
                            case 36:
                            	{
                                alt16 = 5;
                                }
                                break;
                            case 35:
                            	{
                                int LA16_14 = input.LA(6);
                                
                                if ( (LA16_14 == 37) )
                                {
                                    alt16 = 5;
                                }
                                else if ( (LA16_14 == 15 || LA16_14 == 17 || (LA16_14 >= 19 && LA16_14 <= 31) || LA16_14 == 33 || (LA16_14 >= 35 && LA16_14 <= 36)) )
                                {
                                    alt16 = 4;
                                }
                                else 
                                {
                                    NoViableAltException nvae_d16s14 =
                                        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 14, input);
                                
                                    throw nvae_d16s14;
                                }
                                }
                                break;
                            	default:
                            	    NoViableAltException nvae_d16s12 =
                            	        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 12, input);
                            
                            	    throw nvae_d16s12;
                            }
                        
                            }
                            break;
                        case 35:
                        	{
                            alt16 = 5;
                            }
                            break;
                        	default:
                        	    NoViableAltException nvae_d16s9 =
                        	        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 9, input);
                        
                        	    throw nvae_d16s9;
                        }
                    
                        }
                        break;
                    case INTEGER:
                    case FLOAT:
                    case STRING:
                    case 28:
                    case 32:
                    case 35:
                    case 38:
                    case 42:
                    case 57:
                    case 58:
                    	{
                        alt16 = 4;
                        }
                        break;
                    case ID:
                    	{
                        switch ( input.LA(4) ) 
                        {
                        case 15:
                        case 17:
                        case 19:
                        case 20:
                        case 21:
                        case 22:
                        case 23:
                        case 24:
                        case 25:
                        case 26:
                        case 27:
                        case 28:
                        case 29:
                        case 30:
                        case 31:
                        case 33:
                        case 34:
                        case 35:
                        	{
                            alt16 = 4;
                            }
                            break;
                        case 36:
                        	{
                            int LA16_13 = input.LA(5);
                            
                            if ( (LA16_13 == ID) )
                            {
                                int LA16_15 = input.LA(6);
                                
                                if ( (LA16_15 == 15 || LA16_15 == 17 || (LA16_15 >= 19 && LA16_15 <= 31) || (LA16_15 >= 33 && LA16_15 <= 36)) )
                                {
                                    alt16 = 4;
                                }
                                else if ( (LA16_15 == 37) )
                                {
                                    alt16 = 5;
                                }
                                else 
                                {
                                    NoViableAltException nvae_d16s15 =
                                        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 15, input);
                                
                                    throw nvae_d16s15;
                                }
                            }
                            else if ( ((LA16_13 >= INTEGER && LA16_13 <= STRING) || LA16_13 == 28 || LA16_13 == 32 || LA16_13 == 34 || LA16_13 == 38 || LA16_13 == 42 || (LA16_13 >= 57 && LA16_13 <= 58)) )
                            {
                                alt16 = 4;
                            }
                            else 
                            {
                                NoViableAltException nvae_d16s13 =
                                    new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 13, input);
                            
                                throw nvae_d16s13;
                            }
                            }
                            break;
                        case 37:
                        	{
                            alt16 = 5;
                            }
                            break;
                        	default:
                        	    NoViableAltException nvae_d16s10 =
                        	        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 10, input);
                        
                        	    throw nvae_d16s10;
                        }
                    
                        }
                        break;
                    case 37:
                    	{
                        alt16 = 5;
                        }
                        break;
                    	default:
                    	    NoViableAltException nvae_d16s7 =
                    	        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 7, input);
                    
                    	    throw nvae_d16s7;
                    }
                
                }
                else if ( (LA16_4 == EOF || (LA16_4 >= 15 && LA16_4 <= 31) || LA16_4 == 33 || (LA16_4 >= 35 && LA16_4 <= 36) || (LA16_4 >= 41 && LA16_4 <= 42) || (LA16_4 >= 44 && LA16_4 <= 54)) )
                {
                    alt16 = 4;
                }
                else 
                {
                    NoViableAltException nvae_d16s4 =
                        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 4, input);
                
                    throw nvae_d16s4;
                }
                }
                break;
            case 42:
            	{
                alt16 = 6;
                }
                break;
            	default:
            	    NoViableAltException nvae_d16s0 =
            	        new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 0, input);
            
            	    throw nvae_d16s0;
            }
            
            switch (alt16) 
            {
                case 1 :
                    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:157:4: '(' expression ')'
                    {
                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    
                    	char_literal28 = (IToken)input.LT(1);
                    	Match(input,34,FOLLOW_34_in_primaryExpression632); 
                    	char_literal28_tree = (CommonTree)adaptor.Create(char_literal28);
                    	adaptor.AddChild(root_0, char_literal28_tree);

                    	PushFollow(FOLLOW_expression_in_primaryExpression634);
                    	expression29 = expression();
                    	followingStackPointer_--;
                    	
                    	adaptor.AddChild(root_0, expression29.Tree);
                    	char_literal30 = (IToken)input.LT(1);
                    	Match(input,35,FOLLOW_35_in_primaryExpression636); 
                    	char_literal30_tree = (CommonTree)adaptor.Create(char_literal30);
                    	adaptor.AddChild(root_0, char_literal30_tree);

                    	 retval.value =  expression29.value; 
                    
                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:158:4: expr= value
                    {
                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    
                    	PushFollow(FOLLOW_value_in_primaryExpression646);
                    	expr = value();
                    	followingStackPointer_--;
                    	
                    	adaptor.AddChild(root_0, expr.Tree);
                    	 retval.value =  expr.value; 
                    
                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:159:4: newExpression
                    {
                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    
                    	PushFollow(FOLLOW_newExpression_in_primaryExpression654);
                    	newExpression31 = newExpression();
                    	followingStackPointer_--;
                    	
                    	adaptor.AddChild(root_0, newExpression31.Tree);
                    	 retval.value =  newExpression31.value; 
                    
                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:160:4: identifier ( arguments )?
                    {
                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    
                    	PushFollow(FOLLOW_identifier_in_primaryExpression662);
                    	identifier32 = identifier();
                    	followingStackPointer_--;
                    	
                    	adaptor.AddChild(root_0, identifier32.Tree);
                    	retval.value =  input.ToString(identifier32.start,identifier32.stop) == "null" ? new ValueExpression(null, TypeCode.Object) : (Expression)identifier32.value; 
                    	// C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:160:120: ( arguments )?
                    	int alt15 = 2;
                    	int LA15_0 = input.LA(1);
                    	
                    	if ( (LA15_0 == 34) )
                    	{
                    	    alt15 = 1;
                    	}
                    	switch (alt15) 
                    	{
                    	    case 1 :
                    	        // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:160:121: arguments
                    	        {
                    	        	PushFollow(FOLLOW_arguments_in_primaryExpression667);
                    	        	arguments33 = arguments();
                    	        	followingStackPointer_--;
                    	        	
                    	        	adaptor.AddChild(root_0, arguments33.Tree);
                    	        	retval.value =  new MethodCall(identifier32.value, (arguments33.value).ToArray()); 
                    	        
                    	        }
                    	        break;
                    	
                    	}

                    
                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:161:4: methodCall
                    {
                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    
                    	PushFollow(FOLLOW_methodCall_in_primaryExpression676);
                    	methodCall34 = methodCall();
                    	followingStackPointer_--;
                    	
                    	adaptor.AddChild(root_0, methodCall34.Tree);
                    	 retval.value =  methodCall34.value; 
                    
                    }
                    break;
                case 6 :
                    // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:162:5: queryExpression
                    {
                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    
                    	PushFollow(FOLLOW_queryExpression_in_primaryExpression685);
                    	queryExpression35 = queryExpression();
                    	followingStackPointer_--;
                    	
                    	adaptor.AddChild(root_0, queryExpression35.Tree);
                    	 retval.value =  queryExpression35.value; 
                    
                    }
                    break;
            
            }
            retval.stop = input.LT(-1);
            
            	retval.tree = (CommonTree)adaptor.RulePostProcessing(root_0);
            	adaptor.SetTokenBoundaries(retval.Tree, retval.start, retval.stop);
    
        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
        }
        finally 
    	{
        }
        return retval;
    }