function bitwise(s, f, p) {
    var x = symbol(s, p);
    reserveName(x);
    x.infix = true;
    x.led = (typeof f === "function") ? f : function(context, left) {
      if (state.option.bitwise) {
        warning("W016", this, this.id);
      }
      this.left = left;
      this.right = expression(context, p);
      return this;
    };
    return x;
  }
Convenience function for defining JSHint symbols for bitwise operators.

@param {string} s - the name of the symbol
@param {function} [f] - the left denotation function for the symbol; see
                        the `expression` function for more detail
@param {number} p - the left-binding power of the token as used by the
                    Pratt parsing semantics

@returns {object} - the object describing the JSHint symbol (provided to
                    support cases where further refinement is necessary)