public final BaseDescr inclusiveOrExpression() throws RecognitionException {
		BaseDescr result = null;


		BaseDescr left =null;
		BaseDescr right =null;

		try {
			// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:247:3: (left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )* )
			// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:247:5: left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )*
			{
			pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression1254);
			left=exclusiveOrExpression();
			state._fsp--;
			if (state.failed) return result;
			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
			// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:248:3: ( PIPE right= exclusiveOrExpression )*
			loop28:
			while (true) {
				int alt28=2;
				int LA28_0 = input.LA(1);
				if ( (LA28_0==PIPE) ) {
					alt28=1;
				}

				switch (alt28) {
				case 1 :
					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:248:5: PIPE right= exclusiveOrExpression
					{
					match(input,PIPE,FOLLOW_PIPE_in_inclusiveOrExpression1262); if (state.failed) return result;
					pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression1266);
					right=exclusiveOrExpression();
					state._fsp--;
					if (state.failed) return result;
					if ( state.backtracking==0 ) { if( buildDescr  ) {
					               ConstraintConnectiveDescr descr = ConstraintConnectiveDescr.newIncOr();
					               descr.addOrMerge( result );
					               descr.addOrMerge( right );
					               result = descr;
					           }
					         }
					}
					break;

				default :
					break loop28;
				}
			}

			}

		}

		catch (RecognitionException re) {
		    throw re;
		}

		finally {
			// do for sure before leaving
		}
		return result;
	}
public final BaseDescr inclusiveOrExpression ( ) throws RecognitionException { BaseDescr result = null ; BaseDescr left = null ; BaseDescr right = null ; try { { pushFollow ( FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression1254 ) ; left = exclusiveOrExpression ( ) ; state . _fsp -- ; if ( state . failed ) return result ; if ( state . backtracking == 0 ) { if ( buildDescr ) { result = left ; } } loop28 : while ( true ) { int alt28 = 2 ; int LA28_0 = input . LA ( 1 ) ; if ( ( LA28_0 == PIPE ) ) { alt28 = 1 ; } switch ( alt28 ) { case 1 : { match ( input , PIPE , FOLLOW_PIPE_in_inclusiveOrExpression1262 ) ; if ( state . failed ) return result ; pushFollow ( FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression1266 ) ; right = exclusiveOrExpression ( ) ; state . _fsp -- ; if ( state . failed ) return result ; if ( state . backtracking == 0 ) { if ( buildDescr ) { ConstraintConnectiveDescr descr = ConstraintConnectiveDescr . newIncOr ( ) ; descr . addOrMerge ( result ) ; descr . addOrMerge ( right ) ; result = descr ; } } } break ; default : break loop28 ; } } } } catch ( RecognitionException re ) { throw re ; } finally { } return result ; }
src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:246:1: inclusiveOrExpression returns [BaseDescr result] : left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )* ;