docs: public final void mSTRING_LITERAL() throws RecognitionException {
          try {
              int _type = STRING_LITERAL;
              int _channel = DEFAULT_TOKEN_CHANNEL;
              // com/dyuproject/protostuff/parser/ProtoLexer.g:272:5: ( '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"' )
              // com/dyuproject/protostuff/parser/ProtoLexer.g:272:9: '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"'
              {
              match('\"'); 
              // com/dyuproject/protostuff/parser/ProtoLexer.g:272:13: ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )*
              loop17:
              do {
                  int alt17=3;
                  int LA17_0 = input.LA(1);
  
                  if ( (LA17_0=='\\') ) {
                      alt17=1;
                  }
                  else if ( ((LA17_0>='\u0000' && LA17_0<='!')||(LA17_0>='#' && LA17_0<='[')||(LA17_0>=']' && LA17_0<='\uFFFF')) ) {
                      alt17=2;
                  }
  
  
                  switch (alt17) {
              	case 1 :
              	    // com/dyuproject/protostuff/parser/ProtoLexer.g:272:15: ESC_SEQ
              	    {
              	    mESC_SEQ(); 
  
              	    }
              	    break;
              	case 2 :
              	    // com/dyuproject/protostuff/parser/ProtoLexer.g:272:25: ~ ( '\\\\' | '\"' )
              	    {
              	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
              	        input.consume();
  
              	    }
              	    else {
              	        MismatchedSetException mse = new MismatchedSetException(null,input);
              	        recover(mse);
              	        throw mse;}
  
  
              	    }
              	    break;
  
              	default :
              	    break loop17;
                  }
              } while (true);
  
              match('\"'); 
  
              }
  
              state.type = _type;
              state.channel = _channel;
          }
          finally {
          }
      }