parseman 0.51.0 → 0.51.2
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/diagnostics.js +48 -15
- package/dist/analysis/diagnostics.js.map +1 -1
- package/dist/cli/index.js +50 -17
- package/dist/cli/index.js.map +1 -1
- package/dist/combinators/token.d.ts +8 -8
- package/dist/combinators/token.d.ts.map +1 -1
- package/dist/coverage.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -21
- package/dist/index.js.map +1 -1
- package/dist/plugin/evaluator.d.ts.map +1 -1
- package/dist/plugin/index.js +59 -22
- package/dist/plugin/index.js.map +1 -1
- package/dist/spec/index.js +27 -5
- package/dist/spec/index.js.map +1 -1
- package/dist/table/assemble.d.ts.map +1 -1
- package/dist/table/emit-assembly.d.ts.map +1 -1
- package/dist/table/encode-baseline.d.ts.map +1 -1
- package/dist/table/exec-baseline.d.ts.map +1 -1
- package/dist/table/exec.d.ts.map +1 -1
- package/dist/table/index.js +373 -362
- package/dist/table/index.js.map +2 -2
- package/dist/table/ops.d.ts +2 -0
- package/dist/table/ops.d.ts.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/analysis/duplication.ts +1 -1
- package/src/analysis/rebuild.ts +2 -2
- package/src/combinators/token.ts +46 -3
- package/src/compiler/ir-serialize.ts +11 -7
- package/src/coverage.ts +2 -3
- package/src/index.ts +1 -1
- package/src/plugin/evaluator.ts +7 -4
- package/src/table/assemble.ts +8 -3
- package/src/table/child-slots.ts +2 -2
- package/src/table/emit-assembly.ts +5 -3
- package/src/table/encode-baseline.ts +3 -2
- package/src/table/encode.ts +3 -3
- package/src/table/exec-baseline.ts +30 -4
- package/src/table/exec.ts +8 -3
- package/src/table/ops.ts +3 -1
- package/src/table/scalar-terminal.ts +5 -5
- package/src/table/site-labels.ts +2 -2
- package/src/types.ts +1 -1
- package/src/version.ts +1 -1
package/dist/table/ops.d.ts
CHANGED
|
@@ -468,6 +468,8 @@ export declare const OP_SCOPE_PLAIN = 41;
|
|
|
468
468
|
export declare const OP_LEX_BODY = 42;
|
|
469
469
|
/** `LEX_PROGRAM p` — selected fixed composite lexical body, childless. */
|
|
470
470
|
export declare const OP_LEX_PROGRAM = 43;
|
|
471
|
+
/** `SOURCE_LEAF f c` — `sourceLeaf()`: reduce semantically, capture source text. */
|
|
472
|
+
export declare const OP_SOURCE_LEAF = 44;
|
|
471
473
|
/**
|
|
472
474
|
* `DISPATCH sel d other otherRouted n a1 … an` — `dispatch()`.
|
|
473
475
|
*
|
package/dist/table/ops.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -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
|
@@ -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.51.
|
|
16
|
+
export declare const PARSEMAN_VERSION = "0.51.2";
|
|
17
17
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -392,7 +392,7 @@ function payloadKey(p: Combinator<unknown>, d: ParserDef): string {
|
|
|
392
392
|
case 'field': return `field\u0000${d.name}`
|
|
393
393
|
case 'node': return `node\u0000${d.type ?? ''}\u0000${d.unwrap === true}\u0000${d.collapse === true}\u0000${fnKey(d.buildSrc, d.build)}`
|
|
394
394
|
case 'transform': return `transform\u0000${fnKey(d.fnSrc, d.fn)}\u0000${d.recognitionOnly === true}`
|
|
395
|
-
case 'leaf': return `leaf\u0000${fnKey(d.fnSrc, d.fn)}`
|
|
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
398
|
case 'dispatch': return `dispatch\u0000${d.cases.map(c => JSON.stringify(c.keys)).join('\u0002')}\u0000${d.otherwise !== undefined}`
|
package/src/analysis/rebuild.ts
CHANGED
|
@@ -49,7 +49,7 @@ import { not } from '../combinators/not.ts'
|
|
|
49
49
|
import { peek } from '../combinators/peek.ts'
|
|
50
50
|
import { node } from '../combinators/node.ts'
|
|
51
51
|
import { transform, label, field } from '../combinators/map.ts'
|
|
52
|
-
import { token, leaf } from '../combinators/token.ts'
|
|
52
|
+
import { token, leaf, sourceLeaf } from '../combinators/token.ts'
|
|
53
53
|
import { expect } from '../combinators/expect.ts'
|
|
54
54
|
import { adjacent, notAdjacent } from '../combinators/adjacency.ts'
|
|
55
55
|
import { parser } from '../combinators/grammar.ts'
|
|
@@ -222,7 +222,7 @@ export function rebuildCombinator(
|
|
|
222
222
|
case 'label': out = label(d.label, one(d.parser)); break
|
|
223
223
|
case 'field': out = field(d.name, one(d.parser)); break
|
|
224
224
|
case 'token': out = token(one(d.parser)); break
|
|
225
|
-
case 'leaf': out = leaf(one(d.parser), d.fn); break
|
|
225
|
+
case 'leaf': out = d.cstValue === 'source' ? sourceLeaf(one(d.parser), d.fn) : leaf(one(d.parser), d.fn); break
|
|
226
226
|
// A LABELLED expect reproduces `d.expected` exactly (`expect` sets it to `[label]`).
|
|
227
227
|
// An unlabelled one RE-DERIVES it from the rebuilt inner parser, so it can differ
|
|
228
228
|
// from `d.expected` when derivation hit an undefined `lazy` thunk in a different
|
package/src/combinators/token.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import type { Combinator, ParseContext, ParseResult, ParserMeta } from '../types.ts'
|
|
2
2
|
import { pushCstLeaf, cstCaptureActive } from '../cst/capture-buffer.ts'
|
|
3
|
+
import { cstOutputHost } from '../compiler/build-arity.ts'
|
|
4
|
+
|
|
5
|
+
type LeafCstValue<U> = (ctx: ParseContext, input: string, start: number, end: number, value: U) => unknown
|
|
6
|
+
|
|
7
|
+
function semanticLeafValue<U>(_ctx: ParseContext, _input: string, _start: number, _end: number, value: U): U {
|
|
8
|
+
return value
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function sourceLeafValue<U>(ctx: ParseContext, input: string, start: number, end: number, value: U): U | string {
|
|
12
|
+
return cstOutputHost(ctx.build) ? input.slice(start, end) : value
|
|
13
|
+
}
|
|
3
14
|
|
|
4
15
|
/**
|
|
5
16
|
* Treat a parser as one source token.
|
|
@@ -74,10 +85,14 @@ export function token(root: Combinator<unknown>): Combinator<string> {
|
|
|
74
85
|
* root-source trivia remains visible, and one leaf with the reducer's value and
|
|
75
86
|
* the complete consumed span is exposed to the parent.
|
|
76
87
|
*/
|
|
77
|
-
|
|
88
|
+
function makeLeaf<T, U>(
|
|
78
89
|
root: Combinator<T>,
|
|
79
90
|
fn: (value: T, span: { start: number; end: number }) => U,
|
|
91
|
+
sourceCstValue: boolean,
|
|
80
92
|
): Combinator<U> {
|
|
93
|
+
const cstValue: LeafCstValue<U> = sourceCstValue
|
|
94
|
+
? sourceLeafValue
|
|
95
|
+
: semanticLeafValue
|
|
81
96
|
const meta: ParserMeta = {
|
|
82
97
|
firstSet: root._meta.firstSet,
|
|
83
98
|
canMatchNewline: root._meta.canMatchNewline,
|
|
@@ -86,7 +101,12 @@ export function leaf<T, U>(
|
|
|
86
101
|
return {
|
|
87
102
|
_tag: 'leaf',
|
|
88
103
|
_meta: meta,
|
|
89
|
-
_def: {
|
|
104
|
+
_def: {
|
|
105
|
+
tag: 'leaf',
|
|
106
|
+
parser: root as Combinator<unknown>,
|
|
107
|
+
fn: fn as (v: unknown, span: { start: number; end: number }) => unknown,
|
|
108
|
+
...(sourceCstValue ? { cstValue: 'source' as const } : {}),
|
|
109
|
+
},
|
|
90
110
|
parse(input: string, pos: number, ctx: ParseContext): ParseResult<U> {
|
|
91
111
|
const savedBuf = ctx._cstBuf
|
|
92
112
|
const savedChildren = ctx._cstChildren
|
|
@@ -113,8 +133,31 @@ export function leaf<T, U>(
|
|
|
113
133
|
}
|
|
114
134
|
if (!result.ok) return result
|
|
115
135
|
const value = fn(result.value, result.span)
|
|
116
|
-
if (wasCapturing) pushCstLeaf(ctx, {
|
|
136
|
+
if (wasCapturing) pushCstLeaf(ctx, {
|
|
137
|
+
_tag: 'leaf',
|
|
138
|
+
value: cstValue(ctx, input, pos, result.span.end, value),
|
|
139
|
+
span: result.span,
|
|
140
|
+
})
|
|
117
141
|
return { ok: true, value, span: result.span }
|
|
118
142
|
},
|
|
119
143
|
}
|
|
120
144
|
}
|
|
145
|
+
|
|
146
|
+
export function leaf<T, U>(
|
|
147
|
+
root: Combinator<T>,
|
|
148
|
+
fn: (value: T, span: { start: number; end: number }) => U,
|
|
149
|
+
): Combinator<U> {
|
|
150
|
+
return makeLeaf(root, fn, false)
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Reduce a structural parser semantically while exposing its matched source as
|
|
155
|
+
* one CST leaf. This keeps AST-only decoding out of the CST contract without a
|
|
156
|
+
* second source scan.
|
|
157
|
+
*/
|
|
158
|
+
export function sourceLeaf<T, U>(
|
|
159
|
+
root: Combinator<T>,
|
|
160
|
+
fn: (value: T, span: { start: number; end: number }) => U,
|
|
161
|
+
): Combinator<U> {
|
|
162
|
+
return makeLeaf(root, fn, true)
|
|
163
|
+
}
|
|
@@ -33,7 +33,7 @@ import { peek } from '../combinators/peek.ts'
|
|
|
33
33
|
import { node } from '../combinators/node.ts'
|
|
34
34
|
import { parser } from '../combinators/grammar.ts'
|
|
35
35
|
import { scanTo, balanced, type BalancedAmbient } from '../combinators/scanTo.ts'
|
|
36
|
-
import { token, leaf } from '../combinators/token.ts'
|
|
36
|
+
import { token, leaf, sourceLeaf } from '../combinators/token.ts'
|
|
37
37
|
import { classifiedTrivia, transform, trivia, label, field } from '../combinators/map.ts'
|
|
38
38
|
import { analyzeLabeledTrivia } from '../cst/trivia-kinds.ts'
|
|
39
39
|
import { expect as expectC } from '../combinators/expect.ts'
|
|
@@ -101,7 +101,7 @@ const ruleNameOf = (c: Comb): string | undefined =>
|
|
|
101
101
|
* the serializer treats it as an atom: it is not descended for sharing/recursion
|
|
102
102
|
* analysis (the interior's `self` ref is internal and must not surface as a cycle).
|
|
103
103
|
*/
|
|
104
|
-
const balancedOf = (c: Comb): { open: string; close: string; ownSkip: Comb[] } | undefined =>
|
|
104
|
+
const balancedOf = (c: Comb): { open: string; close: string; ownSkip: Comb[]; strict?: boolean } | undefined =>
|
|
105
105
|
(c as BalancedAmbient)._balancedAmbient
|
|
106
106
|
|
|
107
107
|
/** Resolve a lazy's target, or null if it isn't defined yet (external ref). */
|
|
@@ -176,11 +176,11 @@ export function evalRuleMapIR(ir: string): Array<[string, Comb]> {
|
|
|
176
176
|
if (recognitionOnly) (t._def as { recognitionOnly?: boolean }).recognitionOnly = true
|
|
177
177
|
return t as Comb
|
|
178
178
|
}
|
|
179
|
-
const _lf = (child: Comb, src: string): Comb => {
|
|
179
|
+
const _lf = (child: Comb, src: string, source = false): Comb => {
|
|
180
180
|
let fn: (...a: unknown[]) => unknown
|
|
181
181
|
// eslint-disable-next-line no-eval
|
|
182
182
|
try { fn = (0, eval)(`(${src})`) } catch { fn = () => { throw new Error('IR leaf fn not materialized') } }
|
|
183
|
-
const l = leaf(child as never, fn as never)
|
|
183
|
+
const l = source ? sourceLeaf(child as never, fn as never) : leaf(child as never, fn as never)
|
|
184
184
|
;(l._def as { fnSrc?: string }).fnSrc = src
|
|
185
185
|
return l as Comb
|
|
186
186
|
}
|
|
@@ -505,8 +505,12 @@ class Serializer {
|
|
|
505
505
|
// which is correct — they opt out of ambient resolution by definition.
|
|
506
506
|
const bal = balancedOf(c)
|
|
507
507
|
if (bal) {
|
|
508
|
-
const
|
|
509
|
-
|
|
508
|
+
const options = [
|
|
509
|
+
...(bal.ownSkip.length === 0 ? [] : [`skip: [${bal.ownSkip.map(kid).join(', ')}]`]),
|
|
510
|
+
...(bal.strict ? ['strict: true'] : []),
|
|
511
|
+
]
|
|
512
|
+
const optionsArg = options.length === 0 ? '' : `, { ${options.join(', ')} }`
|
|
513
|
+
return `balanced(${JSON.stringify(bal.open)}, ${JSON.stringify(bal.close)}${optionsArg})`
|
|
510
514
|
}
|
|
511
515
|
switch (def.tag) {
|
|
512
516
|
case 'lazy': {
|
|
@@ -583,7 +587,7 @@ class Serializer {
|
|
|
583
587
|
case 'token': return `token(${kid(def.parser)})`
|
|
584
588
|
case 'leaf': {
|
|
585
589
|
if (def.fnSrc === undefined) throw new Unserializable('leaf without fnSrc')
|
|
586
|
-
return `_lf(${kid(def.parser)}, ${JSON.stringify(def.fnSrc)})`
|
|
590
|
+
return `_lf(${kid(def.parser)}, ${JSON.stringify(def.fnSrc)}${def.cstValue === 'source' ? ', true' : ''})`
|
|
587
591
|
}
|
|
588
592
|
case 'label': return `label(${JSON.stringify(def.label)}, ${kid(def.parser)})`
|
|
589
593
|
case 'field': return `field(${JSON.stringify(def.name)}, ${kid(def.parser)})`
|
package/src/coverage.ts
CHANGED
|
@@ -16,8 +16,7 @@ import { label, field, transform, trivia } from './combinators/map.ts'
|
|
|
16
16
|
import { many, oneOrMore, optional, sepBy } from './combinators/repeat.ts'
|
|
17
17
|
import { scanTo } from './combinators/scanTo.ts'
|
|
18
18
|
import { sequence } from './combinators/sequence.ts'
|
|
19
|
-
import { token } from './combinators/token.ts'
|
|
20
|
-
import { leaf } from './combinators/token.ts'
|
|
19
|
+
import { token, leaf, sourceLeaf } from './combinators/token.ts'
|
|
21
20
|
import { withCtx } from './combinators/withCtx.ts'
|
|
22
21
|
import { composedCoverageRules } from './compiler/linker.ts'
|
|
23
22
|
import { buildGrammarPlan, type GrammarCoverageDefinition, type GrammarCoveragePlan } from './compiler/grammar-coverage-ids.ts'
|
|
@@ -343,7 +342,7 @@ function coverageEntry(entry: Combinator<unknown>, collector: GrammarCoverageCol
|
|
|
343
342
|
case 'transform': return transform(build(def.parser), def.fn)
|
|
344
343
|
case 'trivia': return trivia(build(def.parser))
|
|
345
344
|
case 'token': return token(build(def.parser))
|
|
346
|
-
case 'leaf': return leaf(build(def.parser), def.fn)
|
|
345
|
+
case 'leaf': return def.cstValue === 'source' ? sourceLeaf(build(def.parser), def.fn) : leaf(build(def.parser), def.fn)
|
|
347
346
|
case 'field': return field(def.name, build(def.parser))
|
|
348
347
|
case 'grammar': return grammarParser({
|
|
349
348
|
...(def.triviaParser === undefined ? (def.clearTrivia ? { trivia: null } : {}) : { trivia: build(def.triviaParser) }),
|
package/src/index.ts
CHANGED
|
@@ -31,7 +31,7 @@ export type { BuildNode, NodeCombinator, NodeOptions, NodeProjectOptions } from
|
|
|
31
31
|
export { transform, trivia, classifiedTrivia, label, field } from './combinators/map.ts'
|
|
32
32
|
export { parse, parser, noTrivia } from './combinators/grammar.ts'
|
|
33
33
|
export type { ParseOptions, ParserOptions, ParsemanParser } from './combinators/grammar.ts'
|
|
34
|
-
export { token, leaf } from './combinators/token.ts'
|
|
34
|
+
export { token, leaf, sourceLeaf } from './combinators/token.ts'
|
|
35
35
|
|
|
36
36
|
export { compile } from './table/compile.ts'
|
|
37
37
|
/*
|
package/src/plugin/evaluator.ts
CHANGED
|
@@ -610,9 +610,10 @@ function exprToCombi(node: Expression, scope: XScope, code?: string, mfs?: strin
|
|
|
610
610
|
} catch { return null }
|
|
611
611
|
}
|
|
612
612
|
|
|
613
|
-
// leaf(inner, fn) — like transform(), but suppresses
|
|
614
|
-
//
|
|
615
|
-
|
|
613
|
+
// leaf(inner, fn) / sourceLeaf(inner, fn) — like transform(), but suppresses
|
|
614
|
+
// inner CST captures. sourceLeaf keeps the semantic result for evaluation
|
|
615
|
+
// while publishing the matched source text to the CST parent.
|
|
616
|
+
if ((callee.name === 'leaf' || callee.name === 'sourceLeaf') && code !== undefined && mfs !== undefined) {
|
|
616
617
|
const [parserArg, fnArg] = node.arguments
|
|
617
618
|
if (!parserArg || !fnArg || parserArg.type === 'SpreadElement' || fnArg.type === 'SpreadElement') return null
|
|
618
619
|
const inner = anyValue(parserArg as Expression, scope, code, mfs)
|
|
@@ -620,7 +621,9 @@ function exprToCombi(node: Expression, scope: XScope, code?: string, mfs?: strin
|
|
|
620
621
|
const fnSrc = stripTsFromSource(fnArg as Node, code)
|
|
621
622
|
mfs.push(fnSrc)
|
|
622
623
|
try {
|
|
623
|
-
const combi =
|
|
624
|
+
const combi = callee.name === 'sourceLeaf'
|
|
625
|
+
? parseman.sourceLeaf(inner, (v: unknown) => v)
|
|
626
|
+
: parseman.leaf(inner, (v: unknown) => v)
|
|
624
627
|
if (combi._def.tag === 'leaf') combi._def.fnSrc = fnSrc
|
|
625
628
|
return combi
|
|
626
629
|
} catch { return null }
|
package/src/table/assemble.ts
CHANGED
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
type CstCaptureBuf,
|
|
81
81
|
} from '../cst/capture-buffer.ts'
|
|
82
82
|
import {
|
|
83
|
-
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
83
|
+
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_SOURCE_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
84
84
|
OP_PEEK, OP_REP, OP_REPV, OP_RULE, OP_RX, OP_SEQ, OP_SEQV, OP_XFORM,
|
|
85
85
|
OP_LIT_TRACK, OP_RX_TRACK, OP_NODE_TRACK, OP_SCOPE, OP_SCOPE_CAP, OP_SCOPE_PLAIN, OP_EXPECT, OP_SEQX, OP_SCAN,
|
|
86
86
|
OP_LIVE,
|
|
@@ -2149,7 +2149,8 @@ export function assemble(t: ResolvedTable, prog: TableProgram, cfg: RunCfg): Ass
|
|
|
2149
2149
|
}
|
|
2150
2150
|
}
|
|
2151
2151
|
|
|
2152
|
-
case OP_LEAF:
|
|
2152
|
+
case OP_LEAF:
|
|
2153
|
+
case OP_SOURCE_LEAF: {
|
|
2153
2154
|
const fn = fns[code[ip + 1]!] as (value: unknown, span: { start: number; end: number }) => unknown
|
|
2154
2155
|
const child = link(code[ip + 2]!)
|
|
2155
2156
|
return (input, pos, ctx) => {
|
|
@@ -2179,7 +2180,11 @@ export function assemble(t: ResolvedTable, prog: TableProgram, cfg: RunCfg): Ass
|
|
|
2179
2180
|
if (v === FAIL) return FAIL
|
|
2180
2181
|
const end = EC.e
|
|
2181
2182
|
const out = fn(v, { start: pos, end })
|
|
2182
|
-
if (wasCapturing) pushCstLeaf(ctx, {
|
|
2183
|
+
if (wasCapturing) pushCstLeaf(ctx, {
|
|
2184
|
+
_tag: 'leaf',
|
|
2185
|
+
value: op === OP_SOURCE_LEAF && hostCst ? input.slice(pos, end) : out,
|
|
2186
|
+
span: { start: pos, end },
|
|
2187
|
+
})
|
|
2183
2188
|
EC.e = end
|
|
2184
2189
|
return out
|
|
2185
2190
|
}
|
package/src/table/child-slots.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OP_ADJ, OP_ARMGATE, OP_ATTEMPT, OP_CHOICE, OP_COV, OP_DISPATCH, OP_EMPTY, OP_EXPECT,
|
|
3
|
-
OP_FIELD, OP_GATE, OP_GREEDY, OP_GUARD, OP_LABEL, OP_LEAF, OP_LIT, OP_LIT_CI,
|
|
3
|
+
OP_FIELD, OP_GATE, OP_GREEDY, OP_GUARD, OP_LABEL, OP_LEAF, OP_SOURCE_LEAF, OP_LIT, OP_LIT_CI,
|
|
4
4
|
OP_LIT_CI_TRACK, OP_LIT_TRACK, OP_LIVE, OP_NODE, OP_NODE_TRACK, OP_NOT, OP_OPT,
|
|
5
5
|
OP_PEEK, OP_REJECT, OP_REP, OP_REPV, OP_ROUTED, OP_RULE, OP_RX, OP_RX_TRACK, OP_SCAN,
|
|
6
6
|
OP_SCOPE, OP_SCOPE_CAP, OP_SCOPE_PLAIN, OP_SEQ, OP_SEQV, OP_SEQX, OP_TOKEN, OP_WITHCTX, OP_XFORM,
|
|
@@ -55,7 +55,7 @@ export function childSlots(code: ArrayLike<number>, ip: number, out: number[]):
|
|
|
55
55
|
|
|
56
56
|
// Single child at `ip + 2`.
|
|
57
57
|
case OP_GATE: case OP_SCOPE: case OP_SCOPE_CAP: case OP_SCOPE_PLAIN: case OP_WITHCTX: case OP_XFORM:
|
|
58
|
-
case OP_NODE: case OP_NODE_TRACK: case OP_FIELD: case OP_LEAF: case OP_ARMGATE:
|
|
58
|
+
case OP_NODE: case OP_NODE_TRACK: case OP_FIELD: case OP_LEAF: case OP_SOURCE_LEAF: case OP_ARMGATE:
|
|
59
59
|
out.push(code[ip + 2]!)
|
|
60
60
|
return true
|
|
61
61
|
|
|
@@ -48,7 +48,7 @@ import type { ParseContext } from '../types.ts'
|
|
|
48
48
|
import { regexCanMatchEmpty } from '../regex/first-set.ts'
|
|
49
49
|
import {
|
|
50
50
|
OP_ADJ, OP_ATTEMPT, OP_CHOICE, OP_DISPATCH, OP_EMPTY, OP_EXPECT, OP_FIELD, OP_GATE,
|
|
51
|
-
OP_LABEL, OP_LEAF, OP_LIT, OP_LIT_CI, OP_LIT_CI_TRACK, OP_LIT_TRACK, OP_NAMES,
|
|
51
|
+
OP_LABEL, OP_LEAF, OP_SOURCE_LEAF, OP_LIT, OP_LIT_CI, OP_LIT_CI_TRACK, OP_LIT_TRACK, OP_NAMES,
|
|
52
52
|
OP_NODE, OP_NODE_TRACK, OP_NOT, OP_OPT, OP_PEEK, OP_REP, OP_REPV, OP_ROUTED, OP_RULE, OP_RX,
|
|
53
53
|
OP_RX_TRACK, OP_SCAN, OP_SCOPE, OP_SCOPE_CAP, OP_SCOPE_PLAIN, OP_SEQ, OP_SEQV, OP_SEQX, OP_TOKEN, OP_XFORM,
|
|
54
54
|
OP_LEX_BODY, OP_LEX_PROGRAM,
|
|
@@ -1411,8 +1411,10 @@ ${rootCap ? 'ctx._rootTriviaCapture=sR\n' : ''}return v
|
|
|
1411
1411
|
/* ── boundaries ──────────────────────────────────────────────────────── */
|
|
1412
1412
|
|
|
1413
1413
|
case OP_TOKEN:
|
|
1414
|
-
case OP_LEAF:
|
|
1414
|
+
case OP_LEAF:
|
|
1415
|
+
case OP_SOURCE_LEAF: {
|
|
1415
1416
|
const isToken = op === OP_TOKEN
|
|
1417
|
+
const capturesSource = isToken || (op === OP_SOURCE_LEAF && hostCst)
|
|
1416
1418
|
const fn = isToken ? undefined : fnRef(code[ip + 1]!)
|
|
1417
1419
|
const child = link(isToken ? code[ip + 1]! : code[ip + 2]!)
|
|
1418
1420
|
// `try`/`finally`, AS `assemble.ts` HAS IT. `OP_SCOPE` restores linearly
|
|
@@ -1460,7 +1462,7 @@ ctx._triviaLog=sOtl
|
|
|
1460
1462
|
if(v===FAIL)return FAIL
|
|
1461
1463
|
const e=EC.e
|
|
1462
1464
|
const out=${isToken ? 'input.slice(pos,e)' : `${fn}(v,{start:pos,end:e})`}
|
|
1463
|
-
if(wasCap)pushCstLeaf(ctx,{_tag:'leaf',value:out,span:{start:pos,end:e}})
|
|
1465
|
+
if(wasCap)pushCstLeaf(ctx,{_tag:'leaf',value:${capturesSource ? 'input.slice(pos,e)' : 'out'},span:{start:pos,end:e}})
|
|
1464
1466
|
EC.e=e
|
|
1465
1467
|
return out
|
|
1466
1468
|
}`
|
|
@@ -3,7 +3,7 @@ import { firstSetOf, matchesEmpty } from '../combinators/first-set.ts'
|
|
|
3
3
|
import { deriveExpected } from '../combinators/expect.ts'
|
|
4
4
|
import { buildReadsState, buildReadsTrivia } from '../compiler/build-arity.ts'
|
|
5
5
|
import {
|
|
6
|
-
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
6
|
+
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_SOURCE_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
7
7
|
OP_PEEK, OP_REP, OP_REPV, OP_RULE, OP_RX, OP_SEQ, OP_SEQV, OP_XFORM,
|
|
8
8
|
OP_LIT_TRACK, OP_RX_TRACK, OP_NODE_TRACK, OP_SCOPE, OP_EXPECT,
|
|
9
9
|
} from './ops.ts'
|
|
@@ -265,7 +265,7 @@ class Encoder {
|
|
|
265
265
|
}
|
|
266
266
|
case 'leaf': {
|
|
267
267
|
const child = this.node(d.parser).ip
|
|
268
|
-
return this.emit(OP_LEAF, this.fn(d.fn), child)
|
|
268
|
+
return this.emit(d.cstValue === 'source' ? OP_SOURCE_LEAF : OP_LEAF, this.fn(d.fn), child)
|
|
269
269
|
}
|
|
270
270
|
case 'node': {
|
|
271
271
|
if (d.unwrap || d.collapse || d.project !== undefined) throw new UnsupportedConstructBaseline('node(unwrap|collapse|project)')
|
|
@@ -319,6 +319,7 @@ class Encoder {
|
|
|
319
319
|
code: this.code, k: this.k, fns: this.fns, cc: this.cc,
|
|
320
320
|
fx: this.fx, disp: this.disp, dsp: [], rules: this.rules,
|
|
321
321
|
lines: this.track ? 1 : 0,
|
|
322
|
+
...(this.settings.hostMode === undefined ? {} : { hostMode: this.settings.hostMode }),
|
|
322
323
|
}
|
|
323
324
|
}
|
|
324
325
|
}
|
package/src/table/encode.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { buildReadsRaw, buildReadsState, buildReadsTrivia } from '../compiler/bu
|
|
|
9
9
|
import { buildReadsFields, parserHasOwnFields } from '../compiler/fields.ts'
|
|
10
10
|
import { asciiFoldKey, branchUsesRouted, parserUsesRouted } from '../combinators/dispatch.ts'
|
|
11
11
|
import {
|
|
12
|
-
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
12
|
+
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_SOURCE_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
13
13
|
OP_PEEK, OP_REP, OP_REPV, OP_RULE, OP_RX, OP_SEQ, OP_SEQV, OP_XFORM,
|
|
14
14
|
OP_LIT_TRACK, OP_RX_TRACK, OP_NODE_TRACK, OP_SCOPE, OP_SCOPE_CAP, OP_SCOPE_PLAIN, OP_EXPECT, OP_SEQX, OP_SCAN,
|
|
15
15
|
OP_LIVE, OP_ATTEMPT, OP_LABEL,
|
|
@@ -1322,7 +1322,7 @@ class Encoder {
|
|
|
1322
1322
|
}
|
|
1323
1323
|
case 'leaf': {
|
|
1324
1324
|
const child = this.node(d.parser).ip
|
|
1325
|
-
return this.emit(OP_LEAF, this.fn(d.fn, d.fnSrc ?? null), child)
|
|
1325
|
+
return this.emit(d.cstValue === 'source' ? OP_SOURCE_LEAF : OP_LEAF, this.fn(d.fn, d.fnSrc ?? null), child)
|
|
1326
1326
|
}
|
|
1327
1327
|
case 'node': {
|
|
1328
1328
|
// A node legally has NO builder when its value comes from a selection:
|
|
@@ -1737,7 +1737,7 @@ class Encoder {
|
|
|
1737
1737
|
switch (this.code[ip]) {
|
|
1738
1738
|
case OP_GATE: return [ip + 2]
|
|
1739
1739
|
case OP_RULE: case OP_OPT: case OP_NOT: case OP_PEEK: case OP_EXPECT: case OP_ATTEMPT: case OP_LABEL: case OP_COV: return [ip + 1]
|
|
1740
|
-
case OP_SCOPE: case OP_SCOPE_CAP: case OP_SCOPE_PLAIN: case OP_WITHCTX: case OP_XFORM: case OP_LEAF: case OP_NODE: case OP_NODE_TRACK: return [ip + 2]
|
|
1740
|
+
case OP_SCOPE: case OP_SCOPE_CAP: case OP_SCOPE_PLAIN: case OP_WITHCTX: case OP_XFORM: case OP_LEAF: case OP_SOURCE_LEAF: case OP_NODE: case OP_NODE_TRACK: return [ip + 2]
|
|
1741
1741
|
case OP_SEQ: case OP_SEQV: return Array.from({ length: this.code[ip + 1]! }, (_, i) => ip + 2 + i)
|
|
1742
1742
|
case OP_SEQX: return Array.from({ length: this.code[ip + 2]! }, (_, i) => ip + 3 + i)
|
|
1743
1743
|
// ARMS START AT ip+4. `ip+3` is the choice's own EXPECTED-SET index, and
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
pushCstLeaf, rollbackCstCapture, saveCstMark, type CstRollbackMark,
|
|
6
6
|
} from '../cst/capture-buffer.ts'
|
|
7
7
|
import {
|
|
8
|
-
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
8
|
+
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_SOURCE_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
9
9
|
OP_PEEK, OP_REP, OP_REPV, OP_RULE, OP_RX, OP_SEQ, OP_SEQV, OP_XFORM,
|
|
10
10
|
OP_LIT_TRACK, OP_RX_TRACK, OP_NODE_TRACK, OP_SCOPE, OP_EXPECT,
|
|
11
11
|
} from './ops.ts'
|
|
@@ -94,6 +94,7 @@ function makeDriver(
|
|
|
94
94
|
cc: readonly ResolvedClass[],
|
|
95
95
|
fx: readonly (readonly string[])[],
|
|
96
96
|
disp: readonly ResolvedDispatch[],
|
|
97
|
+
hostCst: boolean,
|
|
97
98
|
): Driver {
|
|
98
99
|
/** Shared end-position out-parameter (`_pfEnd` in emitted code). */
|
|
99
100
|
let END = 0
|
|
@@ -434,12 +435,37 @@ function makeDriver(
|
|
|
434
435
|
return fn(v, { start: pos, end: END })
|
|
435
436
|
}
|
|
436
437
|
|
|
437
|
-
case OP_LEAF:
|
|
438
|
-
|
|
438
|
+
case OP_LEAF:
|
|
439
|
+
case OP_SOURCE_LEAF: {
|
|
440
|
+
const sBuf = ctx._cstBuf, sChildren = ctx._cstChildren, sLeaves = ctx._cstLeaves
|
|
441
|
+
const sRaw = ctx._cstRawChildren, sTl = ctx._cstTriviaLog
|
|
442
|
+
const sOuterTl = ctx._triviaLog
|
|
443
|
+
const wasCapturing = cstCaptureActive(ctx)
|
|
444
|
+
ctx._cstBuf = undefined
|
|
445
|
+
ctx._cstChildren = undefined
|
|
446
|
+
ctx._cstLeaves = undefined
|
|
447
|
+
ctx._cstRawChildren = undefined
|
|
448
|
+
ctx._cstTriviaLog = undefined
|
|
449
|
+
ctx._triviaLog = undefined
|
|
450
|
+
let v: unknown
|
|
451
|
+
try { v = exec(code[ip + 2]!, input, pos, ctx) }
|
|
452
|
+
finally {
|
|
453
|
+
ctx._cstBuf = sBuf
|
|
454
|
+
ctx._cstChildren = sChildren
|
|
455
|
+
ctx._cstLeaves = sLeaves
|
|
456
|
+
ctx._cstRawChildren = sRaw
|
|
457
|
+
ctx._cstTriviaLog = sTl
|
|
458
|
+
ctx._triviaLog = sOuterTl
|
|
459
|
+
}
|
|
439
460
|
if (v === FAIL) return FAIL
|
|
440
461
|
const end = END
|
|
441
462
|
const fn = fns[code[ip + 1]!] as (value: unknown, span: { start: number; end: number }) => unknown
|
|
442
463
|
const out = fn(v, { start: pos, end })
|
|
464
|
+
if (wasCapturing) pushCstLeaf(ctx, {
|
|
465
|
+
_tag: 'leaf',
|
|
466
|
+
value: code[ip] === OP_SOURCE_LEAF && hostCst ? input.slice(pos, end) : out,
|
|
467
|
+
span: { start: pos, end },
|
|
468
|
+
})
|
|
443
469
|
END = end
|
|
444
470
|
return out
|
|
445
471
|
}
|
|
@@ -509,7 +535,7 @@ function makeDriver(
|
|
|
509
535
|
export function execRulesBaseline(source: TableProgram | CompactProgram): Record<string, TableRule> {
|
|
510
536
|
const prog = expandCompact(source)
|
|
511
537
|
const t = resolveTable(prog)
|
|
512
|
-
const d = makeDriver(t.code, t.k, t.fns, t.cc, t.fx, t.disp)
|
|
538
|
+
const d = makeDriver(t.code, t.k, t.fns, t.cc, t.fx, t.disp, prog.hostMode === 'cst')
|
|
513
539
|
const out: Record<string, TableRule> = {}
|
|
514
540
|
// Chosen ONCE, from table data, at rule-map construction. Not a per-parse
|
|
515
541
|
// branch on an option: a plain table never has this wrapper at all.
|
package/src/table/exec.ts
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
demoteCapturedToRaw, endCstNodeCapture, pushCstChild, pushCstLeaf,
|
|
16
16
|
} from '../cst/capture-buffer.ts'
|
|
17
17
|
import {
|
|
18
|
-
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
18
|
+
OP_CHOICE, OP_EMPTY, OP_GATE, OP_LEAF, OP_SOURCE_LEAF, OP_LIT, OP_NODE, OP_NOT, OP_OPT,
|
|
19
19
|
OP_PEEK, OP_REP, OP_REPV, OP_RULE, OP_RX, OP_SEQ, OP_SEQV, OP_XFORM,
|
|
20
20
|
OP_LIT_TRACK, OP_RX_TRACK, OP_NODE_TRACK, OP_SCOPE, OP_SCOPE_CAP, OP_SCOPE_PLAIN, OP_EXPECT, OP_SEQX, OP_SCAN,
|
|
21
21
|
OP_LIVE,
|
|
@@ -1371,7 +1371,8 @@ function makeDriver(
|
|
|
1371
1371
|
return fn(v, { start: pos, end: EC.e })
|
|
1372
1372
|
}
|
|
1373
1373
|
|
|
1374
|
-
case OP_LEAF:
|
|
1374
|
+
case OP_LEAF:
|
|
1375
|
+
case OP_SOURCE_LEAF: {
|
|
1375
1376
|
// Mirrors src/combinators/token.ts:89-127. `leaf()` is a CAPTURE
|
|
1376
1377
|
// BOUNDARY: it suppresses the interior's own CST captures and exposes
|
|
1377
1378
|
// exactly ONE leaf carrying the reducer's value. Running the interior
|
|
@@ -1410,7 +1411,11 @@ function makeDriver(
|
|
|
1410
1411
|
const fn = fns[code[ip + 1]!] as (value: unknown, span: { start: number; end: number }) => unknown
|
|
1411
1412
|
if (COUNT) siteFn('LEAF fn()', fn)
|
|
1412
1413
|
const out = fn(v, { start: pos, end })
|
|
1413
|
-
if (wasCapturing) pushCstLeaf(ctx, {
|
|
1414
|
+
if (wasCapturing) pushCstLeaf(ctx, {
|
|
1415
|
+
_tag: 'leaf',
|
|
1416
|
+
value: code[ip] === OP_SOURCE_LEAF && HOSTCST ? input.slice(pos, end) : out,
|
|
1417
|
+
span: { start: pos, end },
|
|
1418
|
+
})
|
|
1414
1419
|
EC.e = end
|
|
1415
1420
|
return out
|
|
1416
1421
|
}
|
package/src/table/ops.ts
CHANGED
|
@@ -469,6 +469,8 @@ export const OP_SCOPE_PLAIN = 41
|
|
|
469
469
|
export const OP_LEX_BODY = 42
|
|
470
470
|
/** `LEX_PROGRAM p` — selected fixed composite lexical body, childless. */
|
|
471
471
|
export const OP_LEX_PROGRAM = 43
|
|
472
|
+
/** `SOURCE_LEAF f c` — `sourceLeaf()`: reduce semantically, capture source text. */
|
|
473
|
+
export const OP_SOURCE_LEAF = 44
|
|
472
474
|
/**
|
|
473
475
|
* `DISPATCH sel d other otherRouted n a1 … an` — `dispatch()`.
|
|
474
476
|
*
|
|
@@ -492,7 +494,7 @@ export const OP_NAMES: Record<number, string> = {
|
|
|
492
494
|
[OP_LIT]: 'LIT', [OP_RX]: 'RX', [OP_SEQ]: 'SEQ', [OP_SEQV]: 'SEQV',
|
|
493
495
|
[OP_CHOICE]: 'CHOICE', [OP_REP]: 'REP', [OP_REPV]: 'REPV', [OP_OPT]: 'OPT',
|
|
494
496
|
[OP_XFORM]: 'XFORM', [OP_NODE]: 'NODE', [OP_RULE]: 'RULE', [OP_GATE]: 'GATE',
|
|
495
|
-
[OP_NOT]: 'NOT', [OP_PEEK]: 'PEEK', [OP_LEAF]: 'LEAF', [OP_EMPTY]: 'EMPTY',
|
|
497
|
+
[OP_NOT]: 'NOT', [OP_PEEK]: 'PEEK', [OP_LEAF]: 'LEAF', [OP_SOURCE_LEAF]: 'SOURCE_LEAF', [OP_EMPTY]: 'EMPTY',
|
|
496
498
|
[OP_LIT_TRACK]: 'LIT_TRACK', [OP_RX_TRACK]: 'RX_TRACK', [OP_NODE_TRACK]: 'NODE_TRACK',
|
|
497
499
|
[OP_SCOPE]: 'SCOPE', [OP_EXPECT]: 'EXPECT', [OP_SEQX]: 'SEQX', [OP_SCAN]: 'SCAN',
|
|
498
500
|
[OP_FIELD]: 'FIELD', [OP_LIT_CI]: 'LIT_CI', [OP_LIT_CI_TRACK]: 'LIT_CI_TRACK', [OP_DISPATCH]: 'DISPATCH', [OP_ROUTED]: 'ROUTED',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
OP_ATTEMPT, OP_CHOICE, OP_FIELD, OP_GATE, OP_LABEL, OP_LEAF, OP_LIT, OP_NODE, OP_NOT,
|
|
2
|
+
OP_ATTEMPT, OP_CHOICE, OP_FIELD, OP_GATE, OP_LABEL, OP_LEAF, OP_SOURCE_LEAF, OP_LIT, OP_NODE, OP_NOT,
|
|
3
3
|
OP_PEEK, OP_RULE, OP_RX, OP_SCOPE, OP_SCOPE_CAP, OP_SCOPE_PLAIN, OP_SEQ, OP_SEQV,
|
|
4
4
|
OP_SEQX, OP_TOKEN, OP_XFORM,
|
|
5
5
|
} from './ops.ts'
|
|
@@ -86,7 +86,7 @@ export function leadingScalarTerminal(
|
|
|
86
86
|
continue
|
|
87
87
|
}
|
|
88
88
|
if (op === OP_GATE || op === OP_SCOPE || op === OP_SCOPE_CAP || op === OP_SCOPE_PLAIN
|
|
89
|
-
|| op === OP_XFORM || op === OP_NODE || op === OP_FIELD || op === OP_LEAF) {
|
|
89
|
+
|| op === OP_XFORM || op === OP_NODE || op === OP_FIELD || (op === OP_LEAF || op === OP_SOURCE_LEAF)) {
|
|
90
90
|
at = code[at + 2]!
|
|
91
91
|
depth++
|
|
92
92
|
continue
|
|
@@ -139,7 +139,7 @@ export function leadingScalarSequence(
|
|
|
139
139
|
continue
|
|
140
140
|
}
|
|
141
141
|
if (op === OP_GATE || op === OP_SCOPE_PLAIN
|
|
142
|
-
|| op === OP_XFORM || op === OP_NODE || op === OP_FIELD || op === OP_LEAF) {
|
|
142
|
+
|| op === OP_XFORM || op === OP_NODE || op === OP_FIELD || (op === OP_LEAF || op === OP_SOURCE_LEAF)) {
|
|
143
143
|
at = code[at + 2]!
|
|
144
144
|
continue
|
|
145
145
|
}
|
|
@@ -173,7 +173,7 @@ export function leadingScalarSequence(
|
|
|
173
173
|
at = code[at + 2]!
|
|
174
174
|
continue
|
|
175
175
|
}
|
|
176
|
-
if (op === OP_GATE || op === OP_XFORM || op === OP_NODE || op === OP_FIELD || op === OP_LEAF) {
|
|
176
|
+
if (op === OP_GATE || op === OP_XFORM || op === OP_NODE || op === OP_FIELD || (op === OP_LEAF || op === OP_SOURCE_LEAF)) {
|
|
177
177
|
at = code[at + 2]!
|
|
178
178
|
continue
|
|
179
179
|
}
|
|
@@ -220,7 +220,7 @@ export function leadingLiteralFamily(
|
|
|
220
220
|
return walk(code[at + 1]!, depth + 1)
|
|
221
221
|
}
|
|
222
222
|
if (op === OP_GATE || op === OP_SCOPE || op === OP_SCOPE_CAP || op === OP_SCOPE_PLAIN
|
|
223
|
-
|| op === OP_XFORM || op === OP_NODE || op === OP_FIELD || op === OP_LEAF) {
|
|
223
|
+
|| op === OP_XFORM || op === OP_NODE || op === OP_FIELD || (op === OP_LEAF || op === OP_SOURCE_LEAF)) {
|
|
224
224
|
return walk(code[at + 2]!, depth + 1)
|
|
225
225
|
}
|
|
226
226
|
if (op === OP_SEQ || op === OP_SEQV) {
|