Example #1
0
    // $ANTLR end "variableUnaryChangeExpression"


    // $ANTLR start "lookup"
    // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:290:1: lookup returns [SGLNode node] : Identifier ;
    public SGLNode lookup() // throws RecognitionException [1]
    {   
        SGLNode node = default(SGLNode);

        CommonTree Identifier58 = null;

        try 
    	{
            // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:291:2: ( Identifier )
            // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:291:4: Identifier
            {
            	Identifier58=(CommonTree)Match(input,Identifier,FOLLOW_Identifier_in_lookup1245); 
            	 node = new IdentifierNode(((Identifier58 != null) ? Identifier58.Text : null), currentScope, Identifier58.Line); 

            }

        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
        }
        finally 
    	{
        }
        return node;
    }
Example #2
0
    // $ANTLR end "instantiateClass"


    // $ANTLR start "lookup"
    // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:300:1: lookup returns [SGLNode node] : ( ^( LOOKUP objectMethodCall (i= indexes )? ) | ^( LOOKUP Identifier (i= indexes )? ) | ^( LOOKUP methodCall (i= indexes )? ) );
    public SGLNode lookup() // throws RecognitionException [1]
    {   
        SGLNode node = default(SGLNode);

        CommonTree Identifier52 = null;
        List<SGLNode> i = default(List<SGLNode>);

        SGLNode objectMethodCall51 = default(SGLNode);

        SGLNode methodCall53 = default(SGLNode);


        try 
    	{
            // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:301:3: ( ^( LOOKUP objectMethodCall (i= indexes )? ) | ^( LOOKUP Identifier (i= indexes )? ) | ^( LOOKUP methodCall (i= indexes )? ) )
            int alt28 = 3;
            int LA28_0 = input.LA(1);

            if ( (LA28_0 == LOOKUP) )
            {
                int LA28_1 = input.LA(2);

                if ( (LA28_1 == DOWN) )
                {
                    switch ( input.LA(3) ) 
                    {
                    case Identifier:
                    	{
                        alt28 = 2;
                        }
                        break;
                    case OBJ_METH_CALL:
                    	{
                        alt28 = 1;
                        }
                        break;
                    case METH_CALL:
                    	{
                        alt28 = 3;
                        }
                        break;
                    	default:
                    	    NoViableAltException nvae_d28s2 =
                    	        new NoViableAltException("", 28, 2, input);

                    	    throw nvae_d28s2;
                    }

                }
                else 
                {
                    NoViableAltException nvae_d28s1 =
                        new NoViableAltException("", 28, 1, input);

                    throw nvae_d28s1;
                }
            }
            else 
            {
                NoViableAltException nvae_d28s0 =
                    new NoViableAltException("", 28, 0, input);

                throw nvae_d28s0;
            }
            switch (alt28) 
            {
                case 1 :
                    // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:301:6: ^( LOOKUP objectMethodCall (i= indexes )? )
                    {
                    	Match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup1256); 

                    	Match(input, Token.DOWN, null); 
                    	PushFollow(FOLLOW_objectMethodCall_in_lookup1258);
                    	objectMethodCall51 = objectMethodCall();
                    	state.followingStackPointer--;

                    	// D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:301:33: (i= indexes )?
                    	int alt25 = 2;
                    	int LA25_0 = input.LA(1);

                    	if ( (LA25_0 == INDEXES) )
                    	{
                    	    alt25 = 1;
                    	}
                    	switch (alt25) 
                    	{
                    	    case 1 :
                    	        // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:301:33: i= indexes
                    	        {
                    	        	PushFollow(FOLLOW_indexes_in_lookup1262);
                    	        	i = indexes();
                    	        	state.followingStackPointer--;


                    	        }
                    	        break;

                    	}


                    	Match(input, Token.UP, null); 
                    	node = i != null ? new LookupNode(objectMethodCall51, i) : objectMethodCall51;

                    }
                    break;
                case 2 :
                    // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:302:6: ^( LOOKUP Identifier (i= indexes )? )
                    {
                    	Match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup1274); 

                    	Match(input, Token.DOWN, null); 
                    	Identifier52=(CommonTree)Match(input,Identifier,FOLLOW_Identifier_in_lookup1276); 
                    	// D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:302:27: (i= indexes )?
                    	int alt26 = 2;
                    	int LA26_0 = input.LA(1);

                    	if ( (LA26_0 == INDEXES) )
                    	{
                    	    alt26 = 1;
                    	}
                    	switch (alt26) 
                    	{
                    	    case 1 :
                    	        // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:302:27: i= indexes
                    	        {
                    	        	PushFollow(FOLLOW_indexes_in_lookup1280);
                    	        	i = indexes();
                    	        	state.followingStackPointer--;


                    	        }
                    	        break;

                    	}


                    	Match(input, Token.UP, null); 
                    	SGLNode identNode = new IdentifierNode(((Identifier52 != null) ? Identifier52.Text : null), currentScope, Identifier52.Line);
                    	  	node = i != null ? new LookupNode(identNode, i) : identNode;

                    }
                    break;
                case 3 :
                    // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:305:6: ^( LOOKUP methodCall (i= indexes )? )
                    {
                    	Match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup1303); 

                    	Match(input, Token.DOWN, null); 
                    	PushFollow(FOLLOW_methodCall_in_lookup1305);
                    	methodCall53 = methodCall();
                    	state.followingStackPointer--;

                    	// D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:305:27: (i= indexes )?
                    	int alt27 = 2;
                    	int LA27_0 = input.LA(1);

                    	if ( (LA27_0 == INDEXES) )
                    	{
                    	    alt27 = 1;
                    	}
                    	switch (alt27) 
                    	{
                    	    case 1 :
                    	        // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:305:27: i= indexes
                    	        {
                    	        	PushFollow(FOLLOW_indexes_in_lookup1309);
                    	        	i = indexes();
                    	        	state.followingStackPointer--;


                    	        }
                    	        break;

                    	}


                    	Match(input, Token.UP, null); 
                    	node = i != null ? new LookupNode(methodCall53, i) : node = methodCall53;

                    }
                    break;

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