ES3Parser.token C# (CSharp) Method

token() public method

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

        object root_0 = null;

        IToken Identifier2 = null;
        IToken StringLiteral5 = null;
        ES3Parser.reservedWord_return reservedWord1 = default(ES3Parser.reservedWord_return);

        ES3Parser.punctuator_return punctuator3 = default(ES3Parser.punctuator_return);

        ES3Parser.numericLiteral_return numericLiteral4 = default(ES3Parser.numericLiteral_return);


        object Identifier2_tree=null;
        object StringLiteral5_tree=null;

        try 
    	{
            // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:647:2: ( reservedWord | Identifier | punctuator | numericLiteral | StringLiteral )
            int alt1 = 5;
            switch ( input.LA(1) ) 
            {
            case NULL:
            case TRUE:
            case FALSE:
            case BREAK:
            case CASE:
            case CATCH:
            case CONTINUE:
            case DEFAULT:
            case DELETE:
            case DO:
            case ELSE:
            case FINALLY:
            case FOR:
            case FUNCTION:
            case IF:
            case IN:
            case INSTANCEOF:
            case NEW:
            case RETURN:
            case SWITCH:
            case THIS:
            case THROW:
            case TRY:
            case TYPEOF:
            case VAR:
            case VOID:
            case WHILE:
            case WITH:
            case ABSTRACT:
            case BOOLEAN:
            case BYTE:
            case CHAR:
            case CLASS:
            case CONST:
            case DEBUGGER:
            case DOUBLE:
            case ENUM:
            case EXPORT:
            case EXTENDS:
            case FINAL:
            case FLOAT:
            case GOTO:
            case IMPLEMENTS:
            case IMPORT:
            case INT:
            case INTERFACE:
            case LONG:
            case NATIVE:
            case PACKAGE:
            case PRIVATE:
            case PROTECTED:
            case PUBLIC:
            case SHORT:
            case STATIC:
            case SUPER:
            case SYNCHRONIZED:
            case THROWS:
            case TRANSIENT:
            case VOLATILE:
            	{
                alt1 = 1;
                }
                break;
            case Identifier:
            	{
                alt1 = 2;
                }
                break;
            case LBRACE:
            case RBRACE:
            case LPAREN:
            case RPAREN:
            case LBRACK:
            case RBRACK:
            case DOT:
            case SEMIC:
            case COMMA:
            case LT:
            case GT:
            case LTE:
            case GTE:
            case EQ:
            case NEQ:
            case SAME:
            case NSAME:
            case ADD:
            case SUB:
            case MUL:
            case MOD:
            case INC:
            case DEC:
            case SHL:
            case SHR:
            case SHU:
            case AND:
            case OR:
            case XOR:
            case NOT:
            case INV:
            case LAND:
            case LOR:
            case QUE:
            case COLON:
            case ASSIGN:
            case ADDASS:
            case SUBASS:
            case MULASS:
            case MODASS:
            case SHLASS:
            case SHRASS:
            case SHUASS:
            case ANDASS:
            case ORASS:
            case XORASS:
            case DIV:
            case DIVASS:
            	{
                alt1 = 3;
                }
                break;
            case DecimalLiteral:
            case OctalIntegerLiteral:
            case HexIntegerLiteral:
            	{
                alt1 = 4;
                }
                break;
            case StringLiteral:
            	{
                alt1 = 5;
                }
                break;
            	default:
            	    NoViableAltException nvae_d1s0 =
            	        new NoViableAltException("", 1, 0, input);

            	    throw nvae_d1s0;
            }

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

                    	PushFollow(FOLLOW_reservedWord_in_token1749);
                    	reservedWord1 = reservedWord();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, reservedWord1.Tree);

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

                    	Identifier2=(IToken)Match(input,Identifier,FOLLOW_Identifier_in_token1754); 
                    		Identifier2_tree = (object)adaptor.Create(Identifier2);
                    		adaptor.AddChild(root_0, Identifier2_tree);


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

                    	PushFollow(FOLLOW_punctuator_in_token1759);
                    	punctuator3 = punctuator();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, punctuator3.Tree);

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

                    	PushFollow(FOLLOW_numericLiteral_in_token1764);
                    	numericLiteral4 = numericLiteral();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, numericLiteral4.Tree);

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

                    	StringLiteral5=(IToken)Match(input,StringLiteral,FOLLOW_StringLiteral_in_token1769); 
                    		StringLiteral5_tree = (object)adaptor.Create(StringLiteral5);
                    		adaptor.AddChild(root_0, StringLiteral5_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 "token"
ES3Parser