docs: public final void synpred8_DRL5Expressions_fragment() throws RecognitionException {
  		// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:382:5: ( operator | LEFT_PAREN )
  		int alt90=2;
  		int LA90_0 = input.LA(1);
  		if ( (LA90_0==EQUALS||(LA90_0 >= GREATER && LA90_0 <= GREATER_EQUALS)||(LA90_0 >= LESS && LA90_0 <= LESS_EQUALS)||LA90_0==NOT_EQUALS||LA90_0==TILDE) ) {
  			alt90=1;
  		}
  		else if ( (LA90_0==ID) && ((((helper.validateIdentifierKey(DroolsSoftKeywords.NOT)))||((helper.isPluggableEvaluator(false)))))) {
  			alt90=1;
  		}
  		else if ( (LA90_0==LEFT_PAREN) ) {
  			alt90=2;
  		}
  
  		else {
  			if (state.backtracking>0) {state.failed=true; return;}
  			NoViableAltException nvae =
  				new NoViableAltException("", 90, 0, input);
  			throw nvae;
  		}
  
  		switch (alt90) {
  			case 1 :
  				// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:382:7: operator
  				{
  				pushFollow(FOLLOW_operator_in_synpred8_DRL5Expressions1764);
  				operator();
  				state._fsp--;
  				if (state.failed) return;
  				}
  				break;
  			case 2 :
  				// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:382:18: LEFT_PAREN
  				{
  				match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred8_DRL5Expressions1768); if (state.failed) return;
  				}
  				break;
  
  		}
  	}