docs: public final void mNUMINT() throws RecognitionException {
          try {
              int _type = NUMINT;
              int _channel = DEFAULT_TOKEN_CHANNEL;
              // com/dyuproject/protostuff/parser/ProtoLexer.g:248:5: ( '0' | ( MINUS )? '1' .. '9' ( '0' .. '9' )* )
              int alt9=2;
              switch ( input.LA(1) ) {
              case '0':
                  {
                  alt9=1;
                  }
                  break;
              case '-':
              case '1':
              case '2':
              case '3':
              case '4':
              case '5':
              case '6':
              case '7':
              case '8':
              case '9':
                  {
                  alt9=2;
                  }
                  break;
              default:
                  NoViableAltException nvae =
                      new NoViableAltException("", 9, 0, input);
  
                  throw nvae;
              }
  
              switch (alt9) {
                  case 1 :
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:248:9: '0'
                      {
                      match('0'); 
  
                      }
                      break;
                  case 2 :
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:248:15: ( MINUS )? '1' .. '9' ( '0' .. '9' )*
                      {
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:248:15: ( MINUS )?
                      int alt7=2;
                      switch ( input.LA(1) ) {
                          case '-':
                              {
                              alt7=1;
                              }
                              break;
                      }
  
                      switch (alt7) {
                          case 1 :
                              // com/dyuproject/protostuff/parser/ProtoLexer.g:248:15: MINUS
                              {
                              mMINUS(); 
  
                              }
                              break;
  
                      }
  
                      matchRange('1','9'); 
                      // com/dyuproject/protostuff/parser/ProtoLexer.g:248:31: ( '0' .. '9' )*
                      loop8:
                      do {
                          int alt8=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':
                              {
                              alt8=1;
                              }
                              break;
  
                          }
  
                          switch (alt8) {
                      	case 1 :
                      	    // com/dyuproject/protostuff/parser/ProtoLexer.g:248:31: '0' .. '9'
                      	    {
                      	    matchRange('0','9'); 
  
                      	    }
                      	    break;
  
                      	default :
                      	    break loop8;
                          }
                      } while (true);
  
  
                      }
                      break;
  
              }
              state.type = _type;
              state.channel = _channel;
          }
          finally {
          }
      }