parseman 0.60.4 → 0.60.5

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.
@@ -397,7 +397,9 @@ var Builder = class {
397
397
  return { kind: "annotation", text: def.polarity === "adjacent" ? "(adjacent)" : def.kinds ? `(separated: ${def.kinds.join("|")})` : "(separated)" };
398
398
  case "lazy": {
399
399
  const inner = resolveLazy(self);
400
- return inner ? this.walk(inner) : { kind: "annotation", text: "?" };
400
+ if (inner) return this.walk(inner);
401
+ const prior = self._priorOf;
402
+ return { kind: "annotation", text: prior === void 0 ? "?" : `prior.${prior}` };
401
403
  }
402
404
  case "unknown":
403
405
  default:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/line-index.ts", "../../src/combinators/parser.ts", "../../src/compiler/linker.ts", "../../src/spec/model.ts", "../../src/spec/ebnf.ts", "../../src/spec/railroad-lib.ts", "../../src/spec/railroad.ts", "../../src/spec/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["children", "span", "rawChildren", "triviaLog", "state", "builders"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/spec/model.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AASxD,qEAAqE;AACrE,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE;AACvC,oEAAoE;GAClE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE;AAChD;qEACqE;GACnE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AACjC;;;;GAIG;GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE;AACjG,sDAAsD;GACpD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC/B;;;;GAIG;GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AACtD,iFAAiF;GAC/E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AACjC,4DAA4D;GAC1D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AAClC,oEAAoE;GAClE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACtC,gEAAgE;GAC9D;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAErB,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;CACrE,CAAA;AAED,MAAM,MAAM,YAAY,GACpB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,GACnC,UAAU,CAAC,OAAO,CAAC,CAAA;AAkfvB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE,WAAgB,GAAG,SAAS,CA4C1F"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/spec/model.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AASxD,qEAAqE;AACrE,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE;AACvC,oEAAoE;GAClE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE;AAChD;qEACqE;GACnE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AACjC;;;;GAIG;GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE;AACjG,sDAAsD;GACpD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC/B;;;;GAIG;GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AACtD,iFAAiF;GAC/E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AACjC,4DAA4D;GAC1D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AAClC,oEAAoE;GAClE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACtC,gEAAgE;GAC9D;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAErB,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;CACrE,CAAA;AAED,MAAM,MAAM,YAAY,GACpB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,GACnC,UAAU,CAAC,OAAO,CAAC,CAAA;AAofvB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE,WAAgB,GAAG,SAAS,CA4C1F"}
@@ -5736,7 +5736,7 @@ function projectChild(children2, project, type) {
5736
5736
  }
5737
5737
 
5738
5738
  // src/version.ts
5739
- var PARSEMAN_VERSION = "0.60.4";
5739
+ var PARSEMAN_VERSION = "0.60.5";
5740
5740
 
5741
5741
  // src/table/assemble.ts
5742
5742
  import { PlainBuf as PlainBuf2, PlainField, PlainLeaf as PlainLeaf8, PlainNode as PlainNode2, PlainSpan as PlainSpan9 } from "../cst/plain.js";
package/dist/version.d.ts CHANGED
@@ -13,5 +13,5 @@
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.60.4";
16
+ export declare const PARSEMAN_VERSION = "0.60.5";
17
17
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parseman",
3
- "version": "0.60.4",
3
+ "version": "0.60.5",
4
4
  "packageManager": "pnpm@10.15.1",
5
5
  "engines": {
6
6
  "node": "^20.19.0 || >=22.13.0"
@@ -676,7 +676,9 @@ export function classifyRuleMap(
676
676
  let resolved: Combinator<unknown> | undefined
677
677
  try { resolved = def.thunk() } catch { resolved = undefined }
678
678
  if (resolved === undefined) {
679
- if ((p as unknown as { _ruleName?: string })._ruleName) externalRefs.add(p)
679
+ // A `prior.X` placeholder is a hole too: the composition fills it by name.
680
+ const hole = p as unknown as { _ruleName?: string; _priorOf?: string }
681
+ if (hole._ruleName !== undefined || hole._priorOf !== undefined) externalRefs.add(p)
680
682
  return
681
683
  }
682
684
  scanExternal(resolved)
@@ -1,5 +1,7 @@
1
1
  import type { Combinator } from '../types.ts'
2
2
  import type { HostMode } from '../cst/host-mode.ts'
3
+ import type { Runnable } from '../functional/run.ts'
4
+ import { any } from './first-set.ts'
3
5
  import { ref } from './ref.ts'
4
6
  import { markUnusedValues } from '../compiler/value-usage.ts'
5
7
  import { parser as grammarParser } from './grammar.ts'
@@ -28,12 +30,20 @@ function isDefinableRef(v: unknown): v is DefinableRef {
28
30
  && typeof (v as { define?: unknown }).define === 'function'
29
31
  }
30
32
 
33
+ /** The rule name a `prior.X` placeholder stands for (see `linkRules`), or `undefined`. */
34
+ export function priorNameOf(r: Combinator<unknown>): string | undefined {
35
+ return (r as unknown as { _priorOf?: string })._priorOf
36
+ }
37
+
31
38
  function ruleNameOf(r: Combinator<unknown>): string | undefined {
32
39
  return (r as unknown as { _ruleName?: string })._ruleName
33
40
  }
34
41
 
35
42
  function isNamedRuleRefForAnotherRule(r: Combinator<unknown>, key: string): boolean {
36
- const name = r._def.tag === 'lazy' ? ruleNameOf(r) : undefined
43
+ if (r._def.tag !== 'lazy') return false
44
+ // A `prior.X` hole stands for an earlier piece's rule, never for this key.
45
+ if (priorNameOf(r) !== undefined) return true
46
+ const name = ruleNameOf(r)
37
47
  return name !== undefined && name !== key
38
48
  }
39
49
 
@@ -157,13 +167,58 @@ type RuleMapNodeTag<T extends Record<string, Combinator<unknown>>> = {
157
167
  type RulesResult<T extends Record<string, Combinator<unknown>>> =
158
168
  T & GrammarWithReflection<RuleMapNodeType<T>, RuleMapNodeTag<T>>
159
169
 
160
- export function rules<T extends Record<string, Combinator<unknown>>>(factory: (self: any) => T): RulesResult<T>
161
- export function rules<T extends Record<string, Combinator<unknown>>>(options: RulesOptions, factory: (self: any) => T): RulesResult<T>
162
- export function rules<T extends Record<string, Combinator<unknown>>>(
163
- a: ((self: any) => T) | RulesOptions,
164
- b?: (self: any) => T,
170
+ /**
171
+ * The second parameter of a `rules((g, prior) => …)` factory. `prior.X` is the
172
+ * definition of `X` that the grammars composed BEFORE this one gave it, with a
173
+ * top-level `node()` unwrapped to its body, so a composing grammar can re-reduce,
174
+ * wrap or extend an inherited rule without re-spelling it:
175
+ *
176
+ * rules((g, prior: PriorRules<typeof css>) => ({
177
+ * Value: node('Value', prior.Value, reduceValue),
178
+ * }))
179
+ *
180
+ * Naming the base grammar types `prior.X`, and a misspelled rule fails to compile.
181
+ *
182
+ * Its `g.X` references stay bound to the composition (open recursion). A rule's value
183
+ * is `unknown` here, because unwrapping a `node()` changes it. Unnamed, the parameter
184
+ * answers any string, which `noUncheckedIndexedAccess` reads as possibly undefined.
185
+ * See `docs/guide/extending.md`.
186
+ */
187
+ export type PriorRules<Base = Record<string, Combinator<unknown>>> =
188
+ [KnownRuleNames<Base>] extends [never]
189
+ ? { readonly [name: string]: Combinator<unknown> }
190
+ : { readonly [K in KnownRuleNames<Base>]: Combinator<unknown> }
191
+
192
+ /** The rule names a grammar's type spells out: not its index signature, if it has one. */
193
+ export type KnownRuleNames<Base> = keyof {
194
+ [K in keyof Base as string extends K ? never : number extends K ? never : Base[K] extends Combinator<unknown> | Runnable ? K : never]: unknown
195
+ } & string
196
+
197
+ const priorUnfilled = (key: string): Error =>
198
+ new Error(`compose: prior.${key} is read, but no grammar composed before it defines "${key}"`)
199
+
200
+ /** The placeholder for a `prior.X` no earlier piece has defined yet. Composition
201
+ * replaces it; running it, or analysing what it leads to, reports the name. */
202
+ function priorHole(key: string): Combinator<unknown> {
203
+ const unfilled = priorUnfilled(key)
204
+ const fail = (): never => { throw unfilled }
205
+ return {
206
+ _tag: 'lazy',
207
+ _meta: { firstSet: any(), canMatchNewline: true, isTrivia: false },
208
+ _def: { tag: 'lazy', thunk: fail },
209
+ parse: fail,
210
+ _priorOf: key,
211
+ } as Combinator<unknown>
212
+ }
213
+
214
+ export function rules<T extends Record<string, Combinator<unknown>>, P extends object = PriorRules>(factory: (self: any, prior: P) => T): RulesResult<T>
215
+ export function rules<T extends Record<string, Combinator<unknown>>, P extends object = PriorRules>(options: RulesOptions, factory: (self: any, prior: P) => T): RulesResult<T>
216
+ export function rules<T extends Record<string, Combinator<unknown>>, P extends object = PriorRules>(
217
+ a: ((self: any, prior: P) => T) | RulesOptions,
218
+ b?: (self: any, prior: P) => T,
165
219
  ): RulesResult<T> {
166
- const factory = (typeof a === 'function' ? a : b) as (self: any) => T
220
+ // The proxy answers every name, so it satisfies whatever rules `P` names.
221
+ const factory = (typeof a === 'function' ? a : b) as unknown as RulesRecipe['factory']
167
222
  const options = (typeof a === 'function' ? b : a) as RulesOptions | undefined
168
223
  const recipe: RulesRecipe = { factory, options }
169
224
  const map = linkRules([recipe])
@@ -180,7 +235,7 @@ export function rules<T extends Record<string, Combinator<unknown>>>(
180
235
  */
181
236
  export const RULES_RECIPE = Symbol.for('parseman.rulesRecipe')
182
237
  export type RulesRecipe = {
183
- readonly factory: (self: Record<string, Combinator<unknown>>) => Record<string, Combinator<unknown>>
238
+ readonly factory: (self: Record<string, Combinator<unknown>>, prior: PriorRules) => Record<string, Combinator<unknown>>
184
239
  readonly options: RulesOptions | undefined
185
240
  }
186
241
 
@@ -234,8 +289,26 @@ export function linkRules(
234
289
  // before the rule's own parser is built — enabling forward references. A later
235
290
  // recipe's definition of a name WINS; the name keeps its first position.
236
291
  const winners = new Map<string, { parser: Combinator<unknown>; options: RulesOptions | undefined }>()
292
+ // `prior.X`: the winner for X BEFORE the running recipe, read while that recipe's
293
+ // factory runs (its own definitions join `winners` only after it returns). It is
294
+ // the earlier definition itself, inlined into the new rule's graph, so it costs no
295
+ // hop at parse time. A grammar not yet composed has no earlier piece: `prior.X` is
296
+ // then a placeholder the serializer writes back as `prior.X`, and a composition
297
+ // that still has no earlier X refuses it.
298
+ const priorHoles = new Map<string, Combinator<unknown>>()
299
+ const prior = new Proxy<PriorRules>({}, {
300
+ get(_target, key) {
301
+ if (typeof key !== 'string') return undefined
302
+ const earlier = winners.get(key)?.parser
303
+ if (earlier !== undefined) return earlier._def.tag === 'node' ? earlier._def.parser : earlier
304
+ if (link !== undefined) throw priorUnfilled(key)
305
+ let hole = priorHoles.get(key)
306
+ if (hole === undefined) priorHoles.set(key, hole = priorHole(key))
307
+ return hole
308
+ },
309
+ })
237
310
  for (const recipe of recipes) {
238
- const definitions = recipe.factory(proxy)
311
+ const definitions = recipe.factory(proxy, prior)
239
312
  for (const key of Object.keys(definitions)) {
240
313
  winners.set(key, { parser: definitions[key]!, options: recipe.options })
241
314
  }
@@ -4,6 +4,7 @@ import { childrenOf } from '../analysis/gating.ts'
4
4
  import { collectGrammarReflection, type GrammarReflection } from '../cst/reflection.ts'
5
5
  import { classifyRuleMap } from '../analysis/commitment.ts'
6
6
  import { serializeRuleMap } from './ir-serialize.ts'
7
+ import { priorNameOf } from '../combinators/parser.ts'
7
8
  import { compileRuleMap, compileRuleMapRunnable, type TableRuleMapOptions } from '../table/compile-rule-map.ts'
8
9
  import type { TableProgram, TableRule } from '../table/program.ts'
9
10
  import { PARSEMAN_VERSION } from '../version.ts'
@@ -132,7 +133,9 @@ function externalNames(
132
133
  let resolved: Combinator<unknown> | undefined
133
134
  try { resolved = d.thunk() } catch { resolved = undefined }
134
135
  if (resolved === undefined) {
135
- const name = (p as unknown as { _ruleName?: string })._ruleName
136
+ // A `prior.X` the composition fills from an earlier piece is a hole too.
137
+ const prior = priorNameOf(p)
138
+ const name = prior === undefined ? (p as unknown as { _ruleName?: string })._ruleName : `prior.${prior}`
136
139
  if (name !== undefined && !out.includes(name)) out.push(name)
137
140
  return
138
141
  }
@@ -18,7 +18,7 @@
18
18
  * source, or an unsupported construct) — the caller then keeps the lowered source.
19
19
  */
20
20
  import type { Combinator, DispatchMatcherCase, ParserDef } from '../types.ts'
21
- import { rules } from '../combinators/parser.ts'
21
+ import { priorNameOf, rules } from '../combinators/parser.ts'
22
22
  import { ref } from '../combinators/ref.ts'
23
23
  import { regex } from '../combinators/regex.ts'
24
24
  import { literal } from '../combinators/literal.ts'
@@ -191,6 +191,8 @@ class Serializer {
191
191
  private localRuleNames = new Map<Comb, string>()
192
192
  private ruleMap: ReadonlyArray<readonly [string, Comb]>
193
193
  private scanSkip: readonly Comb[]
194
+ /** Whether any rule reads a `prior.X` hole, so the factory takes `(g, prior)`. */
195
+ private usesPrior = false
194
196
 
195
197
  private accessed: readonly string[]
196
198
  private referenced = new Set<string>()
@@ -214,7 +216,7 @@ class Serializer {
214
216
  if (seen.has(c)) return
215
217
  seen.add(c)
216
218
  if (c._def.tag === 'lazy') {
217
- if (ruleNameOf(c) !== undefined) throw new Unserializable('scanSkip unit references a grammar rule')
219
+ if (ruleNameOf(c) !== undefined || priorNameOf(c) !== undefined) throw new Unserializable('scanSkip unit references a grammar rule')
218
220
  const target = lazyTarget(c)
219
221
  if (target) this.assertNoRuleRef(target, seen)
220
222
  return
@@ -307,9 +309,10 @@ class Serializer {
307
309
  }
308
310
  // Shared consts go INSIDE the factory: they can reference `g[name]` rule refs,
309
311
  // and `g` only exists in the factory scope.
312
+ const params = this.usesPrior ? '(g, prior)' : '(g)'
310
313
  const factory = innerDecls.length === 0
311
- ? `(g) => ({\n${body}\n})`
312
- : `(g) => {\n${innerDecls.map(d => ' ' + d).join('\n')}\n return ({\n${body}\n})\n}`
314
+ ? `${params} => ({\n${body}\n})`
315
+ : `${params} => {\n${innerDecls.map(d => ' ' + d).join('\n')}\n return ({\n${body}\n})\n}`
313
316
  const call = `rules(${optionsArg}${factory})`
314
317
  return outerDecls.length === 0
315
318
  ? call
@@ -321,6 +324,7 @@ class Serializer {
321
324
  private analyze(c: Comb, active: Set<Comb>): void {
322
325
  const def = c._def
323
326
  if (def.tag === 'lazy') {
327
+ if (priorNameOf(c) !== undefined) { this.usesPrior = true; return } // resolved by prior[name]
324
328
  if (ruleNameOf(c) !== undefined) return // named rule ref — resolved by g[name]
325
329
  const target = lazyTarget(c)
326
330
  if (!target) throw new Unserializable('unresolved unnamed ref')
@@ -422,6 +426,8 @@ class Serializer {
422
426
  }
423
427
  switch (def.tag) {
424
428
  case 'lazy': {
429
+ const prior = priorNameOf(c)
430
+ if (prior !== undefined) return `prior[${JSON.stringify(prior)}]`
425
431
  const name = this.localRuleNames.get(c) ?? ruleNameOf(c)
426
432
  if (name !== undefined) { this.referenced.add(name); return `g[${JSON.stringify(name)}]` }
427
433
  const target = lazyTarget(c)!
@@ -16,7 +16,7 @@ import { borrowedRuleMessage, borrowedRuleReference } from './borrowed-rules.ts'
16
16
  import { FUSED_HOST_MODE, FUSED_HOST_ELIDED, type HostMode } from '../cst/host-mode.ts'
17
17
  import { compileLinkableTable, type LinkableTable } from './compile-linkable-table.ts'
18
18
  import { GRAMMAR_REFLECTION } from '../cst/reflection.ts'
19
- import { linkRules, RULE_ORDER, RULES_RECIPE, type LinkOptions, type RulesRecipe } from '../combinators/parser.ts'
19
+ import { linkRules, RULE_ORDER, RULES_RECIPE, type KnownRuleNames, type LinkOptions, type RulesRecipe } from '../combinators/parser.ts'
20
20
  import type { BuildHost, Combinator, CstCollapsePredicate, ParseContext, ParseResult } from '../types.ts'
21
21
  import type { Runnable } from '../functional/run.ts'
22
22
  import { PlainNode, PlainTaggedNode } from '../cst/plain.js'
@@ -342,7 +342,7 @@ function recipesOf(item: LinkableTable | Record<string, unknown>): readonly Rule
342
342
  * `rules({ trivia }, …)` map's own, or a runtime composition's composing trivia.
343
343
  * Outermost wins over every linked rule, inherited ones included; `parser` /
344
344
  * `noTrivia` still override locally. */
345
- function composingTriviaOf(items: Array<LinkableTable | Record<string, unknown>>): Combinator<unknown> | undefined {
345
+ function composingTriviaOf(items: ReadonlyArray<LinkableTable | Record<string, unknown>>): Combinator<unknown> | undefined {
346
346
  for (let i = items.length - 1; i >= 0; i--) {
347
347
  const item = items[i] as Record<symbol, unknown>
348
348
  if (item[LINKED] !== undefined) {
@@ -359,7 +359,7 @@ function composingTriviaOf(items: Array<LinkableTable | Record<string, unknown>>
359
359
 
360
360
  /** The rule names a linked composition defines, in first-declaration order —
361
361
  * known WITHOUT linking, from each item's own declaration order. */
362
- function declaredNamesOf(items: Array<LinkableTable | Record<string, unknown>>): string[] {
362
+ function declaredNamesOf(items: ReadonlyArray<LinkableTable | Record<string, unknown>>): string[] {
363
363
  const names = new Set<string>()
364
364
  for (const item of items) {
365
365
  const linked = (item as Record<symbol, unknown>)[LINKED] !== undefined
@@ -419,6 +419,16 @@ function linkComposition(
419
419
  return map
420
420
  }
421
421
 
422
+ /** The rules each item spells out. An item that spells out none, such as a plain
423
+ * `Record<string, …>`, could hold anything, so the whole result stays open. */
424
+ type ItemRuleNames<Item> = Item extends unknown
425
+ ? [KnownRuleNames<Item>] extends [never] ? string : KnownRuleNames<Item>
426
+ : never
427
+
428
+ /** A composition's rules: every name its items spell out, plus lookup by any string. */
429
+ export type ComposedRules<Items extends readonly unknown[]> =
430
+ Record<string, Runnable> & { [K in ItemRuleNames<Items[number]>]: Runnable }
431
+
422
432
  /**
423
433
  * Compose grammars into ONE parser map — the only public composition entry point.
424
434
  * `compose([base, ext, …])`: a later entry's rule WINS by name, and because every
@@ -435,23 +445,23 @@ function linkComposition(
435
445
  * costs a walk of the items' declared names. For speed, `compile()` a rule of it;
436
446
  * `compile()` specialises when the environment allows and falls back under CSP.
437
447
  */
438
- export function compose(
439
- items: Array<LinkableTable | Record<string, unknown>>,
448
+ export function compose<const Items extends ReadonlyArray<LinkableTable | Record<string, unknown>>>(
449
+ items: Items,
440
450
  /**
441
451
  * Host mode for the composed grammar, same meaning as `compile(g, { hostMode })`.
442
452
  * The interpreter routes by host at parse time; this records `'cst'` on every rule
443
453
  * so `run()` can refuse a mismatched host instead of building the wrong tree.
444
454
  */
445
455
  opts?: { hostMode?: HostMode },
446
- ): Record<string, Runnable> {
456
+ ): ComposedRules<Items> {
447
457
  if (items.some(item => (item as Record<symbol, unknown>)[LEAF_COMPOSED] === true)) {
448
458
  throw new Error('compose: a composeLeaf() result is terminal and cannot be composed again')
449
459
  }
450
- return linkedMap(items, opts, false)
460
+ return linkedMap(items, opts, false) as ComposedRules<Items>
451
461
  }
452
462
 
453
463
  function linkedMap(
454
- items: Array<LinkableTable | Record<string, unknown>>,
464
+ items: ReadonlyArray<LinkableTable | Record<string, unknown>>,
455
465
  opts: { hostMode?: HostMode } | undefined,
456
466
  leaf: boolean,
457
467
  ): Record<string, Runnable> {
@@ -485,10 +495,10 @@ function linkedMap(
485
495
  * At runtime it is the same lazy link as `compose()`, marked terminal. The bench and
486
496
  * differential harnesses import un-macro'd grammar modules and run this path.
487
497
  */
488
- export function composeLeaf(
489
- items: Array<LinkableTable | Record<string, unknown>>,
490
- ): Record<string, Runnable> {
491
- return linkedMap(items, undefined, true)
498
+ export function composeLeaf<const Items extends ReadonlyArray<LinkableTable | Record<string, unknown>>>(
499
+ items: Items,
500
+ ): ComposedRules<Items> {
501
+ return linkedMap(items, undefined, true) as ComposedRules<Items>
492
502
  }
493
503
 
494
504
  /** Whether `map` is a runtime composition (a combinator map) rather than a
package/src/index.ts CHANGED
@@ -23,6 +23,7 @@ export type { AttemptOptions } from './combinators/attempt.ts'
23
23
  export { many, oneOrMore, optional, sepBy, oneOrMoreSep, keepSeparator } from './combinators/repeat.ts'
24
24
  export type { RepeatOptions, SepByOptions, TrailingSeparator, KeptSeparator } from './combinators/repeat.ts'
25
25
  export { rules } from './combinators/parser.ts'
26
+ export type { PriorRules } from './combinators/parser.ts'
26
27
  export { ref } from './combinators/ref.ts'
27
28
  export { not } from './combinators/not.ts'
28
29
  export { peek } from './combinators/peek.ts'
@@ -16,7 +16,7 @@ import type {
16
16
  import type { Combinator } from '../types.ts'
17
17
  import type { DispatchArm } from '../combinators/dispatch.ts'
18
18
  import { ref } from '../combinators/ref.ts'
19
- import { rules, type RulesOptions } from '../combinators/parser.ts'
19
+ import { rules, RULES_RECIPE, type PriorRules, type RulesOptions, type RulesRecipe } from '../combinators/parser.ts'
20
20
  import * as parseman from '../index.ts'
21
21
  import { confirmedBuildParamUnused } from '../compiler/build-arity.ts'
22
22
  import { directBuilderBindings } from './direct-builder-static.ts'
@@ -1478,11 +1478,17 @@ export function evaluateParserFactory(
1478
1478
 
1479
1479
  const factory = factoryNode as unknown as ArrowFunctionExpression | OxcFunction
1480
1480
  const params = factory.params
1481
- if (params.length !== 1) return null
1482
- const param = params[0] as unknown as { type: string; name?: string }
1481
+ if (params.length !== 1 && params.length !== 2) return null
1483
1482
  // FormalParameter is { decorators? } & BindingPattern — BindingIdentifier has type "Identifier"
1484
- const proxyName = param.type === 'Identifier' ? param.name ?? null : null
1483
+ const paramName = (param: unknown): string | null => {
1484
+ const p = param as { type: string; name?: string }
1485
+ return p.type === 'Identifier' ? p.name ?? null : null
1486
+ }
1487
+ const proxyName = paramName(params[0])
1485
1488
  if (!proxyName) return null
1489
+ // `(g, prior)`: the second parameter is the `prior` handle (`PriorRules`).
1490
+ const priorName = params.length === 2 ? paramName(params[1]) : undefined
1491
+ if (priorName === null) return null
1486
1492
 
1487
1493
  const body = factory.body
1488
1494
  if (!body) return null
@@ -1566,11 +1572,12 @@ export function evaluateParserFactory(
1566
1572
  const ABORT = Symbol('parseman: factory not statically evaluable')
1567
1573
  let built: Record<string, Combinator<unknown>>
1568
1574
  try {
1569
- built = rules(options ?? {}, (g: Record<string, Combinator<unknown>>) => {
1575
+ built = rules(options ?? {}, (g: Record<string, Combinator<unknown>>, prior: PriorRules) => {
1570
1576
  // Outer ScopeEntry values carry their mfSrcs and are replayed by scopeGet()
1571
1577
  // when body statements or return expressions reference them.
1572
1578
  const localScope: XScope = scope instanceof ModuleScope ? scope.fork() : new Map(scope as XScope)
1573
1579
  localScope.set(proxyName, g)
1580
+ if (priorName !== undefined) localScope.set(priorName, prior)
1574
1581
 
1575
1582
  // ── Phase 1: the factory's own body statements ────────────────────────
1576
1583
  if (!evalBodyStatements(statements, localScope, code, out)) throw ABORT
@@ -1615,9 +1622,13 @@ export function evaluateParserFactory(
1615
1622
  for (const key of keys) map.set(key, built[key]!)
1616
1623
  const declared = new Set(keys)
1617
1624
  externalAccesses.set(map, Object.keys(built).filter(name => !declared.has(name)))
1625
+ ruleMapRecipes.set(map, (built as unknown as Record<symbol, readonly RulesRecipe[]>)[RULES_RECIPE]!)
1618
1626
  return map
1619
1627
  }
1620
1628
 
1629
+ /** The recipe an evaluated rule map came from, for a composition that links it. */
1630
+ export const ruleMapRecipes = new WeakMap<ReadonlyMap<string, Combinator<unknown>>, readonly RulesRecipe[]>()
1631
+
1621
1632
  /**
1622
1633
  * Every EXTERNAL name an evaluated factory read through `g`, keyed by the map
1623
1634
  * `evaluateParserFactory` returned. The map holds declared rules only, so a `g.X`