// $ANTLR start "logicalOrExpression" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:362:1: logicalOrExpression : logicalAndExpression ( OR logicalAndExpression )* ; public HqlParser.logicalOrExpression_return logicalOrExpression() // throws RecognitionException [1] { HqlParser.logicalOrExpression_return retval = new HqlParser.logicalOrExpression_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken OR143 = null; HqlParser.logicalAndExpression_return logicalAndExpression142 = default(HqlParser.logicalAndExpression_return); HqlParser.logicalAndExpression_return logicalAndExpression144 = default(HqlParser.logicalAndExpression_return); IASTNode OR143_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:363:2: ( logicalAndExpression ( OR logicalAndExpression )* ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:363:4: logicalAndExpression ( OR logicalAndExpression )* { root_0 = (IASTNode)adaptor.GetNilNode(); PushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression1804); logicalAndExpression142 = logicalAndExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, logicalAndExpression142.Tree); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:363:25: ( OR logicalAndExpression )* do { int alt45 = 2; int LA45_0 = input.LA(1); if ( (LA45_0 == OR) ) { alt45 = 1; } switch (alt45) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:363:27: OR logicalAndExpression { OR143=(IToken)Match(input,OR,FOLLOW_OR_in_logicalOrExpression1808); OR143_tree = (IASTNode)adaptor.Create(OR143); root_0 = (IASTNode)adaptor.BecomeRoot(OR143_tree, root_0); PushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression1811); logicalAndExpression144 = logicalAndExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, logicalAndExpression144.Tree); } break; default: goto loop45; } } while (true); loop45: ; // Stops C# compiler whining that label 'loop45' 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 "logicalOrExpression" // Hql.g:380:1: logicalOrExpression : logicalAndExpression ( OR logicalAndExpression )* ; public HqlParser.logicalOrExpression_return logicalOrExpression() // throws RecognitionException [1] { HqlParser.logicalOrExpression_return retval = new HqlParser.logicalOrExpression_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken OR156 = null; HqlParser.logicalAndExpression_return logicalAndExpression155 = default(HqlParser.logicalAndExpression_return); HqlParser.logicalAndExpression_return logicalAndExpression157 = default(HqlParser.logicalAndExpression_return); IASTNode OR156_tree=null; try { // Hql.g:381:2: ( logicalAndExpression ( OR logicalAndExpression )* ) // Hql.g:381:4: logicalAndExpression ( OR logicalAndExpression )* { root_0 = (IASTNode)adaptor.GetNilNode(); PushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression1902); logicalAndExpression155 = logicalAndExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, logicalAndExpression155.Tree); // Hql.g:381:25: ( OR logicalAndExpression )* do { int alt51 = 2; int LA51_0 = input.LA(1); if ( (LA51_0 == OR) ) { alt51 = 1; } switch (alt51) { case 1 : // Hql.g:381:27: OR logicalAndExpression { OR156=(IToken)Match(input,OR,FOLLOW_OR_in_logicalOrExpression1906); OR156_tree = (IASTNode)adaptor.Create(OR156); root_0 = (IASTNode)adaptor.BecomeRoot(OR156_tree, root_0); PushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression1909); logicalAndExpression157 = logicalAndExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, logicalAndExpression157.Tree); } break; default: goto loop51; } } while (true); loop51: ; // Stops C# compiler whining that label 'loop51' 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; }