parseman 0.59.2 → 0.60.0

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.
Files changed (118) hide show
  1. package/dist/analysis/commitment.d.ts +1 -1
  2. package/dist/analysis/diagnostics.js +877 -191
  3. package/dist/analysis/diagnostics.js.map +3 -3
  4. package/dist/cli/index.js +877 -191
  5. package/dist/cli/index.js.map +3 -3
  6. package/dist/combinators/completions.d.ts +3 -3
  7. package/dist/combinators/completions.d.ts.map +1 -1
  8. package/dist/combinators/dispatch.d.ts +13 -1
  9. package/dist/combinators/dispatch.d.ts.map +1 -1
  10. package/dist/combinators/first-set.d.ts +35 -2
  11. package/dist/combinators/first-set.d.ts.map +1 -1
  12. package/dist/combinators/gate.d.ts +1 -1
  13. package/dist/combinators/regex.d.ts.map +1 -1
  14. package/dist/combinators/trivia-boundary.d.ts +11 -0
  15. package/dist/combinators/trivia-boundary.d.ts.map +1 -1
  16. package/dist/combinators/trivia-skip.d.ts +1 -1
  17. package/dist/combinators/trivia-skip.d.ts.map +1 -1
  18. package/dist/compiler/compile-linkable-table.d.ts +2 -3
  19. package/dist/compiler/compile-linkable-table.d.ts.map +1 -1
  20. package/dist/compiler/linker.d.ts.map +1 -1
  21. package/dist/compiler/token-alphabet.d.ts +2 -0
  22. package/dist/compiler/token-alphabet.d.ts.map +1 -1
  23. package/dist/compiler/token-capability.js +65 -53
  24. package/dist/compiler/token-capability.js.map +2 -2
  25. package/dist/cst/host-mode.d.ts +1 -1
  26. package/dist/cst/root-trivia-scope.d.ts +1 -1
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +897 -200
  30. package/dist/index.js.map +3 -3
  31. package/dist/language-service/index.d.ts +1 -1
  32. package/dist/language-service/index.js.map +1 -1
  33. package/dist/plugin/entry-supercompiler.d.ts.map +1 -1
  34. package/dist/plugin/evaluator.d.ts.map +1 -1
  35. package/dist/plugin/index.d.ts +3 -7
  36. package/dist/plugin/index.d.ts.map +1 -1
  37. package/dist/plugin/index.js +904 -202
  38. package/dist/plugin/index.js.map +3 -3
  39. package/dist/regex/first-set.d.ts +19 -0
  40. package/dist/regex/first-set.d.ts.map +1 -1
  41. package/dist/spec/index.js.map +1 -1
  42. package/dist/table/assemble.d.ts +16 -3
  43. package/dist/table/assemble.d.ts.map +1 -1
  44. package/dist/table/child-slots.d.ts.map +1 -1
  45. package/dist/table/compile-rule-map.d.ts +3 -2
  46. package/dist/table/compile-rule-map.d.ts.map +1 -1
  47. package/dist/table/compile.d.ts +2 -2
  48. package/dist/table/emit-assembly.d.ts +8 -2
  49. package/dist/table/emit-assembly.d.ts.map +1 -1
  50. package/dist/table/emit.d.ts +8 -8
  51. package/dist/table/emit.d.ts.map +1 -1
  52. package/dist/table/encode.d.ts +6 -7
  53. package/dist/table/encode.d.ts.map +1 -1
  54. package/dist/table/exec.d.ts.map +1 -1
  55. package/dist/table/factor-choice.d.ts +27 -0
  56. package/dist/table/factor-choice.d.ts.map +1 -1
  57. package/dist/table/gap-gate.d.ts +11 -0
  58. package/dist/table/gap-gate.d.ts.map +1 -0
  59. package/dist/table/index.js +927 -202
  60. package/dist/table/index.js.map +3 -3
  61. package/dist/table/lex-program.d.ts.map +1 -1
  62. package/dist/table/ops.d.ts +48 -20
  63. package/dist/table/ops.d.ts.map +1 -1
  64. package/dist/table/program.d.ts +13 -8
  65. package/dist/table/program.d.ts.map +1 -1
  66. package/dist/types.d.ts +17 -5
  67. package/dist/types.d.ts.map +1 -1
  68. package/dist/version.d.ts +6 -6
  69. package/package.json +1 -1
  70. package/src/analysis/commitment.ts +1 -1
  71. package/src/analysis/duplication.ts +1 -1
  72. package/src/analysis/terminal.ts +1 -1
  73. package/src/combinators/attempt.ts +1 -1
  74. package/src/combinators/choice.ts +1 -1
  75. package/src/combinators/completions.ts +3 -3
  76. package/src/combinators/dispatch.ts +30 -6
  77. package/src/combinators/first-set.ts +55 -12
  78. package/src/combinators/gate.ts +1 -1
  79. package/src/combinators/node.ts +1 -1
  80. package/src/combinators/regex.ts +9 -4
  81. package/src/combinators/repeat.ts +6 -6
  82. package/src/combinators/sequence.ts +1 -1
  83. package/src/combinators/trivia-boundary.ts +18 -0
  84. package/src/combinators/trivia-skip.ts +1 -1
  85. package/src/compiler/compile-linkable-table.ts +2 -3
  86. package/src/compiler/degradation.ts +2 -2
  87. package/src/compiler/ir-serialize.ts +1 -1
  88. package/src/compiler/linker.ts +5 -3
  89. package/src/compiler/token-alphabet.ts +3 -1
  90. package/src/coverage.ts +1 -1
  91. package/src/cst/capture-buffer.ts +2 -2
  92. package/src/cst/host-mode.ts +1 -1
  93. package/src/cst/root-trivia-scope.ts +1 -1
  94. package/src/index.ts +1 -1
  95. package/src/language-service/index.ts +1 -1
  96. package/src/plugin/entry-supercompiler.ts +2 -1
  97. package/src/plugin/evaluator.ts +8 -3
  98. package/src/plugin/index.ts +11 -16
  99. package/src/regex/first-set.ts +37 -3
  100. package/src/table/assemble.ts +180 -35
  101. package/src/table/child-slots.ts +8 -3
  102. package/src/table/compile-rule-map.ts +10 -6
  103. package/src/table/compile.ts +3 -3
  104. package/src/table/emit-assembly.ts +186 -35
  105. package/src/table/emit.ts +19 -18
  106. package/src/table/encode.ts +482 -88
  107. package/src/table/exec.ts +42 -18
  108. package/src/table/factor-choice.ts +62 -0
  109. package/src/table/fail-clean.ts +2 -2
  110. package/src/table/gap-gate.ts +55 -0
  111. package/src/table/hold-gap.ts +2 -2
  112. package/src/table/lex-program.ts +15 -6
  113. package/src/table/ops.ts +51 -20
  114. package/src/table/program.ts +14 -9
  115. package/src/table/select-hot.ts +7 -2
  116. package/src/table/stamp.ts +1 -1
  117. package/src/types.ts +13 -6
  118. package/src/version.ts +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"lex-program.d.ts","sourceRoot":"","sources":["../../src/table/lex-program.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEjE;;0EAE0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAClC,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC;;;GAGG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAChC,eAAO,MAAM,YAAY,IAAI,CAAA;AAC7B,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAClC,oFAAoF;AACpF,eAAO,MAAM,eAAe,KAAK,CAAA;AAEjC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAOjE;AAoaD;2EAC2E;AAC3E,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,QAAQ,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GACvC,gBAAgB,CAyHlB"}
