// $ANTLR start "orderExprs" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:143:1: orderExprs : expr ( ASCENDING | DESCENDING )? ( orderExprs )? ; public HqlSqlWalker.orderExprs_return orderExprs() // throws RecognitionException [1] { HqlSqlWalker.orderExprs_return retval = new HqlSqlWalker.orderExprs_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode set30 = null; HqlSqlWalker.expr_return expr29 = default(HqlSqlWalker.expr_return); HqlSqlWalker.orderExprs_return orderExprs31 = default(HqlSqlWalker.orderExprs_return); IASTNode set30_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:144:2: ( expr ( ASCENDING | DESCENDING )? ( orderExprs )? ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:144:4: expr ( ASCENDING | DESCENDING )? ( orderExprs )? { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_expr_in_orderExprs628); expr29 = expr(); state.followingStackPointer--; adaptor.AddChild(root_0, expr29.Tree); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:144:9: ( ASCENDING | DESCENDING )? int alt13 = 2; int LA13_0 = input.LA(1); if ( (LA13_0 == ASCENDING || LA13_0 == DESCENDING) ) { alt13 = 1; } switch (alt13) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g: { _last = (IASTNode)input.LT(1); set30 = (IASTNode)input.LT(1); if ( input.LA(1) == ASCENDING || input.LA(1) == DESCENDING ) { input.Consume(); set30_tree = (IASTNode)adaptor.DupNode(set30); adaptor.AddChild(root_0, set30_tree); state.errorRecovery = false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } break; } // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:144:37: ( orderExprs )? int alt14 = 2; int LA14_0 = input.LA(1); if ( (LA14_0 == COUNT || LA14_0 == DOT || LA14_0 == FALSE || LA14_0 == NULL || LA14_0 == TRUE || LA14_0 == CASE || LA14_0 == AGGREGATE || LA14_0 == CASE2 || LA14_0 == INDEX_OP || LA14_0 == METHOD_CALL || LA14_0 == UNARY_MINUS || (LA14_0 >= VECTOR_EXPR && LA14_0 <= WEIRD_IDENT) || (LA14_0 >= NUM_INT && LA14_0 <= JAVA_CONSTANT) || (LA14_0 >= BNOT && LA14_0 <= DIV) || (LA14_0 >= COLON && LA14_0 <= IDENT)) ) { alt14 = 1; } switch (alt14) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:144:38: orderExprs { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_orderExprs_in_orderExprs642); orderExprs31 = orderExprs(); state.followingStackPointer--; adaptor.AddChild(root_0, orderExprs31.Tree); } break; } } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "orderExprs" // HqlSqlWalker.g:146:1: orderExprs : expr ( ASCENDING | DESCENDING )? ( orderExprs )? ; public HqlSqlWalker.orderExprs_return orderExprs() // throws RecognitionException [1] { HqlSqlWalker.orderExprs_return retval = new HqlSqlWalker.orderExprs_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode set32 = null; HqlSqlWalker.expr_return expr31 = default(HqlSqlWalker.expr_return); HqlSqlWalker.orderExprs_return orderExprs33 = default(HqlSqlWalker.orderExprs_return); IASTNode set32_tree=null; try { // HqlSqlWalker.g:147:2: ( expr ( ASCENDING | DESCENDING )? ( orderExprs )? ) // HqlSqlWalker.g:147:4: expr ( ASCENDING | DESCENDING )? ( orderExprs )? { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_expr_in_orderExprs686); expr31 = expr(); state.followingStackPointer--; adaptor.AddChild(root_0, expr31.Tree); // HqlSqlWalker.g:147:9: ( ASCENDING | DESCENDING )? int alt18 = 2; int LA18_0 = input.LA(1); if ( (LA18_0 == ASCENDING || LA18_0 == DESCENDING) ) { alt18 = 1; } switch (alt18) { case 1 : // HqlSqlWalker.g: { _last = (IASTNode)input.LT(1); set32 = (IASTNode)input.LT(1); if ( input.LA(1) == ASCENDING || input.LA(1) == DESCENDING ) { input.Consume(); set32_tree = (IASTNode)adaptor.DupNode(set32); adaptor.AddChild(root_0, set32_tree); state.errorRecovery = false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } break; } // HqlSqlWalker.g:147:37: ( orderExprs )? int alt19 = 2; int LA19_0 = input.LA(1); if ( (LA19_0 == COUNT || LA19_0 == DOT || LA19_0 == FALSE || LA19_0 == NULL || LA19_0 == TRUE || LA19_0 == CASE || LA19_0 == AGGREGATE || LA19_0 == CASE2 || LA19_0 == INDEX_OP || LA19_0 == METHOD_CALL || LA19_0 == UNARY_MINUS || (LA19_0 >= VECTOR_EXPR && LA19_0 <= WEIRD_IDENT) || (LA19_0 >= NUM_INT && LA19_0 <= JAVA_CONSTANT) || (LA19_0 >= COLON && LA19_0 <= PARAM) || (LA19_0 >= BNOT && LA19_0 <= DIV) || (LA19_0 >= QUOTED_String && LA19_0 <= IDENT)) ) { alt19 = 1; } switch (alt19) { case 1 : // HqlSqlWalker.g:147:38: orderExprs { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_orderExprs_in_orderExprs700); orderExprs33 = orderExprs(); state.followingStackPointer--; adaptor.AddChild(root_0, orderExprs33.Tree); } break; } } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }