public final void mExponent() throws RecognitionException {
		try {
			// HiveLexer.g:367:5: ( ( 'e' | 'E' ) ( PLUS | MINUS )? ( Digit )+ )
			// HiveLexer.g:368:5: ( 'e' | 'E' ) ( PLUS | MINUS )? ( Digit )+
			{
			if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
				input.consume();
			}
			else {
				MismatchedSetException mse = new MismatchedSetException(null,input);
				recover(mse);
				throw mse;
			}
			// HiveLexer.g:368:17: ( PLUS | MINUS )?
			int alt82=2;
			int LA82_0 = input.LA(1);
			if ( (LA82_0=='+'||LA82_0=='-') ) {
				alt82=1;
			}
			switch (alt82) {
				case 1 :
					// HiveLexer.g:
					{
					if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
						input.consume();
					}
					else {
						MismatchedSetException mse = new MismatchedSetException(null,input);
						recover(mse);
						throw mse;
					}
					}
					break;

			}

			// HiveLexer.g:368:33: ( Digit )+
			int cnt83=0;
			loop83:
			while (true) {
				int alt83=2;
				int LA83_0 = input.LA(1);
				if ( ((LA83_0 >= '0' && LA83_0 <= '9')) ) {
					alt83=1;
				}

				switch (alt83) {
				case 1 :
					// HiveLexer.g:
					{
					if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
						input.consume();
					}
					else {
						MismatchedSetException mse = new MismatchedSetException(null,input);
						recover(mse);
						throw mse;
					}
					}
					break;

				default :
					if ( cnt83 >= 1 ) break loop83;
					EarlyExitException eee = new EarlyExitException(83, input);
					throw eee;
				}
				cnt83++;
			}

			}

		}
		finally {
			// do for sure before leaving
		}
	}