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.
- package/dist/analysis/commitment.d.ts.map +1 -1
- package/dist/analysis/diagnostics.js +1 -1
- package/dist/cli/index.js +420 -420
- package/dist/cli/index.js.map +3 -3
- package/dist/combinators/parser.d.ts +34 -3
- package/dist/combinators/parser.d.ts.map +1 -1
- package/dist/compiler/compile-linkable-table.d.ts.map +1 -1
- package/dist/compiler/ir-serialize.d.ts +3 -1
- package/dist/compiler/ir-serialize.d.ts.map +1 -1
- package/dist/compiler/linker.d.ts +21 -3
- package/dist/compiler/linker.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -35
- package/dist/index.js.map +1 -1
- package/dist/plugin/evaluator.d.ts +11 -1
- package/dist/plugin/evaluator.d.ts.map +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +162 -73
- package/dist/plugin/index.js.map +2 -2
- package/dist/spec/index.js +3 -1
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/model.d.ts.map +1 -1
- package/dist/table/index.js +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/analysis/commitment.ts +3 -1
- package/src/combinators/parser.ts +82 -9
- package/src/compiler/compile-linkable-table.ts +4 -1
- package/src/compiler/ir-serialize.ts +24 -7
- package/src/compiler/linker.ts +50 -24
- package/src/index.ts +1 -0
- package/src/plugin/evaluator.ts +27 -5
- package/src/plugin/index.ts +41 -100
- package/src/spec/model.ts +3 -1
- package/src/version.ts +1 -1
package/dist/spec/index.js
CHANGED
|
@@ -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
|
-
|
|
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:
|
package/dist/spec/index.js.map
CHANGED
|
@@ -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
|
}
|
package/dist/spec/model.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/table/index.js
CHANGED
|
@@ -5736,7 +5736,7 @@ function projectChild(children2, project, type) {
|
|
|
5736
5736
|
}
|
|
5737
5737
|
|
|
5738
5738
|
// src/version.ts
|
|
5739
|
-
var PARSEMAN_VERSION = "0.60.
|
|
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.
|
|
16
|
+
export declare const PARSEMAN_VERSION = "0.60.5";
|
|
17
17
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
?
|
|
301
|
-
:
|
|
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--) {
|
package/src/compiler/linker.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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
|
|
382
|
-
|
|
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:
|
|
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
|
-
):
|
|
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:
|
|
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:
|
|
474
|
-
):
|
|
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'
|