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

		CommonTree root_0 = null;

		ParserRuleReturnScope skewedColumnValue658 =null;
		ParserRuleReturnScope skewedColumnValuePair659 =null;


		 msgs.push("skewed value location element"); 
		try {
			// HiveParser.g:1703:5: ( skewedColumnValue | skewedColumnValuePair )
			int alt177=2;
			int LA177_0 = input.LA(1);
			if ( (LA177_0==BigintLiteral||LA177_0==CharSetName||LA177_0==DecimalLiteral||LA177_0==KW_DATE||LA177_0==KW_FALSE||LA177_0==KW_TRUE||LA177_0==Number||(LA177_0 >= SmallintLiteral && LA177_0 <= StringLiteral)||(LA177_0 >= TimeUnit && LA177_0 <= TinyintLiteral)) ) {
				alt177=1;
			}
			else if ( (LA177_0==LPAREN) ) {
				alt177=2;
			}

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

			switch (alt177) {
				case 1 :
					// HiveParser.g:1704:7: skewedColumnValue
					{
					root_0 = (CommonTree)adaptor.nil();


					pushFollow(FOLLOW_skewedColumnValue_in_skewedValueLocationElement10224);
					skewedColumnValue658=skewedColumnValue();
					state._fsp--;

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

					}
					break;
				case 2 :
					// HiveParser.g:1705:8: skewedColumnValuePair
					{
					root_0 = (CommonTree)adaptor.nil();


					pushFollow(FOLLOW_skewedColumnValuePair_in_skewedValueLocationElement10233);
					skewedColumnValuePair659=skewedColumnValuePair();
					state._fsp--;

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

					}
					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;
	}