constructor(e, t) {
    this.input = void 0, this.settings = void 0, this.tokenRegex = void 0, this.catcodes = void 0, this.input = e, this.settings = t, this.tokenRegex = new RegExp(g6, "g"), this.catcodes = {
      "%": 14,
      // comment character
      "~": 13
      // active character
    };
  }
Both arguments are optional.  The first argument is an object of
built-in mappings which never change.  The second argument is an object
of initial (global-level) mappings, which will constantly change
according to any global/top-level `set`s done.