parser-lr 0.8.0 → 0.8.1

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 (47) hide show
  1. package/bin/parser-lr.js +295 -52
  2. package/bin/parser-lr.js.map +1 -1
  3. package/dist/lib/diagnostics/format-diagnostic.d.ts +31 -0
  4. package/dist/lib/diagnostics/format-diagnostic.d.ts.map +1 -0
  5. package/dist/lib/diagnostics/format-diagnostic.js +36 -0
  6. package/dist/lib/diagnostics/format-diagnostic.js.map +1 -0
  7. package/dist/lib/diagnostics/index.d.ts +5 -0
  8. package/dist/lib/diagnostics/index.d.ts.map +1 -0
  9. package/dist/lib/diagnostics/index.js +3 -0
  10. package/dist/lib/diagnostics/index.js.map +1 -0
  11. package/dist/lib/diagnostics/source-position.d.ts +24 -0
  12. package/dist/lib/diagnostics/source-position.d.ts.map +1 -0
  13. package/dist/lib/diagnostics/source-position.js +39 -0
  14. package/dist/lib/diagnostics/source-position.js.map +1 -0
  15. package/dist/lib/grammar/ast-type.d.ts +2 -0
  16. package/dist/lib/grammar/ast-type.d.ts.map +1 -1
  17. package/dist/lib/grammar/grammar-from-cst.js +4 -3
  18. package/dist/lib/grammar/grammar-from-cst.js.map +1 -1
  19. package/dist/lib/grammar/index.d.ts +1 -1
  20. package/dist/lib/grammar/index.d.ts.map +1 -1
  21. package/dist/lib/grammar/production.d.ts +2 -0
  22. package/dist/lib/grammar/production.d.ts.map +1 -1
  23. package/dist/lib/grammar/table-validator.d.ts +12 -2
  24. package/dist/lib/grammar/table-validator.d.ts.map +1 -1
  25. package/dist/lib/grammar/table-validator.js +49 -24
  26. package/dist/lib/grammar/table-validator.js.map +1 -1
  27. package/dist/lib/grammar/transform-rule.d.ts +3 -0
  28. package/dist/lib/grammar/transform-rule.d.ts.map +1 -1
  29. package/dist/lib/grammar-entry.d.ts +1 -1
  30. package/dist/lib/grammar-entry.d.ts.map +1 -1
  31. package/dist/lib/grammar-entry.js.map +1 -1
  32. package/dist/lib/index.d.ts +3 -0
  33. package/dist/lib/index.d.ts.map +1 -1
  34. package/dist/lib/index.js +1 -0
  35. package/dist/lib/index.js.map +1 -1
  36. package/dist/lib/parse-context.d.ts +7 -0
  37. package/dist/lib/parse-context.d.ts.map +1 -1
  38. package/dist/lib/parse-context.js +9 -0
  39. package/dist/lib/parse-context.js.map +1 -1
  40. package/dist/lib/parse-table/table/lr-parse-table.d.ts.map +1 -1
  41. package/dist/lib/parse-table/table/lr-parse-table.js +10 -3
  42. package/dist/lib/parse-table/table/lr-parse-table.js.map +1 -1
  43. package/dist/lib/parser-lr.d.ts +15 -0
  44. package/dist/lib/parser-lr.d.ts.map +1 -1
  45. package/dist/lib/parser-lr.js +38 -9
  46. package/dist/lib/parser-lr.js.map +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ import type { SourceLocation } from '../ast/ast-node.js';
