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.
- package/bin/parser-lr.js +295 -52
- package/bin/parser-lr.js.map +1 -1
- package/dist/lib/diagnostics/format-diagnostic.d.ts +31 -0
- package/dist/lib/diagnostics/format-diagnostic.d.ts.map +1 -0
- package/dist/lib/diagnostics/format-diagnostic.js +36 -0
- package/dist/lib/diagnostics/format-diagnostic.js.map +1 -0
- package/dist/lib/diagnostics/index.d.ts +5 -0
- package/dist/lib/diagnostics/index.d.ts.map +1 -0
- package/dist/lib/diagnostics/index.js +3 -0
- package/dist/lib/diagnostics/index.js.map +1 -0
- package/dist/lib/diagnostics/source-position.d.ts +24 -0
- package/dist/lib/diagnostics/source-position.d.ts.map +1 -0
- package/dist/lib/diagnostics/source-position.js +39 -0
- package/dist/lib/diagnostics/source-position.js.map +1 -0
- package/dist/lib/grammar/ast-type.d.ts +2 -0
- package/dist/lib/grammar/ast-type.d.ts.map +1 -1
- package/dist/lib/grammar/grammar-from-cst.js +4 -3
- package/dist/lib/grammar/grammar-from-cst.js.map +1 -1
- package/dist/lib/grammar/index.d.ts +1 -1
- package/dist/lib/grammar/index.d.ts.map +1 -1
- package/dist/lib/grammar/production.d.ts +2 -0
- package/dist/lib/grammar/production.d.ts.map +1 -1
- package/dist/lib/grammar/table-validator.d.ts +12 -2
- package/dist/lib/grammar/table-validator.d.ts.map +1 -1
- package/dist/lib/grammar/table-validator.js +49 -24
- package/dist/lib/grammar/table-validator.js.map +1 -1
- package/dist/lib/grammar/transform-rule.d.ts +3 -0
- package/dist/lib/grammar/transform-rule.d.ts.map +1 -1
- package/dist/lib/grammar-entry.d.ts +1 -1
- package/dist/lib/grammar-entry.d.ts.map +1 -1
- package/dist/lib/grammar-entry.js.map +1 -1
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/parse-context.d.ts +7 -0
- package/dist/lib/parse-context.d.ts.map +1 -1
- package/dist/lib/parse-context.js +9 -0
- package/dist/lib/parse-context.js.map +1 -1
- package/dist/lib/parse-table/table/lr-parse-table.d.ts.map +1 -1
- package/dist/lib/parse-table/table/lr-parse-table.js +10 -3
- package/dist/lib/parse-table/table/lr-parse-table.js.map +1 -1
- package/dist/lib/parser-lr.d.ts +15 -0
- package/dist/lib/parser-lr.d.ts.map +1 -1
- package/dist/lib/parser-lr.js +38 -9
- package/dist/lib/parser-lr.js.map +1 -1
- 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 @@
|
|
|
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;
|
|
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,
|
|
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;
|
|
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
|
|
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":"
|
|
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
|
|
18
|
-
collectPassCollapseWarnings(grammar, rule, alternative
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
65
|
+
function reportDuplicateDefinitions(definitions, section, kind, issues) {
|
|
56
66
|
const seen = new Set();
|
|
57
67
|
const reported = new Set();
|
|
58
|
-
for (const
|
|
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
|
|
119
|
+
* @param alternative - Transform alternative owning the expression.
|
|
108
120
|
* @param issues - Issue list to append to.
|
|
109
121
|
*/
|
|
110
|
-
function validateTransformExpression(grammar,
|
|
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
|
|
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,
|
|
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
|
|
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) =>
|
|
273
|
-
|
|
274
|
-
:
|
|
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":"
|
|
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;
|
|
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"}
|