parseman 0.61.1 → 0.61.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"compile-rule-map.d.ts","sourceRoot":"","sources":["../../src/table/compile-rule-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAgD,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAU3G,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAoB,KAAK,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AACtG,OAAO,EAAiC,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IACrC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;IACzC,mGAAmG;IACnG,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,uBAAuB,CACrB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAAE,GAClD,MAAM,CAAA;IACT;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvJ,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,iBAAiB,CAAA;IAC7B;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAChC,uFAAuF;IACvF,IAAI,EAAE,YAAY,CAAA;IAClB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAA;CAC3D,CAAA;AA2ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9D,IAAI,GAAE,mBAAwB,GAC7B,IAAI,CAAC,oBAAoB,EAAE,aAAa,GAAG,yBAAyB,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAiBjG;AAmCD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9D,IAAI,GAAE,mBAAwB,GAC7B,oBAAoB,GAAG,IAAI,CA0H7B"}
1
+ {"version":3,"file":"compile-rule-map.d.ts","sourceRoot":"","sources":["../../src/table/compile-rule-map.ts"],"names":[],"mappings":"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"}
@@ -3628,7 +3628,7 @@ function regex(pattern, flags = "") {
3628
3628
  }
3629
3629
 
3630
3630
  // src/version.ts
3631
- var PARSEMAN_VERSION = "0.61.1";
3631
+ var PARSEMAN_VERSION = "0.61.3";
3632
3632
 
3633
3633
  // src/table/lex-body.ts
3634
3634
  function buildLexBodyRecognizer(spec, constants) {
@@ -18166,13 +18166,21 @@ function selectHotSites(code, entries, siteBytes, budget, profile) {
18166
18166
  let spent = 0;
18167
18167
  for (const ip of ranked) {
18168
18168
  if (w(ip) === 0) break;
18169
- const bytes = siteBytes.get(ip);
18170
- if (spent + bytes > budget) continue;
18171
- spent += bytes;
18169
+ spent += siteBytes.get(ip);
18170
+ if (spent > budget) break;
18172
18171
  selected.add(ip);
18173
18172
  }
18174
18173
  return selected;
18175
18174
  }
18175
+ function fitHotSites(code, entries, siteBytes, fixed, ceiling, sourceBytes, profile) {
18176
+ const ranked = [...selectHotSites(code, entries, siteBytes, ceiling - fixed, profile)];
18177
+ for (; ranked.length > 0; ranked.pop()) {
18178
+ const sites = new Set(ranked);
18179
+ const bytes = sourceBytes(sites);
18180
+ if (bytes <= ceiling) return { sites, bytes };
18181
+ }
18182
+ return void 0;
18183
+ }
18176
18184
  function staticWeights(code, entries) {
18177
18185
  let weight = /* @__PURE__ */ new Map();
18178
18186
  const kids = [];
@@ -18312,19 +18320,20 @@ function compileRuleMap(ruleMap, opts = {}) {
18312
18320
  }
18313
18321
  const ceiling = budget / SUPERCOMPILE_GROWTH;
18314
18322
  if (ceiling <= fixed) return none;
18315
- let target = ceiling;
18316
- for (; ; ) {
18317
- const sites = selectHotSites(artifact.code, Object.values(artifact.rules), siteBytes, target - fixed, profile);
18318
- if (sites.size === 0) {
18319
- return {
18320
- ...none,
18321
- refusal: `a site within its ${Math.floor(ceiling)} B selection ceiling (the prelude alone is ${fixed} B)`
18322
- };
18323
- }
18324
- const bytes = emitAssemblySource(table, artifact, cfg, roots, true, sites, true).source.length;
18325
- if (bytes <= ceiling) return { sites, bytes: Math.ceil(bytes * SUPERCOMPILE_GROWTH) };
18326
- target *= Math.min(ceiling / bytes, 0.99);
18327
- }
18323
+ const fit = fitHotSites(
18324
+ artifact.code,
18325
+ Object.values(artifact.rules),
18326
+ siteBytes,
18327
+ fixed,
18328
+ ceiling,
18329
+ (sites) => emitAssemblySource(table, artifact, cfg, roots, true, sites, true).source.length,
18330
+ profile
18331
+ );
18332
+ if (fit !== void 0) return { sites: fit.sites, bytes: Math.ceil(fit.bytes * SUPERCOMPILE_GROWTH) };
18333
+ return {
18334
+ ...none,
18335
+ refusal: `a site within its ${Math.floor(ceiling)} B selection ceiling (the prelude alone is ${fixed} B)`
18336
+ };
18328
18337
  };
18329
18338
  return {
18330
18339
  keys: ruleMap.map(([key]) => key),