Ejemplo n.º 1
0
    // $ANTLR start "semicolonStatement"
    // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:177:1: semicolonStatement : ( variableDeclarationList | variableAssignment | variableUnaryChange | methodCall | objectMethod | breakStat | returnStat ) ';' ;
    public SGLParser.semicolonStatement_return semicolonStatement() // throws RecognitionException [1]
    {   
        SGLParser.semicolonStatement_return retval = new SGLParser.semicolonStatement_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal27 = null;
        SGLParser.variableDeclarationList_return variableDeclarationList20 = default(SGLParser.variableDeclarationList_return);

        SGLParser.variableAssignment_return variableAssignment21 = default(SGLParser.variableAssignment_return);

        SGLParser.variableUnaryChange_return variableUnaryChange22 = default(SGLParser.variableUnaryChange_return);

        SGLParser.methodCall_return methodCall23 = default(SGLParser.methodCall_return);

        SGLParser.objectMethod_return objectMethod24 = default(SGLParser.objectMethod_return);

        SGLParser.breakStat_return breakStat25 = default(SGLParser.breakStat_return);

        SGLParser.returnStat_return returnStat26 = default(SGLParser.returnStat_return);


        object char_literal27_tree=null;

        try 
    	{
            // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:178:2: ( ( variableDeclarationList | variableAssignment | variableUnaryChange | methodCall | objectMethod | breakStat | returnStat ) ';' )
            // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:178:4: ( variableDeclarationList | variableAssignment | variableUnaryChange | methodCall | objectMethod | breakStat | returnStat ) ';'
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:178:4: ( variableDeclarationList | variableAssignment | variableUnaryChange | methodCall | objectMethod | breakStat | returnStat )
            	int alt6 = 7;
            	switch ( input.LA(1) ) 
            	{
            	case IntType:
            	case BooleanType:
            	case StringType:
            	case FloatType:
            	case ObjectType:
            	case 57:
            		{
            	    alt6 = 1;
            	    }
            	    break;
            	case Identifier:
            		{
            	    switch ( input.LA(2) ) 
            	    {
            	    case 52:
            	    	{
            	        alt6 = 4;
            	        }
            	        break;
            	    case 58:
            	    	{
            	        alt6 = 2;
            	        }
            	        break;
            	    case 82:
            	    case 83:
            	    	{
            	        alt6 = 3;
            	        }
            	        break;
            	    case 59:
            	    	{
            	        alt6 = 5;
            	        }
            	        break;
            	    	default:
            	    	    NoViableAltException nvae_d6s2 =
            	    	        new NoViableAltException("", 6, 2, input);

            	    	    throw nvae_d6s2;
            	    }

            	    }
            	    break;
            	case 65:
            		{
            	    alt6 = 6;
            	    }
            	    break;
            	case 66:
            		{
            	    alt6 = 7;
            	    }
            	    break;
            		default:
            		    NoViableAltException nvae_d6s0 =
            		        new NoViableAltException("", 6, 0, input);

            		    throw nvae_d6s0;
            	}

            	switch (alt6) 
            	{
            	    case 1 :
            	        // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:178:5: variableDeclarationList
            	        {
            	        	PushFollow(FOLLOW_variableDeclarationList_in_semicolonStatement427);
            	        	variableDeclarationList20 = variableDeclarationList();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, variableDeclarationList20.Tree);

            	        }
            	        break;
            	    case 2 :
            	        // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:179:4: variableAssignment
            	        {
            	        	PushFollow(FOLLOW_variableAssignment_in_semicolonStatement433);
            	        	variableAssignment21 = variableAssignment();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, variableAssignment21.Tree);

            	        }
            	        break;
            	    case 3 :
            	        // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:180:4: variableUnaryChange
            	        {
            	        	PushFollow(FOLLOW_variableUnaryChange_in_semicolonStatement439);
            	        	variableUnaryChange22 = variableUnaryChange();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, variableUnaryChange22.Tree);

            	        }
            	        break;
            	    case 4 :
            	        // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:181:4: methodCall
            	        {
            	        	PushFollow(FOLLOW_methodCall_in_semicolonStatement445);
            	        	methodCall23 = methodCall();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, methodCall23.Tree);

            	        }
            	        break;
            	    case 5 :
            	        // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:182:4: objectMethod
            	        {
            	        	PushFollow(FOLLOW_objectMethod_in_semicolonStatement450);
            	        	objectMethod24 = objectMethod();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, objectMethod24.Tree);

            	        }
            	        break;
            	    case 6 :
            	        // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:183:4: breakStat
            	        {
            	        	PushFollow(FOLLOW_breakStat_in_semicolonStatement455);
            	        	breakStat25 = breakStat();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, breakStat25.Tree);

            	        }
            	        break;
            	    case 7 :
            	        // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGL.g:184:4: returnStat
            	        {
            	        	PushFollow(FOLLOW_returnStat_in_semicolonStatement460);
            	        	returnStat26 = returnStat();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, returnStat26.Tree);

            	        }
            	        break;

            	}

            	char_literal27=(IToken)Match(input,55,FOLLOW_55_in_semicolonStatement465); 

            }

            retval.Stop = input.LT(-1);

            	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 
    	{
        }
        return retval;
    }
