ES3Parser.forControl C# (CSharp) Method

forControl() public method

public forControl ( ) : ES3Parser.forControl_return
return ES3Parser.forControl_return
    public ES3Parser.forControl_return forControl() // throws RecognitionException [1]
    {   
        ES3Parser.forControl_return retval = new ES3Parser.forControl_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        ES3Parser.forControlVar_return ex1 = default(ES3Parser.forControlVar_return);

        ES3Parser.forControlExpression_return ex2 = default(ES3Parser.forControlExpression_return);

        ES3Parser.forControlSemic_return ex3 = default(ES3Parser.forControlSemic_return);



        try 
    	{
            // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1585:2: (ex1= forControlVar | ex2= forControlExpression | ex3= forControlSemic )
            int alt65 = 3;
            switch ( input.LA(1) ) 
            {
            case VAR:
            	{
                alt65 = 1;
                }
                break;
            case NULL:
            case TRUE:
            case FALSE:
            case DELETE:
            case FUNCTION:
            case NEW:
            case THIS:
            case TYPEOF:
            case VOID:
            case LBRACE:
            case LPAREN:
            case LBRACK:
            case ADD:
            case SUB:
            case INC:
            case DEC:
            case NOT:
            case INV:
            case Identifier:
            case StringLiteral:
            case RegularExpressionLiteral:
            case DecimalLiteral:
            case OctalIntegerLiteral:
            case HexIntegerLiteral:
            	{
                alt65 = 2;
                }
                break;
            case SEMIC:
            	{
                alt65 = 3;
                }
                break;
            	default:
            	    NoViableAltException nvae_d65s0 =
            	        new NoViableAltException("", 65, 0, input);

            	    throw nvae_d65s0;
            }

            switch (alt65) 
            {
                case 1 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1585:4: ex1= forControlVar
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_forControlVar_in_forControl5778);
                    	ex1 = forControlVar();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, ex1.Tree);
                    	 retval.value =  ex1.value; 

                    }
                    break;
                case 2 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1586:4: ex2= forControlExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_forControlExpression_in_forControl5787);
                    	ex2 = forControlExpression();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, ex2.Tree);
                    	 retval.value =  ex2.value; 

                    }
                    break;
                case 3 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1587:4: ex3= forControlSemic
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_forControlSemic_in_forControl5796);
                    	ex3 = forControlSemic();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, ex3.Tree);
                    	 retval.value =  ex3.value; 

                    }
                    break;

            }
            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;
    }
    // $ANTLR end "forControl"
ES3Parser