parseman 0.26.2 → 0.26.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.
- package/dist/compiler/codegen.d.ts.map +1 -1
- package/dist/compiler/ir-serialize.d.ts.map +1 -1
- package/dist/index.cjs +38 -22
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +38 -22
- package/dist/index.js.map +3 -3
- package/dist/plugin/index.cjs +38 -22
- package/dist/plugin/index.cjs.map +3 -3
- package/dist/plugin/index.js +38 -22
- package/dist/plugin/index.js.map +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/compiler/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAa,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAA4B,MAAM,aAAa,CAAA;AA0BnI;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,uTAC0R,CAAA;AActT,8EAA8E;AAC9E,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAI7C;AAudD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,MAAM,CAQlE;AAcD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAA0B;
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/compiler/codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ir-serialize.d.ts","sourceRoot":"","sources":["../../src/compiler/ir-serialize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"ir-serialize.d.ts","sourceRoot":"","sources":["../../src/compiler/ir-serialize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AAkBxD,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;AA4C/B,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAC9C,MAAM,GAAG,IAAI,CAUf;AAED;;oFAEoF;AACpF,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAiF/D"}
|
package/dist/index.cjs
CHANGED
|
@@ -5635,7 +5635,7 @@ function emitDispatch(p, ctx, pos) {
|
|
|
5635
5635
|
ctx.indent = 1;
|
|
5636
5636
|
ctx.failLabel = "_pfail";
|
|
5637
5637
|
ctx.recordFail = true;
|
|
5638
|
-
const innerR =
|
|
5638
|
+
const innerR = emitDispatch(innerParser, ctx, "_pos");
|
|
5639
5639
|
ctx.indent = savedIndent;
|
|
5640
5640
|
ctx.failLabel = savedFailLabel;
|
|
5641
5641
|
ctx.recordFail = savedRecord;
|
|
@@ -6267,6 +6267,23 @@ function escapeClassChar(ch) {
|
|
|
6267
6267
|
return ch.replace(/[\\\]^-]/g, "\\$&");
|
|
6268
6268
|
}
|
|
6269
6269
|
|
|
6270
|
+
// src/combinators/withCtx.ts
|
|
6271
|
+
function withCtx(extra, combinator) {
|
|
6272
|
+
const meta = {
|
|
6273
|
+
firstSet: combinator._meta.firstSet,
|
|
6274
|
+
canMatchNewline: combinator._meta.canMatchNewline,
|
|
6275
|
+
isTrivia: false
|
|
6276
|
+
};
|
|
6277
|
+
return {
|
|
6278
|
+
_tag: "withCtx",
|
|
6279
|
+
_meta: meta,
|
|
6280
|
+
_def: { tag: "withCtx", extra, parser: combinator },
|
|
6281
|
+
parse(input, pos, ctx) {
|
|
6282
|
+
return combinator.parse(input, pos, { ...ctx, state: extra });
|
|
6283
|
+
}
|
|
6284
|
+
};
|
|
6285
|
+
}
|
|
6286
|
+
|
|
6270
6287
|
// src/compiler/ir-serialize.ts
|
|
6271
6288
|
function childrenOf2(def) {
|
|
6272
6289
|
switch (def.tag) {
|
|
@@ -6283,6 +6300,7 @@ function childrenOf2(def) {
|
|
|
6283
6300
|
case "field":
|
|
6284
6301
|
case "not":
|
|
6285
6302
|
case "node":
|
|
6303
|
+
case "withCtx":
|
|
6286
6304
|
case "expect":
|
|
6287
6305
|
return [def.parser];
|
|
6288
6306
|
case "grammar":
|
|
@@ -6298,7 +6316,6 @@ function childrenOf2(def) {
|
|
|
6298
6316
|
case "regex":
|
|
6299
6317
|
case "keywords":
|
|
6300
6318
|
case "guard":
|
|
6301
|
-
case "withCtx":
|
|
6302
6319
|
case "recover":
|
|
6303
6320
|
case "unknown":
|
|
6304
6321
|
return [];
|
|
@@ -6373,6 +6390,17 @@ function evalRuleMapIR(ir) {
|
|
|
6373
6390
|
c._def.gateSrcs = gateSrcs;
|
|
6374
6391
|
return c;
|
|
6375
6392
|
};
|
|
6393
|
+
const _wc = (src, inner) => {
|
|
6394
|
+
let extra;
|
|
6395
|
+
try {
|
|
6396
|
+
extra = (0, eval)(`(${src})`);
|
|
6397
|
+
} catch {
|
|
6398
|
+
extra = void 0;
|
|
6399
|
+
}
|
|
6400
|
+
const w = withCtx(extra, inner);
|
|
6401
|
+
w._def.extraSrc = src;
|
|
6402
|
+
return w;
|
|
6403
|
+
};
|
|
6376
6404
|
const fn = new Function(
|
|
6377
6405
|
"rules",
|
|
6378
6406
|
"ref",
|
|
@@ -6399,6 +6427,7 @@ function evalRuleMapIR(ir) {
|
|
|
6399
6427
|
"_tf",
|
|
6400
6428
|
"_nd",
|
|
6401
6429
|
"_gch",
|
|
6430
|
+
"_wc",
|
|
6402
6431
|
`return (${ir})`
|
|
6403
6432
|
);
|
|
6404
6433
|
const map = fn(
|
|
@@ -6426,7 +6455,8 @@ function evalRuleMapIR(ir) {
|
|
|
6426
6455
|
expect,
|
|
6427
6456
|
_tf,
|
|
6428
6457
|
_nd,
|
|
6429
|
-
_gch
|
|
6458
|
+
_gch,
|
|
6459
|
+
_wc
|
|
6430
6460
|
);
|
|
6431
6461
|
return Object.entries(map);
|
|
6432
6462
|
}
|
|
@@ -6482,7 +6512,7 @@ ${body}
|
|
|
6482
6512
|
this.analyze(target, active);
|
|
6483
6513
|
return;
|
|
6484
6514
|
}
|
|
6485
|
-
if (def.tag === "guard" || def.tag === "
|
|
6515
|
+
if (def.tag === "guard" || def.tag === "recover" || def.tag === "unknown") {
|
|
6486
6516
|
throw new Unserializable(`unsupported tag ${def.tag}`);
|
|
6487
6517
|
}
|
|
6488
6518
|
this.counts.set(c, (this.counts.get(c) ?? 0) + 1);
|
|
@@ -6591,8 +6621,11 @@ ${body}
|
|
|
6591
6621
|
const trivia2 = def.clearTrivia ? "null" : def.triviaParser ? kid(def.triviaParser) : "undefined";
|
|
6592
6622
|
return `parser({ trivia: ${trivia2}${def.trackLines ? ", trackLines: true" : ""} }, ${kid(def.parser)})`;
|
|
6593
6623
|
}
|
|
6624
|
+
case "withCtx": {
|
|
6625
|
+
if (def.extraSrc === void 0) throw new Unserializable("withCtx without extraSrc");
|
|
6626
|
+
return `_wc(${JSON.stringify(def.extraSrc)}, ${kid(def.parser)})`;
|
|
6627
|
+
}
|
|
6594
6628
|
case "guard":
|
|
6595
|
-
case "withCtx":
|
|
6596
6629
|
case "recover":
|
|
6597
6630
|
case "unknown":
|
|
6598
6631
|
throw new Unserializable(`unsupported tag ${def.tag}`);
|
|
@@ -6766,23 +6799,6 @@ function guard(predicate) {
|
|
|
6766
6799
|
};
|
|
6767
6800
|
}
|
|
6768
6801
|
|
|
6769
|
-
// src/combinators/withCtx.ts
|
|
6770
|
-
function withCtx(extra, combinator) {
|
|
6771
|
-
const meta = {
|
|
6772
|
-
firstSet: combinator._meta.firstSet,
|
|
6773
|
-
canMatchNewline: combinator._meta.canMatchNewline,
|
|
6774
|
-
isTrivia: false
|
|
6775
|
-
};
|
|
6776
|
-
return {
|
|
6777
|
-
_tag: "withCtx",
|
|
6778
|
-
_meta: meta,
|
|
6779
|
-
_def: { tag: "withCtx", extra, parser: combinator },
|
|
6780
|
-
parse(input, pos, ctx) {
|
|
6781
|
-
return combinator.parse(input, pos, { ...ctx, state: extra });
|
|
6782
|
-
}
|
|
6783
|
-
};
|
|
6784
|
-
}
|
|
6785
|
-
|
|
6786
6802
|
// src/combinators/completions.ts
|
|
6787
6803
|
function completionsAt(target, input, offset, options = {}) {
|
|
6788
6804
|
const probe = { offset, best: null };
|