Return-Path: X-Original-To: apmail-chemistry-commits-archive@www.apache.org Delivered-To: apmail-chemistry-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3B385178D7 for ; Mon, 6 Apr 2015 17:12:19 +0000 (UTC) Received: (qmail 33480 invoked by uid 500); 6 Apr 2015 17:12:19 -0000 Delivered-To: apmail-chemistry-commits-archive@chemistry.apache.org Received: (qmail 33308 invoked by uid 500); 6 Apr 2015 17:12:19 -0000 Mailing-List: contact commits-help@chemistry.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@chemistry.apache.org Delivered-To: mailing list commits@chemistry.apache.org Received: (qmail 32077 invoked by uid 99); 6 Apr 2015 17:12:18 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Apr 2015 17:12:18 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id 33B4EAC0418 for ; Mon, 6 Apr 2015 17:12:18 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1671598 [18/34] - in /chemistry/site/trunk/content/java/0.13.0/maven/chemistry-opencmis-server: ./ chemistry-opencmis-server-support/ chemistry-opencmis-server-support/css/ chemistry-opencmis-server-support/images/ chemistry-opencmis-serve... Date: Mon, 06 Apr 2015 17:12:15 -0000 To: commits@chemistry.apache.org From: gabriele@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150406171218.33B4EAC0418@hades.apache.org> Added: chemistry/site/trunk/content/java/0.13.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-support/xref/org/apache/chemistry/opencmis/server/support/query/CmisQlExtParser_CmisBaseGrammar.html URL: http://svn.apache.org/viewvc/chemistry/site/trunk/content/java/0.13.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-support/xref/org/apache/chemistry/opencmis/server/support/query/CmisQlExtParser_CmisBaseGrammar.html?rev=1671598&view=auto ============================================================================== --- chemistry/site/trunk/content/java/0.13.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-support/xref/org/apache/chemistry/opencmis/server/support/query/CmisQlExtParser_CmisBaseGrammar.html (added) +++ chemistry/site/trunk/content/java/0.13.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-support/xref/org/apache/chemistry/opencmis/server/support/query/CmisQlExtParser_CmisBaseGrammar.html Mon Apr 6 17:12:14 2015 @@ -0,0 +1,5171 @@ + + + + +CmisQlExtParser_CmisBaseGrammar xref + + + +
+
+1   // $ANTLR 3.5.2 CmisBaseGrammar.g 2015-03-30 12:50:48
+2   
+3   /*
+4    * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
+5    *
+6    * Licensed to the Apache Software Foundation (ASF) under one
+7    * or more contributor license agreements.  See the NOTICE file
+8    * distributed with this work for additional information
+9    * regarding copyright ownership.  The ASF licenses this file
+10   * to you under the Apache License, Version 2.0 (the
+11   * "License"); you may not use this file except in compliance
+12   * with the License.  You may obtain a copy of the License at
+13   *
+14   * http://www.apache.org/licenses/LICENSE-2.0
+15   *
+16   * Unless required by applicable law or agreed to in writing,
+17   * software distributed under the License is distributed on an
+18   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+19   * KIND, either express or implied.  See the License for the
+20   * specific language governing permissions and limitations
+21   * under the License.
+22   *
+23   * Authors:
+24   *     Stefane Fermigier, Nuxeo
+25   *     Florent Guillaume, Nuxeo
+26   *
+27   * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
+28   */
+29  package org.apache.chemistry.opencmis.server.support.query;
+30  
+31  
+32  import org.antlr.runtime.*;
+33  import java.util.Stack;
+34  import java.util.List;
+35  import java.util.ArrayList;
+36  
+37  import org.antlr.runtime.tree.*;
+38  
+39  
+40  @SuppressWarnings("all")
+41  public class CmisQlExtParser_CmisBaseGrammar extends Parser {
+42  	public static final int EOF=-1;
+43  	public static final int AND=4;
+44  	public static final int ANY=5;
+45  	public static final int AS=6;
+46  	public static final int ASC=7;
+47  	public static final int ApproxNumLit=8;
+48  	public static final int BACKSL=9;
+49  	public static final int BOOL_LIT=10;
+50  	public static final int BY=11;
+51  	public static final int COL=12;
+52  	public static final int COMMA=13;
+53  	public static final int CONTAINS=14;
+54  	public static final int DESC=15;
+55  	public static final int DISTINCT=16;
+56  	public static final int DOT=17;
+57  	public static final int Digits=18;
+58  	public static final int EQ=19;
+59  	public static final int EQ_ANY=20;
+60  	public static final int ESC=21;
+61  	public static final int ExactNumLit=22;
+62  	public static final int FROM=23;
+63  	public static final int FUNC=24;
+64  	public static final int GT=25;
+65  	public static final int GTEQ=26;
+66  	public static final int ID=27;
+67  	public static final int IN=28;
+68  	public static final int INNER=29;
+69  	public static final int IN_ANY=30;
+70  	public static final int IN_FOLDER=31;
+71  	public static final int IN_LIST=32;
+72  	public static final int IN_TREE=33;
+73  	public static final int IS=34;
+74  	public static final int IS_NOT_NULL=35;
+75  	public static final int IS_NULL=36;
+76  	public static final int JOIN=37;
+77  	public static final int LEFT=38;
+78  	public static final int LIKE=39;
+79  	public static final int LPAR=40;
+80  	public static final int LT=41;
+81  	public static final int LTEQ=42;
+82  	public static final int NEQ=43;
+83  	public static final int NOT=44;
+84  	public static final int NOT_IN=45;
+85  	public static final int NOT_IN_ANY=46;
+86  	public static final int NOT_LIKE=47;
+87  	public static final int NULL=48;
+88  	public static final int NUM_LIT=49;
+89  	public static final int ON=50;
+90  	public static final int OP_ANY=51;
+91  	public static final int OR=52;
+92  	public static final int ORDER=53;
+93  	public static final int ORDER_BY=54;
+94  	public static final int OUTER=55;
+95  	public static final int PERCENT=56;
+96  	public static final int QUOTE=57;
+97  	public static final int RIGHT=58;
+98  	public static final int RPAR=59;
+99  	public static final int SCORE=60;
+100 	public static final int SELECT=61;
+101 	public static final int SEL_LIST=62;
+102 	public static final int STAR=63;
+103 	public static final int STRING_LIT=64;
+104 	public static final int Sign=65;
+105 	public static final int TABLE=66;
+106 	public static final int TIMESTAMP=67;
+107 	public static final int TIME_LIT=68;
+108 	public static final int Tokens=69;
+109 	public static final int UNDERSCORE=70;
+110 	public static final int WHERE=71;
+111 	public static final int WS=72;
+112 
+113 	// delegates
+114 	public Parser[] getDelegates() {
+115 		return new Parser[] {};
+116 	}
+117 
+118 	// delegators
+119 	public CmisQlExtParser gCmisQlExtParser;
+120 	public CmisQlExtParser gParent;
+121 
+122 
+123 	public CmisQlExtParser_CmisBaseGrammar(TokenStream input, CmisQlExtParser gCmisQlExtParser) {
+124 		this(input, new RecognizerSharedState(), gCmisQlExtParser);
+125 	}
+126 	public CmisQlExtParser_CmisBaseGrammar(TokenStream input, RecognizerSharedState state, CmisQlExtParser gCmisQlExtParser) {
+127 		super(input, state);
+128 		this.gCmisQlExtParser = gCmisQlExtParser;
+129 		gParent = gCmisQlExtParser;
+130 	}
+131 
+132 	protected TreeAdaptor adaptor = new CommonTreeAdaptor();
+133 
+134 	public void setTreeAdaptor(TreeAdaptor adaptor) {
+135 		this.adaptor = adaptor;
+136 	}
+137 	public TreeAdaptor getTreeAdaptor() {
+138 		return adaptor;
+139 	}
+140 	@Override public String[] getTokenNames() { return CmisQlExtParser.tokenNames; }
+141 	@Override public String getGrammarFileName() { return "CmisBaseGrammar.g"; }
+142 
+143 
+144 	    private List<String> errorMessages = new ArrayList<String>();
+145 	    
+146 	    public boolean hasErrors() {
+147 	    	return errorMessages.size() > 0;
+148 	    }
+149 
+150 		public String getErrorMessages() {
+151 			StringBuffer allMessages = new StringBuffer();
+152 			
+153 			for (String msg : errorMessages)
+154 				allMessages.append(msg).append('\n');
+155 				
+156 			return allMessages.toString();
+157 		}
+158 
+159 	    @Override
+160 	    // Instead of sending all errors to System.err collect them in a list
+161 		public void emitErrorMessage(String msg) {
+162 			errorMessages.add(msg);
+163 		}
+164 		
+165 
+166 
+167 	public static class select_list_return extends ParserRuleReturnScope {
+168 		Object tree;
+169 		@Override
+170 		public Object getTree() { return tree; }
+171 	};
+172 
+173 
+174 	// $ANTLR start "select_list"
+175 	// CmisBaseGrammar.g:67:1: select_list : ( STAR | select_sublist ( COMMA select_sublist )* -> ^( SEL_LIST ( select_sublist )+ ) );
+176 	public final CmisQlExtParser_CmisBaseGrammar.select_list_return select_list() throws RecognitionException {
+177 		CmisQlExtParser_CmisBaseGrammar.select_list_return retval = new CmisQlExtParser_CmisBaseGrammar.select_list_return();
+178 		retval.start = input.LT(1);
+179 
+180 		Object root_0 = null;
+181 
+182 		Token STAR1=null;
+183 		Token COMMA3=null;
+184 		ParserRuleReturnScope select_sublist2 =null;
+185 		ParserRuleReturnScope select_sublist4 =null;
+186 
+187 		Object STAR1_tree=null;
+188 		Object COMMA3_tree=null;
+189 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
+190 		RewriteRuleSubtreeStream stream_select_sublist=new RewriteRuleSubtreeStream(adaptor,"rule select_sublist");
+191 
+192 		try {
+193 			// CmisBaseGrammar.g:68:5: ( STAR | select_sublist ( COMMA select_sublist )* -> ^( SEL_LIST ( select_sublist )+ ) )
+194 			int alt4=2;
+195 			int LA4_0 = input.LA(1);
+196 			if ( (LA4_0==STAR) ) {
+197 				alt4=1;
+198 			}
+199 			else if ( (LA4_0==ID||LA4_0==SCORE) ) {
+200 				alt4=2;
+201 			}
+202 
+203 			else {
+204 				NoViableAltException nvae =
+205 					new NoViableAltException("", 4, 0, input);
+206 				throw nvae;
+207 			}
+208 
+209 			switch (alt4) {
+210 				case 1 :
+211 					// CmisBaseGrammar.g:68:7: STAR
+212 					{
+213 					root_0 = (Object)adaptor.nil();
+214 
+215 
+216 					STAR1=(Token)match(input,STAR,FOLLOW_STAR_in_select_list99); 
+217 					STAR1_tree = (Object)adaptor.create(STAR1);
+218 					adaptor.addChild(root_0, STAR1_tree);
+219 
+220 					}
+221 					break;
+222 				case 2 :
+223 					// CmisBaseGrammar.g:69:7: select_sublist ( COMMA select_sublist )*
+224 					{
+225 					pushFollow(FOLLOW_select_sublist_in_select_list107);
+226 					select_sublist2=select_sublist();
+227 					state._fsp--;
+228 
+229 					stream_select_sublist.add(select_sublist2.getTree());
+230 					// CmisBaseGrammar.g:69:22: ( COMMA select_sublist )*
+231 					loop3:
+232 					while (true) {
+233 						int alt3=2;
+234 						int LA3_0 = input.LA(1);
+235 						if ( (LA3_0==COMMA) ) {
+236 							alt3=1;
+237 						}
+238 
+239 						switch (alt3) {
+240 						case 1 :
+241 							// CmisBaseGrammar.g:69:24: COMMA select_sublist
+242 							{
+243 							COMMA3=(Token)match(input,COMMA,FOLLOW_COMMA_in_select_list111);  
+244 							stream_COMMA.add(COMMA3);
+245 
+246 							pushFollow(FOLLOW_select_sublist_in_select_list113);
+247 							select_sublist4=select_sublist();
+248 							state._fsp--;
+249 
+250 							stream_select_sublist.add(select_sublist4.getTree());
+251 							}
+252 							break;
+253 
+254 						default :
+255 							break loop3;
+256 						}
+257 					}
+258 
+259 					// AST REWRITE
+260 					// elements: select_sublist
+261 					// token labels: 
+262 					// rule labels: retval
+263 					// token list labels: 
+264 					// rule list labels: 
+265 					// wildcard labels: 
+266 					retval.tree = root_0;
+267 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
+268 
+269 					root_0 = (Object)adaptor.nil();
+270 					// 70:7: -> ^( SEL_LIST ( select_sublist )+ )
+271 					{
+272 						// CmisBaseGrammar.g:70:10: ^( SEL_LIST ( select_sublist )+ )
+273 						{
+274 						Object root_1 = (Object)adaptor.nil();
+275 						root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(SEL_LIST, "SEL_LIST"), root_1);
+276 						if ( !(stream_select_sublist.hasNext()) ) {
+277 							throw new RewriteEarlyExitException();
+278 						}
+279 						while ( stream_select_sublist.hasNext() ) {
+280 							adaptor.addChild(root_1, stream_select_sublist.nextTree());
+281 						}
+282 						stream_select_sublist.reset();
+283 
+284 						adaptor.addChild(root_0, root_1);
+285 						}
+286 
+287 					}
+288 
+289 
+290 					retval.tree = root_0;
+291 
+292 					}
+293 					break;
+294 
+295 			}
+296 			retval.stop = input.LT(-1);
+297 
+298 			retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+299 			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+300 
+301 		}
+302 		catch (RecognitionException re) {
+303 			reportError(re);
+304 			recover(input,re);
+305 			retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+306 		}
+307 		finally {
+308 			// do for sure before leaving
+309 		}
+310 		return retval;
+311 	}
+312 	// $ANTLR end "select_list"
+313 
+314 
+315 	public static class select_sublist_return extends ParserRuleReturnScope {
+316 		Object tree;
+317 		@Override
+318 		public Object getTree() { return tree; }
+319 	};
+320 
+321 
+322 	// $ANTLR start "select_sublist"
+323 	// CmisBaseGrammar.g:73:1: select_sublist : ( value_expression ( ( AS !)? column_name )? | qualifier DOT STAR );
+324 	public final CmisQlExtParser_CmisBaseGrammar.select_sublist_return select_sublist() throws RecognitionException {
+325 		CmisQlExtParser_CmisBaseGrammar.select_sublist_return retval = new CmisQlExtParser_CmisBaseGrammar.select_sublist_return();
+326 		retval.start = input.LT(1);
+327 
+328 		Object root_0 = null;
+329 
+330 		Token AS6=null;
+331 		Token DOT9=null;
+332 		Token STAR10=null;
+333 		ParserRuleReturnScope value_expression5 =null;
+334 		ParserRuleReturnScope column_name7 =null;
+335 		ParserRuleReturnScope qualifier8 =null;
+336 
+337 		Object AS6_tree=null;
+338 		Object DOT9_tree=null;
+339 		Object STAR10_tree=null;
+340 
+341 		try {
+342 			// CmisBaseGrammar.g:74:5: ( value_expression ( ( AS !)? column_name )? | qualifier DOT STAR )
+343 			int alt7=2;
+344 			int LA7_0 = input.LA(1);
+345 			if ( (LA7_0==ID) ) {
+346 				int LA7_1 = input.LA(2);
+347 				if ( (LA7_1==AS||LA7_1==COMMA||LA7_1==FROM||LA7_1==ID||LA7_1==LPAR) ) {
+348 					alt7=1;
+349 				}
+350 				else if ( (LA7_1==DOT) ) {
+351 					int LA7_3 = input.LA(3);
+352 					if ( (LA7_3==STAR) ) {
+353 						alt7=2;
+354 					}
+355 					else if ( (LA7_3==ID) ) {
+356 						alt7=1;
+357 					}
+358 
+359 					else {
+360 						int nvaeMark = input.mark();
+361 						try {
+362 							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
+363 								input.consume();
+364 							}
+365 							NoViableAltException nvae =
+366 								new NoViableAltException("", 7, 3, input);
+367 							throw nvae;
+368 						} finally {
+369 							input.rewind(nvaeMark);
+370 						}
+371 					}
+372 
+373 				}
+374 
+375 				else {
+376 					int nvaeMark = input.mark();
+377 					try {
+378 						input.consume();
+379 						NoViableAltException nvae =
+380 							new NoViableAltException("", 7, 1, input);
+381 						throw nvae;
+382 					} finally {
+383 						input.rewind(nvaeMark);
+384 					}
+385 				}
+386 
+387 			}
+388 			else if ( (LA7_0==SCORE) ) {
+389 				alt7=1;
+390 			}
+391 
+392 			else {
+393 				NoViableAltException nvae =
+394 					new NoViableAltException("", 7, 0, input);
+395 				throw nvae;
+396 			}
+397 
+398 			switch (alt7) {
+399 				case 1 :
+400 					// CmisBaseGrammar.g:74:7: value_expression ( ( AS !)? column_name )?
+401 					{
+402 					root_0 = (Object)adaptor.nil();
+403 
+404 
+405 					pushFollow(FOLLOW_value_expression_in_select_sublist148);
+406 					value_expression5=gCmisQlExtParser.value_expression();
+407 					state._fsp--;
+408 
+409 					adaptor.addChild(root_0, value_expression5.getTree());
+410 
+411 					// CmisBaseGrammar.g:74:24: ( ( AS !)? column_name )?
+412 					int alt6=2;
+413 					int LA6_0 = input.LA(1);
+414 					if ( (LA6_0==AS||LA6_0==ID) ) {
+415 						alt6=1;
+416 					}
+417 					switch (alt6) {
+418 						case 1 :
+419 							// CmisBaseGrammar.g:74:26: ( AS !)? column_name
+420 							{
+421 							// CmisBaseGrammar.g:74:28: ( AS !)?
+422 							int alt5=2;
+423 							int LA5_0 = input.LA(1);
+424 							if ( (LA5_0==AS) ) {
+425 								alt5=1;
+426 							}
+427 							switch (alt5) {
+428 								case 1 :
+429 									// CmisBaseGrammar.g:74:28: AS !
+430 									{
+431 									AS6=(Token)match(input,AS,FOLLOW_AS_in_select_sublist152); 
+432 									}
+433 									break;
+434 
+435 							}
+436 
+437 							pushFollow(FOLLOW_column_name_in_select_sublist156);
+438 							column_name7=column_name();
+439 							state._fsp--;
+440 
+441 							adaptor.addChild(root_0, column_name7.getTree());
+442 
+443 							}
+444 							break;
+445 
+446 					}
+447 
+448 					}
+449 					break;
+450 				case 2 :
+451 					// CmisBaseGrammar.g:75:7: qualifier DOT STAR
+452 					{
+453 					root_0 = (Object)adaptor.nil();
+454 
+455 
+456 					pushFollow(FOLLOW_qualifier_in_select_sublist167);
+457 					qualifier8=qualifier();
+458 					state._fsp--;
+459 
+460 					adaptor.addChild(root_0, qualifier8.getTree());
+461 
+462 					DOT9=(Token)match(input,DOT,FOLLOW_DOT_in_select_sublist169); 
+463 					DOT9_tree = (Object)adaptor.create(DOT9);
+464 					adaptor.addChild(root_0, DOT9_tree);
+465 
+466 					STAR10=(Token)match(input,STAR,FOLLOW_STAR_in_select_sublist171); 
+467 					STAR10_tree = (Object)adaptor.create(STAR10);
+468 					adaptor.addChild(root_0, STAR10_tree);
+469 
+470 					}
+471 					break;
+472 
+473 			}
+474 			retval.stop = input.LT(-1);
+475 
+476 			retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+477 			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+478 
+479 		}
+480 		catch (RecognitionException re) {
+481 			reportError(re);
+482 			recover(input,re);
+483 			retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+484 		}
+485 		finally {
+486 			// do for sure before leaving
+487 		}
+488 		return retval;
+489 	}
+490 	// $ANTLR end "select_sublist"
+491 
+492 
+493 	public static class column_reference_return extends ParserRuleReturnScope {
+494 		Object tree;
+495 		@Override
+496 		public Object getTree() { return tree; }
+497 	};
+498 
+499 
+500 	// $ANTLR start "column_reference"
+501 	// CmisBaseGrammar.g:84:1: column_reference : ( qualifier DOT )? column_name -> ^( COL ( qualifier )? column_name ) ;
+502 	public final CmisQlExtParser_CmisBaseGrammar.column_reference_return column_reference() throws RecognitionException {
+503 		CmisQlExtParser_CmisBaseGrammar.column_reference_return retval = new CmisQlExtParser_CmisBaseGrammar.column_reference_return();
+504 		retval.start = input.LT(1);
+505 
+506 		Object root_0 = null;
+507 
+508 		Token DOT12=null;
+509 		ParserRuleReturnScope qualifier11 =null;
+510 		ParserRuleReturnScope column_name13 =null;
+511 
+512 		Object DOT12_tree=null;
+513 		RewriteRuleTokenStream stream_DOT=new RewriteRuleTokenStream(adaptor,"token DOT");
+514 		RewriteRuleSubtreeStream stream_qualifier=new RewriteRuleSubtreeStream(adaptor,"rule qualifier");
+515 		RewriteRuleSubtreeStream stream_column_name=new RewriteRuleSubtreeStream(adaptor,"rule column_name");
+516 
+517 		try {
+518 			// CmisBaseGrammar.g:84:17: ( ( qualifier DOT )? column_name -> ^( COL ( qualifier )? column_name ) )
+519 			// CmisBaseGrammar.g:85:5: ( qualifier DOT )? column_name
+520 			{
+521 			// CmisBaseGrammar.g:85:5: ( qualifier DOT )?
+522 			int alt9=2;
+523 			int LA9_0 = input.LA(1);
+524 			if ( (LA9_0==ID) ) {
+525 				int LA9_1 = input.LA(2);
+526 				if ( (LA9_1==DOT) ) {
+527 					alt9=1;
+528 				}
+529 			}
+530 			switch (alt9) {
+531 				case 1 :
+532 					// CmisBaseGrammar.g:85:7: qualifier DOT
+533 					{
+534 					pushFollow(FOLLOW_qualifier_in_column_reference220);
+535 					qualifier11=qualifier();
+536 					state._fsp--;
+537 
+538 					stream_qualifier.add(qualifier11.getTree());
+539 					DOT12=(Token)match(input,DOT,FOLLOW_DOT_in_column_reference222);  
+540 					stream_DOT.add(DOT12);
+541 
+542 					}
+543 					break;
+544 
+545 			}
+546 
+547 			pushFollow(FOLLOW_column_name_in_column_reference227);
+548 			column_name13=column_name();
+549 			state._fsp--;
+550 
+551 			stream_column_name.add(column_name13.getTree());
+552 			// AST REWRITE
+553 			// elements: column_name, qualifier
+554 			// token labels: 
+555 			// rule labels: retval
+556 			// token list labels: 
+557 			// rule list labels: 
+558 			// wildcard labels: 
+559 			retval.tree = root_0;
+560 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
+561 
+562 			root_0 = (Object)adaptor.nil();
+563 			// 86:7: -> ^( COL ( qualifier )? column_name )
+564 			{
+565 				// CmisBaseGrammar.g:86:10: ^( COL ( qualifier )? column_name )
+566 				{
+567 				Object root_1 = (Object)adaptor.nil();
+568 				root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(COL, "COL"), root_1);
+569 				// CmisBaseGrammar.g:86:16: ( qualifier )?
+570 				if ( stream_qualifier.hasNext() ) {
+571 					adaptor.addChild(root_1, stream_qualifier.nextTree());
+572 				}
+573 				stream_qualifier.reset();
+574 
+575 				adaptor.addChild(root_1, stream_column_name.nextTree());
+576 				adaptor.addChild(root_0, root_1);
+577 				}
+578 
+579 			}
+580 
+581 
+582 			retval.tree = root_0;
+583 
+584 			}
+585 
+586 			retval.stop = input.LT(-1);
+587 
+588 			retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+589 			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+590 
+591 		}
+592 		catch (RecognitionException re) {
+593 			reportError(re);
+594 			recover(input,re);
+595 			retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+596 		}
+597 		finally {
+598 			// do for sure before leaving
+599 		}
+600 		return retval;
+601 	}
+602 	// $ANTLR end "column_reference"
+603 
+604 
+605 	public static class multi_valued_column_reference_return extends ParserRuleReturnScope {
+606 		Object tree;
+607 		@Override
+608 		public Object getTree() { return tree; }
+609 	};
+610 
+611 
+612 	// $ANTLR start "multi_valued_column_reference"
+613 	// CmisBaseGrammar.g:89:1: multi_valued_column_reference : ( qualifier DOT )? multi_valued_column_name -> ^( COL ( qualifier )? multi_valued_column_name ) ;
+614 	public final CmisQlExtParser_CmisBaseGrammar.multi_valued_column_reference_return multi_valued_column_reference() throws RecognitionException {
+615 		CmisQlExtParser_CmisBaseGrammar.multi_valued_column_reference_return retval = new CmisQlExtParser_CmisBaseGrammar.multi_valued_column_reference_return();
+616 		retval.start = input.LT(1);
+617 
+618 		Object root_0 = null;
+619 
+620 		Token DOT15=null;
+621 		ParserRuleReturnScope qualifier14 =null;
+622 		ParserRuleReturnScope multi_valued_column_name16 =null;
+623 
+624 		Object DOT15_tree=null;
+625 		RewriteRuleTokenStream stream_DOT=new RewriteRuleTokenStream(adaptor,"token DOT");
+626 		RewriteRuleSubtreeStream stream_multi_valued_column_name=new RewriteRuleSubtreeStream(adaptor,"rule multi_valued_column_name");
+627 		RewriteRuleSubtreeStream stream_qualifier=new RewriteRuleSubtreeStream(adaptor,"rule qualifier");
+628 
+629 		try {
+630 			// CmisBaseGrammar.g:89:30: ( ( qualifier DOT )? multi_valued_column_name -> ^( COL ( qualifier )? multi_valued_column_name ) )
+631 			// CmisBaseGrammar.g:90:5: ( qualifier DOT )? multi_valued_column_name
+632 			{
+633 			// CmisBaseGrammar.g:90:5: ( qualifier DOT )?
+634 			int alt10=2;
+635 			int LA10_0 = input.LA(1);
+636 			if ( (LA10_0==ID) ) {
+637 				int LA10_1 = input.LA(2);
+638 				if ( (LA10_1==DOT) ) {
+639 					alt10=1;
+640 				}
+641 			}
+642 			switch (alt10) {
+643 				case 1 :
+644 					// CmisBaseGrammar.g:90:7: qualifier DOT
+645 					{
+646 					pushFollow(FOLLOW_qualifier_in_multi_valued_column_reference262);
+647 					qualifier14=qualifier();
+648 					state._fsp--;
+649 
+650 					stream_qualifier.add(qualifier14.getTree());
+651 					DOT15=(Token)match(input,DOT,FOLLOW_DOT_in_multi_valued_column_reference264);  
+652 					stream_DOT.add(DOT15);
+653 
+654 					}
+655 					break;
+656 
+657 			}
+658 
+659 			pushFollow(FOLLOW_multi_valued_column_name_in_multi_valued_column_reference269);
+660 			multi_valued_column_name16=multi_valued_column_name();
+661 			state._fsp--;
+662 
+663 			stream_multi_valued_column_name.add(multi_valued_column_name16.getTree());
+664 			// AST REWRITE
+665 			// elements: multi_valued_column_name, qualifier
+666 			// token labels: 
+667 			// rule labels: retval
+668 			// token list labels: 
+669 			// rule list labels: 
+670 			// wildcard labels: 
+671 			retval.tree = root_0;
+672 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
+673 
+674 			root_0 = (Object)adaptor.nil();
+675 			// 91:7: -> ^( COL ( qualifier )? multi_valued_column_name )
+676 			{
+677 				// CmisBaseGrammar.g:91:10: ^( COL ( qualifier )? multi_valued_column_name )
+678 				{
+679 				Object root_1 = (Object)adaptor.nil();
+680 				root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(COL, "COL"), root_1);
+681 				// CmisBaseGrammar.g:91:16: ( qualifier )?
+682 				if ( stream_qualifier.hasNext() ) {
+683 					adaptor.addChild(root_1, stream_qualifier.nextTree());
+684 				}
+685 				stream_qualifier.reset();
+686 
+687 				adaptor.addChild(root_1, stream_multi_valued_column_name.nextTree());
+688 				adaptor.addChild(root_0, root_1);
+689 				}
+690 
+691 			}
+692 
+693 
+694 			retval.tree = root_0;
+695 
+696 			}
+697 
+698 			retval.stop = input.LT(-1);
+699 
+700 			retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+701 			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+702 
+703 		}
+704 		catch (RecognitionException re) {
+705 			reportError(re);
+706 			recover(input,re);
+707 			retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+708 		}
+709 		finally {
+710 			// do for sure before leaving
+711 		}
+712 		return retval;
+713 	}
+714 	// $ANTLR end "multi_valued_column_reference"
+715 
+716 
+717 	public static class numeric_value_function_return extends ParserRuleReturnScope {
+718 		Object tree;
+719 		@Override
+720 		public Object getTree() { return tree; }
+721 	};
+722 
+723 
+724 	// $ANTLR start "numeric_value_function"
+725 	// CmisBaseGrammar.g:94:1: numeric_value_function : SCORE LPAR RPAR -> ^( SCORE ) ;
+726 	public final CmisQlExtParser_CmisBaseGrammar.numeric_value_function_return numeric_value_function() throws RecognitionException {
+727 		CmisQlExtParser_CmisBaseGrammar.numeric_value_function_return retval = new CmisQlExtParser_CmisBaseGrammar.numeric_value_function_return();
+728 		retval.start = input.LT(1);
+729 
+730 		Object root_0 = null;
+731 
+732 		Token SCORE17=null;
+733 		Token LPAR18=null;
+734 		Token RPAR19=null;
+735 
+736 		Object SCORE17_tree=null;
+737 		Object LPAR18_tree=null;

[... 4425 lines stripped ...]