parser-lr 0.7.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 (54) hide show
  1. package/bin/parser-lr.js +404 -874
  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 +8 -4
  18. package/dist/lib/grammar/grammar-from-cst.js.map +1 -1
  19. package/dist/lib/grammar/grammar.json +86 -820
  20. package/dist/lib/grammar/index.d.ts +1 -1
  21. package/dist/lib/grammar/index.d.ts.map +1 -1
  22. package/dist/lib/grammar/production.d.ts +2 -0
  23. package/dist/lib/grammar/production.d.ts.map +1 -1
  24. package/dist/lib/grammar/table-validator.d.ts +12 -2
  25. package/dist/lib/grammar/table-validator.d.ts.map +1 -1
  26. package/dist/lib/grammar/table-validator.js +68 -25
  27. package/dist/lib/grammar/table-validator.js.map +1 -1
  28. package/dist/lib/grammar/transform-rule.d.ts +3 -0
  29. package/dist/lib/grammar/transform-rule.d.ts.map +1 -1
  30. package/dist/lib/grammar-entry.d.ts +1 -1
  31. package/dist/lib/grammar-entry.d.ts.map +1 -1
  32. package/dist/lib/grammar-entry.js.map +1 -1
  33. package/dist/lib/index.d.ts +3 -0
  34. package/dist/lib/index.d.ts.map +1 -1
  35. package/dist/lib/index.js +1 -0
  36. package/dist/lib/index.js.map +1 -1
  37. package/dist/lib/parse-context.d.ts +7 -0
  38. package/dist/lib/parse-context.d.ts.map +1 -1
  39. package/dist/lib/parse-context.js +9 -0
  40. package/dist/lib/parse-context.js.map +1 -1
  41. package/dist/lib/parse-table/table/lr-parse-table.d.ts.map +1 -1
  42. package/dist/lib/parse-table/table/lr-parse-table.js +10 -3
  43. package/dist/lib/parse-table/table/lr-parse-table.js.map +1 -1
  44. package/dist/lib/parser-lr.d.ts +15 -0
  45. package/dist/lib/parser-lr.d.ts.map +1 -1
  46. package/dist/lib/parser-lr.js +38 -9
  47. package/dist/lib/parser-lr.js.map +1 -1
  48. package/docs/The Ferrite Programming Language.md +568 -0
  49. package/docs/grammar.md +55 -3
  50. package/grammars/6502.grammar +2 -2
  51. package/grammars/ferrite.grammar +107 -97
  52. package/grammars/grammar.grammar +19 -140
  53. package/grammars/lisp.grammar +3 -2
  54. 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.
@@ -456,8 +457,11 @@ function parseExpressionNode(node) {
456
457
  * @param node - `choice` CST node.
457
458
  */
458
459
  function parseChoice(node) {
460
+ // Parse each labeled or unlabeled alternative.
459
461
  const alternatives = collectAlternatives(node).map(parseLabeledAlternative);
460
- if (alternatives.length === 1) {
462
+ // Collapse a sole unlabeled alternative; keep labeled singles as a choice
463
+ // so AST / transform variants remain visible to validation and consumers.
464
+ if (alternatives.length === 1 && alternatives[0].label === null) {
461
465
  return alternatives[0].expression;
462
466
  }
463
467
  return {
@@ -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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"}