parseman 0.61.0 → 0.61.2
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.
- package/dist/analysis/backtrack.d.ts +50 -0
- package/dist/analysis/backtrack.d.ts.map +1 -0
- package/dist/analysis/diagnostics.d.ts +3 -0
- package/dist/analysis/diagnostics.d.ts.map +1 -1
- package/dist/analysis/diagnostics.js +1116 -123
- package/dist/analysis/diagnostics.js.map +3 -3
- package/dist/analysis/rebuild.d.ts +17 -1
- package/dist/analysis/rebuild.d.ts.map +1 -1
- package/dist/cli/index.js +307 -34
- package/dist/cli/index.js.map +3 -3
- package/dist/combinators/dispatch.d.ts +2 -0
- package/dist/combinators/dispatch.d.ts.map +1 -1
- package/dist/coverage.d.ts.map +1 -1
- package/dist/index.js +31 -25
- package/dist/index.js.map +1 -1
- package/dist/plugin/index.d.ts +3 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +53 -25
- package/dist/plugin/index.js.map +2 -2
- package/dist/table/backtrack-probe.d.ts +41 -0
- package/dist/table/backtrack-probe.d.ts.map +1 -0
- package/dist/table/child-slots.d.ts +10 -0
- package/dist/table/child-slots.d.ts.map +1 -1
- package/dist/table/index.js +21 -15
- package/dist/table/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +5 -1
- package/src/analysis/backtrack.ts +249 -0
- package/src/analysis/diagnostics.ts +4 -0
- package/src/analysis/rebuild.ts +63 -11
- package/src/combinators/dispatch.ts +9 -0
- package/src/coverage.ts +2 -14
- package/src/plugin/index.ts +30 -13
- package/src/table/backtrack-probe.ts +326 -0
- package/src/table/child-slots.ts +30 -14
- package/src/version.ts +1 -1
|
@@ -62,6 +62,8 @@ export declare function matchesDispatchMatcher(value: string, matcher: DispatchM
|
|
|
62
62
|
export declare function startsWith(prefix: string): DispatchStringMatcher;
|
|
63
63
|
export declare function endsWith(suffix: string): DispatchStringMatcher;
|
|
64
64
|
export declare function matches(pattern: RegExp): DispatchStringMatcher;
|
|
65
|
+
/** The matcher a `dispatch()` def records for a case, as the builder that made it. */
|
|
66
|
+
export declare function dispatchMatcher(entry: DispatchMatcherCase): DispatchStringMatcher;
|
|
65
67
|
export declare function when<T>(key: DispatchWhenKey, parser: Combinator<T>, opts?: DispatchWhenOptions): DispatchWhen<T>;
|
|
66
68
|
export declare function when<T>(matcher: DispatchStringMatcher, parser: Combinator<T>, opts?: DispatchWhenOptions): DispatchWhenMatcher<T>;
|
|
67
69
|
export declare function makeWhen(opts?: DispatchWhenOptions): DispatchWhenFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/combinators/dispatch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/combinators/dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/coverage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../src/coverage.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../src/coverage.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3695,6 +3695,16 @@ function matches(pattern) {
|
|
|
3695
3695
|
}
|
|
3696
3696
|
return { kind: "matches", value: pattern.source, flags: pattern.flags };
|
|
3697
3697
|
}
|
|
3698
|
+
function dispatchMatcher(entry) {
|
|
3699
|
+
switch (entry.kind) {
|
|
3700
|
+
case "startsWith":
|
|
3701
|
+
return startsWith(entry.value);
|
|
3702
|
+
case "endsWith":
|
|
3703
|
+
return endsWith(entry.value);
|
|
3704
|
+
case "matches":
|
|
3705
|
+
return matches(new RegExp(entry.value, entry.flags));
|
|
3706
|
+
}
|
|
3707
|
+
}
|
|
3698
3708
|
function when(key, parser2, opts = {}) {
|
|
3699
3709
|
const usesRouted = parserUsesRouted(parser2);
|
|
3700
3710
|
if (isStringMatcher(key)) {
|
|
@@ -5643,7 +5653,7 @@ function sourceLeaf(root, fn) {
|
|
|
5643
5653
|
}
|
|
5644
5654
|
|
|
5645
5655
|
// src/version.ts
|
|
5646
|
-
var PARSEMAN_VERSION = "0.61.
|
|
5656
|
+
var PARSEMAN_VERSION = "0.61.2";
|
|
5647
5657
|
|
|
5648
5658
|
// src/table/lex-body.ts
|
|
5649
5659
|
function buildLexBodyRecognizer(spec, constants) {
|
|
@@ -10801,6 +10811,12 @@ function emitShapeMatch(shape, start, mint, ind, firstChar) {
|
|
|
10801
10811
|
|
|
10802
10812
|
// src/table/child-slots.ts
|
|
10803
10813
|
function childSlots(code, ip, out) {
|
|
10814
|
+
const from = out.length;
|
|
10815
|
+
if (!childSlotOffsets(code, ip, out)) return false;
|
|
10816
|
+
for (let i = from; i < out.length; i++) out[i] = code[out[i]];
|
|
10817
|
+
return true;
|
|
10818
|
+
}
|
|
10819
|
+
function childSlotOffsets(code, ip, out) {
|
|
10804
10820
|
switch (code[ip]) {
|
|
10805
10821
|
// ZERO-WIDTH / TERMINAL ROWS — no successor. `OP_GUARD` and `OP_ADJ` are both
|
|
10806
10822
|
// childless tests. `OP_LIVE` holds a hand-written combinator in `prog.fns`; its
|
|
@@ -10833,7 +10849,7 @@ function childSlots(code, ip, out) {
|
|
|
10833
10849
|
case OP_COV:
|
|
10834
10850
|
case OP_REJECT:
|
|
10835
10851
|
case OP_GAPGATE:
|
|
10836
|
-
out.push(
|
|
10852
|
+
out.push(ip + 1);
|
|
10837
10853
|
return true;
|
|
10838
10854
|
// Single child at `ip + 2`.
|
|
10839
10855
|
case OP_GATE:
|
|
@@ -10850,55 +10866,55 @@ function childSlots(code, ip, out) {
|
|
|
10850
10866
|
case OP_ARMGATE:
|
|
10851
10867
|
case OP_RGATE:
|
|
10852
10868
|
case OP_RGATE2:
|
|
10853
|
-
out.push(
|
|
10869
|
+
out.push(ip + 2);
|
|
10854
10870
|
return true;
|
|
10855
10871
|
// `STRICT strict tolerant` — both encodings are reachable; an assembly keeps one.
|
|
10856
10872
|
case OP_STRICT:
|
|
10857
|
-
out.push(
|
|
10873
|
+
out.push(ip + 1, ip + 2);
|
|
10858
10874
|
return true;
|
|
10859
10875
|
// `ROUTED fallback` — the operand is an offset or −1. The routed token itself is
|
|
10860
10876
|
// data the enclosing `dispatch()` already consumed, so the only edge is the
|
|
10861
10877
|
// fallback.
|
|
10862
10878
|
case OP_ROUTED:
|
|
10863
|
-
if (code[ip + 1] >= 0) out.push(
|
|
10879
|
+
if (code[ip + 1] >= 0) out.push(ip + 1);
|
|
10864
10880
|
return true;
|
|
10865
10881
|
// `DISPATCH sel d other otherRouted n a1 … an` — the SELECTOR is a child on
|
|
10866
10882
|
// exactly the same footing as the arms: it runs inside whatever node and scope
|
|
10867
10883
|
// this site sits in.
|
|
10868
10884
|
case OP_DISPATCH: {
|
|
10869
|
-
out.push(
|
|
10870
|
-
if (code[ip + 3] >= 0) out.push(
|
|
10885
|
+
out.push(ip + 1);
|
|
10886
|
+
if (code[ip + 3] >= 0) out.push(ip + 3);
|
|
10871
10887
|
const n = code[ip + 5];
|
|
10872
|
-
for (let i = 0; i < n; i++) out.push(
|
|
10888
|
+
for (let i = 0; i < n; i++) out.push(ip + 6 + i);
|
|
10873
10889
|
return true;
|
|
10874
10890
|
}
|
|
10875
10891
|
case OP_SEQ:
|
|
10876
10892
|
case OP_SEQV: {
|
|
10877
10893
|
const n = code[ip + 1];
|
|
10878
|
-
for (let i = 0; i < n; i++) out.push(
|
|
10894
|
+
for (let i = 0; i < n; i++) out.push(ip + 2 + i);
|
|
10879
10895
|
return true;
|
|
10880
10896
|
}
|
|
10881
10897
|
case OP_SEQX: {
|
|
10882
10898
|
const n = code[ip + 2];
|
|
10883
|
-
for (let i = 0; i < n; i++) out.push(
|
|
10899
|
+
for (let i = 0; i < n; i++) out.push(ip + 3 + i);
|
|
10884
10900
|
return true;
|
|
10885
10901
|
}
|
|
10886
10902
|
case OP_CHOICE: {
|
|
10887
10903
|
const n = code[ip + 2];
|
|
10888
|
-
for (let i = 0; i < n; i++) out.push(
|
|
10904
|
+
for (let i = 0; i < n; i++) out.push(ip + 4 + i);
|
|
10889
10905
|
return true;
|
|
10890
10906
|
}
|
|
10891
10907
|
// Arms are stride-2 from `ip + 4` — the gate word sits beside each arm offset.
|
|
10892
10908
|
case OP_GREEDY: {
|
|
10893
|
-
out.push(
|
|
10909
|
+
out.push(ip + 1);
|
|
10894
10910
|
const n = code[ip + 2];
|
|
10895
|
-
for (let i = 0; i < n; i++) out.push(
|
|
10911
|
+
for (let i = 0; i < n; i++) out.push(ip + 4 + 2 * i);
|
|
10896
10912
|
return true;
|
|
10897
10913
|
}
|
|
10898
10914
|
case OP_REP:
|
|
10899
10915
|
case OP_REPV:
|
|
10900
|
-
out.push(
|
|
10901
|
-
if (code[ip + 4] >= 0) out.push(
|
|
10916
|
+
out.push(ip + 1);
|
|
10917
|
+
if (code[ip + 4] >= 0) out.push(ip + 4);
|
|
10902
10918
|
return true;
|
|
10903
10919
|
default:
|
|
10904
10920
|
return false;
|
|
@@ -22535,16 +22551,6 @@ function run2(entry, input, options = {}) {
|
|
|
22535
22551
|
}
|
|
22536
22552
|
|
|
22537
22553
|
// src/coverage.ts
|
|
22538
|
-
function dispatchMatcher(entry) {
|
|
22539
|
-
switch (entry.kind) {
|
|
22540
|
-
case "startsWith":
|
|
22541
|
-
return startsWith(entry.value);
|
|
22542
|
-
case "endsWith":
|
|
22543
|
-
return endsWith(entry.value);
|
|
22544
|
-
case "matches":
|
|
22545
|
-
return matches(new RegExp(entry.value, entry.flags));
|
|
22546
|
-
}
|
|
22547
|
-
}
|
|
22548
22554
|
function compiledGrammarCoverageDefinitions(grammar) {
|
|
22549
22555
|
const definitions = grammar[GRAMMAR_COVERAGE_DEFINITIONS];
|
|
22550
22556
|
if (!Array.isArray(definitions) || definitions.length === 0 || !definitions.every((definition) => typeof definition === "object" && definition !== null && typeof definition.id === "string" && (definition.kind === "rule" || definition.kind === "choice-arm" || definition.kind === "dispatch-arm" || definition.kind === "label"))) {
|