docs: public final AntlrDatatypeRuleToken ruleOperators() throws RecognitionException {
          AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
  
          AntlrDatatypeRuleToken this_OpMultiAssign_0 = null;
  
          AntlrDatatypeRuleToken this_OpOr_1 = null;
  
          AntlrDatatypeRuleToken this_OpAnd_2 = null;
  
          AntlrDatatypeRuleToken this_OpEquality_3 = null;
  
          AntlrDatatypeRuleToken this_OpCompare_4 = null;
  
          AntlrDatatypeRuleToken this_OpOther_5 = null;
  
          AntlrDatatypeRuleToken this_OpMulti_6 = null;
  
          AntlrDatatypeRuleToken this_OpUnary_7 = null;
  
          AntlrDatatypeRuleToken this_OpPostfix_8 = null;
  
  
  
          	enterRule();
  
          try {
              // InternalSARL.g:9557:2: ( (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix ) )
              // InternalSARL.g:9558:2: (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix )
              {
              // InternalSARL.g:9558:2: (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix )
              int alt251=9;
              alt251 = dfa251.predict(input);
              switch (alt251) {
                  case 1 :
                      // InternalSARL.g:9559:3: this_OpMultiAssign_0= ruleOpMultiAssign
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpMultiAssignParserRuleCall_0());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpMultiAssign_0=ruleOpMultiAssign();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpMultiAssign_0);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
                  case 2 :
                      // InternalSARL.g:9570:3: this_OpOr_1= ruleOpOr
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpOrParserRuleCall_1());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpOr_1=ruleOpOr();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpOr_1);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
                  case 3 :
                      // InternalSARL.g:9581:3: this_OpAnd_2= ruleOpAnd
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpAndParserRuleCall_2());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpAnd_2=ruleOpAnd();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpAnd_2);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
                  case 4 :
                      // InternalSARL.g:9592:3: this_OpEquality_3= ruleOpEquality
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpEqualityParserRuleCall_3());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpEquality_3=ruleOpEquality();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpEquality_3);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
                  case 5 :
                      // InternalSARL.g:9603:3: this_OpCompare_4= ruleOpCompare
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpCompareParserRuleCall_4());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpCompare_4=ruleOpCompare();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpCompare_4);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
                  case 6 :
                      // InternalSARL.g:9614:3: this_OpOther_5= ruleOpOther
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpOtherParserRuleCall_5());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpOther_5=ruleOpOther();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpOther_5);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
                  case 7 :
                      // InternalSARL.g:9625:3: this_OpMulti_6= ruleOpMulti
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpMultiParserRuleCall_6());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpMulti_6=ruleOpMulti();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpMulti_6);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
                  case 8 :
                      // InternalSARL.g:9636:3: this_OpUnary_7= ruleOpUnary
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpUnaryParserRuleCall_7());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpUnary_7=ruleOpUnary();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpUnary_7);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
                  case 9 :
                      // InternalSARL.g:9647:3: this_OpPostfix_8= ruleOpPostfix
                      {
                      if ( state.backtracking==0 ) {
  
                        			newCompositeNode(grammarAccess.getOperatorsAccess().getOpPostfixParserRuleCall_8());
                        		
                      }
                      pushFollow(FOLLOW_2);
                      this_OpPostfix_8=ruleOpPostfix();
  
                      state._fsp--;
                      if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        			current.merge(this_OpPostfix_8);
                        		
                      }
                      if ( state.backtracking==0 ) {
  
                        			afterParserOrEnumRuleCall();
                        		
                      }
  
                      }
                      break;
  
              }
  
  
              }
  
              if ( state.backtracking==0 ) {
  
                	leaveRule();
  
              }
          }
  
              catch (RecognitionException re) {
                  recover(input,re);
                  appendSkippedTokens();
              }
          finally {
          }
          return current;
      }