Ejemplo n.º 2
0
    // $ANTLR start "semicolonStatement"
    // D:\\sgl4c#\\NewSGLGramma\\SGL.g:193:1: semicolonStatement : ( objectMethodCall | methodCall | assignmentList | unaryExpression | breakStat | returnStat ) ';' ;
    public SGLParser.semicolonStatement_return semicolonStatement() // throws RecognitionException [1]
    {   
        SGLParser.semicolonStatement_return retval = new SGLParser.semicolonStatement_return();
        retval.Start = input.LT(1);
        int semicolonStatement_StartIndex = input.Index();
        object root_0 = null;

        IToken char_literal25 = null;
        SGLParser.objectMethodCall_return objectMethodCall19 = default(SGLParser.objectMethodCall_return);

        SGLParser.methodCall_return methodCall20 = default(SGLParser.methodCall_return);

        SGLParser.assignmentList_return assignmentList21 = default(SGLParser.assignmentList_return);

        SGLParser.unaryExpression_return unaryExpression22 = default(SGLParser.unaryExpression_return);

        SGLParser.breakStat_return breakStat23 = default(SGLParser.breakStat_return);

        SGLParser.returnStat_return returnStat24 = default(SGLParser.returnStat_return);


        object char_literal25_tree=null;

        try 
    	{
    	    if ( (state.backtracking > 0) && AlreadyParsedRule(input, 8) ) 
    	    {
    	    	return retval; 
    	    }
            // D:\\sgl4c#\\NewSGLGramma\\SGL.g:194:2: ( ( objectMethodCall | methodCall | assignmentList | unaryExpression | breakStat | returnStat ) ';' )
            // D:\\sgl4c#\\NewSGLGramma\\SGL.g:194:4: ( objectMethodCall | methodCall | assignmentList | unaryExpression | breakStat | returnStat ) ';'
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// D:\\sgl4c#\\NewSGLGramma\\SGL.g:194:4: ( objectMethodCall | methodCall | assignmentList | unaryExpression | breakStat | returnStat )
            	int alt6 = 6;
            	switch ( input.LA(1) ) 
            	{
            	case Identifier:
            		{
            	    switch ( input.LA(2) ) 
            	    {
            	    case 59:
            	    	{
            	        alt6 = 2;
            	        }
            	        break;
            	    case 80:
            	    case 81:
            	    	{
            	        alt6 = 4;
            	        }
            	        break;
            	    case 56:
            	    case 58:
            	    	{
            	        alt6 = 1;
            	        }
            	        break;
            	    	default:
            	    	    if ( state.backtracking > 0 ) {state.failed = true; return retval;}
            	    	    NoViableAltException nvae_d6s1 =
            	    	        new NoViableAltException("", 6, 1, input);

            	    	    throw nvae_d6s1;
            	    }

            	    }
            	    break;
            	case VarStartInit:
            		{
            	    alt6 = 3;
            	    }
            	    break;
            	case 83:
            		{
            	    alt6 = 5;
            	    }
            	    break;
            	case 84:
            		{
            	    alt6 = 6;
            	    }
            	    break;
            		default:
            		    if ( state.backtracking > 0 ) {state.failed = true; return retval;}
            		    NoViableAltException nvae_d6s0 =
            		        new NoViableAltException("", 6, 0, input);

            		    throw nvae_d6s0;
            	}

            	switch (alt6) 
            	{
            	    case 1 :
            	        // D:\\sgl4c#\\NewSGLGramma\\SGL.g:194:5: objectMethodCall
            	        {
            	        	PushFollow(FOLLOW_objectMethodCall_in_semicolonStatement430);
            	        	objectMethodCall19 = objectMethodCall();
            	        	state.followingStackPointer--;
            	        	if (state.failed) return retval;
            	        	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, objectMethodCall19.Tree);

            	        }
            	        break;
            	    case 2 :
            	        // D:\\sgl4c#\\NewSGLGramma\\SGL.g:195:4: methodCall
            	        {
            	        	PushFollow(FOLLOW_methodCall_in_semicolonStatement435);
            	        	methodCall20 = methodCall();
            	        	state.followingStackPointer--;
            	        	if (state.failed) return retval;
            	        	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, methodCall20.Tree);

            	        }
            	        break;
            	    case 3 :
            	        // D:\\sgl4c#\\NewSGLGramma\\SGL.g:196:4: assignmentList
            	        {
            	        	PushFollow(FOLLOW_assignmentList_in_semicolonStatement441);
            	        	assignmentList21 = assignmentList();
            	        	state.followingStackPointer--;
            	        	if (state.failed) return retval;
            	        	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, assignmentList21.Tree);

            	        }
            	        break;
            	    case 4 :
            	        // D:\\sgl4c#\\NewSGLGramma\\SGL.g:197:4: unaryExpression
            	        {
            	        	PushFollow(FOLLOW_unaryExpression_in_semicolonStatement447);
            	        	unaryExpression22 = unaryExpression();
            	        	state.followingStackPointer--;
            	        	if (state.failed) return retval;
            	        	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression22.Tree);

            	        }
            	        break;
            	    case 5 :
            	        // D:\\sgl4c#\\NewSGLGramma\\SGL.g:198:4: breakStat
            	        {
            	        	PushFollow(FOLLOW_breakStat_in_semicolonStatement453);
            	        	breakStat23 = breakStat();
            	        	state.followingStackPointer--;
            	        	if (state.failed) return retval;
            	        	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, breakStat23.Tree);

            	        }
            	        break;
            	    case 6 :
            	        // D:\\sgl4c#\\NewSGLGramma\\SGL.g:199:4: returnStat
            	        {
            	        	PushFollow(FOLLOW_returnStat_in_semicolonStatement458);
            	        	returnStat24 = returnStat();
            	        	state.followingStackPointer--;
            	        	if (state.failed) return retval;
            	        	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, returnStat24.Tree);

            	        }
            	        break;

            	}

            	char_literal25=(IToken)Match(input,52,FOLLOW_52_in_semicolonStatement463); if (state.failed) return retval;

            }

            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, 8, semicolonStatement_StartIndex); 
            }
        }
        return retval;
    }