parser-lr 0.2.4 → 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.
Files changed (58) hide show
  1. package/README.md +82 -0
  2. package/bin/parser-lr.js +336 -171
  3. package/bin/parser-lr.js.map +1 -1
  4. package/dist/lib/parse-table/analysis/first-follow.d.ts +6 -0
  5. package/dist/lib/parse-table/analysis/first-follow.d.ts.map +1 -1
  6. package/dist/lib/parse-table/analysis/first-follow.js +13 -0
  7. package/dist/lib/parse-table/analysis/first-follow.js.map +1 -1
  8. package/dist/lib/parse-table/bnf/desugar-ebnf.d.ts.map +1 -1
  9. package/dist/lib/parse-table/bnf/desugar-ebnf.js +2 -0
  10. package/dist/lib/parse-table/bnf/desugar-ebnf.js.map +1 -1
  11. package/dist/lib/parse-table/build-lr-table.d.ts +1 -0
  12. package/dist/lib/parse-table/build-lr-table.d.ts.map +1 -1
  13. package/dist/lib/parse-table/build-lr-table.js +11 -1
  14. package/dist/lib/parse-table/build-lr-table.js.map +1 -1
  15. package/dist/lib/parse-table/index.d.ts +1 -1
  16. package/dist/lib/parse-table/index.d.ts.map +1 -1
  17. package/dist/lib/parse-table/index.js +1 -1
  18. package/dist/lib/parse-table/index.js.map +1 -1
  19. package/dist/lib/parse-table/lr0/lr0-item-set.d.ts +26 -2
  20. package/dist/lib/parse-table/lr0/lr0-item-set.d.ts.map +1 -1
  21. package/dist/lib/parse-table/lr0/lr0-item-set.js +92 -54
  22. package/dist/lib/parse-table/lr0/lr0-item-set.js.map +1 -1
  23. package/dist/lib/parse-table/lr1/lr1-item-set.d.ts +31 -2
  24. package/dist/lib/parse-table/lr1/lr1-item-set.d.ts.map +1 -1
  25. package/dist/lib/parse-table/lr1/lr1-item-set.js +95 -60
  26. package/dist/lib/parse-table/lr1/lr1-item-set.js.map +1 -1
  27. package/dist/lib/parse-table/parse-table.d.ts +13 -3
  28. package/dist/lib/parse-table/parse-table.d.ts.map +1 -1
  29. package/dist/lib/parse-table/parse-table.js +19 -8
  30. package/dist/lib/parse-table/parse-table.js.map +1 -1
  31. package/dist/lib/parse-table/table/index.d.ts +1 -1
  32. package/dist/lib/parse-table/table/index.d.ts.map +1 -1
  33. package/dist/lib/parse-table/table/index.js +1 -1
  34. package/dist/lib/parse-table/table/index.js.map +1 -1
  35. package/dist/lib/parse-table/table/lr-parse-table.d.ts +14 -2
  36. package/dist/lib/parse-table/table/lr-parse-table.d.ts.map +1 -1
  37. package/dist/lib/parse-table/table/lr-parse-table.js +38 -3
  38. package/dist/lib/parse-table/table/lr-parse-table.js.map +1 -1
  39. package/dist/lib/parse-table/table/parse-action.d.ts +3 -1
  40. package/dist/lib/parse-table/table/parse-action.d.ts.map +1 -1
  41. package/dist/lib/parse-table/table/parse-action.js.map +1 -1
  42. package/dist/lib/parse-table/table/table-builder-base.d.ts +5 -4
  43. package/dist/lib/parse-table/table/table-builder-base.d.ts.map +1 -1
  44. package/dist/lib/parse-table/table/table-builder-base.js +28 -8
  45. package/dist/lib/parse-table/table/table-builder-base.js.map +1 -1
  46. package/dist/lib/shift-reduce/shift-reduce-engine.d.ts +10 -0
  47. package/dist/lib/shift-reduce/shift-reduce-engine.d.ts.map +1 -1
  48. package/dist/lib/shift-reduce/shift-reduce-engine.js +11 -0
  49. package/dist/lib/shift-reduce/shift-reduce-engine.js.map +1 -1
  50. package/dist/lib/transform/binding-map.d.ts +6 -0
  51. package/dist/lib/transform/binding-map.d.ts.map +1 -1
  52. package/dist/lib/transform/binding-map.js +17 -0
  53. package/dist/lib/transform/binding-map.js.map +1 -1
  54. package/dist/lib/transform/cst-transformer.d.ts +6 -0
  55. package/dist/lib/transform/cst-transformer.d.ts.map +1 -1
  56. package/dist/lib/transform/cst-transformer.js +24 -2
  57. package/dist/lib/transform/cst-transformer.js.map +1 -1
  58. package/package.json +3 -1
@@ -1,11 +1,12 @@
1
1
  import { bnfParserSymbolKey } from '../bnf/bnf-symbol.js';
2
- import { sortLr0Items } from '../lr0/lr0-item-set.js';
2
+ import { sortLr0Items, symbolsAfterDot } from '../lr0/lr0-item-set.js';
3
3
  import { TableBuilderBase } from '../table/table-builder-base.js';