2
+ /**
3
+ * Severity label written into a diagnostic line.
4
+ */
5
+ export type DiagnosticSeverity = 'error' | 'warning';
6
+ /**
7
+ * Inputs for formatting one CLI or library diagnostic line.
8
+ */
9
+ export interface FormatDiagnosticOptions {
10
+ readonly severity: DiagnosticSeverity;
11
+ readonly message: string;
12
+ readonly path?: string | null;
13
+ readonly source?: string | null;
14
+ readonly location?: SourceLocation | null;
15
+ readonly offset?: number | null;
16
+ }
17
+ /**
18
+ * Formats a diagnostic as `path:line:column: severity: message` when possible.
19
+ *
20
+ * @param options - Severity, message, and optional source position inputs.
21
+ * @returns One diagnostic line without a trailing newline.
22
+ */
23
+ export declare function formatDiagnostic(options: FormatDiagnosticOptions): string;
24
+ /**
25
+ * Builds the `path:line:column` or `path` prefix for a diagnostic.
26
+ *
27
+ * @param options - Path and optional source position inputs.
28
+ * @returns Location prefix, or null when no path is available.
29
+ */
30
+ export declare function formatDiagnosticLocationPrefix(options: Pick<FormatDiagnosticOptions, 'path' | 'source' | 'location' | 'offset'>): string | null;
31
+ //# sourceMappingURL=format-diagnostic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-diagnostic.d.ts","sourceRoot":"","sources":["../../../src/lib/diagnostics/format-diagnostic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IAEpC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAWzE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC,GAClF,MAAM,GAAG,IAAI,CAqBf"}
@@ -0,0 +1,36 @@
1
+ import { offsetToPosition, resolveDiagnosticOffset } from './source-position.js';
2
+ /**
3
+ * Formats a diagnostic as `path:line:column: severity: message` when possible.
4
+ *
5
+ * @param options - Severity, message, and optional source position inputs.
6
+ * @returns One diagnostic line without a trailing newline.
7
+ */
8
+ export function formatDiagnostic(options) {
9
+ const prefix = formatDiagnosticLocationPrefix(options);
10
+ const body = `${options.severity}: ${options.message}`;
11
+ if (prefix === null) {
12
+ return body;
13
+ }
14
+ return `${prefix}: ${body}`;
15
+ }
16
+ /**
17
+ * Builds the `path:line:column` or `path` prefix for a diagnostic.
18
+ *
19
+ * @param options - Path and optional source position inputs.
20
+ * @returns Location prefix, or null when no path is available.
21
+ */
22
+ export function formatDiagnosticLocationPrefix(options) {
23
+ const path = options.path ?? null;
24
+ if (path === null || path.length === 0) {
25
+ return null;
26
+ }
27
+ const offset = resolveDiagnosticOffset(options.location, options.offset);
28
+ const source = options.source ?? null;
29
+ // Prefer path:line:column when both source text and an offset are known.
30
+ if (source !== null && offset !== null) {
31
+ const position = offsetToPosition(source, offset);
32
+ return `${path}:${String(position.line)}:${String(position.column)}`;
33
+ }
34
+ return path;
35
+ }
36
+ //# sourceMappingURL=format-diagnostic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-diagnostic.js","sourceRoot":"","sources":["../../../src/lib/diagnostics/format-diagnostic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAoBjF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAE7D,MAAM,MAAM,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAEvD,IAAI,MAAM,KAAK,IAAI,EACnB,CAAC;QACG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC1C,OAAiF;IAGjF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAElC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EACtC,CAAC;QACG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IAEtC,yEAAyE;IACzE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EACtC,CAAC;QACG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IACzE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type { DiagnosticSeverity, FormatDiagnosticOptions } from './format-diagnostic.js';
2
+ export { formatDiagnostic, formatDiagnosticLocationPrefix } from './format-diagnostic.js';
3
+ export type { SourcePosition } from './source-position.js';
4
+ export { offsetToPosition, resolveDiagnosticOffset } from './source-position.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/diagnostics/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAC1F,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { formatDiagnostic, formatDiagnosticLocationPrefix } from './format-diagnostic.js';
2
+ export { offsetToPosition, resolveDiagnosticOffset } from './source-position.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/diagnostics/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { SourceLocation } from '../ast/ast-node.js';
2
+ /**
3
+ * One-based line and column derived from a UTF-16 source offset.
4
+ */
5
+ export interface SourcePosition {
6
+ readonly line: number;
7
+ readonly column: number;
8
+ }
9
+ /**
10
+ * Converts a source offset into a 1-based line and column.
11
+ *
12
+ * @param source - Full source text.
13
+ * @param offset - Zero-based UTF-16 code unit offset.
14
+ * @returns Line and column for the offset, clamped to the source bounds.
15
+ */
16
+ export declare function offsetToPosition(source: string, offset: number): SourcePosition;
17
+ /**
18
+ * Returns the start offset from a location or raw offset value.
19
+ *
20
+ * @param location - Optional source span.
21
+ * @param offset - Optional raw offset when no span is available.
22
+ */
23
+ export declare function resolveDiagnosticOffset(location: SourceLocation | null | undefined, offset: number | null | undefined): number | null;
24
+ //# sourceMappingURL=source-position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-position.d.ts","sourceRoot":"","sources":["../../../src/lib/diagnostics/source-position.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAqB/E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,MAAM,GAAG,IAAI,CAaf"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Converts a source offset into a 1-based line and column.
3
+ *
4
+ * @param source - Full source text.
5
+ * @param offset - Zero-based UTF-16 code unit offset.
6
+ * @returns Line and column for the offset, clamped to the source bounds.
7
+ */
8
+ export function offsetToPosition(source, offset) {
9
+ // Clamp out-of-range offsets to the nearest valid index.
10
+ const clamped = Math.max(0, Math.min(offset, source.length));
11
+ let line = 1;
12
+ let column = 1;
13
+ // Scan characters before the offset, advancing line on each newline.
14
+ for (let index = 0; index < clamped; index += 1) {
15
+ if (source[index] === '\n') {
16
+ line += 1;
17
+ column = 1;
18
+ continue;
19
+ }
20
+ column += 1;
21
+ }
22
+ return { line, column };
23
+ }
24
+ /**
25
+ * Returns the start offset from a location or raw offset value.
26
+ *
27
+ * @param location - Optional source span.
28
+ * @param offset - Optional raw offset when no span is available.
29
+ */
30
+ export function resolveDiagnosticOffset(location, offset) {
31
+ if (location !== null && location !== undefined) {
32
+ return location.offset;
33
+ }
34
+ if (offset === null || offset === undefined) {
35
+ return null;
36
+ }
37
+ return offset;
38
+ }
39
+ //# sourceMappingURL=source-position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-position.js","sourceRoot":"","sources":["../../../src/lib/diagnostics/source-position.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAc;IAE3D,yDAAyD;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,qEAAqE;IACrE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,EAC/C,CAAC;QACG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAC1B,CAAC;YACG,IAAI,IAAI,CAAC,CAAC;YACV,MAAM,GAAG,CAAC,CAAC;YACX,SAAS;QACb,CAAC;QAED,MAAM,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACnC,QAA2C,EAC3C,MAAiC;IAGjC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAC/C,CAAC;QACG,OAAO,QAAQ,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAC3C,CAAC;QACG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { SourceLocation } from '../ast/ast-node.js';
1
2
  import type { Expression } from './expression.js';
