예제 #1
0
    // $ANTLR start "propertyName"
    // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:466:1: propertyName : ( identifier | CLASS | ELEMENTS | INDICES );
    public HqlSqlWalker.propertyName_return propertyName() // throws RecognitionException [1]
    {   
        HqlSqlWalker.propertyName_return retval = new HqlSqlWalker.propertyName_return();
        retval.Start = input.LT(1);

        IASTNode root_0 = null;

        IASTNode _first_0 = null;
        IASTNode _last = null;

        IASTNode CLASS204 = null;
        IASTNode ELEMENTS205 = null;
        IASTNode INDICES206 = null;
        HqlSqlWalker.identifier_return identifier203 = default(HqlSqlWalker.identifier_return);


        IASTNode CLASS204_tree=null;
        IASTNode ELEMENTS205_tree=null;
        IASTNode INDICES206_tree=null;

        try 
    	{
            // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:467:2: ( identifier | CLASS | ELEMENTS | INDICES )
            int alt62 = 4;
            switch ( input.LA(1) ) 
            {
            case WEIRD_IDENT:
            case IDENT:
            	{
                alt62 = 1;
                }
                break;
            case CLASS:
            	{
                alt62 = 2;
                }
                break;
            case ELEMENTS:
            	{
                alt62 = 3;
                }
                break;
            case INDICES:
            	{
                alt62 = 4;
                }
                break;
            	default:
            	    NoViableAltException nvae_d62s0 =
            	        new NoViableAltException("", 62, 0, input);

            	    throw nvae_d62s0;
            }

            switch (alt62) 
            {
                case 1 :
                    // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:467:4: identifier
                    {
                    	root_0 = (IASTNode)adaptor.GetNilNode();

                    	_last = (IASTNode)input.LT(1);
                    	PushFollow(FOLLOW_identifier_in_propertyName2402);
                    	identifier203 = identifier();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, identifier203.Tree);

                    }
                    break;
                case 2 :
                    // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:468:4: CLASS
                    {
                    	root_0 = (IASTNode)adaptor.GetNilNode();

                    	_last = (IASTNode)input.LT(1);
                    	CLASS204=(IASTNode)Match(input,CLASS,FOLLOW_CLASS_in_propertyName2407); 
                    		CLASS204_tree = (IASTNode)adaptor.DupNode(CLASS204);

                    		adaptor.AddChild(root_0, CLASS204_tree);


                    }
                    break;
                case 3 :
                    // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:469:4: ELEMENTS
                    {
                    	root_0 = (IASTNode)adaptor.GetNilNode();

                    	_last = (IASTNode)input.LT(1);
                    	ELEMENTS205=(IASTNode)Match(input,ELEMENTS,FOLLOW_ELEMENTS_in_propertyName2412); 
                    		ELEMENTS205_tree = (IASTNode)adaptor.DupNode(ELEMENTS205);

                    		adaptor.AddChild(root_0, ELEMENTS205_tree);


                    }
                    break;
                case 4 :
                    // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:470:4: INDICES
                    {
                    	root_0 = (IASTNode)adaptor.GetNilNode();

                    	_last = (IASTNode)input.LT(1);
                    	INDICES206=(IASTNode)Match(input,INDICES,FOLLOW_INDICES_in_propertyName2417); 
                    		INDICES206_tree = (IASTNode)adaptor.DupNode(INDICES206);

                    		adaptor.AddChild(root_0, INDICES206_tree);


                    }
                    break;

            }
            	retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0);

        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
        }
        finally 
    	{
        }
        return retval;
    }
예제 #2
0
    // $ANTLR start "propertyName"
    // HqlSqlWalker.g:491:1: propertyName : ( identifier | CLASS | ELEMENTS | INDICES );
    public HqlSqlWalker.propertyName_return propertyName() // throws RecognitionException [1]
    {   
        HqlSqlWalker.propertyName_return retval = new HqlSqlWalker.propertyName_return();
        retval.Start = input.LT(1);

        IASTNode root_0 = null;

        IASTNode _first_0 = null;
        IASTNode _last = null;

        IASTNode CLASS210 = null;
        IASTNode ELEMENTS211 = null;
        IASTNode INDICES212 = null;
        HqlSqlWalker.identifier_return identifier209 = default(HqlSqlWalker.identifier_return);


        IASTNode CLASS210_tree=null;
        IASTNode ELEMENTS211_tree=null;
        IASTNode INDICES212_tree=null;

        try 
    	{
            // HqlSqlWalker.g:492:2: ( identifier | CLASS | ELEMENTS | INDICES )
            int alt64 = 4;
            switch ( input.LA(1) ) 
            {
            case WEIRD_IDENT:
            case IDENT:
            	{
                alt64 = 1;
                }
                break;
            case CLASS:
            	{
                alt64 = 2;
                }
                break;
            case ELEMENTS:
            	{
                alt64 = 3;
                }
                break;
            case INDICES:
            	{
                alt64 = 4;
                }
                break;
            	default:
            	    NoViableAltException nvae_d64s0 =
            	        new NoViableAltException("", 64, 0, input);

            	    throw nvae_d64s0;
            }

            switch (alt64) 
            {
                case 1 :
                    // HqlSqlWalker.g:492:4: identifier
                    {
                    	root_0 = (IASTNode)adaptor.GetNilNode();

                    	_last = (IASTNode)input.LT(1);
                    	PushFollow(FOLLOW_identifier_in_propertyName2527);
                    	identifier209 = identifier();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, identifier209.Tree);

                    }
                    break;
                case 2 :
                    // HqlSqlWalker.g:493:4: CLASS
                    {
                    	root_0 = (IASTNode)adaptor.GetNilNode();

                    	_last = (IASTNode)input.LT(1);
                    	CLASS210=(IASTNode)Match(input,CLASS,FOLLOW_CLASS_in_propertyName2532); 
                    		CLASS210_tree = (IASTNode)adaptor.DupNode(CLASS210);

                    		adaptor.AddChild(root_0, CLASS210_tree);


                    }
                    break;
                case 3 :
                    // HqlSqlWalker.g:494:4: ELEMENTS
                    {
                    	root_0 = (IASTNode)adaptor.GetNilNode();

                    	_last = (IASTNode)input.LT(1);
                    	ELEMENTS211=(IASTNode)Match(input,ELEMENTS,FOLLOW_ELEMENTS_in_propertyName2537); 
                    		ELEMENTS211_tree = (IASTNode)adaptor.DupNode(ELEMENTS211);

                    		adaptor.AddChild(root_0, ELEMENTS211_tree);


                    }
                    break;
                case 4 :
                    // HqlSqlWalker.g:495:4: INDICES
                    {
                    	root_0 = (IASTNode)adaptor.GetNilNode();

                    	_last = (IASTNode)input.LT(1);
                    	INDICES212=(IASTNode)Match(input,INDICES,FOLLOW_INDICES_in_propertyName2542); 
                    		INDICES212_tree = (IASTNode)adaptor.DupNode(INDICES212);

                    		adaptor.AddChild(root_0, INDICES212_tree);


                    }
                    break;

            }
            	retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0);

        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
        }
        finally 
    	{
        }
        return retval;
    }