function FutureReservedWord(name, meta) {
    var x = type(name, state.syntax["(identifier)"].nud);

    meta = meta || {};
    meta.isFutureReservedWord = true;

    x.value = name;
    x.identifier = true;
    x.reserved = true;
    x.meta = meta;

    return x;
  }
Convenience function for defining JSHint symbols for keywords that are
only reserved in some circumstances.

@param {string} name - the name of the symbol
@param {object} [meta] - a collection of optional arguments
@param {function} [meta.nud] -the null denotation function for the symbol;
                  see the `expression` function for more detail
@param {boolean} [meta.es5] - `true` if the identifier is reserved
                              in ECMAScript 5 or later
@param {boolean} [meta.strictOnly] - `true` if the identifier is only
                                     reserved in strict mode code.

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