parseman 0.60.3 → 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.3";
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.3";
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.3",
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'
@@ -147,9 +147,11 @@ function matcherExpr(entry: DispatchMatcherCase): string {
147
147
  export function serializeRuleMap(
148
148
  ruleMap: ReadonlyArray<readonly [string, Comb]>,
149
149
  scanSkip?: readonly Comb[] | null,
150
+ /** External names the factory read through `g`; any no rule body reaches is kept as `void g[name]`. */
151
+ accessed?: readonly string[],
150
152
  ): string | null {
151
153
  try {
152
- return new Serializer(ruleMap, scanSkip ?? []).run()
154
+ return new Serializer(ruleMap, scanSkip ?? [], accessed ?? []).run()
153
155
  } catch (e) {
154
156
  if (e instanceof Unserializable) {
155
157
  // `compileLinkableTable()` reaches this at run time, so it runs in browsers too.
@@ -189,10 +191,16 @@ class Serializer {
189
191
  private localRuleNames = new Map<Comb, string>()
190
192
  private ruleMap: ReadonlyArray<readonly [string, Comb]>
191
193
  private scanSkip: readonly Comb[]
194
+ /** Whether any rule reads a `prior.X` hole, so the factory takes `(g, prior)`. */
195
+ private usesPrior = false
192
196
 
193
- constructor(ruleMap: ReadonlyArray<readonly [string, Comb]>, scanSkip: readonly Comb[] = []) {
197
+ private accessed: readonly string[]
198
+ private referenced = new Set<string>()
199
+
200
+ constructor(ruleMap: ReadonlyArray<readonly [string, Comb]>, scanSkip: readonly Comb[] = [], accessed: readonly string[] = []) {
194
201
  this.ruleMap = ruleMap
195
202
  this.scanSkip = scanSkip
203
+ this.accessed = accessed
196
204
  for (const [name, c] of ruleMap) {
197
205
  this.localRuleNames.set(c, name)
198
206
  this.ruleValues.add(this.body(c))
@@ -208,7 +216,7 @@ class Serializer {
208
216
  if (seen.has(c)) return
209
217
  seen.add(c)
210
218
  if (c._def.tag === 'lazy') {
211
- 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')
212
220
  const target = lazyTarget(c)
213
221
  if (target) this.assertNoRuleRef(target, seen)
214
222
  return
@@ -294,11 +302,17 @@ class Serializer {
294
302
  const body = this.ruleMap
295
303
  .map(([name, c]) => ` ${JSON.stringify(name)}: ${this.wrap(this.body(c), [])}`)
296
304
  .join(',\n')
305
+ // A name the factory read through `g` that no rule body reaches still creates
306
+ // its slot, so a composition that defines it nowhere refuses it.
307
+ for (const name of this.accessed) {
308
+ if (!this.referenced.has(name)) innerDecls.push(`void g[${JSON.stringify(name)}]`)
309
+ }
297
310
  // Shared consts go INSIDE the factory: they can reference `g[name]` rule refs,
298
311
  // and `g` only exists in the factory scope.
312
+ const params = this.usesPrior ? '(g, prior)' : '(g)'
299
313
  const factory = innerDecls.length === 0
300
- ? `(g) => ({\n${body}\n})`
301
- : `(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}`
302
316
  const call = `rules(${optionsArg}${factory})`
303
317
  return outerDecls.length === 0
304
318
  ? call
@@ -310,6 +324,7 @@ class Serializer {
310
324
  private analyze(c: Comb, active: Set<Comb>): void {
311
325
  const def = c._def
312
326
  if (def.tag === 'lazy') {
327
+ if (priorNameOf(c) !== undefined) { this.usesPrior = true; return } // resolved by prior[name]
313
328
  if (ruleNameOf(c) !== undefined) return // named rule ref — resolved by g[name]
314
329
  const target = lazyTarget(c)
315
330
  if (!target) throw new Unserializable('unresolved unnamed ref')
@@ -411,8 +426,10 @@ class Serializer {
411
426
  }
412
427
  switch (def.tag) {
413
428
  case 'lazy': {
429
+ const prior = priorNameOf(c)
430
+ if (prior !== undefined) return `prior[${JSON.stringify(prior)}]`
414
431
  const name = this.localRuleNames.get(c) ?? ruleNameOf(c)
415
- if (name !== undefined) return `g[${JSON.stringify(name)}]`
432
+ if (name !== undefined) { this.referenced.add(name); return `g[${JSON.stringify(name)}]` }
416
433
  const target = lazyTarget(c)!
417
434
  // Innermost matching frame wins.
418
435
  for (let i = frames.length - 1; i >= 0; i--) {
@@ -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
@@ -372,24 +372,40 @@ function declaredNamesOf(items: Array<LinkableTable | Record<string, unknown>>):
372
372
  return [...names]
373
373
  }
374
374
 
375
+ /**
376
+ * The reason a linked map is incomplete, or `undefined` when every `g.X` some piece
377
+ * reads is defined by some piece. A linked namespace holds every name a factory
378
+ * merely ACCESSED, so a name nobody defines is a slot that stays undefined. Runtime
379
+ * `compose()` and the macro's build-time fuse both refuse it with these words, naming
380
+ * the rule that reaches the hole when one does.
381
+ */
382
+ export function danglingReference(
383
+ map: Record<string, Combinator<unknown>>,
384
+ /** Names read through `g` that `map` itself does not hold (a merge-by-name fuse drops them). */
385
+ accessed: Iterable<string> = [],
386
+ ): string | undefined {
387
+ const holes = new Set<string>()
388
+ for (const [name, rule] of Object.entries(map)) {
389
+ if (rule._def.tag !== 'lazy') continue
390
+ try { rule._def.thunk() } catch { holes.add(name) }
391
+ }
392
+ for (const name of accessed) if (!Object.hasOwn(map, name)) holes.add(name)
393
+ if (holes.size === 0) return undefined
394
+ const missing = [...holes]
395
+ for (const [name, deps] of ruleDependencies(Object.entries(map).filter(([n]) => !holes.has(n)))) {
396
+ for (const dep of deps) if (holes.has(dep)) return `rule "${name}" references missing rule "${dep}"`
397
+ }
398
+ return `rule(s) ${missing.map(n => `"${n}"`).join(', ')} are referenced but defined by no composed grammar`
399
+ }
400
+
375
401
  /** Link recipes into one interpreter map, refusing a name nobody defines. */
376
402
  function linkComposition(
377
403
  recipes: readonly RulesRecipe[],
378
404
  link: LinkOptions,
379
405
  ): Record<string, Combinator<unknown>> {
380
406
  const map = linkRules(recipes, link)
381
- const missing: string[] = []
382
- for (const [name, rule] of Object.entries(map)) {
383
- if (rule._def.tag !== 'lazy') continue
384
- try { rule._def.thunk() } catch { missing.push(name) }
385
- }
386
- if (missing.length > 0) {
387
- const holes = new Set(missing)
388
- for (const [name, deps] of ruleDependencies(Object.entries(map).filter(([n]) => !holes.has(n)))) {
389
- for (const dep of deps) if (holes.has(dep)) throw new Error(`compose: rule "${name}" references missing rule "${dep}"`)
390
- }
391
- throw new Error(`compose: rule(s) ${missing.map(n => `"${n}"`).join(', ')} are referenced but defined by no composed grammar`)
392
- }
407
+ const dangling = danglingReference(map)
408
+ if (dangling !== undefined) throw new Error(`compose: ${dangling}`)
393
409
  // A borrowed rule object keeps its own grammar's bindings here but would be rebound
394
410
  // by name in `compile()` of this composition: refuse it rather than let the two
395
411
  // engines accept different input.
@@ -403,6 +419,16 @@ function linkComposition(
403
419
  return map
404
420
  }
405
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
+
406
432
  /**
407
433
  * Compose grammars into ONE parser map — the only public composition entry point.
408
434
  * `compose([base, ext, …])`: a later entry's rule WINS by name, and because every
@@ -419,23 +445,23 @@ function linkComposition(
419
445
  * costs a walk of the items' declared names. For speed, `compile()` a rule of it;
420
446
  * `compile()` specialises when the environment allows and falls back under CSP.
421
447
  */
422
- export function compose(
423
- items: Array<LinkableTable | Record<string, unknown>>,
448
+ export function compose<const Items extends ReadonlyArray<LinkableTable | Record<string, unknown>>>(
449
+ items: Items,
424
450
  /**
425
451
  * Host mode for the composed grammar, same meaning as `compile(g, { hostMode })`.
426
452
  * The interpreter routes by host at parse time; this records `'cst'` on every rule
427
453
  * so `run()` can refuse a mismatched host instead of building the wrong tree.
428
454
  */
429
455
  opts?: { hostMode?: HostMode },
430
- ): Record<string, Runnable> {
456
+ ): ComposedRules<Items> {
431
457
  if (items.some(item => (item as Record<symbol, unknown>)[LEAF_COMPOSED] === true)) {
432
458
  throw new Error('compose: a composeLeaf() result is terminal and cannot be composed again')
433
459
  }
434
- return linkedMap(items, opts, false)
460
+ return linkedMap(items, opts, false) as ComposedRules<Items>
435
461
  }
436
462
 
437
463
  function linkedMap(
438
- items: Array<LinkableTable | Record<string, unknown>>,
464
+ items: ReadonlyArray<LinkableTable | Record<string, unknown>>,
439
465
  opts: { hostMode?: HostMode } | undefined,
440
466
  leaf: boolean,
441
467
  ): Record<string, Runnable> {
@@ -469,10 +495,10 @@ function linkedMap(
469
495
  * At runtime it is the same lazy link as `compose()`, marked terminal. The bench and
470
496
  * differential harnesses import un-macro'd grammar modules and run this path.
471
497
  */
472
- export function composeLeaf(
473
- items: Array<LinkableTable | Record<string, unknown>>,
474
- ): Record<string, Runnable> {
475
- 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>
476
502
  }
477
503
 
478
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'