2
3
  /**
3
4
  * Named AST type from the `ast` section (`identifier = expression ;`).
@@ -8,5 +9,6 @@ import type { Expression } from './expression.js';
8
9
  export interface AstType {
9
10
  readonly name: string;
10
11
  readonly expression: Expression;
12
+ readonly location?: SourceLocation | null;
11
13
  }
12
14
  //# sourceMappingURL=ast-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-type.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/ast-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IAEpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACnC"}
1
+ {"version":3,"file":"ast-type.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/ast-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IAEpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7C"}
@@ -246,7 +246,7 @@ function parseOptionalTransformSection(node) {
246
246
  function parseProduction(node) {
247
247
  const name = identifierText(requireChild(node, 'identifier'));
248
248
  const expression = parseExpressionNode(findExpressionChild(node));
249
- return { name, expression };
249
+ return { name, expression, location: node.location };
250
250
  }
251
251
  /**
252
252
  * Parses one AST type (`identifier = expression ;`).
@@ -256,7 +256,7 @@ function parseProduction(node) {
256
256
  function parseAstType(node) {
257
257
  const name = identifierText(requireChild(node, 'identifier'));
258
258
  const expression = parseExpressionNode(findExpressionChild(node));
259
- return { name, expression };
259
+ return { name, expression, location: node.location };
260
260
  }
261
261
  /**
262
262
  * Parses one transform rule.
@@ -268,6 +268,7 @@ function parseTransformRule(node) {
268
268
  return {
269
269
  production,
270
270
  alternatives: collectRepeated(node, 'labeled_transform').map(parseLabeledTransform),
271
+ location: node.location,
271
272
  };
272
273
  }
273
274
  /**
@@ -278,7 +279,7 @@ function parseTransformRule(node) {
278
279
  function parseLabeledTransform(node) {
279
280
  const label = identifierText(requireChild(node, 'identifier'));
280
281
  const expression = parseTransformExpr(requireChild(node, 'transform_expr'));
281
- return { label, expression };
282
+ return { label, expression, location: node.location };
282
283
  }
283
284
  /**
284
285
  * Parses a transform expression.
@@ -1 +1 @@
1
- {"version":3,"file":"grammar-from-cst.js","sourceRoot":"","sources":["../../../src/lib/grammar/grammar-from-cst.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grammar-from-cst.js","sourceRoot":"","sources":["../../../src/lib/grammar/grammar-from-cst.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,5 @@ export type { BuildTransform, DropTransform, FlattenTransform, FoldLeftTransform
12
12
  export type { TransformAlternative, TransformRule } from './transform-rule.js';
13
13
  export { TransformSchema } from './transform-schema.js';
14
14
  export { formatTableValidationIssues, validateGrammarTable, } from './table-validator.js';
15
- export type { TableValidationIssue, TableValidationSeverity } from './table-validator.js';
15
+ export type { FormatTableValidationOptions, TableValidationIssue, TableValidationSeverity, } from './table-validator.js';
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACR,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACR,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACH,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACR,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACR,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACH,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACR,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,GAC1B,MAAM,sBAAsB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { SourceLocation } from '../ast/ast-node.js';
1
2
  import type { Expression } from './expression.js';
2
3
  /**
3
4
  * Named production (`identifier = expression ;`).
@@ -5,5 +6,6 @@ import type { Expression } from './expression.js';
5
6
  export interface Production {
6
7
  readonly name: string;
7
8
  readonly expression: Expression;
9
+ readonly location?: SourceLocation | null;
8
10
  }
9
11
  //# sourceMappingURL=production.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"production.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/production.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,UAAU;IAEvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACnC"}
1
+ {"version":3,"file":"production.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/production.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,UAAU;IAEvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7C"}
@@ -1,3 +1,4 @@
1
+ import type { SourceLocation } from '../ast/ast-node.js';
1
2
  import type { Grammar } from './grammar.js';
2
3
  /**
3
4
  * Severity of one grammar table validation issue.
@@ -9,6 +10,14 @@ export type TableValidationSeverity = 'error' | 'warning';
9
10
  export interface TableValidationIssue {
10
11
  readonly severity: TableValidationSeverity;
11
12
  readonly message: string;
13
+ readonly location: SourceLocation | null;
14
+ }
15
+ /**
16
+ * Optional path and source text used when formatting validation diagnostics.
17
+ */
18
+ export interface FormatTableValidationOptions {
19
+ readonly path?: string | null;
20
+ readonly source?: string | null;
12
21
  }
13
22
  /**
14
23
  * Validates transform and AST consistency for a parsed grammar.
@@ -18,9 +27,10 @@ export interface TableValidationIssue {
18
27
  */
19
28
  export declare function validateGrammarTable(grammar: Grammar): TableValidationIssue[];
20
29
  /**
21
- * Formats validation issues as stderr warning or error lines.
30
+ * Formats validation issues as stderr diagnostic lines.
22
31
  *
23
32
  * @param issues - Validation issues to format.
33
+ * @param options - Optional grammar path and source text for line numbers.
24
34
  */
25
- export declare function formatTableValidationIssues(issues: readonly TableValidationIssue[]): string[];
35
+ export declare function formatTableValidationIssues(issues: readonly TableValidationIssue[], options?: FormatTableValidationOptions): string[];
26
36
  //# sourceMappingURL=table-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-validator.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/table-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAiC7E;AAsXD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,GAAG,MAAM,EAAE,CAM7F"}
1
+ {"version":3,"file":"table-validator.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/table-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAEzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAiC7E;AA4YD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,OAAO,GAAE,4BAAiC,GAC3C,MAAM,EAAE,CASV"}
@@ -1,3 +1,4 @@
1
+ import { formatDiagnostic } from '../diagnostics/format-diagnostic.js';
1
2
  import { EbnfDesugarer } from '../parse-table/bnf/desugar-ebnf.js';
2
3
  /**
3
4
  * Validates transform and AST consistency for a parsed grammar.
@@ -14,8 +15,8 @@ export function validateGrammarTable(grammar) {
14
15
  for (const rule of grammar.transformSchema.rules) {
15
16
  validateTransformProductionExists(rule, bnfProductionNames, issues);
16
17
  for (const alternative of rule.alternatives) {
17
- validateTransformExpression(grammar, alternative.expression, issues);
18
- collectPassCollapseWarnings(grammar, rule, alternative.expression, bnf.productions, issues);
18
+ validateTransformExpression(grammar, alternative, issues);
19
+ collectPassCollapseWarnings(grammar, rule, alternative, bnf.productions, issues);
19
20
  }
20
21
  }
21
22
  }
@@ -34,37 +35,47 @@ export function validateGrammarTable(grammar) {
34
35
  */
