code: function(){
      var node = this.supportsNegation()
        || this.supportsOp();
      if (!node) {
        this.cond = true;
        node = this.expression();
        this.cond = false;
      }
      return node;
    }
docs: supports negation
  | supports op
  | expression