public final void mTHURSDAY() throws RecognitionException {
		try {
			int _type = THURSDAY;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// HiveLexer.g:332:11: ( 'thursday' ( 's' )? | 'thur' ( DOT )? | 'thu' ( DOT )? | 'thus' ( DOT )? | 'thurs' ( DOT )? )
			int alt60=5;
			int LA60_0 = input.LA(1);
			if ( (LA60_0=='t') ) {
				int LA60_1 = input.LA(2);
				if ( (LA60_1=='h') ) {
					int LA60_2 = input.LA(3);
					if ( (LA60_2=='u') ) {
						switch ( input.LA(4) ) {
						case 'r':
							{
							int LA60_4 = input.LA(5);
							if ( (LA60_4=='s') ) {
								int LA60_7 = input.LA(6);
								if ( (LA60_7=='d') ) {
									alt60=1;
								}

								else {
									alt60=5;
								}

							}

							else {
								alt60=2;
							}

							}
							break;
						case 's':
							{
							alt60=4;
							}
							break;
						default:
							alt60=3;
						}
					}

					else {
						int nvaeMark = input.mark();
						try {
							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
								input.consume();
							}
							NoViableAltException nvae =
								new NoViableAltException("", 60, 2, input);
							throw nvae;
						} finally {
							input.rewind(nvaeMark);
						}
					}

				}

				else {
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 60, 1, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}

			else {
				NoViableAltException nvae =
					new NoViableAltException("", 60, 0, input);
				throw nvae;
			}

			switch (alt60) {
				case 1 :
					// HiveLexer.g:332:13: 'thursday' ( 's' )?
					{
					match("thursday"); 

					// HiveLexer.g:332:25: ( 's' )?
					int alt55=2;
					int LA55_0 = input.LA(1);
					if ( (LA55_0=='s') ) {
						alt55=1;
					}
					switch (alt55) {
						case 1 :
							// HiveLexer.g:332:25: 's'
							{
							match('s'); 
							}
							break;

					}

					}
					break;
				case 2 :
					// HiveLexer.g:332:33: 'thur' ( DOT )?
					{
					match("thur"); 

					// HiveLexer.g:332:40: ( DOT )?
					int alt56=2;
					int LA56_0 = input.LA(1);
					if ( (LA56_0=='.') ) {
						alt56=1;
					}
					switch (alt56) {
						case 1 :
							// HiveLexer.g:
							{
							if ( input.LA(1)=='.' ) {
								input.consume();
							}
							else {
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

					}

					}
					break;
				case 3 :
					// HiveLexer.g:332:47: 'thu' ( DOT )?
					{
					match("thu"); 

					// HiveLexer.g:332:53: ( DOT )?
					int alt57=2;
					int LA57_0 = input.LA(1);
					if ( (LA57_0=='.') ) {
						alt57=1;
					}
					switch (alt57) {
						case 1 :
							// HiveLexer.g:
							{
							if ( input.LA(1)=='.' ) {
								input.consume();
							}
							else {
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

					}

					}
					break;
				case 4 :
					// HiveLexer.g:332:62: 'thus' ( DOT )?
					{
					match("thus"); 

					// HiveLexer.g:332:69: ( DOT )?
					int alt58=2;
					int LA58_0 = input.LA(1);
					if ( (LA58_0=='.') ) {
						alt58=1;
					}
					switch (alt58) {
						case 1 :
							// HiveLexer.g:
							{
							if ( input.LA(1)=='.' ) {
								input.consume();
							}
							else {
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

					}

					}
					break;
				case 5 :
					// HiveLexer.g:332:76: 'thurs' ( DOT )?
					{
					match("thurs"); 

					// HiveLexer.g:332:84: ( DOT )?
					int alt59=2;
					int LA59_0 = input.LA(1);
					if ( (LA59_0=='.') ) {
						alt59=1;
					}
					switch (alt59) {
						case 1 :
							// HiveLexer.g:
							{
							if ( input.LA(1)=='.' ) {
								input.consume();
							}
							else {
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

					}

					}
					break;

			}
			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}