docs: public final void relationalOp() throws RecognitionException {
  		int relationalOp_StartIndex = input.index();
  
  		try {
  			if ( state.backtracking>0 && alreadyParsedRule(input, 119) ) { return; }
  
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1174:5: ( ( '<' '=' | '>' '=' | '<' | '>' ) )
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1174:7: ( '<' '=' | '>' '=' | '<' | '>' )
  			{
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1174:7: ( '<' '=' | '>' '=' | '<' | '>' )
  			int alt151=4;
  			int LA151_0 = input.LA(1);
  			if ( (LA151_0==53) ) {
  				int LA151_1 = input.LA(2);
  				if ( (LA151_1==54) ) {
  					alt151=1;
  				}
  				else if ( ((LA151_1 >= CharacterLiteral && LA151_1 <= DecimalLiteral)||LA151_1==FloatingPointLiteral||(LA151_1 >= HexLiteral && LA151_1 <= Identifier)||(LA151_1 >= OctalLiteral && LA151_1 <= StringLiteral)||LA151_1==29||LA151_1==36||(LA151_1 >= 40 && LA151_1 <= 41)||(LA151_1 >= 44 && LA151_1 <= 45)||LA151_1==53||LA151_1==65||LA151_1==67||(LA151_1 >= 70 && LA151_1 <= 71)||LA151_1==77||(LA151_1 >= 79 && LA151_1 <= 80)||LA151_1==82||LA151_1==85||LA151_1==92||LA151_1==94||(LA151_1 >= 97 && LA151_1 <= 98)||LA151_1==105||LA151_1==108||LA151_1==111||LA151_1==115||LA151_1==118||LA151_1==126) ) {
  					alt151=3;
  				}
  
  				else {
  					if (state.backtracking>0) {state.failed=true; return;}
  					int nvaeMark = input.mark();
  					try {
  						input.consume();
  						NoViableAltException nvae =
  							new NoViableAltException("", 151, 1, input);
  						throw nvae;
  					} finally {
  						input.rewind(nvaeMark);
  					}
  				}
  
  			}
  			else if ( (LA151_0==56) ) {
  				int LA151_2 = input.LA(2);
  				if ( (LA151_2==54) ) {
  					alt151=2;
  				}
  				else if ( ((LA151_2 >= CharacterLiteral && LA151_2 <= DecimalLiteral)||LA151_2==FloatingPointLiteral||(LA151_2 >= HexLiteral && LA151_2 <= Identifier)||(LA151_2 >= OctalLiteral && LA151_2 <= StringLiteral)||LA151_2==29||LA151_2==36||(LA151_2 >= 40 && LA151_2 <= 41)||(LA151_2 >= 44 && LA151_2 <= 45)||LA151_2==53||LA151_2==65||LA151_2==67||(LA151_2 >= 70 && LA151_2 <= 71)||LA151_2==77||(LA151_2 >= 79 && LA151_2 <= 80)||LA151_2==82||LA151_2==85||LA151_2==92||LA151_2==94||(LA151_2 >= 97 && LA151_2 <= 98)||LA151_2==105||LA151_2==108||LA151_2==111||LA151_2==115||LA151_2==118||LA151_2==126) ) {
  					alt151=4;
  				}
  
  				else {
  					if (state.backtracking>0) {state.failed=true; return;}
  					int nvaeMark = input.mark();
  					try {
  						input.consume();
  						NoViableAltException nvae =
  							new NoViableAltException("", 151, 2, input);
  						throw nvae;
  					} finally {
  						input.rewind(nvaeMark);
  					}
  				}
  
  			}
  
  			else {
  				if (state.backtracking>0) {state.failed=true; return;}
  				NoViableAltException nvae =
  					new NoViableAltException("", 151, 0, input);
  				throw nvae;
  			}
  
  			switch (alt151) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1174:8: '<' '='
  					{
  					match(input,53,FOLLOW_53_in_relationalOp5301); if (state.failed) return;
  					match(input,54,FOLLOW_54_in_relationalOp5303); if (state.failed) return;
  					}
  					break;
  				case 2 :
  					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1174:18: '>' '='
  					{
  					match(input,56,FOLLOW_56_in_relationalOp5307); if (state.failed) return;
  					match(input,54,FOLLOW_54_in_relationalOp5309); if (state.failed) return;
  					}
  					break;
  				case 3 :
  					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1174:28: '<'
  					{
  					match(input,53,FOLLOW_53_in_relationalOp5313); if (state.failed) return;
  					}
  					break;
  				case 4 :
  					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1174:34: '>'
  					{
  					match(input,56,FOLLOW_56_in_relationalOp5317); if (state.failed) return;
  					}
  					break;
  
  			}
  
  			}
  
  		}
  		catch (RecognitionException re) {
  			reportError(re);
  			recover(input,re);
  		}
  		finally {
  			// do for sure before leaving
  			if ( state.backtracking>0 ) { memoize(input, 119, relationalOp_StartIndex); }
  
  		}
  	}