// $ANTLR start "atom" // Hql.g:544:1: atom : primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* ; public HqlParser.atom_return atom() // throws RecognitionException [1] { HqlParser.atom_return retval = new HqlParser.atom_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken op = null; IToken lb = null; IToken DOT236 = null; IToken CLOSE239 = null; IToken CLOSE_BRACKET241 = null; HqlParser.primaryExpression_return primaryExpression235 = default(HqlParser.primaryExpression_return); HqlParser.identifier_return identifier237 = default(HqlParser.identifier_return); HqlParser.exprList_return exprList238 = default(HqlParser.exprList_return); HqlParser.expression_return expression240 = default(HqlParser.expression_return); IASTNode op_tree=null; IASTNode lb_tree=null; IASTNode DOT236_tree=null; IASTNode CLOSE239_tree=null; IASTNode CLOSE_BRACKET241_tree=null; try { // Hql.g:545:3: ( primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* ) // Hql.g:545:5: primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* { root_0 = (IASTNode)adaptor.GetNilNode(); PushFollow(FOLLOW_primaryExpression_in_atom2786); primaryExpression235 = primaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, primaryExpression235.Tree); // Hql.g:546:3: ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* do { int alt83 = 3; int LA83_0 = input.LA(1); if ( (LA83_0 == DOT) ) { alt83 = 1; } else if ( (LA83_0 == OPEN_BRACKET) ) { alt83 = 2; } switch (alt83) { case 1 : // Hql.g:547:4: DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? { DOT236=(IToken)Match(input,DOT,FOLLOW_DOT_in_atom2795); DOT236_tree = (IASTNode)adaptor.Create(DOT236); root_0 = (IASTNode)adaptor.BecomeRoot(DOT236_tree, root_0); PushFollow(FOLLOW_identifier_in_atom2798); identifier237 = identifier(); state.followingStackPointer--; adaptor.AddChild(root_0, identifier237.Tree); // Hql.g:548:5: ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? int alt82 = 2; int LA82_0 = input.LA(1); if ( (LA82_0 == OPEN) ) { alt82 = 1; } switch (alt82) { case 1 : // Hql.g:549:6: (op= OPEN exprList CLOSE ) { // Hql.g:549:6: (op= OPEN exprList CLOSE ) // Hql.g:549:8: op= OPEN exprList CLOSE { op=(IToken)Match(input,OPEN,FOLLOW_OPEN_in_atom2826); op_tree = (IASTNode)adaptor.Create(op); root_0 = (IASTNode)adaptor.BecomeRoot(op_tree, root_0); op.Type = METHOD_CALL; PushFollow(FOLLOW_exprList_in_atom2831); exprList238 = exprList(); state.followingStackPointer--; adaptor.AddChild(root_0, exprList238.Tree); CLOSE239=(IToken)Match(input,CLOSE,FOLLOW_CLOSE_in_atom2833); } } break; } } break; case 2 : // Hql.g:550:5: lb= OPEN_BRACKET expression CLOSE_BRACKET { lb=(IToken)Match(input,OPEN_BRACKET,FOLLOW_OPEN_BRACKET_in_atom2847); lb_tree = (IASTNode)adaptor.Create(lb); root_0 = (IASTNode)adaptor.BecomeRoot(lb_tree, root_0); lb.Type = INDEX_OP; PushFollow(FOLLOW_expression_in_atom2852); expression240 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression240.Tree); CLOSE_BRACKET241=(IToken)Match(input,CLOSE_BRACKET,FOLLOW_CLOSE_BRACKET_in_atom2854); } 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 "atom" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:526:1: atom : primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* ; public HqlParser.atom_return atom() // throws RecognitionException [1] { HqlParser.atom_return retval = new HqlParser.atom_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken op = null; IToken lb = null; IToken DOT223 = null; IToken CLOSE226 = null; IToken CLOSE_BRACKET228 = null; HqlParser.primaryExpression_return primaryExpression222 = default(HqlParser.primaryExpression_return); HqlParser.identifier_return identifier224 = default(HqlParser.identifier_return); HqlParser.exprList_return exprList225 = default(HqlParser.exprList_return); HqlParser.expression_return expression227 = default(HqlParser.expression_return); IASTNode op_tree=null; IASTNode lb_tree=null; IASTNode DOT223_tree=null; IASTNode CLOSE226_tree=null; IASTNode CLOSE_BRACKET228_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:527:3: ( primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:527:5: primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* { root_0 = (IASTNode)adaptor.GetNilNode(); PushFollow(FOLLOW_primaryExpression_in_atom2687); primaryExpression222 = primaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, primaryExpression222.Tree); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:528:3: ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* do { int alt77 = 3; int LA77_0 = input.LA(1); if ( (LA77_0 == DOT) ) { alt77 = 1; } else if ( (LA77_0 == OPEN_BRACKET) ) { alt77 = 2; } switch (alt77) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:529:4: DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? { DOT223=(IToken)Match(input,DOT,FOLLOW_DOT_in_atom2696); DOT223_tree = (IASTNode)adaptor.Create(DOT223); root_0 = (IASTNode)adaptor.BecomeRoot(DOT223_tree, root_0); PushFollow(FOLLOW_identifier_in_atom2699); identifier224 = identifier(); state.followingStackPointer--; adaptor.AddChild(root_0, identifier224.Tree); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:530:5: ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? int alt76 = 2; int LA76_0 = input.LA(1); if ( (LA76_0 == OPEN) ) { alt76 = 1; } switch (alt76) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:531:6: (op= OPEN exprList CLOSE ) { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:531:6: (op= OPEN exprList CLOSE ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:531:8: op= OPEN exprList CLOSE { op=(IToken)Match(input,OPEN,FOLLOW_OPEN_in_atom2727); op_tree = (IASTNode)adaptor.Create(op); root_0 = (IASTNode)adaptor.BecomeRoot(op_tree, root_0); op.Type = METHOD_CALL; PushFollow(FOLLOW_exprList_in_atom2732); exprList225 = exprList(); state.followingStackPointer--; adaptor.AddChild(root_0, exprList225.Tree); CLOSE226=(IToken)Match(input,CLOSE,FOLLOW_CLOSE_in_atom2734); } } break; } } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:532:5: lb= OPEN_BRACKET expression CLOSE_BRACKET { lb=(IToken)Match(input,OPEN_BRACKET,FOLLOW_OPEN_BRACKET_in_atom2748); lb_tree = (IASTNode)adaptor.Create(lb); root_0 = (IASTNode)adaptor.BecomeRoot(lb_tree, root_0); lb.Type = INDEX_OP; PushFollow(FOLLOW_expression_in_atom2753); expression227 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression227.Tree); CLOSE_BRACKET228=(IToken)Match(input,CLOSE_BRACKET,FOLLOW_CLOSE_BRACKET_in_atom2755); } break; default: goto loop77; } } while (true); loop77: ; // Stops C# compiler whining that label 'loop77' 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 "atom" // Hql.g:539:1: atom : primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* ; public HqlParser.atom_return atom() // throws RecognitionException [1] { HqlParser.atom_return retval = new HqlParser.atom_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken op = null; IToken lb = null; IToken DOT230 = null; IToken CLOSE233 = null; IToken CLOSE_BRACKET235 = null; HqlParser.primaryExpression_return primaryExpression229 = default(HqlParser.primaryExpression_return); HqlParser.identifier_return identifier231 = default(HqlParser.identifier_return); HqlParser.exprList_return exprList232 = default(HqlParser.exprList_return); HqlParser.expression_return expression234 = default(HqlParser.expression_return); IASTNode op_tree=null; IASTNode lb_tree=null; IASTNode DOT230_tree=null; IASTNode CLOSE233_tree=null; IASTNode CLOSE_BRACKET235_tree=null; try { // Hql.g:540:3: ( primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* ) // Hql.g:540:5: primaryExpression ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* { root_0 = (IASTNode)adaptor.GetNilNode(); PushFollow(FOLLOW_primaryExpression_in_atom2749); primaryExpression229 = primaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, primaryExpression229.Tree); // Hql.g:541:3: ( DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? | lb= OPEN_BRACKET expression CLOSE_BRACKET )* do { int alt79 = 3; int LA79_0 = input.LA(1); if ( (LA79_0 == DOT) ) { alt79 = 1; } else if ( (LA79_0 == OPEN_BRACKET) ) { alt79 = 2; } switch (alt79) { case 1 : // Hql.g:542:4: DOT identifier ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? { DOT230=(IToken)Match(input,DOT,FOLLOW_DOT_in_atom2758); DOT230_tree = (IASTNode)adaptor.Create(DOT230); root_0 = (IASTNode)adaptor.BecomeRoot(DOT230_tree, root_0); PushFollow(FOLLOW_identifier_in_atom2761); identifier231 = identifier(); state.followingStackPointer--; adaptor.AddChild(root_0, identifier231.Tree); // Hql.g:543:5: ( options {greedy=true; } : (op= OPEN exprList CLOSE ) )? int alt78 = 2; int LA78_0 = input.LA(1); if ( (LA78_0 == OPEN) ) { alt78 = 1; } switch (alt78) { case 1 : // Hql.g:544:6: (op= OPEN exprList CLOSE ) { // Hql.g:544:6: (op= OPEN exprList CLOSE ) // Hql.g:544:8: op= OPEN exprList CLOSE { op=(IToken)Match(input,OPEN,FOLLOW_OPEN_in_atom2789); op_tree = (IASTNode)adaptor.Create(op); root_0 = (IASTNode)adaptor.BecomeRoot(op_tree, root_0); op.Type = METHOD_CALL; PushFollow(FOLLOW_exprList_in_atom2794); exprList232 = exprList(); state.followingStackPointer--; adaptor.AddChild(root_0, exprList232.Tree); CLOSE233=(IToken)Match(input,CLOSE,FOLLOW_CLOSE_in_atom2796); } } break; } } break; case 2 : // Hql.g:545:5: lb= OPEN_BRACKET expression CLOSE_BRACKET { lb=(IToken)Match(input,OPEN_BRACKET,FOLLOW_OPEN_BRACKET_in_atom2810); lb_tree = (IASTNode)adaptor.Create(lb); root_0 = (IASTNode)adaptor.BecomeRoot(lb_tree, root_0); lb.Type = INDEX_OP; PushFollow(FOLLOW_expression_in_atom2815); expression234 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression234.Tree); CLOSE_BRACKET235=(IToken)Match(input,CLOSE_BRACKET,FOLLOW_CLOSE_BRACKET_in_atom2817); } break; default: goto loop79; } } while (true); loop79: ; // Stops C# compiler whining that label 'loop79' 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; }