// $ANTLR start "selectExprList" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:156:1: selectExprList : ( selectExpr | aliasedSelectExpr )+ ; public HqlSqlWalker.selectExprList_return selectExprList() // throws RecognitionException [1] { HqlSqlWalker.selectExprList_return retval = new HqlSqlWalker.selectExprList_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; HqlSqlWalker.selectExpr_return selectExpr37 = default(HqlSqlWalker.selectExpr_return); HqlSqlWalker.aliasedSelectExpr_return aliasedSelectExpr38 = default(HqlSqlWalker.aliasedSelectExpr_return); bool oldInSelect = _inSelect; _inSelect = true; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:160:2: ( ( selectExpr | aliasedSelectExpr )+ ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:160:4: ( selectExpr | aliasedSelectExpr )+ { root_0 = (IASTNode)adaptor.GetNilNode(); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:160:4: ( selectExpr | aliasedSelectExpr )+ int cnt18 = 0; do { int alt18 = 3; int LA18_0 = input.LA(1); if ( (LA18_0 == ALL || LA18_0 == COUNT || LA18_0 == DOT || LA18_0 == ELEMENTS || LA18_0 == INDICES || LA18_0 == UNION || LA18_0 == CASE || LA18_0 == OBJECT || LA18_0 == AGGREGATE || (LA18_0 >= CONSTRUCTOR && LA18_0 <= CASE2) || LA18_0 == METHOD_CALL || LA18_0 == QUERY || LA18_0 == UNARY_MINUS || LA18_0 == WEIRD_IDENT || (LA18_0 >= NUM_INT && LA18_0 <= NUM_LONG) || (LA18_0 >= BNOT && LA18_0 <= DIV) || (LA18_0 >= QUOTED_String && LA18_0 <= IDENT)) ) { alt18 = 1; } else if ( (LA18_0 == AS) ) { alt18 = 2; } switch (alt18) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:160:6: selectExpr { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_selectExpr_in_selectExprList737); selectExpr37 = selectExpr(); state.followingStackPointer--; adaptor.AddChild(root_0, selectExpr37.Tree); } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:160:19: aliasedSelectExpr { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_aliasedSelectExpr_in_selectExprList741); aliasedSelectExpr38 = aliasedSelectExpr(); state.followingStackPointer--; adaptor.AddChild(root_0, aliasedSelectExpr38.Tree); } break; default: if ( cnt18 >= 1 ) goto loop18; EarlyExitException eee18 = new EarlyExitException(18, input); throw eee18; } cnt18++; } while (true); loop18: ; // Stops C# compiler whinging that label 'loop18' has no statements _inSelect = oldInSelect; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "selectExprList" // HqlSqlWalker.g:171:1: selectExprList : ( selectExpr | aliasedSelectExpr )+ ; public HqlSqlWalker.selectExprList_return selectExprList() // throws RecognitionException [1] { HqlSqlWalker.selectExprList_return retval = new HqlSqlWalker.selectExprList_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; HqlSqlWalker.selectExpr_return selectExpr41 = default(HqlSqlWalker.selectExpr_return); HqlSqlWalker.aliasedSelectExpr_return aliasedSelectExpr42 = default(HqlSqlWalker.aliasedSelectExpr_return); bool oldInSelect = _inSelect; _inSelect = true; try { // HqlSqlWalker.g:175:2: ( ( selectExpr | aliasedSelectExpr )+ ) // HqlSqlWalker.g:175:4: ( selectExpr | aliasedSelectExpr )+ { root_0 = (IASTNode)adaptor.GetNilNode(); // HqlSqlWalker.g:175:4: ( selectExpr | aliasedSelectExpr )+ int cnt20 = 0; do { int alt20 = 3; int LA20_0 = input.LA(1); if ( (LA20_0 == ALL || LA20_0 == COUNT || LA20_0 == DOT || LA20_0 == ELEMENTS || LA20_0 == INDICES || LA20_0 == UNION || LA20_0 == CASE || LA20_0 == OBJECT || LA20_0 == AGGREGATE || (LA20_0 >= CONSTRUCTOR && LA20_0 <= CASE2) || LA20_0 == METHOD_CALL || LA20_0 == QUERY || LA20_0 == UNARY_MINUS || LA20_0 == WEIRD_IDENT || (LA20_0 >= NUM_INT && LA20_0 <= NUM_LONG) || (LA20_0 >= BNOT && LA20_0 <= DIV) || (LA20_0 >= COLON && LA20_0 <= IDENT)) ) { alt20 = 1; } else if ( (LA20_0 == AS) ) { alt20 = 2; } switch (alt20) { case 1 : // HqlSqlWalker.g:175:6: selectExpr { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_selectExpr_in_selectExprList813); selectExpr41 = selectExpr(); state.followingStackPointer--; adaptor.AddChild(root_0, selectExpr41.Tree); } break; case 2 : // HqlSqlWalker.g:175:19: aliasedSelectExpr { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_aliasedSelectExpr_in_selectExprList817); aliasedSelectExpr42 = aliasedSelectExpr(); state.followingStackPointer--; adaptor.AddChild(root_0, aliasedSelectExpr42.Tree); } break; default: if ( cnt20 >= 1 ) goto loop20; EarlyExitException eee20 = new EarlyExitException(20, input); throw eee20; } cnt20++; } while (true); loop20: ; // Stops C# compiler whining that label 'loop20' has no statements _inSelect = oldInSelect; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }