public final HiveParser_SelectClauseParser.incrementalClause_return incrementalClause() throws RecognitionException {
		HiveParser_SelectClauseParser.incrementalClause_return retval = new HiveParser_SelectClauseParser.incrementalClause_return();
		retval.start = input.LT(1);

		CommonTree root_0 = null;

		Token DIVIDE70=null;
		Token STAR71=null;
		Token PLUS72=null;
		Token KW_INCRE73=null;
		Token LPAREN74=null;
		Token RPAREN76=null;
		Token STAR77=null;
		Token DIVIDE78=null;
		ParserRuleReturnScope incrementalArgs75 =null;

		CommonTree DIVIDE70_tree=null;
		CommonTree STAR71_tree=null;
		CommonTree PLUS72_tree=null;
		CommonTree KW_INCRE73_tree=null;
		CommonTree LPAREN74_tree=null;
		CommonTree RPAREN76_tree=null;
		CommonTree STAR77_tree=null;
		CommonTree DIVIDE78_tree=null;
		RewriteRuleTokenStream stream_KW_INCRE=new RewriteRuleTokenStream(adaptor,"token KW_INCRE");
		RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
		RewriteRuleTokenStream stream_PLUS=new RewriteRuleTokenStream(adaptor,"token PLUS");
		RewriteRuleTokenStream stream_STAR=new RewriteRuleTokenStream(adaptor,"token STAR");
		RewriteRuleTokenStream stream_DIVIDE=new RewriteRuleTokenStream(adaptor,"token DIVIDE");
		RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
		RewriteRuleSubtreeStream stream_incrementalArgs=new RewriteRuleSubtreeStream(adaptor,"rule incrementalArgs");

		 gParent.msgs.push("incremental clause"); 
		try {
			// SelectClauseParser.g:171:5: ( DIVIDE STAR PLUS KW_INCRE LPAREN incrementalArgs RPAREN STAR DIVIDE -> ^( TOK_INCRE ( incrementalArgs )? ) )
			// SelectClauseParser.g:172:5: DIVIDE STAR PLUS KW_INCRE LPAREN incrementalArgs RPAREN STAR DIVIDE
			{
			DIVIDE70=(Token)match(input,DIVIDE,FOLLOW_DIVIDE_in_incrementalClause1046);  
			stream_DIVIDE.add(DIVIDE70);

			STAR71=(Token)match(input,STAR,FOLLOW_STAR_in_incrementalClause1048);  
			stream_STAR.add(STAR71);

			PLUS72=(Token)match(input,PLUS,FOLLOW_PLUS_in_incrementalClause1050);  
			stream_PLUS.add(PLUS72);

			KW_INCRE73=(Token)match(input,KW_INCRE,FOLLOW_KW_INCRE_in_incrementalClause1052);  
			stream_KW_INCRE.add(KW_INCRE73);

			LPAREN74=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_incrementalClause1054);  
			stream_LPAREN.add(LPAREN74);

			pushFollow(FOLLOW_incrementalArgs_in_incrementalClause1056);
			incrementalArgs75=incrementalArgs();
			state._fsp--;

			stream_incrementalArgs.add(incrementalArgs75.getTree());
			RPAREN76=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_incrementalClause1058);  
			stream_RPAREN.add(RPAREN76);

			STAR77=(Token)match(input,STAR,FOLLOW_STAR_in_incrementalClause1060);  
			stream_STAR.add(STAR77);

			DIVIDE78=(Token)match(input,DIVIDE,FOLLOW_DIVIDE_in_incrementalClause1062);  
			stream_DIVIDE.add(DIVIDE78);

			// AST REWRITE
			// elements: incrementalArgs
			// token labels: 
			// rule labels: retval
			// token list labels: 
			// rule list labels: 
			// wildcard labels: 
			retval.tree = root_0;
			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);

			root_0 = (CommonTree)adaptor.nil();
			// 173:6: -> ^( TOK_INCRE ( incrementalArgs )? )
			{
				// SelectClauseParser.g:173:10: ^( TOK_INCRE ( incrementalArgs )? )
				{
				CommonTree root_1 = (CommonTree)adaptor.nil();
				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TOK_INCRE, "TOK_INCRE"), root_1);
				// SelectClauseParser.g:173:22: ( incrementalArgs )?
				if ( stream_incrementalArgs.hasNext() ) {
					adaptor.addChild(root_1, stream_incrementalArgs.nextTree());
				}
				stream_incrementalArgs.reset();

				adaptor.addChild(root_0, root_1);
				}

			}


			retval.tree = root_0;

			}

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

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

			 gParent.msgs.pop(); 
		}

		catch (RecognitionException e) {
		  throw e;
		}

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