@tabnas/parser 0.2.0 → 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/dist/rules.d.ts CHANGED
@@ -1,13 +1,11 @@
1
1
  import type { AltAction, AltCond, AltModifier, AltSpec, AltSpecish, Config, Context, Counters, FuncRef, FuncRefMap, Tabnas, Lex, ListMods, RuleState, RuleStep, StateAction, Tin, Token } from './types';
2
2
  declare class Rule {
3
+ #private;
3
4
  i: number;
4
5
  name: string;
5
6
  node: any;
6
7
  state: RuleState;
7
- n: Counters;
8
8
  d: number;
9
- u: Record<string, any>;
10
- k: Record<string, any>;
11
9
  bo: boolean;
12
10
  ao: boolean;
13
11
  bc: boolean;
@@ -23,6 +21,15 @@ declare class Rule {
23
21
  c: Token[];
24
22
  _NOTOKEN?: Token;
25
23
  need: number;
24
+ get n(): Counters;
25
+ set n(v: Counters);
26
+ get u(): Record<string, any>;
27
+ set u(v: Record<string, any>);
28
+ get k(): Record<string, any>;
29
+ set k(v: Record<string, any>);
30
+ rawn(): Counters | undefined;
31
+ rawu(): Record<string, any> | undefined;
32
+ rawk(): Record<string, any> | undefined;
26
33
  why?: string;
27
34
  constructor(spec: RuleSpec, ctx: Context, node?: any);
28
35
  get o0(): Token;
package/dist/rules.js CHANGED
@@ -7,15 +7,31 @@ const utility_1 = require("./utility");
7
7
  const error_1 = require("./error");
8
8
  // A single application of a RuleSpec on the parser stack; lives through an "open" then "close" pass.
9
9
  class Rule {
10
+ // Counter (n), user-prop (u), and keep-prop (k) objects are created
11
+ // lazily on first access — most rules in value-building grammars
12
+ // never touch them, and three per-rule allocations were measurable
13
+ // GC pressure. The public r.n / r.u / r.k API is unchanged (the
14
+ // accessors materialize on demand); engine hot paths read the
15
+ // non-materializing rawn()/rawu()/rawk() views instead.
16
+ #n;
17
+ #u;
18
+ #k;
19
+ get n() { return (this.#n ??= Object.create(null)); }
20
+ set n(v) { this.#n = v; }
21
+ get u() { return (this.#u ??= Object.create(null)); }
22
+ set u(v) { this.#u = v; }
23
+ get k() { return (this.#k ??= Object.create(null)); }
24
+ set k(v) { this.#k = v; }
25
+ // Non-materializing views: undefined until the map has been created.
26
+ rawn() { return this.#n; }
27
+ rawu() { return this.#u; }
28
+ rawk() { return this.#k; }
10
29
  constructor(spec, ctx, node) {
11
30
  this.i = -1; // Unique rule id within this parse run.
12
31
  this.name = types_1.EMPTY; // Rule name (matches its RuleSpec).
13
32
  this.node = null; // Value node this rule is building.
14
33
  this.state = types_1.OPEN; // Current phase: open ('o') or close ('c').
15
- this.n = Object.create(null); // Named counters tracked across the rule.
16
34
  this.d = -1; // Stack depth at which this rule was pushed.
17
- this.u = Object.create(null); // Custom user props (not propagated to children).
18
- this.k = Object.create(null); // Custom keep props (propagated via push/replace).
19
35
  this.bo = false; // Has before-open actions.
20
36
  this.ao = false; // Has after-open actions.
21
37
  this.bc = false; // Has before-close actions.
@@ -60,23 +76,23 @@ class Rule {
60
76
  return rule;
61
77
  }
62
78
  eq(counter, limit = 0) {
63
- let value = this.n[counter];
79
+ let value = this.#n?.[counter];
64
80
  return null == value || value === limit;
65
81
  }
66
82
  lt(counter, limit = 0) {
67
- let value = this.n[counter];
83
+ let value = this.#n?.[counter];
68
84
  return null == value || value < limit;
69
85
  }
70
86
  gt(counter, limit = 0) {
71
- let value = this.n[counter];
87
+ let value = this.#n?.[counter];
72
88
  return null == value || value > limit;
73
89
  }
74
90
  lte(counter, limit = 0) {
75
- let value = this.n[counter];
91
+ let value = this.#n?.[counter];
76
92
  return null == value || value <= limit;
77
93
  }
78
94
  gte(counter, limit = 0) {
79
- let value = this.n[counter];
95
+ let value = this.#n?.[counter];
80
96
  return null == value || value >= limit;
81
97
  }
82
98
  toString() {
@@ -98,7 +114,6 @@ class AltMatch {
98
114
  }
99
115
  exports.AltMatch = AltMatch;
100
116
  const makeAltMatch = (...params) => new AltMatch(...params);
101
- const PALT = makeAltMatch(); // Only one alt object is created.
102
117
  const EMPTY_ALT = makeAltMatch();
103
118
  // Reusable definition of a rule: its open/close alternates, lifecycle actions, and collated token lookups.
104
119
  class RuleSpec {
@@ -212,7 +227,11 @@ class RuleSpec {
212
227
  }
213
228
  alts[inject](...aa);
214
229
  alts = this.def[altState] = (0, utility_1.modlist)(alts, mods);
215
- (0, utility_1.filterRules)(this, this.cfg);
230
+ // NOTE: an earlier version called filterRules(this, this.cfg) here
231
+ // and discarded the result — filterRules clones the whole def, so
232
+ // that was pure dead work on every open()/close() call. Rule
233
+ // include/exclude filtering happens at clone/derive time
234
+ // (Parser.clone), not during registration.
216
235
  this.norm();
217
236
  return this;
218
237
  }
@@ -337,6 +356,11 @@ class RuleSpec {
337
356
  let next = is_open ? rule : ctx.NORULE;
338
357
  let why = is_open ? 'O' : 'C';
339
358
  let def = this.def;
359
+ // The `why` trace string is only appended to when logging is active:
360
+ // the concatenations otherwise allocate rope fragments on every step
361
+ // that nothing reads (error formatting uses token.why, not rule.why,
362
+ // and the Go runtime never builds a per-step why at all).
363
+ const logging = null != ctx.log;
340
364
  // Match alternates for current state.
341
365
  let alts = (is_open ? def.open : def.close);
342
366
  // Handle "before" call.
@@ -355,7 +379,8 @@ class RuleSpec {
355
379
  // Custom alt handler.
356
380
  if (alt.h) {
357
381
  alt = alt.h(rule, ctx, alt, next) || alt;
358
- why += 'H';
382
+ if (logging)
383
+ why += 'H';
359
384
  }
360
385
  // Unconditional error.
361
386
  if (alt.e) {
@@ -363,16 +388,17 @@ class RuleSpec {
363
388
  }
364
389
  // Update counters.
365
390
  if (alt.n) {
391
+ const rn = rule.n;
366
392
  for (let cn in alt.n) {
367
- rule.n[cn] =
393
+ rn[cn] =
368
394
  // 0 reverts counter to 0.
369
395
  0 === alt.n[cn]
370
396
  ? 0
371
397
  : // First seen, set to 0.
372
- (null == rule.n[cn]
398
+ (null == rn[cn]
373
399
  ? 0
374
400
  : // Increment counter.
375
- rule.n[cn]) + alt.n[cn];
401
+ rn[cn]) + alt.n[cn];
376
402
  }
377
403
  }
378
404
  // Set custom properties
@@ -419,7 +445,8 @@ class RuleSpec {
419
445
  // (breaks Expr! - fix first)
420
446
  // Action call.
421
447
  if (alt.a) {
422
- why += 'A';
448
+ if (logging)
449
+ why += 'A';
423
450
  let tout = alt.a(rule, ctx, alt);
424
451
  if (tout && tout.isToken && tout.err) {
425
452
  return this.bad(tout, rule, ctx, { is_open });
@@ -432,11 +459,23 @@ class RuleSpec {
432
459
  if (rulespec) {
433
460
  next = rule.child = makeRule(rulespec, ctx, rule.node);
434
461
  next.parent = rule;
435
- next.n = { ...rule.n };
436
- if (0 < Object.keys(rule.k).length) {
437
- next.k = { ...rule.k };
462
+ // Copy counters/keeps through the non-materializing views: a
463
+ // parent that never touched them costs the child nothing, and
464
+ // the child's object is created only when there is content.
465
+ const pn = rule.rawn();
466
+ if (undefined !== pn) {
467
+ let nn = undefined;
468
+ for (let cn in pn)
469
+ (nn ??= next.n)[cn] = pn[cn];
438
470
  }
439
- why += 'P`' + alt.p + '`';
471
+ const pk = rule.rawk();
472
+ if (undefined !== pk) {
473
+ let nk = undefined;
474
+ for (let kn in pk)
475
+ (nk ??= next.k)[kn] = pk[kn];
476
+ }
477
+ if (logging)
478
+ why += 'P`' + alt.p + '`';
440
479
  }
441
480
  else {
442
481
  return this.bad(this.unknownRule(ctx.t0, alt.p), rule, ctx, { is_open });
@@ -449,11 +488,20 @@ class RuleSpec {
449
488
  next = makeRule(rulespec, ctx, rule.node);
450
489
  next.parent = rule.parent;
451
490
  next.prev = rule;
452
- next.n = { ...rule.n };
453
- if (0 < Object.keys(rule.k).length) {
454
- next.k = { ...rule.k };
491
+ const pn = rule.rawn();
492
+ if (undefined !== pn) {
493
+ let nn = undefined;
494
+ for (let cn in pn)
495
+ (nn ??= next.n)[cn] = pn[cn];
496
+ }
497
+ const pk = rule.rawk();
498
+ if (undefined !== pk) {
499
+ let nk = undefined;
500
+ for (let kn in pk)
501
+ (nk ??= next.k)[kn] = pk[kn];
455
502
  }
456
- why += 'R`' + alt.r + '`';
503
+ if (logging)
504
+ why += 'R`' + alt.r + '`';
457
505
  }
458
506
  else {
459
507
  return this.bad(this.unknownRule(ctx.t0, alt.r), rule, ctx, { is_open });
@@ -518,7 +566,11 @@ exports.makeRuleSpec = makeRuleSpec;
518
566
  // First match wins.
519
567
  // NOTE: input AltSpecs are used to build the Alt output.
520
568
  function parse_alts(is_open, alts, lex, rule, ctx) {
521
- let out = PALT;
569
+ // One reusable scratch AltMatch per parse Context (allocated lazily on
570
+ // first use). Scoping it to the Context — rather than a module global —
571
+ // keeps nested parses (a plugin action parsing with another instance)
572
+ // from clobbering each other's in-flight match state.
573
+ let out = ctx._palt || (ctx._palt = makeAltMatch());
522
574
  out.b = 0; // Backtrack n tokens.
523
575
  out.p = types_1.EMPTY; // Push named rule onto stack.
524
576
  out.r = types_1.EMPTY; // Replace current rule with named rule.
@@ -534,14 +586,9 @@ function parse_alts(is_open, alts, lex, rule, ctx) {
534
586
  let cond = true;
535
587
  let bitAA = 1 << (t.AA - 1);
536
588
  let IGNORE = ctx.cfg.tokenSetTins.IGNORE;
537
- function next(r, alt, altI, tI) {
538
- let tkn;
539
- do {
540
- tkn = lex.next(r, alt, altI, tI);
541
- ctx.tC++;
542
- } while (IGNORE[tkn.tin]);
543
- return tkn;
544
- }
589
+ let BD = t.BD;
590
+ // S (the string table) is shadowed by alt.S inside the loop below.
591
+ const UNEXPECTED = utility_1.S.unexpected;
545
592
  // TODO: replace with lookup map
546
593
  let len = alts.length;
547
594
  const NOTOKEN = ctx.NOTOKEN;
@@ -566,7 +613,22 @@ function parse_alts(is_open, alts, lex, rule, ctx) {
566
613
  for (let i = 0; i < sN; i++) {
567
614
  let tkn = tbuf[i];
568
615
  if (null == tkn || NOTOKEN === tkn) {
569
- tkn = tbuf[i] = next(rule, alt, altI, i);
616
+ // Fetch (skipping IGNORE tokens) inline — a nested function here
617
+ // would allocate a closure on every parse_alts call.
618
+ do {
619
+ tkn = lex.next(rule, alt, altI, i);
620
+ ctx.tC++;
621
+ // Bad tokens abort the parse with their own error code
622
+ // (formerly done by the badlex wrapper around lex.next).
623
+ if (BD === tkn.tin) {
624
+ let details = {};
625
+ if (null != tkn.use) {
626
+ details.use = tkn.use;
627
+ }
628
+ throw new error_1.TabnasError(tkn.why || UNEXPECTED, details, tkn, rule, ctx);
629
+ }
630
+ } while (IGNORE[tkn.tin]);
631
+ tbuf[i] = tkn;
570
632
  }
571
633
  const Si = S ? S[i] : null;
572
634
  if (null != Si) {
@@ -585,25 +647,32 @@ function parse_alts(is_open, alts, lex, rule, ctx) {
585
647
  }
586
648
  matched = i + 1;
587
649
  }
588
- if (is_open) {
589
- rule.oN = matched;
590
- for (let i = 0; i < matched; i++)
591
- rule.o[i] = tbuf[i];
592
- // Clear trailing slots so stale matches from earlier alts are
593
- // not observed via rule.o[i] / rule.o0 / rule.o1 accessors.
594
- for (let i = matched; i < rule.o.length; i++)
595
- rule.o[i] = NOTOKEN;
596
- }
597
- else {
598
- rule.cN = matched;
599
- for (let i = 0; i < matched; i++)
600
- rule.c[i] = tbuf[i];
601
- for (let i = matched; i < rule.c.length; i++)
602
- rule.c[i] = NOTOKEN;
603
- }
604
- // Optional custom condition
605
- if (cond && alt.c) {
606
- cond = cond && alt.c(rule, ctx, out);
650
+ // Record matched tokens only when the tin positions matched —
651
+ // failed alts left partial recordings that nothing could observe
652
+ // (custom conditions only run on tin success, and the next
653
+ // candidate overwrote them). Recording stays BEFORE the alt.c
654
+ // condition call so conditions observe the candidate's tokens.
655
+ if (cond) {
656
+ if (is_open) {
657
+ rule.oN = matched;
658
+ for (let i = 0; i < matched; i++)
659
+ rule.o[i] = tbuf[i];
660
+ // Clear trailing slots so stale matches from earlier alts are
661
+ // not observed via rule.o[i] / rule.o0 / rule.o1 accessors.
662
+ for (let i = matched; i < rule.o.length; i++)
663
+ rule.o[i] = NOTOKEN;
664
+ }
665
+ else {
666
+ rule.cN = matched;
667
+ for (let i = 0; i < matched; i++)
668
+ rule.c[i] = tbuf[i];
669
+ for (let i = matched; i < rule.c.length; i++)
670
+ rule.c[i] = NOTOKEN;
671
+ }
672
+ // Optional custom condition
673
+ if (alt.c) {
674
+ cond = alt.c(rule, ctx, out);
675
+ }
607
676
  }
608
677
  if (cond) {
609
678
  break;
package/dist/rules.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
package/dist/tabnas.d.ts CHANGED
@@ -87,6 +87,7 @@ declare class Tabnas {
87
87
  use(plugin: Plugin, plugin_options?: Record<string, any>): Tabnas;
88
88
  rule(name?: string, define?: RuleDefiner | null): RuleSpec | RuleSpecMap | this | undefined;
89
89
  make(options?: TabnasOptions): Tabnas;
90
+ merge(other: Tabnas): Tabnas;
90
91
  empty(options?: TabnasOptions): Tabnas;
91
92
  toString(): string;
92
93
  sub(spec: {