@tabnas/abnf 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,6 +27,37 @@ tn.abnf(`greet = "hi" / "hello"`)
27
27
  tn.parse('hi') // => ({ rule: 'greet', src: 'hi', kids: [] })
28
28
  ```
29
29
 
30
+ ## Round-tripping
31
+
32
+ The integer-addition grammar shared with the
33
+ [engine README](https://github.com/tabnas/parser#readme) compiles to the
34
+ same grammar that README builds by hand, and renders back out unchanged:
35
+
36
+ ```js
37
+ const { Tabnas } = require('@tabnas/parser')
38
+ const { abnf } = require('@tabnas/abnf')
39
+ const { Debug } = require('@tabnas/debug')
40
+
41
+ const GRAMMAR = `val = add
42
+ add = NR [ PL add ]
43
+
44
+ NR = <number>
45
+ PL = "+"`
46
+
47
+ const tn = new Tabnas({ plugins: [abnf] })
48
+ tn.abnf(GRAMMAR)
49
+ tn.use(Debug, { print: false })
50
+
51
+ tn.debug.model().abnf === GRAMMAR // => true
52
+ ```
53
+
54
+ Two rules make that work. A production whose whole body is a single
55
+ string literal (`PL = "+"`) is a lexical definition, so it compiles to a
56
+ named fixed token `#PL` rather than a rule. And RFC 5234 `prose-val`
57
+ (`NR = <number>`) is informational: for a built-in lexer token it
58
+ documents the terminal the lexer already provides and compiles to
59
+ nothing. See the [root README](../README.md#the-same-grammar-two-ways).
60
+
30
61
  ## Left recursion
31
62
 
32
63
  Left-recursive rules are accepted directly. A left-recursion pass
@@ -45,14 +76,17 @@ tn.abnf(`
45
76
  PL = "+"
46
77
  `)
47
78
 
48
- tn.parse('1+2+3').kids.map((k) => k.rule) // => ['PL', 'term', 'PL', 'term']
79
+ tn.parse('1+2+3').kids.map((k) => k.rule) // => ['term', 'term']
49
80
  ```
50
81
 
51
82
  Because it is a rewrite, the tree is **flat** (no nested `expr`; the
52
83
  leading operand folds into the rule, so associativity is applied in an
53
84
  action, not read off the AST), and `@ref` alt actions on the rewritten
54
85
  branches are look-up-only — attach actions to the sub-rules instead. A
55
- **purely** left-recursive rule (no non-recursive branch) is an error.
86
+ **purely** left-recursive rule (no non-recursive branch) is an error, and
87
+ a rewritten rule does not round-trip back to its left-recursive source.
88
+ (`PL = "+"` compiles to a token, not a rule, so the operators are not
89
+ among the children — only `term` is.)
56
90
  See [concepts.md](doc/concepts.md) and the root
57
91
  [README](../README.md#left-recursion) for the full details and caveats.
58
92
 
package/dist/compile.js CHANGED
@@ -17,8 +17,8 @@ const REF_FIELDS = new Set(['a', 'bo', 'bc']);
17
17
  // Tree-building `$`-builtins (emitted with `builtins: true`). Pure
18
18
  // recognition mode drops these too; their per-alt config lives under
19
19
  // `k.node$` / `k.capture$`.
20
- const TREE_BUILTINS = new Set(['@node$', '@capture$', '@bubble$']);
21
- const TREE_CONFIG_KEYS = ['node$', 'capture$'];
20
+ const TREE_BUILTINS = new Set(['@node$', '@capture$', '@bubble$', '@fold$']);
21
+ const TREE_CONFIG_KEYS = ['node$', 'capture$', 'fold$'];
22
22
  class AbnfCompileError extends Error {
23
23
  constructor(message, rules) {
24
24
  super(message);
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,16 @@ type AbnfElement = {
10
10
  kind: 'term';
11
11
  literal: string;
12
12
  caseSensitive?: boolean;
13
+ tokenName?: string;
13
14
  } | {
14
15
  kind: 'ref';
15
16
  name: string;
16
17
  } | {
17
18
  kind: 'token';
18
19
  name: string;
20
+ } | {
21
+ kind: 'prose';
22
+ text: string;
19
23
  } | {
20
24
  kind: 'regex';
21
25
  pattern: string;
@@ -43,6 +47,9 @@ type AbnfProduction = {
43
47
  name: string;
44
48
  alts: AbnfSequence[];
45
49
  incremental?: boolean;
50
+ tailRepeat?: {
51
+ sep: AbnfSequence;
52
+ };
46
53
  probeDispatch?: ProbeDispatchSpec;
47
54
  probeHelper?: {
48
55
  vocabElements: AbnfElement[];
package/dist/converter.js CHANGED
@@ -41,7 +41,8 @@ exports.eliminateLeftRecursion = eliminateLeftRecursion;
41
41
  // element = repetition? atom
42
42
  // repetition = NUM '*' NUM / NUM '*' / '*' NUM / '*' / NUM
43
43
  // atom = IDENT | STRING | ['%s' | '%i'] STRING | NUMVAL
44
- // | '(' alts ')' | '[' alts ']'
44
+ // | '(' alts ')' | '[' alts ']' | PROSE
45
+ // prose = '<' *(%x20-3D / %x3F-7E) '>'
45
46
  // numval = '%' ('x' / 'd' / 'b') DIGITS [ '-' DIGITS | ('.' DIGITS)* ]
46
47
  const abnfRules = {
47
48
  // Top-level: accumulates productions into r.node.
@@ -132,6 +133,7 @@ const abnfRules = {
132
133
  { s: '#NV', b: 1, p: 'elem' },
133
134
  { s: '#SS', b: 1, p: 'elem' },
134
135
  { s: '#SI', b: 1, p: 'elem' },
136
+ { s: '#PV', b: 1, p: 'elem' },
135
137
  { s: '#TX', b: 1, p: 'elem' },
136
138
  { s: '#LP', b: 1, p: 'elem' },
137
139
  { s: '#OB', b: 1, p: 'elem' },
@@ -150,6 +152,7 @@ const abnfRules = {
150
152
  { s: '#NV', b: 1, p: 'elem' },
151
153
  { s: '#SS', b: 1, p: 'elem' },
152
154
  { s: '#SI', b: 1, p: 'elem' },
155
+ { s: '#PV', b: 1, p: 'elem' },
153
156
  { s: '#TX', b: 1, p: 'elem' },
154
157
  { s: '#LP', b: 1, p: 'elem' },
155
158
  { s: '#OB', b: 1, p: 'elem' },
@@ -282,6 +285,15 @@ const abnfRules = {
282
285
  r.node = parseNumericValue(r.o[0].src);
283
286
  },
284
287
  },
288
+ // Prose terminal `<free text>` — carried through as-is; the
289
+ // `resolveProseTerminals` pass decides what it means.
290
+ {
291
+ s: '#PV',
292
+ a: (r) => {
293
+ const src = r.o[0].src;
294
+ r.node = { kind: 'prose', text: src.slice(1, -1) };
295
+ },
296
+ },
285
297
  {
286
298
  s: '#TX',
287
299
  a: (r) => {
@@ -330,6 +342,7 @@ const abnfRules = {
330
342
  { s: '#NV', b: 1 },
331
343
  { s: '#SS', b: 1 },
332
344
  { s: '#SI', b: 1 },
345
+ { s: '#PV', b: 1 },
333
346
  { s: '#NUM', b: 1 },
334
347
  { s: '#STAR', b: 1 },
335
348
  { s: '#LP', b: 1 },
@@ -396,6 +409,9 @@ function getAbnfParser() {
396
409
  // requires `"` so they don't steal the `%` of `%xNN`.
397
410
  '#SS': /^%[sS](?=")/,
398
411
  '#SI': /^%[iI](?=")/,
412
+ // RFC 5234 prose-val: `<` free text `>`. The body is every
413
+ // printable char except `>` itself (%x20-3D / %x3F-7E).
414
+ '#PV': /^<[\x20-\x3D\x3F-\x7E]*>/,
399
415
  },
400
416
  },
401
417
  tokenSet: {
@@ -404,7 +420,7 @@ function getAbnfParser() {
404
420
  // — that way the tcol at the atom-starter position includes
405
421
  // every matcher tin (notably #NV), so the lexer doesn't fall
406
422
  // through to #TX when the actual atom is `%xNN`.
407
- ATOM: ['#ST', '#NV', '#TX', '#LP', '#OB', '#SS', '#SI'],
423
+ ATOM: ['#ST', '#NV', '#TX', '#LP', '#OB', '#SS', '#SI', '#PV'],
408
424
  },
409
425
  comment: {
410
426
  // ABNF uses `;` to start a line comment. Override tabnas's
@@ -466,25 +482,44 @@ function eliminateLeftRecursion(grammar) {
466
482
  // substitution inlines A_j's alts into A_i for j < i, so putting
467
483
  // dependencies first is what makes nullable-prefixed hidden left
468
484
  // recursion reachable by the substitution step.
469
- //
470
- // Note: substitution here always runs, even for cycle-free
471
- // grammars. The reason is pragmatic rather than theoretical —
472
- // populating tcol from multi-token altPrefixes (needed so the
473
- // lexer's regex matchers fire with the right tin in nested
474
- // contexts) requires the full inlined shape. A future refactor
475
- // could compute tcol from the un-substituted grammar and only
476
- // apply Paull's to the cyclic SCCs, which would preserve more
477
- // named-rule structure in the emitted AST.
478
485
  let prods = topoOrderForPaull(grammar.productions.map((p) => ({
479
486
  name: p.name,
480
487
  alts: p.alts.map((a) => a.slice()),
481
488
  nodeKind: p.nodeKind,
482
489
  })));
490
+ // Substitution normally runs for every production, even a cycle-free
491
+ // one. That is pragmatic rather than theoretical: the multi-token
492
+ // `altPrefixes` used to populate tcol (so the lexer's regex matchers
493
+ // fire with the right tin in nested contexts) are read off the fully
494
+ // inlined shape, and a rule choosing between several alternatives
495
+ // needs that lookahead to dispatch. Scoping substitution to the cyclic
496
+ // SCCs in general therefore has to wait for tcol to be computed from
497
+ // the un-substituted grammar.
498
+ //
499
+ // One case is safe to exempt today, and it is the one that visibly
500
+ // mangles a grammar: a *pure alias*, a production whose single
501
+ // alternative is a single rule reference (`val = add`). Inlining it
502
+ // rewrites `val = add` into `val = NR [ PL add ]` — the alias name is
503
+ // dissolved, so the rule vanishes from the emitted AST and the grammar
504
+ // no longer renders back to the ABNF it was written in. Because such a
505
+ // production has exactly one alternative, it has nothing to dispatch
506
+ // between: it unconditionally pushes its target, needs no lookahead,
507
+ // and so cannot depend on the inlined prefixes. Aliases caught up in a
508
+ // leading-reference cycle are still inlined — that is where Paull's
509
+ // substitution is doing real work (`P = Q`, `Q = P a / b`).
510
+ const cyclic = findLeadingRefCycleMembers(prods);
511
+ const isExemptAlias = (p) => p.alts.length === 1 &&
512
+ p.alts[0].length === 1 &&
513
+ p.alts[0][0].kind === 'ref' &&
514
+ !cyclic.has(p.name) &&
515
+ !cyclic.has(p.alts[0][0].name);
483
516
  for (let i = 0; i < prods.length; i++) {
484
517
  // For each earlier production A_j, inline any alternative of
485
518
  // A_i whose leading element is a reference to A_j.
486
- for (let j = 0; j < i; j++) {
487
- prods[i] = substituteLeadingRef(prods[i], prods[j]);
519
+ if (!isExemptAlias(prods[i])) {
520
+ for (let j = 0; j < i; j++) {
521
+ prods[i] = substituteLeadingRef(prods[i], prods[j]);
522
+ }
488
523
  }
489
524
  prods[i] = eliminateDirectLeftRec(prods[i]);
490
525
  }
@@ -665,6 +700,69 @@ function eliminateDirectLeftRec(prod) {
665
700
  nodeKind: prod.nodeKind,
666
701
  };
667
702
  }
703
+ // Rewrite tail self-references into same-depth repeats.
704
+ //
705
+ // X = prefix [ sep X ]
706
+ //
707
+ // compiles naturally to a rule that repeats itself (`r: X`) from its
708
+ // close phase — the form a hand-written tabnas grammar uses — rather
709
+ // than to an optional-group helper chain that re-pushes X. The repeat
710
+ // keeps every iteration at one stack depth with the SAME parent, which
711
+ // is what makes `r.parent.node` usable from user actions, and flattens
712
+ // the tree: `1+2+3` yields sibling X kids instead of a right-nested
713
+ // chain.
714
+ //
715
+ // The rewrite is deliberately narrow. It applies only when:
716
+ // - the production has exactly one alternative;
717
+ // - its last element is an option wrapping `sep… X` with the
718
+ // self-reference LAST and at least one separator element;
719
+ // - every prefix and separator element is a terminal (literal,
720
+ // token, or regex — all resolved before this pass runs);
721
+ // - the production is not the start production (the `__start__`
722
+ // wrapper allocates no node for a fold to land in).
723
+ // Anything else keeps the existing compilation.
724
+ function rewriteTailRepeats(grammar, start) {
725
+ const isTerminal = (el) => el.kind === 'term' || el.kind === 'token' || el.kind === 'regex';
726
+ for (const prod of grammar.productions) {
727
+ if (prod.probeDispatch || prod.probeHelper)
728
+ continue;
729
+ if (prod.name === start)
730
+ continue;
731
+ if (prod.alts.length !== 1)
732
+ continue;
733
+ const alt = prod.alts[0];
734
+ if (alt.length < 2)
735
+ continue;
736
+ const last = alt[alt.length - 1];
737
+ if (last.kind !== 'opt')
738
+ continue;
739
+ // Normalize the option body to a sequence: `[ a b ]` parses as
740
+ // opt(group([[a, b]])); `[ a ]` as opt(a).
741
+ let seq;
742
+ if (last.inner.kind === 'group') {
743
+ if (last.inner.alts.length !== 1)
744
+ continue;
745
+ seq = last.inner.alts[0];
746
+ }
747
+ else {
748
+ seq = [last.inner];
749
+ }
750
+ if (seq.length < 2)
751
+ continue; // need at least one separator + the self-ref
752
+ const tail = seq[seq.length - 1];
753
+ if (tail.kind !== 'ref' || tail.name !== prod.name)
754
+ continue;
755
+ const sep = seq.slice(0, -1);
756
+ if (!sep.every(isTerminal))
757
+ continue;
758
+ const prefix = alt.slice(0, -1);
759
+ if (prefix.length === 0 || !prefix.every(isTerminal))
760
+ continue;
761
+ prod.alts = [prefix];
762
+ prod.tailRepeat = { sep };
763
+ }
764
+ return grammar;
765
+ }
668
766
  function desugar(grammar) {
669
767
  const extra = [];
670
768
  const used = new Set(grammar.productions.map((p) => p.name));
@@ -687,6 +785,11 @@ function desugar(grammar) {
687
785
  el.kind === 'token') {
688
786
  return el;
689
787
  }
788
+ if (el.kind === 'prose') {
789
+ // Unreachable: `resolveProseTerminals` drops every prose element
790
+ // (or throws) before desugaring runs.
791
+ throw new Error(`abnf: internal: unresolved prose terminal '<${el.text}>'`);
792
+ }
690
793
  if (el.kind === 'group') {
691
794
  // Recurse into the group's alts so nested sugar is flattened,
692
795
  // then emit a helper production whose body is those alts.
@@ -697,8 +800,13 @@ function desugar(grammar) {
697
800
  }
698
801
  // `opt`, `star`, `plus` all wrap a single inner element.
699
802
  const inner = desugarElement(el.inner);
803
+ // Name the generated helper after what it repeats. A literal lifted
804
+ // from a named production (`PL = "+"`) carries that name, and a
805
+ // built-in token carries its own, so `*PL` still yields
806
+ // `_genN_star_PL` rather than an anonymous `_genN_star_term`.
700
807
  const hint = inner.kind === 'ref' ? inner.name :
701
- inner.kind === 'term' ? 'term' : 'x';
808
+ inner.kind === 'term' ? (inner.tokenName ?? 'term') :
809
+ inner.kind === 'token' ? inner.name.replace(/^#/, '') : 'x';
702
810
  if (el.kind === 'opt') {
703
811
  // H ::= inner | (empty)
704
812
  const name = freshName('opt_' + hint);
@@ -780,12 +888,16 @@ function desugar(grammar) {
780
888
  alts: p.alts.map(desugarAlt),
781
889
  nodeKind: p.nodeKind,
782
890
  };
783
- // Probe-dispatch flags survive desugar unchanged — the emitter
784
- // routes around the standard alt-compilation path for these.
891
+ // Probe-dispatch and tail-repeat flags survive desugar unchanged —
892
+ // the emitter routes around the standard alt-compilation path for
893
+ // these. (A tail-repeat separator is all-terminal by construction,
894
+ // so it needs no desugaring of its own.)
785
895
  if (p.probeDispatch)
786
896
  out.probeDispatch = p.probeDispatch;
787
897
  if (p.probeHelper)
788
898
  out.probeHelper = p.probeHelper;
899
+ if (p.tailRepeat)
900
+ out.tailRepeat = p.tailRepeat;
789
901
  return out;
790
902
  });
791
903
  return { productions: [...rewritten, ...extra] };
@@ -1297,6 +1409,179 @@ const BUILTIN_TOKENS = {
1297
1409
  ST: '#ST', // quoted string (string matcher)
1298
1410
  VL: '#VL', // keyword value: true / false / null (value matcher)
1299
1411
  };
1412
+ // Resolve RFC 5234 `prose-val` terminals (`<free text>`).
1413
+ //
1414
+ // Prose is informational by definition — RFC 5234 §4 calls it a "last
1415
+ // resort" escape hatch for describing a terminal in English when no
1416
+ // formal notation will do. There is nothing to compile, so the converter
1417
+ // accepts it in exactly one position: as the *entire* body of a
1418
+ // production naming a built-in lexer token.
1419
+ //
1420
+ // NR = <number>
1421
+ //
1422
+ // That line documents, in the grammar text, that `NR` is the engine's
1423
+ // number token. The lexer already supplies it, so the production is
1424
+ // dropped here and every `NR` reference falls through to
1425
+ // `normalizeBuiltinTokens`, which binds it to `#NR`. This is what lets a
1426
+ // grammar state its terminals explicitly and still round-trip: the same
1427
+ // line is what @tabnas/debug emits when it renders a live grammar back
1428
+ // to ABNF.
1429
+ //
1430
+ // Prose anywhere else has no definition behind it, so it is an error
1431
+ // rather than a silently-ignored rule.
1432
+ function resolveProseTerminals(grammar) {
1433
+ const isProse = (el) => el.kind === 'prose';
1434
+ const kept = [];
1435
+ for (const prod of grammar.productions) {
1436
+ const onlyProse = prod.alts.length === 1 &&
1437
+ prod.alts[0].length === 1 &&
1438
+ isProse(prod.alts[0][0]);
1439
+ if (onlyProse) {
1440
+ if (BUILTIN_TOKENS[prod.name])
1441
+ continue; // informational — the lexer defines it
1442
+ const text = prod.alts[0][0].text;
1443
+ throw new Error(`abnf: rule '${prod.name}' is defined only by prose ('<${text}>'), ` +
1444
+ `which describes a terminal but does not define one. Prose is ` +
1445
+ `allowed only for built-in lexer tokens (${Object.keys(BUILTIN_TOKENS).join(', ')}).`);
1446
+ }
1447
+ // Any surviving prose is embedded in a larger expression, where it
1448
+ // cannot be given a meaning. Search nested groups and repetitions
1449
+ // too, so `x = ( <foo> / "a" )` reports the same clear error as a
1450
+ // top-level `x = "a" <foo>`.
1451
+ const findStray = (el) => {
1452
+ if (isProse(el))
1453
+ return el;
1454
+ if (el.kind === 'opt' || el.kind === 'star' || el.kind === 'plus' ||
1455
+ el.kind === 'rep') {
1456
+ return findStray(el.inner);
1457
+ }
1458
+ if (el.kind === 'group') {
1459
+ for (const alt of el.alts) {
1460
+ for (const inner of alt) {
1461
+ const hit = findStray(inner);
1462
+ if (hit)
1463
+ return hit;
1464
+ }
1465
+ }
1466
+ }
1467
+ return undefined;
1468
+ };
1469
+ for (const alt of prod.alts) {
1470
+ for (const el of alt) {
1471
+ const stray = findStray(el);
1472
+ if (stray) {
1473
+ throw new Error(`abnf: rule '${prod.name}' uses prose ('<${stray.text}>') inside an ` +
1474
+ `expression; prose may only stand alone as the whole definition ` +
1475
+ `of a built-in lexer token.`);
1476
+ }
1477
+ }
1478
+ }
1479
+ kept.push(prod);
1480
+ }
1481
+ if (kept.length === 0) {
1482
+ throw new Error('abnf: grammar defines no rules — only informational prose terminals.');
1483
+ }
1484
+ grammar.productions = kept;
1485
+ }
1486
+ // Token names the engine itself owns: the standard lexer tokens
1487
+ // (`utility.ts` registers these under `standard$`) plus the fixed tokens
1488
+ // the default config installs. A lifted literal must never claim one of
1489
+ // these — binding `#TX` to a literal would displace the lexer's text
1490
+ // matcher rather than add a token — so a production so named stays an
1491
+ // ordinary rule.
1492
+ const RESERVED_TOKEN_NAMES = new Set([
1493
+ 'BD', 'ZZ', 'UK', 'AA', 'SP', 'LN', 'CM', 'NR', 'ST', 'TX', 'VL',
1494
+ 'OB', 'CB', 'OS', 'CS', 'CL', 'CA',
1495
+ ]);
1496
+ // Lift single-literal productions into *named lexer tokens*.
1497
+ //
1498
+ // A production whose whole body is one string literal is a lexical
1499
+ // definition, not a syntactic rule:
1500
+ //
1501
+ // PL = "+"
1502
+ //
1503
+ // Compiled as a rule it would produce a token named after the literal
1504
+ // text — and since `+` has no word characters to name it after, that
1505
+ // degrades to `#T` / `#T1` / … — plus a one-token `PL` rule wrapping it,
1506
+ // so a grammar rendered back to ABNF reads `PL = T` with a separate
1507
+ // `T = "+"`. Lifting instead binds the literal to `#PL` directly and
1508
+ // drops the rule, which is exactly how the same grammar is written by
1509
+ // hand against the engine (`fixed: { token: { '#PL': '+' } }`), and what
1510
+ // lets `PL = "+"` survive the round-trip through @tabnas/debug unchanged.
1511
+ //
1512
+ // The start rule is never lifted: it has to stay a rule for the grammar
1513
+ // to have an entry point, so `greet = "hi"` still compiles to a rule.
1514
+ // Multi-alternative productions (`sign = "+" / "-"`) are real choices and
1515
+ // are left alone, as are names the engine already owns (see
1516
+ // RESERVED_TOKEN_NAMES) and the RFC 5234 core rules, which callers expect
1517
+ // to behave as rules wherever they are referenced.
1518
+ function liftLiteralTokens(grammar, start) {
1519
+ const lifted = new Map();
1520
+ for (const prod of grammar.productions) {
1521
+ if (prod.name === start)
1522
+ continue;
1523
+ if (RESERVED_TOKEN_NAMES.has(prod.name))
1524
+ continue;
1525
+ if (prod.nodeKind === 'core')
1526
+ continue;
1527
+ if (prod.alts.length !== 1 || prod.alts[0].length !== 1)
1528
+ continue;
1529
+ const el = prod.alts[0][0];
1530
+ if (el.kind !== 'term')
1531
+ continue;
1532
+ // `path-empty = ""` (RFC 3986) matches the empty string — a rule that
1533
+ // derives epsilon, not a token the lexer could ever emit.
1534
+ if (el.literal === '')
1535
+ continue;
1536
+ lifted.set(prod.name, { literal: el.literal, caseSensitive: el.caseSensitive });
1537
+ }
1538
+ // The engine keys its fixed tokens by literal (`cfg.fixed.token` is
1539
+ // inverted to src -> tin), so one literal is one token — two names for
1540
+ // the same literal cannot both become tokens. When `A = "+"` and
1541
+ // `B = "+"` both claim `+`, lifting either would silently drop the
1542
+ // other, so neither is lifted and both stay ordinary rules.
1543
+ const byLiteral = new Map();
1544
+ for (const [name, lit] of lifted) {
1545
+ const key = termKey(lit);
1546
+ const names = byLiteral.get(key);
1547
+ if (names)
1548
+ names.push(name);
1549
+ else
1550
+ byLiteral.set(key, [name]);
1551
+ }
1552
+ for (const names of byLiteral.values()) {
1553
+ if (1 < names.length)
1554
+ for (const n of names)
1555
+ lifted.delete(n);
1556
+ }
1557
+ if (lifted.size === 0)
1558
+ return [];
1559
+ const walk = (el) => {
1560
+ if (el.kind === 'ref') {
1561
+ const lit = lifted.get(el.name);
1562
+ return lit
1563
+ ? { kind: 'term', ...lit, tokenName: el.name }
1564
+ : el;
1565
+ }
1566
+ if (el.kind === 'opt' || el.kind === 'star' || el.kind === 'plus' ||
1567
+ el.kind === 'rep') {
1568
+ return { ...el, inner: walk(el.inner) };
1569
+ }
1570
+ if (el.kind === 'group') {
1571
+ return { kind: 'group', alts: el.alts.map((a) => a.map(walk)) };
1572
+ }
1573
+ return el;
1574
+ };
1575
+ grammar.productions = grammar.productions
1576
+ .filter((p) => !lifted.has(p.name))
1577
+ .map((p) => ({ ...p, alts: p.alts.map((alt) => alt.map(walk)) }));
1578
+ // Return every lifted definition, referenced or not. The production is
1579
+ // gone from the grammar, so an unreferenced one (`top = "x"` with a
1580
+ // spare `PL = "+"`) would otherwise leave no element behind for the
1581
+ // emitter to allocate a token from, and the user's declaration would
1582
+ // vanish silently instead of compiling to the promised named token.
1583
+ return [...lifted].map(([name, lit]) => ({ kind: 'term', ...lit, tokenName: name }));
1584
+ }
1300
1585
  // Rewrite every bareword reference whose name is a built-in token AND is not a
1301
1586
  // defined production into a `token` terminal element. Run before any other
1302
1587
  // pass so the rest of the pipeline treats these as ordinary terminals.
@@ -1344,13 +1629,38 @@ function emitLiteralToken(el, name, fixedTokens, matchTokens, wordKeywords) {
1344
1629
  re.eager$ = true;
1345
1630
  matchTokens[name] = re;
1346
1631
  }
1632
+ // Copy a grammar deeply enough that the emit pipeline cannot disturb the
1633
+ // caller's AST. The passes below replace `productions`, `alts` and the
1634
+ // individual sequences, but treat elements as immutable (each rewriting
1635
+ // walk returns fresh element objects), so sharing elements is safe.
1636
+ function cloneGrammar(grammar) {
1637
+ return {
1638
+ productions: grammar.productions.map((p) => ({
1639
+ ...p,
1640
+ alts: p.alts.map((alt) => alt.slice()),
1641
+ })),
1642
+ };
1643
+ }
1347
1644
  // Convert an ABNF grammar AST into a tabnas GrammarSpec.
1348
1645
  function emitGrammarSpec(grammar, opts) {
1646
+ // Work on a copy: `resolveProseTerminals`, `liftLiteralTokens` and
1647
+ // `normalizeBuiltinTokens` all rewrite the grammar in place, so emitting
1648
+ // twice from one `parseAbnf` result would otherwise give two different
1649
+ // specs — the second missing every lifted production, since the first
1650
+ // pass had already removed them.
1651
+ grammar = cloneGrammar(grammar);
1652
+ // Drop informational prose definitions (`NR = <number>`) first, so the
1653
+ // names they document fall through to the built-in tokens — and so a
1654
+ // leading prose line is never mistaken for the start rule.
1655
+ resolveProseTerminals(grammar);
1349
1656
  const start = opts?.start ?? grammar.productions[0].name;
1350
1657
  const tag = opts?.tag ?? 'abnf';
1351
1658
  const wordKeywords = !!opts?.wordKeywords;
1352
- // Resolve bare built-in token names (`TX`/`NR`/`ST`/`VL`) to token
1353
- // terminals before any structural pass sees them as rule references.
1659
+ // Turn single-literal productions (`PL = "+"`) into named lexer
1660
+ // tokens, then resolve bare built-in token names (`TX`/`NR`/`ST`/`VL`)
1661
+ // to token terminals — both before any structural pass sees them as
1662
+ // rule references.
1663
+ const liftedLiterals = liftLiteralTokens(grammar, start);
1354
1664
  normalizeBuiltinTokens(grammar);
1355
1665
  // Eliminate direct left recursion (P → P α | β) by rewriting to
1356
1666
  // the equivalent right-recursive form P → β (α)*, then detect
@@ -1359,6 +1669,7 @@ function emitGrammarSpec(grammar, opts) {
1359
1669
  // (`?`, `*`, `+`, grouping) into plain ABNF.
1360
1670
  grammar = eliminateLeftRecursion(grammar);
1361
1671
  grammar = rewriteProbeDispatches(grammar);
1672
+ grammar = rewriteTailRepeats(grammar, start);
1362
1673
  grammar = desugar(grammar);
1363
1674
  // Allocate a fixed token for each unique literal, and a match
1364
1675
  // token for each unique regex terminal. Literals are keyed by
@@ -1369,47 +1680,37 @@ function emitGrammarSpec(grammar, opts) {
1369
1680
  const usedNames = new Set();
1370
1681
  const fixedTokens = {};
1371
1682
  const matchTokens = {};
1683
+ // Gather every terminal first. Probe-helper productions store their
1684
+ // vocab as AbnfElements rather than in `alts`, so walk those too. The
1685
+ // lifted literals are seeded up front: their productions no longer
1686
+ // exist, so an unreferenced one has no element anywhere in `alts`.
1687
+ const terminals = [...liftedLiterals];
1372
1688
  for (const prod of grammar.productions) {
1373
- for (const alt of prod.alts) {
1374
- for (const el of alt) {
1375
- if (el.kind === 'term') {
1376
- const key = termKey(el);
1377
- if (!literals.has(key)) {
1378
- const name = allocTokenName(el.literal, usedNames);
1379
- literals.set(key, name);
1380
- emitLiteralToken(el, name, fixedTokens, matchTokens, wordKeywords);
1381
- }
1382
- }
1383
- else if (el.kind === 'regex') {
1384
- const key = regexKey(el);
1385
- if (!regexTokens.has(key)) {
1386
- const name = allocTokenName('rx_' + el.pattern, usedNames);
1387
- regexTokens.set(key, name);
1388
- matchTokens[name] = new RegExp('^' + el.pattern, el.flags);
1389
- }
1390
- }
1689
+ for (const alt of prod.alts)
1690
+ terminals.push(...alt);
1691
+ if (prod.probeHelper)
1692
+ terminals.push(...prod.probeHelper.vocabElements);
1693
+ }
1694
+ // Terminals carrying a lifted production name are allocated first, so
1695
+ // the name wins even when the same literal also appears inline in an
1696
+ // earlier rule (`PL = "+"` must yield `#PL`, not `#T`, regardless of
1697
+ // where the bare `"+"` shows up).
1698
+ const named = terminals.filter((el) => el.kind === 'term' && el.tokenName);
1699
+ for (const el of [...named, ...terminals]) {
1700
+ if (el.kind === 'term') {
1701
+ const key = termKey(el);
1702
+ if (!literals.has(key)) {
1703
+ const name = allocTokenName(el.literal, usedNames, el.tokenName);
1704
+ literals.set(key, name);
1705
+ emitLiteralToken(el, name, fixedTokens, matchTokens, wordKeywords);
1391
1706
  }
1392
1707
  }
1393
- // Probe-helper productions store their vocab as AbnfElements —
1394
- // walk those too so the required tokens get allocated.
1395
- if (prod.probeHelper) {
1396
- for (const el of prod.probeHelper.vocabElements) {
1397
- if (el.kind === 'term') {
1398
- const key = termKey(el);
1399
- if (!literals.has(key)) {
1400
- const name = allocTokenName(el.literal, usedNames);
1401
- literals.set(key, name);
1402
- emitLiteralToken(el, name, fixedTokens, matchTokens, wordKeywords);
1403
- }
1404
- }
1405
- else if (el.kind === 'regex') {
1406
- const key = regexKey(el);
1407
- if (!regexTokens.has(key)) {
1408
- const name = allocTokenName('rx_' + el.pattern, usedNames);
1409
- regexTokens.set(key, name);
1410
- matchTokens[name] = new RegExp('^' + el.pattern, el.flags);
1411
- }
1412
- }
1708
+ else if (el.kind === 'regex') {
1709
+ const key = regexKey(el);
1710
+ if (!regexTokens.has(key)) {
1711
+ const name = allocTokenName('rx_' + el.pattern, usedNames);
1712
+ regexTokens.set(key, name);
1713
+ matchTokens[name] = new RegExp('^' + el.pattern, el.flags);
1413
1714
  }
1414
1715
  }
1415
1716
  }
@@ -1574,6 +1875,36 @@ class RefRegistry {
1574
1875
  bubble(closure) {
1575
1876
  return this.useBuiltins ? { a: '@bubble$' } : { a: this.register(closure) };
1576
1877
  }
1878
+ fold(cfg, closure) {
1879
+ return this.useBuiltins
1880
+ ? { a: '@fold$', k: { fold$: cfg } }
1881
+ : { a: this.register(closure) };
1882
+ }
1883
+ }
1884
+ // Closure-mode twin of the engine's `@fold$` builtin (see
1885
+ // `@tabnas/parser` builtins.ts — the two MUST stay behaviourally
1886
+ // identical; the fixture suite pins this). Folds a tail-repeat
1887
+ // iteration's node into its parent as a sibling kid, appends `cN`
1888
+ // close-phase (separator) tokens' src to the parent, and clears the
1889
+ // own node so the parent's capture no-ops on its stale first-iteration
1890
+ // child pointer.
1891
+ function mkFoldClosure(cN) {
1892
+ return (r) => {
1893
+ const p = r.parent && r.parent.node;
1894
+ if (null == p || 'object' !== typeof p || !('src' in p))
1895
+ return;
1896
+ const own = r.node;
1897
+ if (null != own && 'object' === typeof own && 'src' in own && own !== p) {
1898
+ p.src += own.src;
1899
+ if (own.rule)
1900
+ p.kids.push(own);
1901
+ else if (Array.isArray(own.kids))
1902
+ p.kids.push(...own.kids);
1903
+ }
1904
+ for (let i = 0; i < cN; i++)
1905
+ p.src += r.c[i].src;
1906
+ r.node = undefined;
1907
+ };
1577
1908
  }
1578
1909
  function mkAstNode(ruleName, nodeKind) {
1579
1910
  return nodeKind === 'user'
@@ -1665,10 +1996,53 @@ function captureChildFields(refs, ruleName, nodeKind) {
1665
1996
  n.kids.push(...c.kids);
1666
1997
  });
1667
1998
  }
1999
+ // Emit a production marked by `rewriteTailRepeats`:
2000
+ //
2001
+ // open: [ { s: prefix, node$ init } ]
2002
+ // close: [ { s: sep, r: SELF, fold$ cN } , { fold$ } ]
2003
+ //
2004
+ // The same shape a hand-written tabnas grammar uses for `X = a [ b X ]`.
2005
+ // Every iteration folds itself into the parent (see mkFoldClosure /
2006
+ // `@fold$`); marks land on the close alts too, so `@X:c:<sep>` and
2007
+ // `@X:c:_` user actions can attach.
2008
+ function emitTailRepeat(prod, literals, regexTokens, tag, ruleSpec, refs) {
2009
+ const prodKind = prod.nodeKind ?? 'user';
2010
+ const prefixAlt = prod.alts[0];
2011
+ const sep = prod.tailRepeat.sep;
2012
+ // All-terminal sequences (guaranteed by the rewrite's guards), so
2013
+ // each segmentizes to exactly one ref-free segment.
2014
+ const prefixSeg = segmentize(prefixAlt, literals, regexTokens)[0];
2015
+ const sepSeg = segmentize(sep, literals, regexTokens)[0];
2016
+ const marks = (prodKind === 'user' && refs.emitMarks)
2017
+ ? assignMarks([prefixAlt, sep], literals, regexTokens)
2018
+ : null;
2019
+ const open = segmentToAlt(prefixSeg, tag, refs, true, prod.name, prodKind);
2020
+ if (marks)
2021
+ open.m = marks.get(prefixAlt);
2022
+ const repeat = {
2023
+ s: sepSeg.terms.join(' '),
2024
+ r: prod.name,
2025
+ ...refs.fold({ cN: sepSeg.terms.length }, mkFoldClosure(sepSeg.terms.length)),
2026
+ g: tag,
2027
+ };
2028
+ if (marks)
2029
+ repeat.m = marks.get(sep);
2030
+ const end = {
2031
+ ...refs.fold({}, mkFoldClosure(0)),
2032
+ g: tag,
2033
+ };
2034
+ if (marks)
2035
+ end.m = '_';
2036
+ ruleSpec[prod.name] = { open: [open], close: [repeat, end] };
2037
+ }
1668
2038
  function emitProduction(prod, grammar, literals, regexTokens, knownRules, tag, ruleSpec, firstSets, nullable, refs) {
1669
2039
  for (const alt of prod.alts) {
1670
2040
  validateRefs(alt, knownRules, prod.name);
1671
2041
  }
2042
+ if (prod.tailRepeat) {
2043
+ emitTailRepeat(prod, literals, regexTokens, tag, ruleSpec, refs);
2044
+ return;
2045
+ }
1672
2046
  const allSimple = prod.alts.every(isSingleSegment);
1673
2047
  if (allSimple) {
1674
2048
  // Every alternative collapses to one tabnas alt — emit them
@@ -2153,7 +2527,16 @@ function parseNumericValue(src) {
2153
2527
  const chars = parts.map((n) => String.fromCharCode(parseInt(n, radix)));
2154
2528
  return { kind: 'term', literal: chars.join('') };
2155
2529
  }
2156
- function allocTokenName(literal, used) {
2530
+ function allocTokenName(literal, used, preferred) {
2531
+ // A literal lifted from a named production (`PL = "+"`) keeps that
2532
+ // name, so the emitted grammar reads `PL` rather than `T`.
2533
+ if (preferred) {
2534
+ const want = '#' + preferred;
2535
+ if (!used.has(want)) {
2536
+ used.add(want);
2537
+ return want;
2538
+ }
2539
+ }
2157
2540
  const base = literal
2158
2541
  .replace(/[^A-Za-z0-9]/g, '_')
2159
2542
  .toUpperCase()
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tabnas/abnf",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "main": "dist/abnf.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/abnf.d.ts",
@@ -39,7 +39,7 @@
39
39
  ".": "./dist/abnf.js"
40
40
  },
41
41
  "peerDependencies": {
42
- "@tabnas/parser": ">=0"
42
+ "@tabnas/parser": ">=0.5.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@tabnas/debug": "*",