ES3Parser.semic C# (CSharp) Method

semic() public method

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

        object root_0 = null;

        IToken SEMIC82 = null;
        IToken EOF83 = null;
        IToken RBRACE84 = null;
        IToken EOL85 = null;
        IToken MultiLineComment86 = null;

        object SEMIC82_tree=null;
        object EOF83_tree=null;
        object RBRACE84_tree=null;
        object EOL85_tree=null;
        object MultiLineComment86_tree=null;


        	// Mark current position so we can unconsume a RBRACE.
        	int marker = input.Mark();
        	// Promote EOL if appropriate	
        	PromoteEOL(retval);

        try 
    	{
            // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1393:2: ( SEMIC | EOF | RBRACE | EOL | MultiLineComment )
            int alt56 = 5;
            switch ( input.LA(1) ) 
            {
            case SEMIC:
            	{
                alt56 = 1;
                }
                break;
            case EOF:
            	{
                alt56 = 2;
                }
                break;
            case RBRACE:
            	{
                alt56 = 3;
                }
                break;
            case EOL:
            	{
                alt56 = 4;
                }
                break;
            case MultiLineComment:
            	{
                alt56 = 5;
                }
                break;
            	default:
            	    NoViableAltException nvae_d56s0 =
            	        new NoViableAltException("", 56, 0, input);

            	    throw nvae_d56s0;
            }

            switch (alt56) 
            {
                case 1 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1393:4: SEMIC
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	SEMIC82=(IToken)Match(input,SEMIC,FOLLOW_SEMIC_in_semic5163); 
                    		SEMIC82_tree = (object)adaptor.Create(SEMIC82);
                    		adaptor.AddChild(root_0, SEMIC82_tree);


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

                    	EOF83=(IToken)Match(input,EOF,FOLLOW_EOF_in_semic5168); 
                    		EOF83_tree = (object)adaptor.Create(EOF83);
                    		adaptor.AddChild(root_0, EOF83_tree);


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

                    	RBRACE84=(IToken)Match(input,RBRACE,FOLLOW_RBRACE_in_semic5173); 
                    		RBRACE84_tree = (object)adaptor.Create(RBRACE84);
                    		adaptor.AddChild(root_0, RBRACE84_tree);

                    	 input.Rewind(marker); 

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

                    	EOL85=(IToken)Match(input,EOL,FOLLOW_EOL_in_semic5180); 
                    		EOL85_tree = (object)adaptor.Create(EOL85);
                    		adaptor.AddChild(root_0, EOL85_tree);


                    }
                    break;
                case 5 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1396:10: MultiLineComment
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	MultiLineComment86=(IToken)Match(input,MultiLineComment,FOLLOW_MultiLineComment_in_semic5184); 
                    		MultiLineComment86_tree = (object)adaptor.Create(MultiLineComment86);
                    		adaptor.AddChild(root_0, MultiLineComment86_tree);


                    }
                    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 "semic"
ES3Parser