docs: public final void assignmentOperator() throws RecognitionException {
  		try {
  			// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:685:5: ( EQUALS_ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | MULT_ASSIGN | DIV_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | MOD_ASSIGN | LESS LESS EQUALS_ASSIGN | ( GREATER GREATER GREATER )=> GREATER GREATER GREATER EQUALS_ASSIGN | ( GREATER GREATER )=> GREATER GREATER EQUALS_ASSIGN )
  			int alt89=12;
  			switch ( input.LA(1) ) {
  			case EQUALS_ASSIGN:
  				{
  				alt89=1;
  				}
  				break;
  			case PLUS_ASSIGN:
  				{
  				alt89=2;
  				}
  				break;
  			case MINUS_ASSIGN:
  				{
  				alt89=3;
  				}
  				break;
  			case MULT_ASSIGN:
  				{
  				alt89=4;
  				}
  				break;
  			case DIV_ASSIGN:
  				{
  				alt89=5;
  				}
  				break;
  			case AND_ASSIGN:
  				{
  				alt89=6;
  				}
  				break;
  			case OR_ASSIGN:
  				{
  				alt89=7;
  				}
  				break;
  			case XOR_ASSIGN:
  				{
  				alt89=8;
  				}
  				break;
  			case MOD_ASSIGN:
  				{
  				alt89=9;
  				}
  				break;
  			case LESS:
  				{
  				alt89=10;
  				}
  				break;
  			case GREATER:
  				{
  				int LA89_11 = input.LA(2);
  				if ( (LA89_11==GREATER) ) {
  					int LA89_12 = input.LA(3);
  					if ( (LA89_12==GREATER) && (synpred42_DRL5Expressions())) {
  						alt89=11;
  					}
  					else if ( (LA89_12==EQUALS_ASSIGN) && (synpred43_DRL5Expressions())) {
  						alt89=12;
  					}
  
  				}
  
  				else {
  					if (state.backtracking>0) {state.failed=true; return;}
  					int nvaeMark = input.mark();
  					try {
  						input.consume();
  						NoViableAltException nvae =
  							new NoViableAltException("", 89, 11, input);
  						throw nvae;
  					} finally {
  						input.rewind(nvaeMark);
  					}
  				}
  
  				}
  				break;
  			default:
  				if (state.backtracking>0) {state.failed=true; return;}
  				NoViableAltException nvae =
  					new NoViableAltException("", 89, 0, input);
  				throw nvae;
  			}
  			switch (alt89) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:685:9: EQUALS_ASSIGN
  					{
  					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4158); if (state.failed) return;
  					}
  					break;
  				case 2 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:686:7: PLUS_ASSIGN
  					{
  					match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_assignmentOperator4166); if (state.failed) return;
  					}
  					break;
  				case 3 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:687:7: MINUS_ASSIGN
  					{
  					match(input,MINUS_ASSIGN,FOLLOW_MINUS_ASSIGN_in_assignmentOperator4174); if (state.failed) return;
  					}
  					break;
  				case 4 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:688:7: MULT_ASSIGN
  					{
  					match(input,MULT_ASSIGN,FOLLOW_MULT_ASSIGN_in_assignmentOperator4182); if (state.failed) return;
  					}
  					break;
  				case 5 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:689:7: DIV_ASSIGN
  					{
  					match(input,DIV_ASSIGN,FOLLOW_DIV_ASSIGN_in_assignmentOperator4190); if (state.failed) return;
  					}
  					break;
  				case 6 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:690:7: AND_ASSIGN
  					{
  					match(input,AND_ASSIGN,FOLLOW_AND_ASSIGN_in_assignmentOperator4198); if (state.failed) return;
  					}
  					break;
  				case 7 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:691:7: OR_ASSIGN
  					{
  					match(input,OR_ASSIGN,FOLLOW_OR_ASSIGN_in_assignmentOperator4206); if (state.failed) return;
  					}
  					break;
  				case 8 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:692:7: XOR_ASSIGN
  					{
  					match(input,XOR_ASSIGN,FOLLOW_XOR_ASSIGN_in_assignmentOperator4214); if (state.failed) return;
  					}
  					break;
  				case 9 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:693:7: MOD_ASSIGN
  					{
  					match(input,MOD_ASSIGN,FOLLOW_MOD_ASSIGN_in_assignmentOperator4222); if (state.failed) return;
  					}
  					break;
  				case 10 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:694:7: LESS LESS EQUALS_ASSIGN
  					{
  					match(input,LESS,FOLLOW_LESS_in_assignmentOperator4230); if (state.failed) return;
  					match(input,LESS,FOLLOW_LESS_in_assignmentOperator4232); if (state.failed) return;
  					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4234); if (state.failed) return;
  					}
  					break;
  				case 11 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:695:7: ( GREATER GREATER GREATER )=> GREATER GREATER GREATER EQUALS_ASSIGN
  					{
  					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4251); if (state.failed) return;
  					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4253); if (state.failed) return;
  					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4255); if (state.failed) return;
  					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4257); if (state.failed) return;
  					}
  					break;
  				case 12 :
  					// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:696:7: ( GREATER GREATER )=> GREATER GREATER EQUALS_ASSIGN
  					{
  					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4272); if (state.failed) return;
  					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4274); if (state.failed) return;
  					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4276); if (state.failed) return;
  					}
  					break;
  
  			}
  		}
  
  		catch (RecognitionException re) {
  		    throw re;
  		}
  
  		finally {
  			// do for sure before leaving
  		}
  	}