docs: public final QueryParser.not_return not() throws RecognitionException {
          QueryParser.not_return retval = new QueryParser.not_return();
          retval.start = input.LT(1);
  
          CommonTree root_0 = null;
  
          Token NOT15=null;
          Token WS16=null;
          QueryParser.not_return not17 = null;
  
          QueryParser.primary_return primary18 = null;
  
  
          CommonTree NOT15_tree=null;
          CommonTree WS16_tree=null;
  
          try {
              // src/riemann/Query.g:32:5: ( NOT ( WS )* ( not | primary ) )
              // src/riemann/Query.g:32:7: NOT ( WS )* ( not | primary )
              {
              root_0 = (CommonTree)adaptor.nil();
  
              NOT15=(Token)match(input,NOT,FOLLOW_NOT_in_not216); 
              NOT15_tree = (CommonTree)adaptor.create(NOT15);
              root_0 = (CommonTree)adaptor.becomeRoot(NOT15_tree, root_0);
  
              // src/riemann/Query.g:32:12: ( WS )*
              loop9:
              do {
                  int alt9=2;
                  int LA9_0 = input.LA(1);
  
                  if ( (LA9_0==WS) ) {
                      alt9=1;
                  }
  
  
                  switch (alt9) {
              	case 1 :
              	    // src/riemann/Query.g:32:12: WS
              	    {
              	    WS16=(Token)match(input,WS,FOLLOW_WS_in_not219); 
              	    WS16_tree = (CommonTree)adaptor.create(WS16);
              	    adaptor.addChild(root_0, WS16_tree);
  
  
              	    }
              	    break;
  
              	default :
              	    break loop9;
                  }
              } while (true);
  
              // src/riemann/Query.g:32:16: ( not | primary )
              int alt10=2;
              int LA10_0 = input.LA(1);
  
              if ( (LA10_0==NOT) ) {
                  alt10=1;
              }
              else if ( (LA10_0==TAGGED||LA10_0==25||(LA10_0>=27 && LA10_0<=38)) ) {
                  alt10=2;
              }
              else {
                  NoViableAltException nvae =
                      new NoViableAltException("", 10, 0, input);
  
                  throw nvae;
              }
              switch (alt10) {
                  case 1 :
                      // src/riemann/Query.g:32:17: not
                      {
                      pushFollow(FOLLOW_not_in_not223);
                      not17=not();
  
                      state._fsp--;
  
                      adaptor.addChild(root_0, not17.getTree());
  
                      }
                      break;
                  case 2 :
                      // src/riemann/Query.g:32:23: primary
                      {
                      pushFollow(FOLLOW_primary_in_not227);
                      primary18=primary();
  
                      state._fsp--;
  
                      adaptor.addChild(root_0, primary18.getTree());
  
                      }
                      break;
  
              }
  
  
              }
  
              retval.stop = input.LT(-1);
  
              retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
              adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
      	retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
  
          }
          finally {
          }
          return retval;
      }