docs: public final void mNUMDOUBLE() throws RecognitionException {
          try {
              int _type = NUMDOUBLE;
              int _channel = DEFAULT_TOKEN_CHANNEL;
              // com/dyuproject/protostuff/parser/ProtoLexer.g:239:5: ( ( NUMFLOAT | NUMINT ) 'e' ( '0' .. '9' )+ )
              // com/dyuproject/protostuff/parser/ProtoLexer.g:239:9: ( NUMFLOAT | NUMINT ) 'e' ( '0' .. '9' )+
              {
              // com/dyuproject/protostuff/parser/ProtoLexer.g:239:9: ( NUMFLOAT | NUMINT )
              int alt3=2;
              alt3 = dfa3.predict(input);
              switch (alt3) {
                  case 1 :
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:239:10: NUMFLOAT
                      {
                      mNUMFLOAT(); 
  
                      }
                      break;
                  case 2 :
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:239:19: NUMINT
                      {
                      mNUMINT(); 
  
                      }
                      break;
  
              }
  
              match('e'); 
              // com/dyuproject/protostuff/parser/ProtoLexer.g:240:13: ( '0' .. '9' )+
              int cnt4=0;
              loop4:
              do {
                  int alt4=2;
                  switch ( input.LA(1) ) {
                  case '0':
                  case '1':
                  case '2':
                  case '3':
                  case '4':
                  case '5':
                  case '6':
                  case '7':
                  case '8':
                  case '9':
                      {
                      alt4=1;
                      }
                      break;
  
                  }
  
                  switch (alt4) {
              	case 1 :
              	    // com/dyuproject/protostuff/parser/ProtoLexer.g:240:13: '0' .. '9'
              	    {
              	    matchRange('0','9'); 
  
              	    }
              	    break;
  
              	default :
              	    if ( cnt4 >= 1 ) break loop4;
                          EarlyExitException eee =
                              new EarlyExitException(4, input);
                          throw eee;
                  }
                  cnt4++;
              } while (true);
  
  
              }
  
              state.type = _type;
              state.channel = _channel;
          }
          finally {
          }
      }