35
36
  function collectDuplicateDefinitionWarnings(grammar, issues) {
36
37
  // Flag repeated production names in the grammar section.
37
- reportDuplicateNames(grammar.productions.map((production) => production.name), 'grammar', 'production', issues);
38
+ reportDuplicateDefinitions(grammar.productions.map((production) => ({
39
+ name: production.name,
40
+ location: production.location ?? null,
41
+ })), 'grammar', 'production', issues);
38
42
  // Flag repeated ast type names.
39
43
  if (grammar.astSchema !== null) {
40
- reportDuplicateNames(grammar.astSchema.types.map((type) => type.name), 'ast', 'type', issues);
44
+ reportDuplicateDefinitions(grammar.astSchema.types.map((type) => ({
45
+ name: type.name,
46
+ location: type.location ?? null,
47
+ })), 'ast', 'type', issues);
41
48
  }
42
49
  // Flag repeated transform rules for the same production.
43
50
  if (grammar.transformSchema !== null) {
44
- reportDuplicateNames(grammar.transformSchema.rules.map((rule) => rule.production), 'transform', 'rule', issues);
51
+ reportDuplicateDefinitions(grammar.transformSchema.rules.map((rule) => ({
52
+ name: rule.production,
53
+ location: rule.location ?? null,
54
+ })), 'transform', 'rule', issues);
45
55
  }
46
56
  }
47
57
  /**
48
58
  * Records a warning for each name that appears more than once.
49
59
  *
50
- * @param names - Declared names in source order.
60
+ * @param definitions - Declared names and locations in source order.
51
61
  * @param section - Grammar section name for the message.
52
62
  * @param kind - Declaration kind for the message.
53
63
  * @param issues - Issue list to append to.
54
64
  */
