public final HiveParser.showStmtIdentifier_return showStmtIdentifier() throws RecognitionException {
		HiveParser.showStmtIdentifier_return retval = new HiveParser.showStmtIdentifier_return();
		retval.start = input.LT(1);

		CommonTree root_0 = null;

		Token StringLiteral536=null;
		ParserRuleReturnScope identifier535 =null;

		CommonTree StringLiteral536_tree=null;

		 msgs.push("identifier for show statement"); 
		try {
			// HiveParser.g:1460:5: ( identifier | StringLiteral )
			int alt151=2;
			int LA151_0 = input.LA(1);
			if ( (LA151_0==Identifier||(LA151_0 >= KW_ADD && LA151_0 <= KW_AFTER)||(LA151_0 >= KW_ALTER && LA151_0 <= KW_ANALYZE)||(LA151_0 >= KW_ARCHIVE && LA151_0 <= KW_CASCADE)||(LA151_0 >= KW_CHANGE && LA151_0 <= KW_COLLECTION)||(LA151_0 >= KW_COLUMNS && LA151_0 <= KW_CONCATENATE)||(LA151_0 >= KW_CONTINUE && LA151_0 <= KW_CREATE)||LA151_0==KW_CUBE||(LA151_0 >= KW_CURSOR && LA151_0 <= KW_DATA)||(LA151_0 >= KW_DATABASES && LA151_0 <= KW_DATETIME)||(LA151_0 >= KW_DBPROPERTIES && LA151_0 <= KW_DISABLE)||(LA151_0 >= KW_DISTRIBUTE && LA151_0 <= KW_ELEM_TYPE)||LA151_0==KW_ENABLE||LA151_0==KW_ESCAPED||(LA151_0 >= KW_EXCLUSIVE && LA151_0 <= KW_EXPORT)||(LA151_0 >= KW_EXTERNAL && LA151_0 <= KW_FLOAT)||(LA151_0 >= KW_FOR && LA151_0 <= KW_FORMATTED)||LA151_0==KW_FULL||(LA151_0 >= KW_FUNCTIONS && LA151_0 <= KW_GROUPING)||LA151_0==KW_HOLD_DDLTIME||LA151_0==KW_IDXPROPERTIES||(LA151_0 >= KW_IGNORE && LA151_0 <= KW_INTERSECT)||(LA151_0 >= KW_INTO && LA151_0 <= KW_ITEMS)||(LA151_0 >= KW_KEYS && LA151_0 <= KW_LEFT)||(LA151_0 >= KW_LIKE && LA151_0 <= KW_LONG)||(LA151_0 >= KW_MAPJOIN && LA151_0 <= KW_MINUS)||(LA151_0 >= KW_MSCK && LA151_0 <= KW_NOSCAN)||(LA151_0 >= KW_NO_DROP && LA151_0 <= KW_OFFLINE)||LA151_0==KW_OPTION||(LA151_0 >= KW_ORCFILE && LA151_0 <= KW_OUTPUTFORMAT)||LA151_0==KW_OVERWRITE||(LA151_0 >= KW_PARTITION && LA151_0 <= KW_PLUS)||(LA151_0 >= KW_PRETTY && LA151_0 <= KW_RECORDWRITER)||(LA151_0 >= KW_REGEXP && LA151_0 <= KW_SCHEMAS)||(LA151_0 >= KW_SEMI && LA151_0 <= KW_TABLES)||(LA151_0 >= KW_TBLPROPERTIES && LA151_0 <= KW_TEXTFILE)||(LA151_0 >= KW_TIMESTAMP && LA151_0 <= KW_TOUCH)||(LA151_0 >= KW_TRIGGER && LA151_0 <= KW_UNARCHIVE)||(LA151_0 >= KW_UNDO && LA151_0 <= KW_UNIONTYPE)||(LA151_0 >= KW_UNLOCK && LA151_0 <= KW_VALUE_TYPE)||LA151_0==KW_VIEW||LA151_0==KW_WHILE||LA151_0==KW_WITH) ) {
				alt151=1;
			}
			else if ( (LA151_0==StringLiteral) ) {
				alt151=2;
			}

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

			switch (alt151) {
				case 1 :
					// HiveParser.g:1460:7: identifier
					{
					root_0 = (CommonTree)adaptor.nil();


					pushFollow(FOLLOW_identifier_in_showStmtIdentifier8344);
					identifier535=identifier();
					state._fsp--;

					adaptor.addChild(root_0, identifier535.getTree());

					}
					break;
				case 2 :
					// HiveParser.g:1461:7: StringLiteral
					{
					root_0 = (CommonTree)adaptor.nil();


					StringLiteral536=(Token)match(input,StringLiteral,FOLLOW_StringLiteral_in_showStmtIdentifier8352); 
					StringLiteral536_tree = (CommonTree)adaptor.create(StringLiteral536);
					adaptor.addChild(root_0, StringLiteral536_tree);

					}
					break;

			}
			retval.stop = input.LT(-1);

			retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

			 msgs.pop(); 
		}

		catch (RecognitionException e) {
		 reportError(e);
		  throw e;
		}

		finally {
			// do for sure before leaving
		}
		return retval;
	}