// $ANTLR start "quantifiedExpression" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:518:1: quantifiedExpression : ( SOME | EXISTS | ALL | ANY ) ( identifier | collectionExpr | ( OPEN ( subQuery ) CLOSE ) ) ; public HqlParser.quantifiedExpression_return quantifiedExpression() // throws RecognitionException [1] { HqlParser.quantifiedExpression_return retval = new HqlParser.quantifiedExpression_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken SOME213 = null; IToken EXISTS214 = null; IToken ALL215 = null; IToken ANY216 = null; IToken OPEN219 = null; IToken CLOSE221 = null; HqlParser.identifier_return identifier217 = default(HqlParser.identifier_return); HqlParser.collectionExpr_return collectionExpr218 = default(HqlParser.collectionExpr_return); HqlParser.subQuery_return subQuery220 = default(HqlParser.subQuery_return); IASTNode SOME213_tree=null; IASTNode EXISTS214_tree=null; IASTNode ALL215_tree=null; IASTNode ANY216_tree=null; IASTNode OPEN219_tree=null; IASTNode CLOSE221_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:519:2: ( ( SOME | EXISTS | ALL | ANY ) ( identifier | collectionExpr | ( OPEN ( subQuery ) CLOSE ) ) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:519:4: ( SOME | EXISTS | ALL | ANY ) ( identifier | collectionExpr | ( OPEN ( subQuery ) CLOSE ) ) { root_0 = (IASTNode)adaptor.GetNilNode(); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:519:4: ( SOME | EXISTS | ALL | ANY ) int alt74 = 4; switch ( input.LA(1) ) { case SOME: { alt74 = 1; } break; case EXISTS: { alt74 = 2; } break; case ALL: { alt74 = 3; } break; case ANY: { alt74 = 4; } break; default: NoViableAltException nvae_d74s0 = new NoViableAltException("", 74, 0, input); throw nvae_d74s0; } switch (alt74) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:519:6: SOME { SOME213=(IToken)Match(input,SOME,FOLLOW_SOME_in_quantifiedExpression2626); SOME213_tree = (IASTNode)adaptor.Create(SOME213); root_0 = (IASTNode)adaptor.BecomeRoot(SOME213_tree, root_0); } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:519:14: EXISTS { EXISTS214=(IToken)Match(input,EXISTS,FOLLOW_EXISTS_in_quantifiedExpression2631); EXISTS214_tree = (IASTNode)adaptor.Create(EXISTS214); root_0 = (IASTNode)adaptor.BecomeRoot(EXISTS214_tree, root_0); } break; case 3 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:519:24: ALL { ALL215=(IToken)Match(input,ALL,FOLLOW_ALL_in_quantifiedExpression2636); ALL215_tree = (IASTNode)adaptor.Create(ALL215); root_0 = (IASTNode)adaptor.BecomeRoot(ALL215_tree, root_0); } break; case 4 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:519:31: ANY { ANY216=(IToken)Match(input,ANY,FOLLOW_ANY_in_quantifiedExpression2641); ANY216_tree = (IASTNode)adaptor.Create(ANY216); root_0 = (IASTNode)adaptor.BecomeRoot(ANY216_tree, root_0); } break; } // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:520:2: ( identifier | collectionExpr | ( OPEN ( subQuery ) CLOSE ) ) int alt75 = 3; switch ( input.LA(1) ) { case IDENT: { alt75 = 1; } break; case ELEMENTS: case INDICES: { alt75 = 2; } break; case OPEN: { alt75 = 3; } break; default: NoViableAltException nvae_d75s0 = new NoViableAltException("", 75, 0, input); throw nvae_d75s0; } switch (alt75) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:520:4: identifier { PushFollow(FOLLOW_identifier_in_quantifiedExpression2650); identifier217 = identifier(); state.followingStackPointer--; adaptor.AddChild(root_0, identifier217.Tree); } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:520:17: collectionExpr { PushFollow(FOLLOW_collectionExpr_in_quantifiedExpression2654); collectionExpr218 = collectionExpr(); state.followingStackPointer--; adaptor.AddChild(root_0, collectionExpr218.Tree); } break; case 3 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:520:34: ( OPEN ( subQuery ) CLOSE ) { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:520:34: ( OPEN ( subQuery ) CLOSE ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:520:35: OPEN ( subQuery ) CLOSE { OPEN219=(IToken)Match(input,OPEN,FOLLOW_OPEN_in_quantifiedExpression2659); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:520:41: ( subQuery ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:520:43: subQuery { PushFollow(FOLLOW_subQuery_in_quantifiedExpression2664); subQuery220 = subQuery(); state.followingStackPointer--; adaptor.AddChild(root_0, subQuery220.Tree); } CLOSE221=(IToken)Match(input,CLOSE,FOLLOW_CLOSE_in_quantifiedExpression2668); } } break; } } 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 "quantifiedExpression" // Hql.g:536:1: quantifiedExpression : ( SOME | EXISTS | ALL | ANY ) ( identifier | collectionExpr | ( OPEN ( subQuery ) CLOSE ) ) ; public HqlParser.quantifiedExpression_return quantifiedExpression() // throws RecognitionException [1] { HqlParser.quantifiedExpression_return retval = new HqlParser.quantifiedExpression_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken SOME226 = null; IToken EXISTS227 = null; IToken ALL228 = null; IToken ANY229 = null; IToken OPEN232 = null; IToken CLOSE234 = null; HqlParser.identifier_return identifier230 = default(HqlParser.identifier_return); HqlParser.collectionExpr_return collectionExpr231 = default(HqlParser.collectionExpr_return); HqlParser.subQuery_return subQuery233 = default(HqlParser.subQuery_return); IASTNode SOME226_tree=null; IASTNode EXISTS227_tree=null; IASTNode ALL228_tree=null; IASTNode ANY229_tree=null; IASTNode OPEN232_tree=null; IASTNode CLOSE234_tree=null; try { // Hql.g:537:2: ( ( SOME | EXISTS | ALL | ANY ) ( identifier | collectionExpr | ( OPEN ( subQuery ) CLOSE ) ) ) // Hql.g:537:4: ( SOME | EXISTS | ALL | ANY ) ( identifier | collectionExpr | ( OPEN ( subQuery ) CLOSE ) ) { root_0 = (IASTNode)adaptor.GetNilNode(); // Hql.g:537:4: ( SOME | EXISTS | ALL | ANY ) int alt80 = 4; switch ( input.LA(1) ) { case SOME: { alt80 = 1; } break; case EXISTS: { alt80 = 2; } break; case ALL: { alt80 = 3; } break; case ANY: { alt80 = 4; } break; default: NoViableAltException nvae_d80s0 = new NoViableAltException("", 80, 0, input); throw nvae_d80s0; } switch (alt80) { case 1 : // Hql.g:537:6: SOME { SOME226=(IToken)Match(input,SOME,FOLLOW_SOME_in_quantifiedExpression2725); SOME226_tree = (IASTNode)adaptor.Create(SOME226); root_0 = (IASTNode)adaptor.BecomeRoot(SOME226_tree, root_0); } break; case 2 : // Hql.g:537:14: EXISTS { EXISTS227=(IToken)Match(input,EXISTS,FOLLOW_EXISTS_in_quantifiedExpression2730); EXISTS227_tree = (IASTNode)adaptor.Create(EXISTS227); root_0 = (IASTNode)adaptor.BecomeRoot(EXISTS227_tree, root_0); } break; case 3 : // Hql.g:537:24: ALL { ALL228=(IToken)Match(input,ALL,FOLLOW_ALL_in_quantifiedExpression2735); ALL228_tree = (IASTNode)adaptor.Create(ALL228); root_0 = (IASTNode)adaptor.BecomeRoot(ALL228_tree, root_0); } break; case 4 : // Hql.g:537:31: ANY { ANY229=(IToken)Match(input,ANY,FOLLOW_ANY_in_quantifiedExpression2740); ANY229_tree = (IASTNode)adaptor.Create(ANY229); root_0 = (IASTNode)adaptor.BecomeRoot(ANY229_tree, root_0); } break; } // Hql.g:538:2: ( identifier | collectionExpr | ( OPEN ( subQuery ) CLOSE ) ) int alt81 = 3; switch ( input.LA(1) ) { case IDENT: { alt81 = 1; } break; case ELEMENTS: case INDICES: { alt81 = 2; } break; case OPEN: { alt81 = 3; } break; default: NoViableAltException nvae_d81s0 = new NoViableAltException("", 81, 0, input); throw nvae_d81s0; } switch (alt81) { case 1 : // Hql.g:538:4: identifier { PushFollow(FOLLOW_identifier_in_quantifiedExpression2749); identifier230 = identifier(); state.followingStackPointer--; adaptor.AddChild(root_0, identifier230.Tree); } break; case 2 : // Hql.g:538:17: collectionExpr { PushFollow(FOLLOW_collectionExpr_in_quantifiedExpression2753); collectionExpr231 = collectionExpr(); state.followingStackPointer--; adaptor.AddChild(root_0, collectionExpr231.Tree); } break; case 3 : // Hql.g:538:34: ( OPEN ( subQuery ) CLOSE ) { // Hql.g:538:34: ( OPEN ( subQuery ) CLOSE ) // Hql.g:538:35: OPEN ( subQuery ) CLOSE { OPEN232=(IToken)Match(input,OPEN,FOLLOW_OPEN_in_quantifiedExpression2758); // Hql.g:538:41: ( subQuery ) // Hql.g:538:43: subQuery { PushFollow(FOLLOW_subQuery_in_quantifiedExpression2763); subQuery233 = subQuery(); state.followingStackPointer--; adaptor.AddChild(root_0, subQuery233.Tree); } CLOSE234=(IToken)Match(input,CLOSE,FOLLOW_CLOSE_in_quantifiedExpression2767); } } break; } } 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; }