public final void mRULE_DECIMAL() throws RecognitionException {
        try {
            int _type = RULE_DECIMAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // InternalSARL.g:48793:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
            // InternalSARL.g:48793:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
            {
            mRULE_INT(); 
            // InternalSARL.g:48793:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
            int alt42=2;
            int LA42_0 = input.LA(1);

            if ( (LA42_0=='E'||LA42_0=='e') ) {
                alt42=1;
            }
            switch (alt42) {
                case 1 :
                    // InternalSARL.g:48793:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
                    {
                    if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}

                    // InternalSARL.g:48793:36: ( '+' | '-' )?
                    int alt41=2;
                    int LA41_0 = input.LA(1);

                    if ( (LA41_0=='+'||LA41_0=='-') ) {
                        alt41=1;
                    }
                    switch (alt41) {
                        case 1 :
                            // InternalSARL.g:
                            {
                            if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                                input.consume();

                            }
                            else {
                                MismatchedSetException mse = new MismatchedSetException(null,input);
                                recover(mse);
                                throw mse;}


                            }
                            break;

                    }

                    mRULE_INT(); 

                    }
                    break;

            }

            // InternalSARL.g:48793:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
            int alt43=3;
            int LA43_0 = input.LA(1);

            if ( (LA43_0=='B'||LA43_0=='b') ) {
                alt43=1;
            }
            else if ( (LA43_0=='D'||LA43_0=='F'||LA43_0=='L'||LA43_0=='d'||LA43_0=='f'||LA43_0=='l') ) {
                alt43=2;
            }
            switch (alt43) {
                case 1 :
                    // InternalSARL.g:48793:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
                    {
                    if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}

                    if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;
                case 2 :
                    // InternalSARL.g:48793:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
                    {
                    if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
public final void mRULE_DECIMAL ( ) throws RecognitionException { try { int _type = RULE_DECIMAL ; int _channel = DEFAULT_TOKEN_CHANNEL ; { mRULE_INT ( ) ; int alt42 = 2 ; int LA42_0 = input . LA ( 1 ) ; if ( ( LA42_0 == 'E' || LA42_0 == 'e' ) ) { alt42 = 1 ; } switch ( alt42 ) { case 1 : { if ( input . LA ( 1 ) == 'E' || input . LA ( 1 ) == 'e' ) { input . consume ( ) ; } else { MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } int alt41 = 2 ; int LA41_0 = input . LA ( 1 ) ; if ( ( LA41_0 == '+' || LA41_0 == '-' ) ) { alt41 = 1 ; } switch ( alt41 ) { case 1 : { if ( input . LA ( 1 ) == '+' || input . LA ( 1 ) == '-' ) { input . consume ( ) ; } else { MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; } mRULE_INT ( ) ; } break ; } int alt43 = 3 ; int LA43_0 = input . LA ( 1 ) ; if ( ( LA43_0 == 'B' || LA43_0 == 'b' ) ) { alt43 = 1 ; } else if ( ( LA43_0 == 'D' || LA43_0 == 'F' || LA43_0 == 'L' || LA43_0 == 'd' || LA43_0 == 'f' || LA43_0 == 'l' ) ) { alt43 = 2 ; } switch ( alt43 ) { case 1 : { if ( input . LA ( 1 ) == 'B' || input . LA ( 1 ) == 'b' ) { input . consume ( ) ; } else { MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } if ( input . LA ( 1 ) == 'D' || input . LA ( 1 ) == 'I' || input . LA ( 1 ) == 'd' || input . LA ( 1 ) == 'i' ) { input . consume ( ) ; } else { MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; case 2 : { if ( input . LA ( 1 ) == 'D' || input . LA ( 1 ) == 'F' || input . LA ( 1 ) == 'L' || input . LA ( 1 ) == 'd' || input . LA ( 1 ) == 'f' || input . LA ( 1 ) == 'l' ) { input . consume ( ) ; } else { MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; } } state . type = _type ; state . channel = _channel ; } finally { } }
$ANTLR start "RULE_DECIMAL"