docs: public final void mESC_SEQ() throws RecognitionException {
          try {
              // com/dyuproject/protostuff/parser/ProtoLexer.g:280:5: ( '\\\\' ( 'a' | 'v' | 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | '\\\\' ( 'x' | 'X' ) HEX_DIGIT HEX_DIGIT | UNICODE_ESC | OCTAL_ESC )
              int alt18=4;
              switch ( input.LA(1) ) {
              case '\\':
                  {
                  switch ( input.LA(2) ) {
                  case '\"':
                  case '\'':
                  case '\\':
                  case 'a':
                  case 'b':
                  case 'f':
                  case 'n':
                  case 'r':
                  case 't':
                  case 'v':
                      {
                      alt18=1;
                      }
                      break;
                  case 'X':
                  case 'x':
                      {
                      alt18=2;
                      }
                      break;
                  case 'u':
                      {
                      alt18=3;
                      }
                      break;
                  case '0':
                  case '1':
                  case '2':
                  case '3':
                  case '4':
                  case '5':
                  case '6':
                  case '7':
                      {
                      alt18=4;
                      }
                      break;
                  default:
                      NoViableAltException nvae =
                          new NoViableAltException("", 18, 1, input);
  
                      throw nvae;
                  }
  
                  }
                  break;
              default:
                  NoViableAltException nvae =
                      new NoViableAltException("", 18, 0, input);
  
                  throw nvae;
              }
  
              switch (alt18) {
                  case 1 :
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:280:9: '\\\\' ( 'a' | 'v' | 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
                      {
                      match('\\'); 
                      if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||(input.LA(1)>='a' && input.LA(1)<='b')||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t'||input.LA(1)=='v' ) {
                          input.consume();
  
                      }
                      else {
                          MismatchedSetException mse = new MismatchedSetException(null,input);
                          recover(mse);
                          throw mse;}
  
  
                      }
                      break;
                  case 2 :
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:281:9: '\\\\' ( 'x' | 'X' ) HEX_DIGIT HEX_DIGIT
                      {
                      match('\\'); 
                      if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
                          input.consume();
  
                      }
                      else {
                          MismatchedSetException mse = new MismatchedSetException(null,input);
                          recover(mse);
                          throw mse;}
  
                      mHEX_DIGIT(); 
                      mHEX_DIGIT(); 
  
                      }
                      break;
                  case 3 :
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:282:9: UNICODE_ESC
                      {
                      mUNICODE_ESC(); 
  
                      }
                      break;
                  case 4 :
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:283:9: OCTAL_ESC
                      {
                      mOCTAL_ESC(); 
  
                      }
                      break;
  
              }
          }
          finally {
          }
      }