grammar-composer 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/parser/Builder.d.ts.map +1 -1
- package/dist/parser/Builder.js +20 -1
- package/dist/parser/Builder.js.map +1 -1
- package/dist/parser/Grammar.d.ts +3 -3
- package/dist/parser/Grammar.d.ts.map +1 -1
- package/dist/parser/Grammar.js +8 -8
- package/dist/parser/Grammar.js.map +1 -1
- package/dist/parser/StaticAnalysis.d.ts +2 -2
- package/dist/parser/StaticAnalysis.d.ts.map +1 -1
- package/dist/parser/StaticAnalysis.js +2 -2
- package/dist/parser/StaticAnalysis.js.map +1 -1
- package/dist/parser/TerminalFormatter.d.ts +2 -2
- package/dist/parser/TerminalFormatter.d.ts.map +1 -1
- package/dist/parser/TerminalFormatter.js.map +1 -1
- package/dist/tests/test-grammars/JsonGrammar.js.map +1 -1
- package/package.json +2 -2
- package/src/parser/Builder.ts +26 -1
- package/src/parser/Grammar.ts +10 -10
- package/src/parser/StaticAnalysis.ts +4 -4
- package/src/parser/TerminalFormatter.ts +2 -2
- package/src/tests/test-grammars/JsonGrammar.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/parser/Builder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAe,WAAW,EAAkD,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAKnI,wBAAgB,YAAY,CAAC,CAAC,SAAS,iBAAiB,EACvD,gBAAgB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EACnC,mBAAmB,EAAE,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAsF/C;
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/parser/Builder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAe,WAAW,EAAkD,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAKnI,wBAAgB,YAAY,CAAC,CAAC,SAAS,iBAAiB,EACvD,gBAAgB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EACnC,mBAAmB,EAAE,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAsF/C;AA8JD,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,WAAW,CAYzF;AAKD,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACvC,wBAAwB,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAA;CACrD;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAEpD,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA"}
|
package/dist/parser/Builder.js
CHANGED
|
@@ -15,7 +15,7 @@ export function buildGrammar(definitionObject, startProductionName, options) {
|
|
|
15
15
|
const nameLookup = new Map();
|
|
16
16
|
const nonterminalLookup = new Map();
|
|
17
17
|
const optionalNonterminalLookup = new Map();
|
|
18
|
-
for (const key of
|
|
18
|
+
for (const key of getProductionNames(definitionObject)) {
|
|
19
19
|
const objectProperty = definitionObject[key];
|
|
20
20
|
nameLookup.set(objectProperty, key);
|
|
21
21
|
if (!isFunction(objectProperty)) {
|
|
@@ -62,6 +62,25 @@ export function buildGrammar(definitionObject, startProductionName, options) {
|
|
|
62
62
|
}
|
|
63
63
|
return new Grammar(nonterminals, startProductionName, cacheIdCounter);
|
|
64
64
|
}
|
|
65
|
+
function getProductionNames(definitionObject) {
|
|
66
|
+
const keys = [];
|
|
67
|
+
const seen = new Set();
|
|
68
|
+
// Walk the prototype chain (stopping before Object.prototype) so that
|
|
69
|
+
// productions declared as prototype methods -- including inherited ones --
|
|
70
|
+
// are picked up in addition to instance fields.
|
|
71
|
+
let current = definitionObject;
|
|
72
|
+
while (current !== null && current !== Object.prototype) {
|
|
73
|
+
for (const key of Object.getOwnPropertyNames(current)) {
|
|
74
|
+
if (key === 'constructor' || seen.has(key)) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
seen.add(key);
|
|
78
|
+
keys.push(key);
|
|
79
|
+
}
|
|
80
|
+
current = Object.getPrototypeOf(current);
|
|
81
|
+
}
|
|
82
|
+
return keys;
|
|
83
|
+
}
|
|
65
84
|
function prepareGrammarNode(rootNode, nonterminalLookup, optionalNonterminalLookup, getNewCacheId) {
|
|
66
85
|
function prepare(node) {
|
|
67
86
|
const setCacheIdIfNeeded = (node) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/parser/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEzE,OAAO,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,OAAO,EAA+F,MAAM,cAAc,CAAA;AAEnI,iGAAiG;AACjG,yBAAyB;AACzB,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAC3B,gBAAmC,EACnC,mBAA4B,EAC5B,OAAkC;IAElC,OAAO,GAAG;QACT,wBAAwB,EAAE,EAAE;QAC5B,GAAG,OAAO;KACV,CAAA;IAED,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgB,CAAA;IAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC1D,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAyB,CAAA;IAElE,KAAK,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/parser/Builder.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/Grammar.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PatternExpression } from 'regexp-composer';
|
|
2
2
|
export declare class Grammar<T> {
|
|
3
3
|
readonly productions: Record<keyof T, any>;
|
|
4
4
|
readonly startProductionName: keyof T;
|
|
@@ -12,7 +12,7 @@ export declare function oneOrMore(content: GrammarExpression): Repetition;
|
|
|
12
12
|
export declare function anyOf(...members: GrammarExpression[]): Choice;
|
|
13
13
|
export declare function bestOf(...members: GrammarExpression[]): Choice;
|
|
14
14
|
export declare function possibly<T extends GrammarExpression>(content: GrammarExpression): T;
|
|
15
|
-
export declare function pattern(
|
|
15
|
+
export declare function pattern(patternExpression: PatternExpression): PatternTerminal;
|
|
16
16
|
export declare function cached<T extends GrammarExpression>(content: GrammarExpression): T;
|
|
17
17
|
export declare function uncached<T extends GrammarExpression>(content: GrammarExpression): T;
|
|
18
18
|
export type GrammarExpression = string | GrammarNode | (() => GrammarExpression) | GrammarExpression[];
|
|
@@ -31,7 +31,7 @@ export interface StringTerminal extends GrammarNodeBase {
|
|
|
31
31
|
}
|
|
32
32
|
export interface PatternTerminal extends GrammarNodeBase {
|
|
33
33
|
type: 'PatternTerminal';
|
|
34
|
-
pattern:
|
|
34
|
+
pattern: PatternExpression;
|
|
35
35
|
regExp: RegExp;
|
|
36
36
|
}
|
|
37
37
|
export interface Nonterminal extends GrammarNodeBase {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grammar.d.ts","sourceRoot":"","sources":["../../src/parser/Grammar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Grammar.d.ts","sourceRoot":"","sources":["../../src/parser/Grammar.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/Grammar.js
CHANGED
|
@@ -70,19 +70,19 @@ export function bestOf(...members) {
|
|
|
70
70
|
export function possibly(content) {
|
|
71
71
|
return { ...grammarExpressionToNode(content), optional: true };
|
|
72
72
|
}
|
|
73
|
-
export function pattern(
|
|
74
|
-
if (isArray(
|
|
75
|
-
|
|
73
|
+
export function pattern(patternExpression) {
|
|
74
|
+
if (isArray(patternExpression)) {
|
|
75
|
+
patternExpression = [inputStart, ...patternExpression];
|
|
76
76
|
}
|
|
77
77
|
else {
|
|
78
|
-
|
|
78
|
+
patternExpression = [inputStart, patternExpression];
|
|
79
79
|
}
|
|
80
|
-
validatePatternCaptureGroups(
|
|
81
|
-
const regExp = buildRegExp(
|
|
82
|
-
const optional = isPatternOptional(
|
|
80
|
+
validatePatternCaptureGroups(patternExpression);
|
|
81
|
+
const regExp = buildRegExp(patternExpression);
|
|
82
|
+
const optional = isPatternOptional(patternExpression);
|
|
83
83
|
return {
|
|
84
84
|
type: 'PatternTerminal',
|
|
85
|
-
pattern,
|
|
85
|
+
pattern: patternExpression,
|
|
86
86
|
regExp,
|
|
87
87
|
optional,
|
|
88
88
|
cached: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grammar.js","sourceRoot":"","sources":["../../src/parser/Grammar.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Grammar.js","sourceRoot":"","sources":["../../src/parser/Grammar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PatternExpression } from 'regexp-composer';
|
|
2
2
|
import { GrammarNode } from './Grammar.js';
|
|
3
3
|
export declare function detectAndAnnotateOptionalNodes(rootNode: GrammarNode): void;
|
|
4
4
|
export declare function detectAndErrorOnLeftRecursion(rootNode: GrammarNode): void;
|
|
5
|
-
export declare function validatePatternCaptureGroups(
|
|
5
|
+
export declare function validatePatternCaptureGroups(patternExpression: PatternExpression): void;
|
|
6
6
|
//# sourceMappingURL=StaticAnalysis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticAnalysis.d.ts","sourceRoot":"","sources":["../../src/parser/StaticAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"StaticAnalysis.d.ts","sourceRoot":"","sources":["../../src/parser/StaticAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAK1C,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,WAAW,QAuMnE;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,WAAW,QAmDlE;AAWD,wBAAgB,4BAA4B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAiFvF"}
|
|
@@ -223,7 +223,7 @@ export function detectAndErrorOnLeftRecursion(rootNode) {
|
|
|
223
223
|
// during parsing.
|
|
224
224
|
//
|
|
225
225
|
// Mirrors the AST traversal performed by regexp-composer's own 'isPatternOptional'.
|
|
226
|
-
export function validatePatternCaptureGroups(
|
|
226
|
+
export function validatePatternCaptureGroups(patternExpression) {
|
|
227
227
|
const seenNamedCaptureGroupNames = new Set();
|
|
228
228
|
let hasNamedCaptureGroup = false;
|
|
229
229
|
let hasUnnamedCaptureGroup = false;
|
|
@@ -286,7 +286,7 @@ export function validatePatternCaptureGroups(pattern) {
|
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
|
-
walk(
|
|
289
|
+
walk(patternExpression);
|
|
290
290
|
if (hasNamedCaptureGroup && hasUnnamedCaptureGroup) {
|
|
291
291
|
throw new Error(`The regular expression pattern contains a combination of named and unnamed capture groups. Due to limitations of the JavaScript RegExp engine, it is impossible to reliably identify the ordering of this combination, please use either all unnamed or all named capture groups, but not both.`);
|
|
292
292
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticAnalysis.js","sourceRoot":"","sources":["../../src/parser/StaticAnalysis.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StaticAnalysis.js","sourceRoot":"","sources":["../../src/parser/StaticAnalysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PatternExpression, SpecialToken } from 'regexp-composer';
|
|
2
2
|
import type { PatternTerminal, StringTerminal, Terminal } from './Grammar.js';
|
|
3
3
|
export declare class TerminalFormatter {
|
|
4
4
|
private stringifiedLengthLimit;
|
|
@@ -6,7 +6,7 @@ export declare class TerminalFormatter {
|
|
|
6
6
|
stringifyTerminal(terminal: Terminal): string;
|
|
7
7
|
stringifyStringTerminal(terminal: StringTerminal): string;
|
|
8
8
|
stringifyPatternTerminal(terminal: PatternTerminal): string;
|
|
9
|
-
stringifyPattern(pattern:
|
|
9
|
+
stringifyPattern(pattern: PatternExpression): string;
|
|
10
10
|
stringifyPatternStringLiteral(text: string): string;
|
|
11
11
|
stringifySpecialToken(token: SpecialToken): string;
|
|
12
12
|
truncateString(str: string, lengthLimit: number): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalFormatter.d.ts","sourceRoot":"","sources":["../../src/parser/TerminalFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TerminalFormatter.d.ts","sourceRoot":"","sources":["../../src/parser/TerminalFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAK7E,qBAAa,iBAAiB;IACjB,OAAO,CAAC,sBAAsB;IAA1C,YAAoB,sBAAsB,EAAE,MAAM,EACjD;IAED,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAM5C;IAED,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAExD;IAED,wBAAwB,CAAC,QAAQ,EAAE,eAAe,UAmBjD;IAED,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CA+FnD;IAED,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUlD;IAED,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAgBjD;IAED,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMvD;CACD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalFormatter.js","sourceRoot":"","sources":["../../src/parser/TerminalFormatter.ts"],"names":[],"mappings":"AAGA,iGAAiG;AACjG,8BAA8B;AAC9B,iGAAiG;AACjG,MAAM,OAAO,iBAAiB;IACT,sBAAsB;IAA1C,YAAoB,sBAA8B;sCAA9B,sBAAsB;IAC1C,CAAC;IAED,iBAAiB,CAAC,QAAkB;QACnC,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;IACF,CAAC;IAED,uBAAuB,CAAC,QAAwB;QAC/C,OAAO,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED,wBAAwB,CAAC,QAAyB;QACjD,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAE9B,iFAAiF;QACjF,mEAAmE;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAE/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,YAAY,KAAK,QAAQ;gBACnE,YAAY,CAAC,IAAI,KAAK,cAAc,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAE7E,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC3B,CAAC;QACF,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACzD,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAExG,OAAO,2BAA2B,CAAA;IACnC,CAAC;IAED,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"TerminalFormatter.js","sourceRoot":"","sources":["../../src/parser/TerminalFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonGrammar.js","sourceRoot":"","sources":["../../../src/tests/test-grammars/JsonGrammar.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"JsonGrammar.js","sourceRoot":"","sources":["../../../src/tests/test-grammars/JsonGrammar.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "grammar-composer",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "Creates and generates parsers from composable grammar definitions. Includes advanced features like lexer-free parsing, selective packrat memoization and static analysis.",
|
|
5
5
|
"author": "Rotem Dan",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"test-manual": "node dist/tests/Test.js"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"regexp-composer": "~0.
|
|
36
|
+
"regexp-composer": "~0.7.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "~26.4.1",
|
package/src/parser/Builder.ts
CHANGED
|
@@ -24,7 +24,7 @@ export function buildGrammar<T extends GrammarDefinition>(
|
|
|
24
24
|
const nonterminalLookup = new Map<Function, Nonterminal>()
|
|
25
25
|
const optionalNonterminalLookup = new Map<Function, Nonterminal>()
|
|
26
26
|
|
|
27
|
-
for (const key of
|
|
27
|
+
for (const key of getProductionNames(definitionObject)) {
|
|
28
28
|
const objectProperty = definitionObject[key]
|
|
29
29
|
|
|
30
30
|
nameLookup.set(objectProperty, key)
|
|
@@ -97,6 +97,31 @@ export function buildGrammar<T extends GrammarDefinition>(
|
|
|
97
97
|
)
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
function getProductionNames(definitionObject: GrammarDefinition): string[] {
|
|
101
|
+
const keys: string[] = []
|
|
102
|
+
const seen = new Set<any>()
|
|
103
|
+
|
|
104
|
+
// Walk the prototype chain (stopping before Object.prototype) so that
|
|
105
|
+
// productions declared as prototype methods -- including inherited ones --
|
|
106
|
+
// are picked up in addition to instance fields.
|
|
107
|
+
let current: object | null = definitionObject
|
|
108
|
+
|
|
109
|
+
while (current !== null && current !== Object.prototype) {
|
|
110
|
+
for (const key of Object.getOwnPropertyNames(current)) {
|
|
111
|
+
if (key === 'constructor' || seen.has(key)) {
|
|
112
|
+
continue
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
seen.add(key)
|
|
116
|
+
keys.push(key)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
current = Object.getPrototypeOf(current)
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return keys
|
|
123
|
+
}
|
|
124
|
+
|
|
100
125
|
function prepareGrammarNode(
|
|
101
126
|
rootNode: GrammarNode,
|
|
102
127
|
nonterminalLookup: Map<Function, Nonterminal>,
|
package/src/parser/Grammar.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PatternExpression, buildRegExp, inputStart, isPatternOptional } from 'regexp-composer'
|
|
2
2
|
import { isArray } from '../utilities/Utilities.js'
|
|
3
3
|
|
|
4
4
|
import { parse } from './Parser.js'
|
|
@@ -91,21 +91,21 @@ export function possibly<T extends GrammarExpression>(content: GrammarExpression
|
|
|
91
91
|
return { ...grammarExpressionToNode(content), optional: true } as T
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
export function pattern(
|
|
95
|
-
if (isArray(
|
|
96
|
-
|
|
94
|
+
export function pattern(patternExpression: PatternExpression): PatternTerminal {
|
|
95
|
+
if (isArray(patternExpression)) {
|
|
96
|
+
patternExpression = [inputStart, ...patternExpression]
|
|
97
97
|
} else {
|
|
98
|
-
|
|
98
|
+
patternExpression = [inputStart, patternExpression]
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
validatePatternCaptureGroups(
|
|
101
|
+
validatePatternCaptureGroups(patternExpression)
|
|
102
102
|
|
|
103
|
-
const regExp = buildRegExp(
|
|
104
|
-
const optional = isPatternOptional(
|
|
103
|
+
const regExp = buildRegExp(patternExpression)
|
|
104
|
+
const optional = isPatternOptional(patternExpression)
|
|
105
105
|
|
|
106
106
|
return {
|
|
107
107
|
type: 'PatternTerminal',
|
|
108
|
-
pattern,
|
|
108
|
+
pattern: patternExpression,
|
|
109
109
|
regExp,
|
|
110
110
|
optional,
|
|
111
111
|
|
|
@@ -156,7 +156,7 @@ export interface StringTerminal extends GrammarNodeBase {
|
|
|
156
156
|
|
|
157
157
|
export interface PatternTerminal extends GrammarNodeBase {
|
|
158
158
|
type: 'PatternTerminal'
|
|
159
|
-
pattern:
|
|
159
|
+
pattern: PatternExpression
|
|
160
160
|
regExp: RegExp
|
|
161
161
|
}
|
|
162
162
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PatternExpression } from 'regexp-composer'
|
|
2
2
|
import { isArray, isBoolean, isString } from '../utilities/Utilities.js'
|
|
3
3
|
import { GrammarNode } from './Grammar.js'
|
|
4
4
|
|
|
@@ -268,12 +268,12 @@ export function detectAndErrorOnLeftRecursion(rootNode: GrammarNode) {
|
|
|
268
268
|
// during parsing.
|
|
269
269
|
//
|
|
270
270
|
// Mirrors the AST traversal performed by regexp-composer's own 'isPatternOptional'.
|
|
271
|
-
export function validatePatternCaptureGroups(
|
|
271
|
+
export function validatePatternCaptureGroups(patternExpression: PatternExpression): void {
|
|
272
272
|
const seenNamedCaptureGroupNames = new Set<string>()
|
|
273
273
|
let hasNamedCaptureGroup = false
|
|
274
274
|
let hasUnnamedCaptureGroup = false
|
|
275
275
|
|
|
276
|
-
function walk(node:
|
|
276
|
+
function walk(node: PatternExpression): void {
|
|
277
277
|
if (isString(node)) {
|
|
278
278
|
return
|
|
279
279
|
}
|
|
@@ -344,7 +344,7 @@ export function validatePatternCaptureGroups(pattern: Pattern): void {
|
|
|
344
344
|
}
|
|
345
345
|
}
|
|
346
346
|
|
|
347
|
-
walk(
|
|
347
|
+
walk(patternExpression)
|
|
348
348
|
|
|
349
349
|
if (hasNamedCaptureGroup && hasUnnamedCaptureGroup) {
|
|
350
350
|
throw new Error(`The regular expression pattern contains a combination of named and unnamed capture groups. Due to limitations of the JavaScript RegExp engine, it is impossible to reliably identify the ordering of this combination, please use either all unnamed or all named capture groups, but not both.`)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PatternExpression, SpecialToken } from 'regexp-composer'
|
|
2
2
|
import type { PatternTerminal, StringTerminal, Terminal } from './Grammar.js'
|
|
3
3
|
|
|
4
4
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -41,7 +41,7 @@ export class TerminalFormatter {
|
|
|
41
41
|
return truncatedStringifiedPattern
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
stringifyPattern(pattern:
|
|
44
|
+
stringifyPattern(pattern: PatternExpression): string {
|
|
45
45
|
if (typeof pattern === 'string') {
|
|
46
46
|
return this.stringifyPatternStringLiteral(pattern)
|
|
47
47
|
}
|
|
@@ -102,7 +102,7 @@ export class JsonGrammar {
|
|
|
102
102
|
colons = () => createPatternWithClearedWhitespace(':')
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
function createPatternWithClearedWhitespace(subpattern: R.
|
|
105
|
+
function createPatternWithClearedWhitespace(subpattern: R.PatternExpression) {
|
|
106
106
|
return G.pattern([
|
|
107
107
|
zeroOrMoreWhitespace,
|
|
108
108
|
|