1
+ {"version":3,"file":"lex-program.d.ts","sourceRoot":"","sources":["../../src/table/lex-program.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEjE;;0EAE0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAClC,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC;;;GAGG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAChC,eAAO,MAAM,YAAY,IAAI,CAAA;AAC7B,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAClC,oFAAoF;AACpF,eAAO,MAAM,eAAe,KAAK,CAAA;AAEjC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAOjE;AA0aD;2EAC2E;AAC3E,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,QAAQ,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GACvC,gBAAgB,CA4HlB"}
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * Opcodes for the TABLE lowering (design ledger row G5).
3
3
  *
4
- * The premise, stated so it can be falsified: today every rule's recognizer is
5
- * INLINED BESPOKE into its own emitted function, so an artifact pays the full
6
- * cost of the recognition machinery once PER RULE (measured: ~4.9 kB for a
7
- * `node()` rule; ~186 B for each additional call site). Emitting a rule as a
8
- * TABLE ROW interpreted by one shared driver moves that machinery out of the
9
- * artifact and into the runtime, where it is emitted ONCE for all grammars and
10
- * all variants.
4
+ * The source lowering this replaced (removed in 0.47.0) inlined every rule's
5
+ * recognizer into its own emitted function, so an artifact paid for the
6
+ * recognition machinery once PER RULE (measured then: ~4.9 kB for a `node()`
7
+ * rule; ~186 B for each additional call site). As TABLE ROWS run by one shared
8
+ * driver, that machinery lives in the runtime, once for all grammars and all
9
+ * variants.
11
10
  *
12
11
  * The instruction stream is a flat `number[]`: `code[ip]` is the opcode and the
13
12
  * operands follow it inline. Child instructions are referenced by ABSOLUTE code
14
- * offset, never by nesting, so the driver is a plain recursive read — no node
15
- * objects, no closures, no per-combinator allocation.
13
+ * offset, never by nesting.
16
14
  *
17
- * Operand layouts are documented per opcode below and are the contract between
18
- * `encode.ts` and `exec.ts`. Nothing else may read the stream.
15
+ * Operand layouts are documented per opcode below. `encode.ts` writes them; the
16
+ * engines (`assemble.ts`, `emit-assembly.ts`, the reference `exec.ts`) and the
17
+ * table analyses (`child-slots.ts`, `site-labels.ts`, `fail-clean.ts`, …) read
18
+ * them.
19
19
  */
20
20
  /** `LIT k fx` — `k` indexes a string in the const pool; `fx` the expected set on failure. */
21
21
  export declare const OP_LIT = 1;
@@ -37,11 +37,15 @@ export declare const OP_SEQV = 4;
37
37
  */
38
38
  export declare const OP_CHOICE = 5;
39
39
  /**
40
- * `REP c min max sep flags fx sepClass` — `sep` is a child offset or −1; `max`
41
- * −1 = ∞. `fx` is recovery metadata. The last class is the separator sentinel
42
- * for a separated list, otherwise the finite/non-nullable optional-item class
43
- * (or −1). `flags` bit 0 = trailing separator allowed, bit 1 =
44
- * `keepSeparators`, bit 2 = item expected reporting.
40
+ * `REP c min max sep flags fx sepClass [sepGate]` — EIGHT words, or NINE with
41
+ * flag bit 3. `sep` is a child offset or −1; `max` −1 = ∞. `fx` is the item's
42
+ * expected set. `sepClass` is the separator sentinel for a separated list,
43
+ * otherwise the finite/non-nullable optional-item class (or −1). `flags`: bit 0
44
+ * (`&1`) trailing separator allowed; bit 1 (`&2`) `keepSeparators`; bit 2 (`&4`)
45
+ * item expected reporting; bit 3 (`&8`) a ninth word at `ip + 8`, the class of
46
+ * characters the separator can start, so a strict list past its minimum ends
47
+ * where it cannot (`sepGate`); bit 4 (`&16`) the item's derived set is empty, so
48
+ * `fx` holds the item's tag for the minimum check and a resync error carries [].
45
49
  */
46
50
  export declare const OP_REP = 6;
47
51
  /** `REPV …` — `REP` with `valueUnused`. */
@@ -256,7 +260,7 @@ export declare const OP_GUARD = 32;
256
260
  * would become a no-op and `notAdjacent()` a guaranteed failure. So the SEQ
257
261
  * pieces read this row at assembly and run the test themselves, exactly as
258
262
  * `sequence()` forks `parseAdjacent` (combinators/sequence.ts:118) and as
259
- * codegen lowers it at the boundary (codegen.ts:1765).
263
+ * the source lowering lowered it at the boundary.
260
264
  *
261
265
  * Reached as a row in its own right only where there IS no boundary — a bare
262
266
  * choice arm, a `node()` body, a repeat item. The interpreter throws there
@@ -366,7 +370,7 @@ export declare const OP_ARMGATE = 36;
366
370
  * library never sees.
367
371
  *
368
372
  * It exists because codegen accepts exactly this and delegates at run time
369
- * (`compiler/codegen.ts`, `emitRuntimeFallback`'s `_rp[i].parse(...)` row). The
373
+ * (the source lowering's `emitRuntimeFallback`). The
370
374
  * encoder used to throw `UnsupportedConstruct`, so the table lowering REJECTED
371
375
  * grammars the source lowering compiles, and the two lowerings must accept the
372
376
  * same language.
@@ -435,7 +439,7 @@ export declare const OP_LABEL = 39;
435
439
  * `on` is 0 for ENTRY and 1 for SUCCESS, and it is read at ASSEMBLY TIME, never
436
440
  * per parse: `assemble.ts` picks one of two closures from it, exactly as it picks
437
441
  * pieces from `RunCfg`. The two phases are not decoration — the source lowering
438
- * credits a RULE on entry (`codegen.ts:4529`) and a choice arm, dispatch arm or
442
+ * credited a RULE on entry and a choice arm, dispatch arm or
439
443
  * label only once it has SUCCEEDED, and a table that credited all four alike
440
444
  * would report a different denominator's worth of hits than the engine it is a
441
445
  * drop-in for.
@@ -485,11 +489,35 @@ export declare const OP_SOURCE_LEAF = 44;
485
489
  * at this position, a completions probe, or tolerant recovery enters the arm.
486
490
  */
487
491
  export declare const OP_RGATE = 45;
492
+ /**
493
+ * `GAPGATE c p cls other` — an optional repeat ITEM that opens with a gap: the
494
+ * pure regex row `p`, which may match empty, and then a term whose first set is
495
+ * the class `cls` (`other`: the class of any choice arm that does not open with
496
+ * `p`, or −1). `c` is the item. The row is TRANSPARENT wherever it runs: only
497
+ * the repeat that holds it reads its operands (`gap-gate.ts`).
498
+ */
499
+ export declare const OP_GAPGATE = 46;
500
+ /**
501
+ * `RGATE2 cls child fx first second` — `OP_RGATE` with a SECOND character: where
502
+ * the character after the routed token is in `first`, the one after it must be
503
+ * in `second` too (the next term reads both, `regexFirstTwo`), or the arm fails
504
+ * there with `fx`, as entering it would.
505
+ */
506
+ export declare const OP_RGATE2 = 47;
507
+ /**
508
+ * `STRICT strict tolerant` — one construct encoded two ways: `strict` for a
509
+ * strict parse, `tolerant` for tolerant recovery and a completions probe, which
510
+ * must see the construct as written (`factor-choice.ts` `factorPrefixArms`). An
511
+ * assembly resolves it to one child; it has no body of its own.
512
+ */
513
+ export declare const OP_STRICT = 48;
488
514
  /**
489
515
  * `DISPATCH sel d other otherRouted n a1 … an` — `dispatch()`.
490
516
  *
491
517
  * `sel` is the selector's offset, `d` indexes a dispatch table in `prog.dsp`,
492
- * `other` is the `otherwise()` offset (or −1), `otherRouted` is 1 when the
518
+ * `other` is the `otherwise()` offset (or −1), `otherRouted` bit 1 (`&2`) is set
519
+ * when the fallback's failure is NOT committed (`otherwise(p, { commit: false })`)
520
+ * and bit 0 when the
493
521
  * fallback consumes the routed token, and `a1…an` are the arm offsets. Arm
494
522
  * `usesRouted` bits live in the `dsp` entry beside the key maps.
495
523
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/table/ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/table/ops.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,15 @@ import { type LexProgramRunner } from './lex-program.ts';
11
11
  * `EMITTED_PARAMS` in order. `plan` rebuilds the three data pools the factory
12
12
  * expects (see `PoolPlan`), and `reached` is the emitter's site set, which
13
13
  * `Assembly.reached` publishes and `test/unit/table-assemble.test.ts`
14
- * asserts on.
14
+ * asserts on. `arity` is the number of helpers the factory was printed against
15
+ * (`EMITTED_PARAMS.length` of the printing parseman); the runtime compares it with
16
+ * its own list before calling the factory. It is printed data, not
17
+ * `factory.length`, which a minifier that drops unused trailing parameters lowers.
18
+ * An assembly printed before 0.60.0 has none.
15
19
  */
16
20
  export type PrecompiledAssembly = {
17
21
  readonly key: number;
22
+ readonly arity?: number;
18
23
  readonly factory: EmittedFactory;
19
24
  readonly plan: PoolPlan;
20
25
  readonly reached: readonly number[];
@@ -22,10 +27,10 @@ export type PrecompiledAssembly = {
22
27
  /**
23
28
  * The emitted form of a grammar under the table lowering.
24
29
  *
25
- * This object is ALL a grammar contributes to a bundle. Every line of
26
- * recognition logic lives in `exec.ts`, which ships once in the runtime and is
27
- * shared by every grammar and every variant. A rule costs its row, not a
28
- * function.
30
+ * This object is ALL a grammar contributes to a bundle, apart from any
31
+ * build-time assemblies in `asm`. The recognition logic is the shared driver
32
+ * (`tableRules`, `assemble.ts`), which ships once in the runtime for every
33
+ * grammar and every variant. A rule costs its row, not a function.
29
34
  *
30
35
  * Serialized shape is deliberately JSON-ish (numbers, strings, and a pool of
31
36
  * author callbacks) so the emitter can print it as a literal.
@@ -138,9 +143,9 @@ export type TableProgram = {
138
143
  */
139
144
  readonly triviaSpecs?: readonly TriviaSpec[];
140
145
  /**
141
- * 1 when this table was encoded with `TableSettings.recovery` — the sequences
142
- * carry their inferred follow-set classes and the repetitions their item
143
- * expected-set and separator sentinel class.
146
+ * Always 1: every table carries recovery operands — the sequences their inferred
147
+ * follow-set classes, the repetitions their item expected set and separator
148
+ * sentinel class. (`TableSettings.recovery` is a deprecated no-op.)
144
149
  *
145
150
  * TABLE DATA, read once when the driver/assembly is built. It selects the
146
151
  * recovery pieces; it is not a per-parse option, and a recovery table still
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/table/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/table/program.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -62,22 +62,26 @@ export type ParserDef = {
62
62
  matchers?: readonly DispatchMatcherCase[] | undefined;
63
63
  otherwise?: Combinator<unknown> | undefined;
64
64
  otherwiseUsesRouted?: boolean | undefined;
65
+ otherwiseCommit?: false | undefined;
65
66
  } | {
66
67
  tag: 'attempt';
67
68
  parser: Combinator<unknown>; /** `attempt(p, { contain: true })`: a committed failure inside is reported uncommitted. */
68
- contain?: true;
69
+ contain?: true; /** The interpreter tests the child's live `_meta.firstSet` before entering it: its set was finite when this was built. */
70
+ guarded?: true;
69
71
  } | {
70
72
  tag: 'many';
71
73
  parser: Combinator<unknown>;
72
74
  min: 0;
73
75
  max?: number;
74
- valueUnused?: boolean;
76
+ valueUnused?: boolean; /** The interpreter tests the child's live `_meta.firstSet` before entering it: its set was finite when this was built. */
77
+ guarded?: true;
75
78
  } | {
76
79
  tag: 'oneOrMore';
77
80
  parser: Combinator<unknown>;
78
81
  min: number;
79
82
  max?: number;
80
- valueUnused?: boolean;
83
+ valueUnused?: boolean; /** The interpreter tests the child's live `_meta.firstSet` before entering it: its set was finite when this was built. */
84
+ guarded?: true;
81
85
  } | {
82
86
  tag: 'optional';
83
87
  parser: Combinator<unknown>;
@@ -170,7 +174,8 @@ export type ParserDef = {
170
174
  project?: number;
171
175
  captureTrivia?: boolean;
172
176
  trailingTrivia?: boolean;
173
- tags?: readonly string[];
177
+ tags?: readonly string[]; /** The interpreter tests the child's live `_meta.firstSet` before entering it: its set was finite when this was built. */
178
+ guarded?: true;
174
179
  } | {
175
180
  tag: 'guard';
176
181
  predicate: (state: unknown) => boolean;
@@ -549,6 +554,13 @@ export type ParseError = {
549
554
  export type ParserMeta = {
550
555
  /** Character codes / ranges that can start this parser (for choice dispatch) */
551
556
  firstSet: FirstSet;
557
+ /**
558
+ * Set only by `regex()` for a pattern that can match empty: the first chars
559
+ * of its NON-EMPTY matches. `firstSet` stays `any` for such a pattern, because
560
+ * it may match empty anywhere; a sequence, which tracks nullability itself,
561
+ * unions this set with the next term's instead (`sequenceSet`).
562
+ */
563
+ consumingFirstSet?: FirstSet;
552
564
  /** Whether this parser can consume a newline character */
553
565
  canMatchNewline: boolean;
554
566
  /** Whether this parser is marked as trivia (auto-skip) */
@@ -670,7 +682,7 @@ export type GatedArm<T = unknown> = {
670
682
  * This lives with the rest of the library's types rather than inside a lowering
671
683
  * because it is the shape BOTH lowerings answer to: `table/compile.ts` returns it
672
684
  * today and is what `src/index.ts` exports as `compile`. It started in
673
- * `compiler/codegen.ts`, which made the table import its own public contract from
685
+ * the source lowering, which made the table import its own public contract from
674
686
  * the engine the table replaced — backwards, and a reason the engine could not be
675
687
  * deleted.
676
688
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -4,14 +4,14 @@
4
4
  *
5
5
  * ── ARTIFACTS ARE VERSION-LOCKED ────────────────────────────────────────────────
6
6
  * A grammar is compiled AND fused/linked by the SAME parseman version. Parseman does
7
- * NOT read a compiled artifact produced by a different version. The compiled-artifact
8
- * format (`firstSetRecipes`, `LinkablePieces`, the fused-body shape, …) may therefore
9
- * change freely between versions and carries NO back-compat shim: `fusedBody` refuses
10
- * to link a serialized artifact stamped with a different version, and there is no
11
- * "legacy format" read path. If you find yourself adding one, STOP — it is dead code.
7
+ * NOT read a compiled artifact produced by a different version. The artifact formats
8
+ * (the table program, `LinkableTable`, carried IR) may therefore change freely between
9
+ * versions and carry NO back-compat shim and no "legacy format" read path. If you find
10
+ * yourself adding one, STOP — it is dead code. The stamp is written but not yet checked
11
+ * on read (#186).
12
12
  *
13
13
  * Kept in sync with `package.json` by `test/unit/version-sync.test.ts`, which fails
14
14
  * the build if this constant drifts from the published version.
15
15
  */
16
- export declare const PARSEMAN_VERSION = "0.59.2";
16
+ export declare const PARSEMAN_VERSION = "0.60.0";
17
17
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parseman",
3
- "version": "0.59.2",
3
+ "version": "0.60.0",
4
4
  "packageManager": "pnpm@10.15.1",
5
5
  "engines": {
6
6
  "node": "^20.19.0 || >=22.13.0"
@@ -404,7 +404,7 @@ export function hasNodeDef(p: Combinator<unknown>, seen: Set<Combinator<unknown>
404
404
  *
405
405
  * It belongs in THIS module for the reason stated at the top of it: both lowerings
406
406
  * must reach the same answer, and a stamp they disagree about is a driver that
407
- * accepts a host it should refuse. It previously lived in `compiler/codegen.ts`,
407
+ * accepts a host it should refuse. It previously lived in the source lowering,
408
408
  * which forced `table/compile-rule-map.ts` to import the engine the table replaced.
409
409
  *
410
410
  * The descent mirrors the source lowering's own `childrenOf` exactly — including a
@@ -395,7 +395,7 @@ function payloadKey(p: Combinator<unknown>, d: ParserDef): string {
395
395
  case 'leaf': return `leaf\u0000${d.cstValue ?? 'value'}\u0000${fnKey(d.fnSrc, d.fn)}`
396
396
  case 'many': case 'oneOrMore': return `${d.tag}\u0000${d.min}\u0000${d.max ?? ''}`
397
397
  case 'sepBy': return `sepBy\u0000${d.min}\u0000${d.max ?? ''}\u0000${d.trailing ?? ''}`
398
- case 'dispatch': return `dispatch\u0000${d.cases.map(c => JSON.stringify(c.keys)).join('\u0002')}\u0000${d.otherwise !== undefined}`
398
+ case 'dispatch': return `dispatch\u0000${d.cases.map(c => JSON.stringify(c.keys)).join('\u0002')}\u0000${d.otherwise !== undefined}${d.otherwiseCommit === false ? '\u0000uncommitted' : ''}`
399
399
  case 'expect': return `expect\u0000${d.label ?? ''}\u0000${d.expected.join('\u0001')}`
400
400
  case 'scanTo': return `scanTo\u0000${d.raw}\u0000${d.orEOF}\u0000${d.recoverAt !== undefined}\u0000${d.stopAt !== undefined}`
401
401
  case 'lines': return `lines\u0000${d.first !== undefined}\u0000${d.lazy !== undefined}`
@@ -252,7 +252,7 @@ export function render(lines: readonly Line[], target: RenderTarget = {}): strin
252
252
  }
253
253
 
254
254
  // linecraft's own escapes, for the one component whose plain form is not otherwise
255
- // reachable. Mirrors `packages/compiler/src/diagnostics.ts:246`. Built from a char code
255
+ // reachable. Built from a char code
256
256
  // so the ESC byte cannot be lost in transit the way the old constant table's was.
257
257
  const ESC = String.fromCharCode(27)
258
258
  const OSC8 = new RegExp(`${ESC}\\]8;;.*?${ESC}\\\\`, 'g')
@@ -40,7 +40,7 @@ export function attempt<T>(parser: Combinator<T>, options?: AttemptOptions): Com
40
40
  const guardable = parser._meta.firstSet.kind !== 'any' && !matchesEmpty(parser)
41
41
  let failExpected: string[] | undefined
42
42
  return {
43
- _tag: 'attempt', _meta: parser._meta, _def: contain ? { tag: 'attempt', parser, contain: true } : { tag: 'attempt', parser },
43
+ _tag: 'attempt', _meta: parser._meta, _def: { tag: 'attempt', parser, ...(contain ? { contain: true } : {}), ...(guardable ? { guarded: true } : {}) },
44
44
  parse(input: string, pos: number, ctx: ParseContext): ParseResult<T> {
45
45
  if (guardable && ctx._probe === undefined && !ctx._tolerant && !startsFirstSet(parser, input, pos)) {
46
46
  if (failExpected === undefined) {
@@ -314,7 +314,7 @@ function bareLeadingTermKey(term: Combinator<unknown>): string | null {
314
314
  //
315
315
  // A `lazy` ref lead — excluded for correctness, not for want of a key. The
316
316
  // once-only prescan runs with `ctx.capturing = false`, which suppresses capture
317
- // only for code emitted HERE (emitLeafCapture, codegen.ts). A ref compiles to a
317
+ // only for code emitted HERE (the source lowering's emitLeafCapture). A ref compiles to a
318
318
  // call into a function body generated under its OWN ctx (emitLazy), so its
319
319
  // captures and trivia writes would happen during the prescan and then AGAIN in
320
320
  // each arm. Replaying a ref needs recorded-and-spliced capture state, not the
@@ -3,8 +3,8 @@ import { REC } from '../recovery/scan.ts'
3
3
  import { createParseContext } from '../parse-context.ts'
4
4
 
5
5
  /** Anything `completionsAt` can probe: an interpreter combinator OR a `compile()`d
6
- * grammar. A grammar compiled with `{ recovery: true }` records the probe on its fast
7
- * path, so completions work on the published compiled artifact — no interpreter needed. */
6
+ * grammar, which records the probe on its fast path. A macro-built rule function has
7
+ * neither `parse` nor `parseWithContext`, so it is not accepted. */
8
8
  type CompletionsTarget =
9
9
  | Combinator<unknown>
10
10
  | { parseWithContext(input: string, ctx: ParseContext, pos?: number): ParseResult<unknown> }
@@ -17,7 +17,7 @@ type CompletionsTarget =
17
17
  * highest-position failure seen, even when sepBy/many backtrack past the cursor.
18
18
  * Returns the expected tokens from that deepest failure.
19
19
  *
20
- * Works on the interpreter combinator OR a `compile(g, { recovery: true })` grammar
20
+ * Works on the interpreter combinator OR a `compile()`d grammar
21
21
  * (the probe is recorded on the compiled fast path). Returns an empty array when the
22
22
  * input up to `offset` parses completely with no failures at or before the cursor.
23
23
  *
@@ -28,6 +28,18 @@ export type DispatchOtherwise<T> = {
28
28
  readonly kind: 'otherwise'
29
29
  readonly parser: Combinator<T>
30
30
  readonly usesRouted?: boolean
31
+ /** `false`: a failure of this branch is not committed (see `otherwise()`). */
32
+ readonly commit?: false
33
+ }
34
+ /** `otherwise()` options. */
35
+ export type DispatchOtherwiseOptions = {
36
+ /**
37
+ * `false` lets the fallback branch fail UNCOMMITTED, so an enclosing choice or
38
+ * repeat may try something else, while the `when()` cases still commit. The
39
+ * default `true` is the dispatch cut: a selected branch that fails fails the
40
+ * whole choice.
41
+ */
42
+ commit?: boolean
31
43
  }
32
44
 
33
45
  export type DispatchArm<T = unknown> = DispatchWhen<T> | DispatchWhenMatcher<T> | DispatchOtherwise<T>
@@ -199,8 +211,11 @@ export function makeWhen(opts: DispatchWhenOptions = {}): DispatchWhenFactory {
199
211
  return (key, parser) => when(key, parser, opts)
200
212
  }
201
213
 
202
- export function otherwise<T>(parser: Combinator<T>): DispatchOtherwise<T> {
203
- return { kind: 'otherwise', parser, usesRouted: parserUsesRouted(parser as Combinator<unknown>) }
214
+ export function otherwise<T>(parser: Combinator<T>, opts: DispatchOtherwiseOptions = {}): DispatchOtherwise<T> {
215
+ const usesRouted = parserUsesRouted(parser as Combinator<unknown>)
216
+ return opts.commit === false
217
+ ? { kind: 'otherwise', parser, usesRouted, commit: false }
218
+ : { kind: 'otherwise', parser, usesRouted }
204
219
  }
205
220
 
206
221
  /**
@@ -257,6 +272,7 @@ export function dispatch<S extends string, T extends readonly DispatchArm<unknow
257
272
  }
258
273
  let fallback: Combinator<unknown> | undefined
259
274
  let fallbackUsesRouted = false
275
+ let fallbackCommits = true
260
276
  const matchers: DispatchMatcherCase[] = []
261
277
  const cases: DispatchCase[] = []
262
278
  const seen: Array<{ raw: string; folded: string; caseInsensitive: boolean }> = []
@@ -268,6 +284,7 @@ export function dispatch<S extends string, T extends readonly DispatchArm<unknow
268
284
  if (i !== arms.length - 1) throw new Error('parseman: otherwise() must be the last dispatch() arm')
269
285
  fallback = arm.parser
270
286
  fallbackUsesRouted = arm.usesRouted === true
287
+ fallbackCommits = arm.commit !== false
271
288
  continue
272
289
  }
273
290
  if (arm.kind === 'whenMatcher') {
@@ -326,7 +343,11 @@ export function dispatch<S extends string, T extends readonly DispatchArm<unknow
326
343
  selector: selector as Combinator<string>,
327
344
  cases,
328
345
  ...(matchers.length === 0 ? {} : { matchers }),
329
- ...(fallback === undefined ? {} : { otherwise: fallback, ...(fallbackUsesRouted ? { otherwiseUsesRouted: true } : {}) }),
346
+ ...(fallback === undefined ? {} : {
347
+ otherwise: fallback,
348
+ ...(fallbackUsesRouted ? { otherwiseUsesRouted: true } : {}),
349
+ ...(fallbackCommits ? {} : { otherwiseCommit: false as const }),
350
+ }),
330
351
  },
331
352
  parse(input: string, pos: number, ctx: ParseContext): ParseResult<[S, UnionArms<T>]> {
332
353
  if (parserUsesRouted(selector as Combinator<unknown>)) {
@@ -336,9 +357,10 @@ export function dispatch<S extends string, T extends readonly DispatchArm<unknow
336
357
  const selected = selector.parse(input, pos, ctx)
337
358
  if (!selected.ok) return selected
338
359
 
339
- const branch = byKey.get(selected.value) ??
360
+ const chosen = byKey.get(selected.value) ??
340
361
  (byFoldedKey.size === 0 ? undefined : byFoldedKey.get(asciiFoldKey(selected.value))) ??
341
- matchers.find(matcher => matchesDispatchMatcher(selected.value, matcher)) ??
362
+ matchers.find(matcher => matchesDispatchMatcher(selected.value, matcher))
363
+ const branch = chosen ??
342
364
  (fallback === undefined ? undefined : { keys: [], parser: fallback, caseInsensitive: false, usesRouted: fallbackUsesRouted })
343
365
  if (branch === undefined) {
344
366
  const expected = cases.flatMap(entry => entry.keys.map(key => JSON.stringify(key)))
@@ -361,7 +383,9 @@ export function dispatch<S extends string, T extends readonly DispatchArm<unknow
361
383
  }
362
384
  if (!result.ok) {
363
385
  rollbackTrivia(ctx, mark)
364
- return { ...result, committed: true }
386
+ // An uncommitted fallback reports its own failure, committed only if
387
+ // something inside it committed.
388
+ return chosen === undefined && !fallbackCommits ? result : { ...result, committed: true }
365
389
  }
366
390
 
367
391
  return {