55
- function reportDuplicateNames(names, section, kind, issues) {
65
+ function reportDuplicateDefinitions(definitions, section, kind, issues) {
56
66
  const seen = new Set();
57
67
  const reported = new Set();
58
- for (const name of names) {
59
- if (seen.has(name) && !reported.has(name)) {
68
+ for (const definition of definitions) {
69
+ if (seen.has(definition.name) && !reported.has(definition.name)) {
60
70
  issues.push({
61
71
  severity: 'warning',
62
- message: `duplicate ${section} ${kind} ${JSON.stringify(name)}; `
72
+ message: `duplicate ${section} ${kind} ${JSON.stringify(definition.name)}; `
63
73
  + `the later definition overrides the earlier one`,
74
+ location: definition.location,
64
75
  });
65
- reported.add(name);
76
+ reported.add(definition.name);
66
77
  }
67
- seen.add(name);
78
+ seen.add(definition.name);
68
79
  }
69
80
  }
70
81
  /**
@@ -87,6 +98,7 @@ function validateTransformProductionExists(rule, bnfProductionNames, issues) {
87
98
  issues.push({
88
99
  severity: 'error',
89
100
  message: `transform rule for unknown production ${JSON.stringify(rule.production)}`,
101
+ location: rule.location ?? null,
90
102
  });
91
103
  }
92
104
  }
@@ -104,18 +116,20 @@ function syntheticRepeatPrefix(name) {
104
116
  * Validates one transform expression against the grammar AST schema.
105
117
  *
106
118
  * @param grammar - Parsed grammar model.
107
- * @param expression - Transform expression to validate.
119
+ * @param alternative - Transform alternative owning the expression.
108
120
  * @param issues - Issue list to append to.
109
121
  */
110
- function validateTransformExpression(grammar, expression, issues) {
122
+ function validateTransformExpression(grammar, alternative, issues) {
123
+ const expression = alternative.expression;
124
+ const location = alternative.location ?? null;
111
125
  switch (expression.kind) {
112
126
  case 'build':
113
- validateAstTarget(grammar, expression.typeName, expression.variant, issues);
127
+ validateAstTarget(grammar, expression.typeName, expression.variant, location, issues);
114
128
  break;
115
129
  case 'foldLeft':
116
130
  case 'foldRight':
117
131
  case 'flatten':
118
- validateAstTarget(grammar, expression.typeName, expression.variant, issues);
132
+ validateAstTarget(grammar, expression.typeName, expression.variant, location, issues);
119
133
  break;
120
134
  case 'drop':
121
135
  case 'pass':
@@ -128,13 +142,15 @@ function validateTransformExpression(grammar, expression, issues) {
128
142
  * @param grammar - Parsed grammar model.
129
143
  * @param typeName - AST type name from a transform expression.
130
144
  * @param variant - AST variant label from a transform expression.
145
+ * @param location - Source span of the transform alternative.
131
146
  * @param issues - Issue list to append to.
132
147
  */
133
- function validateAstTarget(grammar, typeName, variant, issues) {
148
+ function validateAstTarget(grammar, typeName, variant, location, issues) {
134
149
  if (grammar.astSchema === null) {
135
150
  issues.push({
136
151
  severity: 'error',
137
152
  message: `transform references ${typeName}.${variant} but the grammar has no ast section`,
153
+ location,
138
154
  });
139
155
  return;
140
156
  }
@@ -143,6 +159,7 @@ function validateAstTarget(grammar, typeName, variant, issues) {
143
159
  issues.push({
144
160
  severity: 'error',
145
161
  message: `transform references undefined ast type ${JSON.stringify(typeName)}`,
162
+ location,
146
163
  });
147
164
  return;
148
165
  }
@@ -151,6 +168,7 @@ function validateAstTarget(grammar, typeName, variant, issues) {
151
168
  issues.push({
152
169
  severity: 'error',
153
170
  message: `transform references ${typeName}.${variant} which is not declared in ast`,
171
+ location,
154
172
  });
155
173
  }
156
174
  }
@@ -181,11 +199,12 @@ function collectAstVariants(expression) {
181
199
  *
182
200
  * @param grammar - Parsed grammar model.
183
201
  * @param rule - Parent production transform rule.
184
- * @param expression - Transform expression for one alternative.
202
+ * @param alternative - Transform alternative containing the pass expression.
185
203
  * @param bnfProductions - Desugared BNF productions.
186
204
  * @param issues - Issue list to append to.
187
205
  */
188
- function collectPassCollapseWarnings(grammar, rule, expression, bnfProductions, issues) {
206
+ function collectPassCollapseWarnings(grammar, rule, alternative, bnfProductions, issues) {
207
+ const expression = alternative.expression;
189
208
  if (expression.kind !== 'pass') {
190
209
  return;
191
210
  }
@@ -208,6 +227,7 @@ function collectPassCollapseWarnings(grammar, rule, expression, bnfProductions,
208
227
  message: `pass(${expression.reference}) on ${rule.production} binds ${boundSymbol} `
209
228
  + `which has no transform rule and can match a single terminal; `
210
229
  + `add a transform for ${boundSymbol} or use build`,
230
+ location: alternative.location ?? null,
211
231
  });
212
232
  }
213
233
  /**
@@ -264,13 +284,18 @@ function isTerminalSymbol(symbol) {
264
284
  return symbol?.kind === 'terminal' || symbol?.kind === 'token';
265
285
  }
266
286
  /**
267
- * Formats validation issues as stderr warning or error lines.
287
+ * Formats validation issues as stderr diagnostic lines.
268
288
  *
269
289
  * @param issues - Validation issues to format.
290
+ * @param options - Optional grammar path and source text for line numbers.
270
291
  */
271
- export function formatTableValidationIssues(issues) {
272
- return issues.map((issue) => issue.severity === 'error'
273
- ? `error: ${issue.message}`
274
- : `warning: ${issue.message}`);
292
+ export function formatTableValidationIssues(issues, options = {}) {
293
+ return issues.map((issue) => formatDiagnostic({
294
+ severity: issue.severity,
295
+ message: issue.message,
296
+ path: options.path,
297
+ source: options.source,
298
+ location: issue.location,
299
+ }));
275
300
  }
276
301
  //# sourceMappingURL=table-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-validator.js","sourceRoot":"","sources":["../../../src/lib/grammar/table-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-validator.js","sourceRoot":"","sources":["../../../src/lib/grammar/table-validator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { SourceLocation } from '../ast/ast-node.js';
1
2
  import type { TransformExpression } from './transform-expression.js';
2
3
  /**
3
4
  * Maps one CST `#` alternative to a transform expression.
@@ -5,6 +6,7 @@ import type { TransformExpression } from './transform-expression.js';
5
6
  export interface TransformAlternative {
6
7
  readonly label: string;
7
8
  readonly expression: TransformExpression;
9
+ readonly location?: SourceLocation | null;
8
10
  }
9
11
  /**
10
12
  * CST production transform (`production -> #alt expr | … ;`).
@@ -12,5 +14,6 @@ export interface TransformAlternative {
12
14
  export interface TransformRule {
13
15
  readonly production: string;
14
16
  readonly alternatives: readonly TransformAlternative[];
17
+ readonly location?: SourceLocation | null;
15
18
  }
16
19
  //# sourceMappingURL=transform-rule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform-rule.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/transform-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAE1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC1D"}
1
+ {"version":3,"file":"transform-rule.d.ts","sourceRoot":"","sources":["../../../src/lib/grammar/transform-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAE1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7C"}