public final void mFLOAT() throws RecognitionException {
		try {
			int _type = FLOAT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:88:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ FloatTypeSuffix )
			int alt13=4;
			alt13 = dfa13.predict(input);
			switch (alt13) {
				case 1 :
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:88:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )?
					{
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:88:9: ( '0' .. '9' )+
					int cnt3=0;
					loop3:
					while (true) {
						int alt3=2;
						int LA3_0 = input.LA(1);
						if ( ((LA3_0 >= '0' && LA3_0 <= '9')) ) {
							alt3=1;
						}

						switch (alt3) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:
							{
							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
								input.consume();
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

						default :
							if ( cnt3 >= 1 ) break loop3;
							if (state.backtracking>0) {state.failed=true; return;}
							EarlyExitException eee = new EarlyExitException(3, input);
							throw eee;
						}
						cnt3++;
					}

					match('.'); if (state.failed) return;
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:88:25: ( '0' .. '9' )*
					loop4:
					while (true) {
						int alt4=2;
						int LA4_0 = input.LA(1);
						if ( ((LA4_0 >= '0' && LA4_0 <= '9')) ) {
							alt4=1;
						}

						switch (alt4) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:
							{
							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
								input.consume();
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

						default :
							break loop4;
						}
					}

					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:88:37: ( Exponent )?
					int alt5=2;
					int LA5_0 = input.LA(1);
					if ( (LA5_0=='E'||LA5_0=='e') ) {
						alt5=1;
					}
					switch (alt5) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:88:37: Exponent
							{
							mExponent(); if (state.failed) return;

							}
							break;

					}

					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:88:47: ( FloatTypeSuffix )?
					int alt6=2;
					int LA6_0 = input.LA(1);
					if ( (LA6_0=='B'||LA6_0=='D'||LA6_0=='F'||LA6_0=='d'||LA6_0=='f') ) {
						alt6=1;
					}
					switch (alt6) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:
							{
							if ( input.LA(1)=='B'||input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
								input.consume();
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

					}

					}
					break;
				case 2 :
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:89:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )?
					{
					match('.'); if (state.failed) return;
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:89:13: ( '0' .. '9' )+
					int cnt7=0;
					loop7:
					while (true) {
						int alt7=2;
						int LA7_0 = input.LA(1);
						if ( ((LA7_0 >= '0' && LA7_0 <= '9')) ) {
							alt7=1;
						}

						switch (alt7) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:
							{
							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
								input.consume();
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

						default :
							if ( cnt7 >= 1 ) break loop7;
							if (state.backtracking>0) {state.failed=true; return;}
							EarlyExitException eee = new EarlyExitException(7, input);
							throw eee;
						}
						cnt7++;
					}

					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:89:25: ( Exponent )?
					int alt8=2;
					int LA8_0 = input.LA(1);
					if ( (LA8_0=='E'||LA8_0=='e') ) {
						alt8=1;
					}
					switch (alt8) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:89:25: Exponent
							{
							mExponent(); if (state.failed) return;

							}
							break;

					}

					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:89:35: ( FloatTypeSuffix )?
					int alt9=2;
					int LA9_0 = input.LA(1);
					if ( (LA9_0=='B'||LA9_0=='D'||LA9_0=='F'||LA9_0=='d'||LA9_0=='f') ) {
						alt9=1;
					}
					switch (alt9) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:
							{
							if ( input.LA(1)=='B'||input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
								input.consume();
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

					}

					}
					break;
				case 3 :
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:90:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )?
					{
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:90:9: ( '0' .. '9' )+
					int cnt10=0;
					loop10:
					while (true) {
						int alt10=2;
						int LA10_0 = input.LA(1);
						if ( ((LA10_0 >= '0' && LA10_0 <= '9')) ) {
							alt10=1;
						}

						switch (alt10) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:
							{
							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
								input.consume();
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

						default :
							if ( cnt10 >= 1 ) break loop10;
							if (state.backtracking>0) {state.failed=true; return;}
							EarlyExitException eee = new EarlyExitException(10, input);
							throw eee;
						}
						cnt10++;
					}

					mExponent(); if (state.failed) return;

					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:90:30: ( FloatTypeSuffix )?
					int alt11=2;
					int LA11_0 = input.LA(1);
					if ( (LA11_0=='B'||LA11_0=='D'||LA11_0=='F'||LA11_0=='d'||LA11_0=='f') ) {
						alt11=1;
					}
					switch (alt11) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:
							{
							if ( input.LA(1)=='B'||input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
								input.consume();
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

					}

					}
					break;
				case 4 :
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:91:9: ( '0' .. '9' )+ FloatTypeSuffix
					{
					// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:91:9: ( '0' .. '9' )+
					int cnt12=0;
					loop12:
					while (true) {
						int alt12=2;
						int LA12_0 = input.LA(1);
						if ( ((LA12_0 >= '0' && LA12_0 <= '9')) ) {
							alt12=1;
						}

						switch (alt12) {
						case 1 :
							// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:
							{
							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
								input.consume();
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

						default :
							if ( cnt12 >= 1 ) break loop12;
							if (state.backtracking>0) {state.failed=true; return;}
							EarlyExitException eee = new EarlyExitException(12, input);
							throw eee;
						}
						cnt12++;
					}

					mFloatTypeSuffix(); if (state.failed) return;

					}
					break;

			}
			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
public final void mFLOAT ( ) throws RecognitionException { try { int _type = FLOAT ; int _channel = DEFAULT_TOKEN_CHANNEL ; int alt13 = 4 ; alt13 = dfa13 . predict ( input ) ; switch ( alt13 ) { case 1 : { int cnt3 = 0 ; loop3 : while ( true ) { int alt3 = 2 ; int LA3_0 = input . LA ( 1 ) ; if ( ( ( LA3_0 >= '0' && LA3_0 <= '9' ) ) ) { alt3 = 1 ; } switch ( alt3 ) { case 1 : { if ( ( input . LA ( 1 ) >= '0' && input . LA ( 1 ) <= '9' ) ) { input . consume ( ) ; state . failed = false ; } else { if ( state . backtracking > 0 ) { state . failed = true ; return ; } MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; default : if ( cnt3 >= 1 ) break loop3 ; if ( state . backtracking > 0 ) { state . failed = true ; return ; } EarlyExitException eee = new EarlyExitException ( 3 , input ) ; throw eee ; } cnt3 ++ ; } match ( '.' ) ; if ( state . failed ) return ; loop4 : while ( true ) { int alt4 = 2 ; int LA4_0 = input . LA ( 1 ) ; if ( ( ( LA4_0 >= '0' && LA4_0 <= '9' ) ) ) { alt4 = 1 ; } switch ( alt4 ) { case 1 : { if ( ( input . LA ( 1 ) >= '0' && input . LA ( 1 ) <= '9' ) ) { input . consume ( ) ; state . failed = false ; } else { if ( state . backtracking > 0 ) { state . failed = true ; return ; } MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; default : break loop4 ; } } int alt5 = 2 ; int LA5_0 = input . LA ( 1 ) ; if ( ( LA5_0 == 'E' || LA5_0 == 'e' ) ) { alt5 = 1 ; } switch ( alt5 ) { case 1 : { mExponent ( ) ; if ( state . failed ) return ; } break ; } int alt6 = 2 ; int LA6_0 = input . LA ( 1 ) ; if ( ( LA6_0 == 'B' || LA6_0 == 'D' || LA6_0 == 'F' || LA6_0 == 'd' || LA6_0 == 'f' ) ) { alt6 = 1 ; } switch ( alt6 ) { case 1 : { if ( input . LA ( 1 ) == 'B' || input . LA ( 1 ) == 'D' || input . LA ( 1 ) == 'F' || input . LA ( 1 ) == 'd' || input . LA ( 1 ) == 'f' ) { input . consume ( ) ; state . failed = false ; } else { if ( state . backtracking > 0 ) { state . failed = true ; return ; } MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; } } break ; case 2 : { match ( '.' ) ; if ( state . failed ) return ; int cnt7 = 0 ; loop7 : while ( true ) { int alt7 = 2 ; int LA7_0 = input . LA ( 1 ) ; if ( ( ( LA7_0 >= '0' && LA7_0 <= '9' ) ) ) { alt7 = 1 ; } switch ( alt7 ) { case 1 : { if ( ( input . LA ( 1 ) >= '0' && input . LA ( 1 ) <= '9' ) ) { input . consume ( ) ; state . failed = false ; } else { if ( state . backtracking > 0 ) { state . failed = true ; return ; } MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; default : if ( cnt7 >= 1 ) break loop7 ; if ( state . backtracking > 0 ) { state . failed = true ; return ; } EarlyExitException eee = new EarlyExitException ( 7 , input ) ; throw eee ; } cnt7 ++ ; } int alt8 = 2 ; int LA8_0 = input . LA ( 1 ) ; if ( ( LA8_0 == 'E' || LA8_0 == 'e' ) ) { alt8 = 1 ; } switch ( alt8 ) { case 1 : { mExponent ( ) ; if ( state . failed ) return ; } break ; } int alt9 = 2 ; int LA9_0 = input . LA ( 1 ) ; if ( ( LA9_0 == 'B' || LA9_0 == 'D' || LA9_0 == 'F' || LA9_0 == 'd' || LA9_0 == 'f' ) ) { alt9 = 1 ; } switch ( alt9 ) { case 1 : { if ( input . LA ( 1 ) == 'B' || input . LA ( 1 ) == 'D' || input . LA ( 1 ) == 'F' || input . LA ( 1 ) == 'd' || input . LA ( 1 ) == 'f' ) { input . consume ( ) ; state . failed = false ; } else { if ( state . backtracking > 0 ) { state . failed = true ; return ; } MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; } } break ; case 3 : { int cnt10 = 0 ; loop10 : while ( true ) { int alt10 = 2 ; int LA10_0 = input . LA ( 1 ) ; if ( ( ( LA10_0 >= '0' && LA10_0 <= '9' ) ) ) { alt10 = 1 ; } switch ( alt10 ) { case 1 : { if ( ( input . LA ( 1 ) >= '0' && input . LA ( 1 ) <= '9' ) ) { input . consume ( ) ; state . failed = false ; } else { if ( state . backtracking > 0 ) { state . failed = true ; return ; } MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; default : if ( cnt10 >= 1 ) break loop10 ; if ( state . backtracking > 0 ) { state . failed = true ; return ; } EarlyExitException eee = new EarlyExitException ( 10 , input ) ; throw eee ; } cnt10 ++ ; } mExponent ( ) ; if ( state . failed ) return ; int alt11 = 2 ; int LA11_0 = input . LA ( 1 ) ; if ( ( LA11_0 == 'B' || LA11_0 == 'D' || LA11_0 == 'F' || LA11_0 == 'd' || LA11_0 == 'f' ) ) { alt11 = 1 ; } switch ( alt11 ) { case 1 : { if ( input . LA ( 1 ) == 'B' || input . LA ( 1 ) == 'D' || input . LA ( 1 ) == 'F' || input . LA ( 1 ) == 'd' || input . LA ( 1 ) == 'f' ) { input . consume ( ) ; state . failed = false ; } else { if ( state . backtracking > 0 ) { state . failed = true ; return ; } MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; } } break ; case 4 : { int cnt12 = 0 ; loop12 : while ( true ) { int alt12 = 2 ; int LA12_0 = input . LA ( 1 ) ; if ( ( ( LA12_0 >= '0' && LA12_0 <= '9' ) ) ) { alt12 = 1 ; } switch ( alt12 ) { case 1 : { if ( ( input . LA ( 1 ) >= '0' && input . LA ( 1 ) <= '9' ) ) { input . consume ( ) ; state . failed = false ; } else { if ( state . backtracking > 0 ) { state . failed = true ; return ; } MismatchedSetException mse = new MismatchedSetException ( null , input ) ; recover ( mse ) ; throw mse ; } } break ; default : if ( cnt12 >= 1 ) break loop12 ; if ( state . backtracking > 0 ) { state . failed = true ; return ; } EarlyExitException eee = new EarlyExitException ( 12 , input ) ; throw eee ; } cnt12 ++ ; } mFloatTypeSuffix ( ) ; if ( state . failed ) return ; } break ; } state . type = _type ; state . channel = _channel ; } finally { } }
$ANTLR start "FLOAT"