4
4
  /**
5
5
  * Returns whether two LR(1) items are identical.
6
6
  *
7
7
  * @param left - First item.
8
8
  * @param right - Second item.
9
+ * @returns True when production id, dot, and lookahead match.
9
10
  */
10
11
  export function lr1ItemsEqual(left, right) {
11
12
  return left.productionId === right.productionId
@@ -16,6 +17,7 @@ export function lr1ItemsEqual(left, right) {
16
17
  * Sorts LR(1) items for canonical set comparison.
17
18
  *
18
19
  * @param items - Items to sort.
20
+ * @returns A new array sorted by production id, dot, then lookahead.
19
21
  */
20
22
  export function sortLr1Items(items) {
21
23
  return [...items].sort((left, right) => {
@@ -32,6 +34,7 @@ export function sortLr1Items(items) {
32
34
  * Returns the LR(0) core key for one LR(1) item.
33
35
  *
34
36
  * @param item - LR(1) item to encode.
37
+ * @returns A string `productionId:dot` shared by all lookaheads at the same dot position.
35
38
  */
36
39
  export function lr1CoreKey(item) {
37
40
  return `${String(item.productionId)}:${String(item.dot)}`;
@@ -40,6 +43,7 @@ export function lr1CoreKey(item) {
40
43
  * Returns a stable identity string for one LR(1) item.
41
44
  *
42
45
  * @param item - Item to encode.
46
+ * @returns A string `productionId:dot:lookahead` for set membership tests.
43
47
  */
44
48
  export function lr1ItemIdentity(item) {
45
49
  return `${lr1CoreKey(item)}:${item.lookahead}`;
@@ -48,9 +52,12 @@ export function lr1ItemIdentity(item) {
48
52
  * Returns a stable identity string for an LR(1) item set.
49
53
  *
50
54
  * @param items - Closed item set.
55
+ * @param alreadySorted - When true, skips re-sorting because items are canonical.
56
+ * @returns A pipe-separated, sorted identity string for canonical set comparison.
51
57
  */
52
- export function lr1SetIdentity(items) {
53
- return sortLr1Items(items)
58
+ export function lr1SetIdentity(items, alreadySorted = false) {
59
+ const sorted = alreadySorted ? items : sortLr1Items(items);
60
+ return sorted
54
61
  .map((item) => lr1ItemIdentity(item))
55
62
  .join('|');
56
63
  }
@@ -58,6 +65,7 @@ export function lr1SetIdentity(items) {
58
65
  * Returns the LR(0) core identity for an LR(1) item set.
59
66
  *
60
67
  * @param items - LR(1) item set.
68
+ * @returns A pipe-separated, sorted string of LR(0) cores with lookaheads removed.
61
69
  */
62
70
  export function lr1CoreSetIdentity(items) {
63
71
  const cores = new Set(items.map((item) => lr1CoreKey(item)));
@@ -69,9 +77,11 @@ export function lr1CoreSetIdentity(items) {
69
77
  * @param beta - Remaining right-hand side symbols after a non-terminal.
70
78
  * @param lookahead - Lookahead terminal following β.
71
79
  * @param analysis - Nullable and FIRST analysis for the grammar.
80
+ * @returns Terminal keys that may follow the dotted non-terminal in this item.
72
81
  */
73
82
  export function firstAfterSymbols(beta, lookahead, analysis) {
74
83
  const result = new Set();
84
+ // Accumulate FIRST of each prefix symbol until a non-nullable symbol stops propagation.
75
85
  for (const symbol of beta) {
76
86
  for (const terminal of analysis.firstOfSymbol(symbol)) {
77
87
  result.add(terminal);
@@ -80,6 +90,7 @@ export function firstAfterSymbols(beta, lookahead, analysis) {
80
90
  return result;
81
91
  }
82
92
  }
93
+ // Every symbol in β is nullable, so the item's own lookahead is reachable.
83
94
  result.add(lookahead);
84
95
  return result;
85
96
  }
@@ -89,36 +100,37 @@ export function firstAfterSymbols(beta, lookahead, analysis) {
89
100
  * @param grammar - Augmented BNF grammar.
90
101
  * @param analysis - Nullable and FIRST analysis for the grammar.
91
102
  * @param items - Seed items.
103
+ * @returns The seed items plus all items implied by dotted non-terminal prefixes.
92
104
  */
93
105
  export function lr1Closure(grammar, analysis, items) {
94
106
  const result = sortLr1Items(items);
95
107
  const itemKeys = new Set(result.map((item) => lr1ItemIdentity(item)));
96
- let changed = true;
97
- while (changed) {
98
- changed = false;
99
- for (const item of [...result]) {
100
- const production = grammar.production(item.productionId);
101
- if (production === null) {
102
- continue;
103
- }
104
- const nextSymbol = production.rhs[item.dot];
105
- if (nextSymbol === undefined || nextSymbol.kind !== 'nonTerminal') {
106
- continue;
107
- }
108
- const beta = production.rhs.slice(item.dot + 1);
109
- for (const candidate of grammar.productionsFor(nextSymbol.name)) {
110
- for (const lookahead of firstAfterSymbols(beta, item.lookahead, analysis)) {
111
- const closureItem = {
112
- productionId: candidate.id,
113
- dot: 0,
114
- lookahead,
115
- };
116
- const identity = lr1ItemIdentity(closureItem);
117
- if (!itemKeys.has(identity)) {
118
- itemKeys.add(identity);
119
- result.push(closureItem);
120
- changed = true;
121
- }
108
+ const pendingIndices = result.map((_, index) => index);
109
+ // Expand closure from each newly discovered item only.
110
+ while (pendingIndices.length > 0) {
111
+ const item = result[pendingIndices.pop()];
112
+ const production = grammar.production(item.productionId);
113
+ if (production === null) {
114
+ continue;
115
+ }
116
+ const nextSymbol = production.rhs[item.dot];
117
+ if (nextSymbol === undefined || nextSymbol.kind !== 'nonTerminal') {
118
+ continue;
119
+ }
120
+ const beta = production.rhs.slice(item.dot + 1);
121
+ // For each production of the non-terminal after the dot, propagate lookaheads.
122
+ for (const candidate of grammar.productionsFor(nextSymbol.name)) {
123
+ for (const lookahead of firstAfterSymbols(beta, item.lookahead, analysis)) {
124
+ const closureItem = {
125
+ productionId: candidate.id,
126
+ dot: 0,
127
+ lookahead,
128
+ };
129
+ const identity = lr1ItemIdentity(closureItem);
130
+ if (!itemKeys.has(identity)) {
131
+ itemKeys.add(identity);
132
+ pendingIndices.push(result.length);
133
+ result.push(closureItem);
122
134
  }
123
135
  }
124
136
  }
@@ -132,9 +144,11 @@ export function lr1Closure(grammar, analysis, items) {
132
144
  * @param analysis - Nullable and FIRST analysis for the grammar.
133
145
  * @param items - Closed item set.
134
146
  * @param symbolKey - Encoded terminal or non-terminal symbol.
147
+ * @returns The closed item set reached after advancing the dot past `symbolKey`.
135
148
  */
136
149
  export function lr1Goto(grammar, analysis, items, symbolKey) {
137
150
  const moved = [];
151
+ // Advance the dot on every item expecting `symbolKey`, preserving lookaheads.
138
152
  for (const item of items) {
139
153
  const production = grammar.production(item.productionId);
140
154
  if (production === null) {
@@ -161,34 +175,45 @@ export function lr1Goto(grammar, analysis, items, symbolKey) {
161
175
  export class Lr1ItemSetCollection {
162
176
  grammar;
163
177
  itemSets;
178
+ indexByIdentity;
164
179
  /**
165
180
  * Creates a collection from an ordered list of closed item sets.
166
181
  *
167
182
  * @param grammar - Grammar the item sets were built from.
168
183
  * @param itemSets - Closed LR(1) item sets in discovery order.
184
+ * @param indexByIdentity - Optional precomputed identity-to-state map.
169
185
  */
170
- constructor(grammar, itemSets) {
186
+ constructor(
187
+ /** Grammar analyzed when the item sets were constructed. */
188
+ grammar,
189
+ /** Closed LR(1) item sets indexed by parser state number. */
190
+ itemSets, indexByIdentity) {
171
191
  this.grammar = grammar;
172
192
  this.itemSets = itemSets;
193
+ if (indexByIdentity !== undefined) {
194
+ this.indexByIdentity = indexByIdentity;
195
+ return;
196
+ }
197
+ const builtIndex = new Map();
198
+ for (let index = 0; index < itemSets.length; index += 1) {
199
+ builtIndex.set(lr1SetIdentity(itemSets[index] ?? [], true), index);
200
+ }
201
+ this.indexByIdentity = builtIndex;
173
202
  }
174
203
  /**
175
204
  * Returns the index of an item set matching `items`, or null when absent.
176
205
  *
177
206
  * @param items - Closed item set to locate.
207
+ * @returns State index, or null when no set has the same canonical identity.
178
208
  */
179
209
  indexOf(items) {
180
- const target = lr1SetIdentity(items);
181
- for (let index = 0; index < this.itemSets.length; index += 1) {
182
- if (lr1SetIdentity(this.itemSets[index]) === target) {
183
- return index;
184
- }
185
- }
186
- return null;
210
+ return this.indexByIdentity.get(lr1SetIdentity(items, true)) ?? null;
187
211
  }
188
212
  /**
189
213
  * Returns LR(0) items derived from one LR(1) item set.
190
214
  *
191
215
  * @param items - LR(1) item set.
216
+ * @returns Deduplicated LR(0) cores with lookaheads stripped.
192
217
  */
193
218
  static lr0Core(items) {
194
219
  const cores = new Map();
@@ -211,43 +236,43 @@ export class Lr1ItemSetBuilder {
211
236
  * @param grammar - Augmented BNF grammar.
212
237
  * @param analysis - Nullable and FIRST analysis for the grammar.
213
238
  * @param startLookahead - Lookahead terminal for the initial item.
239
+ * @returns The canonical LR(1) item set collection for the grammar.
214
240
  */
215
241
  static build(grammar, analysis, startLookahead) {
216
242
  const startProductions = grammar.productionsFor(grammar.startSymbol);
217
243
  if (startProductions.length === 0) {
218
244
  return new Lr1ItemSetCollection(grammar, []);
219
245
  }
246
+ // Seed state 0 from the augmented start production and its initial lookahead.
220
247
  const initial = lr1Closure(grammar, analysis, [{
221
248
  productionId: startProductions[0].id,
222
249
  dot: 0,
223
250
  lookahead: startLookahead,
224
251
  }]);
225
252
  const itemSets = [[...initial]];
226
- const itemSetKeys = new Map([
227
- [lr1SetIdentity(initial), 0],
253
+ const indexByIdentity = new Map([
254
+ [lr1SetIdentity(initial, true), 0],
228
255
  ]);
229
- const symbols = grammar.terminalKeys().concat(grammar.nonTerminalNames()).sort();
230
- let changed = true;
231
- while (changed) {
232
- changed = false;
233
- for (const itemSet of [...itemSets]) {
234
- for (const symbolKey of symbols) {
235
- const gotoSet = lr1Goto(grammar, analysis, itemSet, symbolKey);
236
- if (gotoSet.length === 0) {
237
- continue;
238
- }
239
- const gotoKey = lr1SetIdentity(gotoSet);
240
- const existingIndex = itemSetKeys.get(gotoKey);
241
- if (existingIndex === undefined) {
242
- const nextIndex = itemSets.length;
243
- itemSetKeys.set(gotoKey, nextIndex);
244
- itemSets.push([...gotoSet]);
245
- changed = true;
246
- }
256
+ const pendingStates = [0];
257
+ // Discover new states from each state exactly once.
258
+ while (pendingStates.length > 0) {
259
+ const stateIndex = pendingStates.pop();
260
+ const itemSet = itemSets[stateIndex] ?? [];
261
+ for (const symbolKey of symbolsAfterDot(grammar, itemSet)) {
262
+ const gotoSet = lr1Goto(grammar, analysis, itemSet, symbolKey);
263
+ if (gotoSet.length === 0) {
264
+ continue;
265
+ }
266
+ const gotoKey = lr1SetIdentity(gotoSet, true);
267
+ if (!indexByIdentity.has(gotoKey)) {
268
+ const nextIndex = itemSets.length;
269
+ indexByIdentity.set(gotoKey, nextIndex);
270
+ itemSets.push([...gotoSet]);
271
+ pendingStates.push(nextIndex);
247
272
  }
248
273
  }
249
274
  }
250
- return new Lr1ItemSetCollection(grammar, itemSets);
275
+ return new Lr1ItemSetCollection(grammar, itemSets, indexByIdentity);
251
276
  }
252
277
  }
253
278
  /**
@@ -256,6 +281,7 @@ export class Lr1ItemSetBuilder {
256
281
  * @param grammar - Augmented BNF grammar.
257
282
  * @param analysis - Nullable and FIRST analysis for the grammar.
258
283
  * @param startLookahead - Lookahead terminal for the initial item.
284
+ * @returns The canonical LR(1) item set collection for the grammar.
259
285
  */
260
286
  export function buildLr1ItemSets(grammar, analysis, startLookahead) {
261
287
  return Lr1ItemSetBuilder.build(grammar, analysis, startLookahead);
@@ -264,11 +290,13 @@ export function buildLr1ItemSets(grammar, analysis, startLookahead) {
264
290
  * Merges LR(1) item sets that share the same LR(0) core into LALR item sets.
265
291
  *
266
292
  * @param collection - Canonical LR(1) item set collection.
293
+ * @returns A new collection with LR(1) states merged by LR(0) core.
267
294
  */
268
295
  export function mergeLalrItemSets(collection) {
269
296
  const coreToLalrIndex = new Map();
270
297
  const lr1ToLalr = new Map();
271
298
  const mergedItemSets = [];
299
+ // Assign each LR(1) state to an LALR state keyed by its LR(0) core identity.
272
300
  for (let lr1Index = 0; lr1Index < collection.itemSets.length; lr1Index += 1) {
273
301
  const itemSet = collection.itemSets[lr1Index] ?? [];
274
302
  const core = lr1CoreSetIdentity(itemSet);
@@ -292,17 +320,18 @@ export function mergeLalrItemSets(collection) {
292
320
  * @param lr1Collection - Canonical LR(1) item set collection.
293
321
  * @param lalrCollection - Merged LALR item set collection.
294
322
  * @param lr1ToLalr - LR(1) state index to LALR state index map.
323
+ * @returns Map from `state:symbol` keys to LALR GOTO target state indices.
295
324
  */
296
325
  export function buildLalrGotoTargets(grammar, analysis, lr1Collection, lr1ToLalr) {
297
326
  const targets = new Map();
298
- const symbols = grammar.terminalKeys().concat(grammar.nonTerminalNames()).sort();
327
+ // Recompute LR(1) GOTOs and remap each target through the LR(1) → LALR index map.
299
328
  for (let lr1State = 0; lr1State < lr1Collection.itemSets.length; lr1State += 1) {
300
329
  const lalrState = lr1ToLalr.get(lr1State);
301
330
  if (lalrState === undefined) {
302
331
  continue;
303
332
  }
304
333
  const itemSet = lr1Collection.itemSets[lr1State] ?? [];
305
- for (const symbolKey of symbols) {
334
+ for (const symbolKey of symbolsAfterDot(grammar, itemSet)) {
306
335
  const gotoSet = lr1Goto(grammar, analysis, itemSet, symbolKey);
307
336
  if (gotoSet.length === 0) {
308
337
  continue;
@@ -329,9 +358,11 @@ export function buildLalrGotoTargets(grammar, analysis, lr1Collection, lr1ToLalr
329
358
  *
330
359
  * @param left - Existing merged item set.
331
360
  * @param right - Additional LR(1) item set to merge in.
361
+ * @returns Items with lookaheads unioned for each shared LR(0) core.
332
362
  */
333
363
  function mergeItems(left, right) {
334
364
  const lookaheadsByCore = new Map();
365
+ // Collect every lookahead grouped by dotted-production core.
335
366
  for (const item of [...left, ...right]) {
336
367
  const core = lr1CoreKey(item);
337
368
  const lookaheads = lookaheadsByCore.get(core) ?? new Set();
@@ -339,6 +370,7 @@ export function buildLalrGotoTargets(grammar, analysis, lr1Collection, lr1ToLalr
339
370
  lookaheadsByCore.set(core, lookaheads);
340
371
  }
341
372
  const merged = [];
373
+ // Expand each core into one item per distinct lookahead.
342
374
  for (const [core, lookaheads] of lookaheadsByCore.entries()) {
343
375
  const [productionIdText, dotText] = core.split(':');
344
376
  const productionId = Number(productionIdText);
@@ -359,13 +391,16 @@ export function buildLalrGotoTargets(grammar, analysis, lr1Collection, lr1ToLalr
359
391
  *
360
392
  * @param lr1Collection - Canonical LR(1) item set collection.
361
393
  * @param lalrCollection - Merged LALR item set collection.
394
+ * @returns Map from LR(1) state index to merged LALR state index.
362
395
  */
363
396
  function buildLr1ToLalrMap(lr1Collection, lalrCollection) {
364
397
  const coreToLalrIndex = new Map();
398
+ // Index LALR states by their LR(0) core identity.
365
399
  for (let lalrIndex = 0; lalrIndex < lalrCollection.itemSets.length; lalrIndex += 1) {
366
400
  coreToLalrIndex.set(lr1CoreSetIdentity(lalrCollection.itemSets[lalrIndex] ?? []), lalrIndex);
367
401
  }
368
402
  const lr1ToLalr = new Map();
403
+ // Map each LR(1) state to the LALR state sharing its core.
369
404
  for (let lr1Index = 0; lr1Index < lr1Collection.itemSets.length; lr1Index += 1) {
370
405
  const core = lr1CoreSetIdentity(lr1Collection.itemSets[lr1Index] ?? []);
371
406
  const lalrIndex = coreToLalrIndex.get(core);
@@ -1 +1 @@
1
- {"version":3,"file":"lr1-item-set.js","sourceRoot":"","sources":["../../../../src/lib/parse-table/lr1/lr1-item-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lr1-item-set.js","sourceRoot":"","sources":["../../../../src/lib/parse-table/lr1/lr1-item-set.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Grammar } from '../grammar/grammar.js';
2
2
  import type { TokenRule } from '../grammar/token-rule.js';
3
3
  import type { LrAlgorithm } from './lr-algorithm.js';
4
4
  import { type ParseTableActionJson, type ParseTableGotoJson, type ParseTableProductionJson } from './parse-table-json.js';
5
- import type { ParseAction } from './table/parse-action.js';
5
+ import type { ParseAction, ParseConflict } from './table/parse-action.js';
6
6
  /** Current on-disk JSON schema version for lexer-only parse tables. */
7
7
  export declare const PARSE_TABLE_VERSION = 1;
8
8
  /** JSON schema version for full LR parse tables. */
@@ -36,6 +36,7 @@ export declare class ParseTable {
36
36
  readonly states: readonly string[];
37
37
  readonly algorithm: LrAlgorithm;
38
38
  readonly parserStateCount: number;
39
+ readonly conflicts: readonly ParseConflict[];
39
40
  private readonly actionByState;
40
41
  private readonly gotoByState;
41
42
  private readonly productionById;
@@ -53,12 +54,21 @@ export declare class ParseTable {
53
54
  * @param productions - Flat BNF production metadata for reduce actions.
54
55
  * @param actions - ACTION entries keyed by state and terminal symbol.
55
56
  * @param gotos - GOTO entries keyed by state and non-terminal name.
57
+ * @param conflicts - Shift/reduce and reduce/reduce conflicts resolved during construction.
56
58
  */
57
- constructor(grammarName: string, startSymbol: string, tokens: readonly string[], tokenRules: readonly TokenRule[], skipRules: readonly TokenRule[], states: readonly string[], algorithm: LrAlgorithm, parserStateCount?: number, productions?: readonly ParseTableProductionJson[], actions?: ReadonlyMap<number, ReadonlyMap<string, ParseAction>>, gotos?: ReadonlyMap<number, ReadonlyMap<string, number>>);
59
+ constructor(grammarName: string, startSymbol: string, tokens: readonly string[], tokenRules: readonly TokenRule[], skipRules: readonly TokenRule[], states: readonly string[], algorithm: LrAlgorithm, parserStateCount?: number, productions?: readonly ParseTableProductionJson[], actions?: ReadonlyMap<number, ReadonlyMap<string, ParseAction>>, gotos?: ReadonlyMap<number, ReadonlyMap<string, number>>, conflicts?: readonly ParseConflict[]);
58
60
  /**
59
61
  * Whether the table includes parser ACTION/GOTO entries.
60
62
  */
61
63
  get hasParserTable(): boolean;
64
+ /**
65
+ * Whether the table was built without conflicts.
66
+ */
67
+ get isConflictFree(): boolean;
68
+ /**
69
+ * Returns conflict warning lines for this table.
70
+ */
71
+ formatConflictWarnings(): readonly string[];
62
72
  /**
63
73
  * Builds a parse table from a parsed grammar.
64
74
  *
@@ -123,7 +133,7 @@ export declare class ParseTable {
123
133
  * Creates a {@link ParseTable} from a built LR table and source grammar.
124
134
  *
125
135
  * @param grammar - Parsed `.grammar` file model.
126
- * @param lrTable - Conflict-free LR parse table.
136
+ * @param lrTable - Built LR parse table, including any resolved conflict warnings.
127
137
  */
128
138
  private static fromLrParseTable;
129
139
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parse-table.d.ts","sourceRoot":"","sources":["../../../src/lib/parse-table/parse-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-table.d.ts","sourceRoot":"","sources":["../../../src/lib/parse-table/parse-table.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { Grammar } from '../grammar/grammar.js';
2
2
  import { desugarEbnf } from './bnf/desugar-ebnf.js';
3
3
  import { buildLrTable } from './build-lr-table.js';
4
- import { ParseTableBuildError } from './parse-table-build-error.js';
5
4
  import { ParseTableError } from './parse-table-error.js';
6
5
  import { isParseTableJsonV2, } from './parse-table-json.js';
7
- import { encodeProductionRhs, formatLrConflicts, } from './table/lr-parse-table.js';
6
+ import { encodeProductionRhs, formatParseConflictWarning, } from './table/lr-parse-table.js';
8
7
  import { tokenInventory } from './token-inventory.js';
9
8
  /** Current on-disk JSON schema version for lexer-only parse tables. */
10
9
  export const PARSE_TABLE_VERSION = 1;
@@ -22,6 +21,7 @@ export class ParseTable {
22
21
  states;
23
22
  algorithm;
24
23
  parserStateCount;
24
+ conflicts;
25
25
  actionByState;
26
26
  gotoByState;
27
27
  productionById;
@@ -39,8 +39,9 @@ export class ParseTable {
39
39
  * @param productions - Flat BNF production metadata for reduce actions.
40
40
  * @param actions - ACTION entries keyed by state and terminal symbol.
41
41
  * @param gotos - GOTO entries keyed by state and non-terminal name.
42
+ * @param conflicts - Shift/reduce and reduce/reduce conflicts resolved during construction.
42
43
  */
43
- constructor(grammarName, startSymbol, tokens, tokenRules, skipRules, states, algorithm, parserStateCount = 0, productions = [], actions = new Map(), gotos = new Map()) {
44
+ constructor(grammarName, startSymbol, tokens, tokenRules, skipRules, states, algorithm, parserStateCount = 0, productions = [], actions = new Map(), gotos = new Map(), conflicts = []) {
44
45
  this.grammarName = grammarName;
45
46
  this.startSymbol = startSymbol;
46
47
  this.tokens = tokens;
@@ -49,6 +50,7 @@ export class ParseTable {
49
50
  this.states = states;
50
51
  this.algorithm = algorithm;
51
52
  this.parserStateCount = parserStateCount;
53
+ this.conflicts = conflicts;
52
54
  this.actionByState = actions;
53
55
  this.gotoByState = gotos;
54
56
  const productionById = new Map();
@@ -63,6 +65,18 @@ export class ParseTable {
63
65
  get hasParserTable() {
64
66
  return this.parserStateCount > 0 || this.actionByState.size > 0;
65
67
  }
68
+ /**
69
+ * Whether the table was built without conflicts.
70
+ */
71
+ get isConflictFree() {
72
+ return this.conflicts.length === 0;
73
+ }
74
+ /**
75
+ * Returns conflict warning lines for this table.
76
+ */
77
+ formatConflictWarnings() {
78
+ return this.conflicts.map((conflict) => formatParseConflictWarning(conflict));
79
+ }
66
80
  /**
67
81
  * Builds a parse table from a parsed grammar.
68
82
  *
@@ -73,9 +87,6 @@ export class ParseTable {
73
87
  static fromGrammar(grammar, algorithm = 'lr1') {
74
88
  const bnf = desugarEbnf(grammar);
75
89
  const lrTable = buildLrTable(bnf, algorithm);
76
- if (!lrTable.isConflictFree) {
77
- throw new ParseTableBuildError(algorithm, formatLrConflicts(lrTable));
78
- }
79
90
  return ParseTable.fromLrParseTable(grammar, lrTable);
80
91
  }
81
92
  /**
@@ -191,7 +202,7 @@ export class ParseTable {
191
202
  * Creates a {@link ParseTable} from a built LR table and source grammar.
192
203
  *
193
204
  * @param grammar - Parsed `.grammar` file model.
194
- * @param lrTable - Conflict-free LR parse table.
205
+ * @param lrTable - Built LR parse table, including any resolved conflict warnings.
195
206
  */
196
207
  static fromLrParseTable(grammar, lrTable) {
197
208
  const productions = lrTable.productions.map((production) => ({
@@ -201,7 +212,7 @@ export class ParseTable {
201
212
  variant: production.variant,
202
213
  origin: production.origin,
203
214
  }));
204
- return new ParseTable(grammar.name, grammar.startSymbol, tokenInventory(grammar), [...grammar.tokenRules], [...grammar.skipRules], [...grammar.states], lrTable.algorithm, lrTable.stateCount, productions, lrTable.actions, lrTable.gotos);
215
+ return new ParseTable(grammar.name, grammar.startSymbol, tokenInventory(grammar), [...grammar.tokenRules], [...grammar.skipRules], [...grammar.states], lrTable.algorithm, lrTable.stateCount, productions, lrTable.actions, lrTable.gotos, [...lrTable.conflicts]);
205
216
  }
206
217
  /**
207
218
  * Converts ACTION maps into JSON rows.
@@ -1 +1 @@
1
- {"version":3,"file":"parse-table.js","sourceRoot":"","sources":["../../../src/lib/parse-table/parse-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-table.js","sourceRoot":"","sources":["../../../src/lib/parse-table/parse-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACH,kBAAkB,GAKrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,mBAAmB,EACnB,0BAA0B,GAE7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,uEAAuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,oDAAoD;AACpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAqB1C;;GAEG;AACH,MAAM,OAAO,UAAU;IAuBC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAIA;IAhCH,aAAa,CAAwD;IACrE,WAAW,CAAmD;IAC9D,cAAc,CAAgD;IAE/E;;;;;;;;;;;;;;;OAeG;IACH,YACoB,WAAmB,EACnB,WAAmB,EACnB,MAAyB,EACzB,UAAgC,EAChC,SAA+B,EAC/B,MAAyB,EACzB,SAAsB,EACtB,mBAA2B,CAAC,EAC5C,cAAmD,EAAE,EACrD,UAAiE,IAAI,GAAG,EAAE,EAC1E,QAA0D,IAAI,GAAG,EAAE,EACnD,YAAsC,EAAE;QAXxC,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAmB;QACzB,eAAU,GAAV,UAAU,CAAsB;QAChC,cAAS,GAAT,SAAS,CAAsB;QAC/B,WAAM,GAAN,MAAM,CAAmB;QACzB,cAAS,GAAT,SAAS,CAAa;QACtB,qBAAgB,GAAhB,gBAAgB,CAAY;QAI5B,cAAS,GAAT,SAAS,CAA+B;QAGxD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoC,CAAC;QAEnE,KAAK,MAAM,UAAU,IAAI,WAAW,EACpC,CAAC;YACG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QAErB,OAAO,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QAErB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,sBAAsB;QAEzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,WAAW,CACrB,OAAgB,EAChB,YAAyB,KAAK;QAG9B,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAoB;QAEvC,IAAI,IAAI,CAAC,OAAO,KAAK,mBAAmB,IAAI,IAAI,CAAC,OAAO,KAAK,wBAAwB,EACrF,CAAC;YACG,MAAM,IAAI,eAAe,CACrB,mCAAmC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;kBACzD,YAAY,mBAAmB,OAAO,wBAAwB,EAAE,CACrE,CAAC;QACN,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAC7B,CAAC;YACG,OAAO,IAAI,UAAU,CACjB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAChB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EACpB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EACnB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAChB,IAAI,CAAC,SAAS,CACjB,CAAC;QACN,CAAC;QAED,OAAO,IAAI,UAAU,CACjB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAChB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EACpB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EACnB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,gBAAgB,EACrB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EACrB,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EACxC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CACvC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,IAAY;QAErC,IAAI,MAAe,CAAC;QAEpB,IACA,CAAC;YACG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,EACZ,CAAC;YACG,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;YAExE,MAAM,IAAI,eAAe,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAwB,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,YAAY;QAEf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACI,MAAM;QAET,IAAI,CAAC,IAAI,CAAC,cAAc,EACxB,CAAC;YACG,OAAO;gBACH,OAAO,EAAE,mBAAmB;gBAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;gBAChC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9B,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAC3B,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAqB;YAC3B,OAAO,EAAE,wBAAwB;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACxB,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACxF,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;YACrD,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;SAClD,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,SAAS;QAEZ,OAAO,IAAI,OAAO,CACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,EAChB,EAAE,CACL,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAa,EAAE,MAAc;QAEvC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAa,EAAE,WAAmB;QAE1C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,YAAoB;QAElC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,gBAAgB,CAAC,OAAgB,EAAE,OAAqB;QAEnE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzD,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC;YACpC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,UAAU,CACjB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,cAAc,CAAC,OAAO,CAAC,EACvB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,EACvB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,EACtB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,EAClB,WAAW,EACX,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK,EACb,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CACzB,CAAC;IACN,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,aAAa,CACxB,OAA8D;QAG9D,MAAM,IAAI,GAA2B,EAAE,CAAC;QAExC,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EACrD,CAAC;YACG,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EACrD,CAAC;gBACG,QAAQ,MAAM,CAAC,IAAI,EACnB,CAAC;oBACG,KAAK,OAAO;wBACR,IAAI,CAAC,IAAI,CAAC;4BACN,KAAK;4BACL,MAAM;4BACN,IAAI,EAAE,OAAO;4BACb,MAAM,EAAE,MAAM,CAAC,KAAK;yBACvB,CAAC,CAAC;wBACH,MAAM;oBAEV,KAAK,QAAQ;wBACT,IAAI,CAAC,IAAI,CAAC;4BACN,KAAK;4BACL,MAAM;4BACN,IAAI,EAAE,QAAQ;4BACd,YAAY,EAAE,MAAM,CAAC,YAAY;yBACpC,CAAC,CAAC;wBACH,MAAM;oBAEV,KAAK,QAAQ;wBACT,IAAI,CAAC,IAAI,CAAC;4BACN,KAAK;4BACL,MAAM;4BACN,IAAI,EAAE,QAAQ;yBACjB,CAAC,CAAC;wBACH,MAAM;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAE7B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAC9B,CAAC;gBACG,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpC,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,WAAW,CACtB,KAAuD;QAGvD,MAAM,IAAI,GAAyB,EAAE,CAAC;QAEtC,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EACjD,CAAC;YACG,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EACnD,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAE7B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAC9B,CAAC;gBACG,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpC,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,eAAe,CAC1B,IAAqC;QAGrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EACtB,CAAC;YACG,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAuB,CAAC;YAE9E,QAAQ,GAAG,CAAC,IAAI,EAChB,CAAC;gBACG,KAAK,OAAO;oBACR,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAC5B,CAAC;wBACG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvE,CAAC;oBACD,MAAM;gBAEV,KAAK,QAAQ;oBACT,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAClC,CAAC;wBACG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,YAAY,EAAE,GAAG,CAAC,YAAY;yBACjC,CAAC,CAAC;oBACP,CAAC;oBACD,MAAM;gBAEV,KAAK,QAAQ;oBACT,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACjD,MAAM;YACd,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,aAAa,CACxB,IAAmC;QAGnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;QAErD,KAAK,MAAM,GAAG,IAAI,IAAI,EACtB,CAAC;YACG,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;YACrE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -1,5 +1,5 @@
1
1
  export { classifyParseConflict, formatParseAction, parseActionsEqual, } from './parse-action.js';
2
2
  export type { ParseAction, ParseConflict, ParseConflictKind } from './parse-action.js';
3
- export { encodeProductionRhs, formatLrActions, formatLrConflicts, formatLrGotos, lrActionTerminalKeys, lrGotoNonTerminalNames, lrProduction, LrParseTable, } from './lr-parse-table.js';
3
+ export { encodeProductionRhs, formatLrActions, formatLrConflictWarnings, formatLrConflicts, formatLrGotos, formatParseConflictWarning, lrActionTerminalKeys, lrGotoNonTerminalNames, lrProduction, LrParseTable, } from './lr-parse-table.js';
4
4
  export { TableBuilderBase } from './table-builder-base.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/parse-table/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/parse-table/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { classifyParseConflict, formatParseAction, parseActionsEqual, } from './parse-action.js';
2
- export { encodeProductionRhs, formatLrActions, formatLrConflicts, formatLrGotos, lrActionTerminalKeys, lrGotoNonTerminalNames, lrProduction, LrParseTable, } from './lr-parse-table.js';
2
+ export { encodeProductionRhs, formatLrActions, formatLrConflictWarnings, formatLrConflicts, formatLrGotos, formatParseConflictWarning, lrActionTerminalKeys, lrGotoNonTerminalNames, lrProduction, LrParseTable, } from './lr-parse-table.js';
3
3
  export { TableBuilderBase } from './table-builder-base.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/parse-table/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/parse-table/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}