// $ANTLR start "vectorExpr" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:554:1: vectorExpr : COMMA expression ( COMMA expression )* ; public HqlParser.vectorExpr_return vectorExpr() // throws RecognitionException [1] { HqlParser.vectorExpr_return retval = new HqlParser.vectorExpr_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken COMMA241 = null; IToken COMMA243 = null; HqlParser.expression_return expression242 = default(HqlParser.expression_return); HqlParser.expression_return expression244 = default(HqlParser.expression_return); IASTNode COMMA241_tree=null; IASTNode COMMA243_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:555:2: ( COMMA expression ( COMMA expression )* ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:555:4: COMMA expression ( COMMA expression )* { root_0 = (IASTNode)adaptor.GetNilNode(); COMMA241=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_vectorExpr2906); PushFollow(FOLLOW_expression_in_vectorExpr2909); expression242 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression242.Tree); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:555:22: ( COMMA expression )* do { int alt83 = 2; int LA83_0 = input.LA(1); if ( (LA83_0 == COMMA) ) { alt83 = 1; } switch (alt83) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:555:23: COMMA expression { COMMA243=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_vectorExpr2912); PushFollow(FOLLOW_expression_in_vectorExpr2915); expression244 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression244.Tree); } break; default: goto loop83; } } while (true); loop83: ; // Stops C# compiler whining that label 'loop83' has no statements } retval.Stop = input.LT(-1); retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (IASTNode)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
// $ANTLR start "vectorExpr" // Hql.g:572:1: vectorExpr : COMMA expression ( COMMA expression )* ; public HqlParser.vectorExpr_return vectorExpr() // throws RecognitionException [1] { HqlParser.vectorExpr_return retval = new HqlParser.vectorExpr_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken COMMA254 = null; IToken COMMA256 = null; HqlParser.expression_return expression255 = default(HqlParser.expression_return); HqlParser.expression_return expression257 = default(HqlParser.expression_return); IASTNode COMMA254_tree=null; IASTNode COMMA256_tree=null; try { // Hql.g:573:2: ( COMMA expression ( COMMA expression )* ) // Hql.g:573:4: COMMA expression ( COMMA expression )* { root_0 = (IASTNode)adaptor.GetNilNode(); COMMA254=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_vectorExpr3005); PushFollow(FOLLOW_expression_in_vectorExpr3008); expression255 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression255.Tree); // Hql.g:573:22: ( COMMA expression )* do { int alt89 = 2; int LA89_0 = input.LA(1); if ( (LA89_0 == COMMA) ) { alt89 = 1; } switch (alt89) { case 1 : // Hql.g:573:23: COMMA expression { COMMA256=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_vectorExpr3011); PushFollow(FOLLOW_expression_in_vectorExpr3014); expression257 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression257.Tree); } break; default: goto loop89; } } while (true); loop89: ; // Stops C# compiler whining that label 'loop89' has no statements } retval.Stop = input.LT(-1); retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (IASTNode)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }