grammar-composer 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +144 -89
  2. package/dist/exports/Exports.d.ts +2 -0
  3. package/dist/exports/Exports.d.ts.map +1 -1
  4. package/dist/exports/Exports.js +2 -0
  5. package/dist/exports/Exports.js.map +1 -1
  6. package/dist/parser-generator/Grammar.d.ts +8 -1
  7. package/dist/parser-generator/Grammar.d.ts.map +1 -1
  8. package/dist/parser-generator/Grammar.js +30 -225
  9. package/dist/parser-generator/Grammar.js.map +1 -1
  10. package/dist/parser-generator/ParseError.d.ts +37 -0
  11. package/dist/parser-generator/ParseError.d.ts.map +1 -0
  12. package/dist/parser-generator/ParseError.js +226 -0
  13. package/dist/parser-generator/ParseError.js.map +1 -0
  14. package/dist/parser-generator/StaticAnalysis.d.ts +6 -0
  15. package/dist/parser-generator/StaticAnalysis.d.ts.map +1 -0
  16. package/dist/parser-generator/StaticAnalysis.js +283 -0
  17. package/dist/parser-generator/StaticAnalysis.js.map +1 -0
  18. package/dist/parser-generator/TerminalToText.d.ts +15 -0
  19. package/dist/parser-generator/TerminalToText.d.ts.map +1 -0
  20. package/dist/parser-generator/TerminalToText.js +158 -0
  21. package/dist/parser-generator/TerminalToText.js.map +1 -0
  22. package/dist/parser-generator/TopDownParser.d.ts +4 -2
  23. package/dist/parser-generator/TopDownParser.d.ts.map +1 -1
  24. package/dist/parser-generator/TopDownParser.js +44 -42
  25. package/dist/parser-generator/TopDownParser.js.map +1 -1
  26. package/dist/tests/Test.js +23 -23
  27. package/dist/tests/Test.js.map +1 -1
  28. package/dist/tests/test-grammars/JsonGrammar.d.ts +12 -11
  29. package/dist/tests/test-grammars/JsonGrammar.d.ts.map +1 -1
  30. package/dist/tests/test-grammars/JsonGrammar.js +25 -10
  31. package/dist/tests/test-grammars/JsonGrammar.js.map +1 -1
  32. package/dist/tests/test-grammars/RegExpGrammar.d.ts +25 -25
  33. package/dist/tests/test-grammars/RegExpGrammar.d.ts.map +1 -1
  34. package/dist/tests/test-grammars/RegExpGrammar.js +48 -31
  35. package/dist/tests/test-grammars/RegExpGrammar.js.map +1 -1
  36. package/dist/tests/test-grammars/XmlGrammar.d.ts +11 -10
  37. package/dist/tests/test-grammars/XmlGrammar.d.ts.map +1 -1
  38. package/dist/tests/test-grammars/XmlGrammar.js +19 -8
  39. package/dist/tests/test-grammars/XmlGrammar.js.map +1 -1
  40. package/dist/utilities/LineAndColumn.d.ts +7 -0
  41. package/dist/utilities/LineAndColumn.d.ts.map +1 -0
  42. package/dist/utilities/LineAndColumn.js +52 -0
  43. package/dist/utilities/LineAndColumn.js.map +1 -0
  44. package/dist/utilities/Timer.d.ts +7 -3
  45. package/dist/utilities/Timer.d.ts.map +1 -1
  46. package/dist/utilities/Timer.js +41 -39
  47. package/dist/utilities/Timer.js.map +1 -1
  48. package/package.json +3 -3
  49. package/src/exports/Exports.ts +2 -0
  50. package/src/parser-generator/Grammar.ts +59 -265
  51. package/src/parser-generator/ParseError.ts +337 -0
  52. package/src/parser-generator/StaticAnalysis.ts +340 -0
  53. package/src/parser-generator/TerminalToText.ts +196 -0
  54. package/src/parser-generator/TopDownParser.ts +67 -49
  55. package/src/tests/Test.ts +26 -24
  56. package/src/tests/test-grammars/JsonGrammar.ts +28 -10
  57. package/src/tests/test-grammars/RegExpGrammar.ts +65 -46
  58. package/src/tests/test-grammars/XmlGrammar.ts +20 -8
  59. package/src/utilities/LineAndColumn.ts +61 -0
  60. package/src/utilities/Timer.ts +50 -48
@@ -1,10 +1,12 @@
1
1
  import * as G from '../../exports/Exports.js';
2
- import * as R from 'regexp-composer';
3
2
  export declare class RegExpGrammar {
4
- root: () => G.Choice[];
3
+ root: () => () => G.Choice[];
4
+ disjunctionOrSequence: () => G.Choice[];
5
5
  disjunction: () => (G.Repetition | (() => G.Production))[];
6
6
  sequence: () => G.Production;
7
- sequenceOrDisjunction: G.Choice[];
7
+ sequenceElement: () => G.Choice;
8
+ quantifiableExpression: () => G.Production;
9
+ quantifiedExpression: () => (() => G.Production)[];
8
10
  starQuantifier: () => G.Production[];
9
11
  plusQuantifier: () => G.Production[];
10
12
  optionalQuantifier: () => G.Production[];
@@ -12,18 +14,18 @@ export declare class RegExpGrammar {
12
14
  countRangeQuantifier: () => G.Production[];
13
15
  nongreedyQuantifier: () => string;
14
16
  quantifier: () => G.Choice;
15
- uncapturedGroup: () => (string | G.Choice[])[];
16
- namedCaptureGroup: () => (string | G.Choice[] | G.PatternTerminal)[];
17
- unnamedCaptureGroup: () => (string | G.Choice[])[];
18
- group: G.Choice;
17
+ uncapturedGroup: () => (string | (() => G.Choice[]))[];
18
+ namedCaptureGroup: () => (string | G.PatternTerminal | (() => G.Choice[]))[];
19
+ unnamedCaptureGroup: () => (string | (() => G.Choice[]))[];
20
+ group: () => G.Choice;
19
21
  unnamedBackreference: () => G.PatternTerminal;
20
22
  namedBackreference: () => G.PatternTerminal;
21
- backReference: G.Choice;
22
- positiveLookahead: () => (string | G.Choice[])[];
23
- negativeLookahead: () => (string | G.Choice[])[];
24
- positiveLookbehind: () => (string | G.Choice[])[];
25
- negativeLookbehind: () => (string | G.Choice[])[];
26
- lookaround: G.Choice;
23
+ backReference: () => G.Choice;
24
+ positiveLookahead: () => (string | (() => G.Choice[]))[];
25
+ negativeLookahead: () => (string | (() => G.Choice[]))[];
26
+ positiveLookbehind: () => (string | (() => G.Choice[]))[];
27
+ negativeLookbehind: () => (string | (() => G.Choice[]))[];
28
+ lookaround: () => G.Choice;
27
29
  singleCharExpression: () => G.Choice;
28
30
  unreservedCharLiteral: () => G.PatternTerminal;
29
31
  escapedCharLiteral: () => G.PatternTerminal;
@@ -32,24 +34,22 @@ export declare class RegExpGrammar {
32
34
  nullCharcode: () => G.PatternTerminal;
33
35
  codepoint: () => G.Choice;
34
36
  codepointRange: () => G.PatternTerminal;
35
- unicodeProperty: () => G.PatternTerminal;
36
- notUnicodeProperty: () => G.PatternTerminal;
37
- unicodePropertyBodyPattern: R.Pattern;
37
+ unicodeProperty: () => (string | (() => G.PatternTerminal))[];
38
+ notUnicodeProperty: () => (string | (() => G.PatternTerminal))[];
39
+ unicodePropertyBodyPattern: () => G.PatternTerminal;
38
40
  charClass: () => G.Production[];
39
- charcodeOrEscapedChar: G.Choice;
41
+ charcodeOrEscapedChar: () => G.Choice;
40
42
  charClassLiteral: () => G.PatternTerminal;
41
- charRangeElement: G.Choice;
42
- charRangeStart: () => G.Choice;
43
- charRangeEnd: () => G.Choice;
44
- charRange: () => (string | (() => G.Choice))[];
43
+ charRangeElement: () => G.Choice;
44
+ charRangeStart: () => () => G.Choice;
45
+ charRangeEnd: () => () => G.Choice;
46
+ charRange: () => (string | (() => () => G.Choice))[];
45
47
  charClassNegator: () => string;
46
48
  inputStartAnchor: () => string;
47
49
  inputEndAnchor: () => string;
48
50
  anyCharWildcard: () => string;
49
- anchor: G.Choice;
51
+ anchor: () => G.Choice;
50
52
  escapedCharacterClass: () => G.PatternTerminal;
51
- quantifiableExpression: G.Production;
52
- quantifiedExpression: () => G.Production[];
53
- sequenceElement: G.Choice;
54
53
  }
54
+ export declare const regExpGrammarUnwrappedNonterminalNames: G.GrammarNonterminalNames<RegExpGrammar>;
55
55
  //# sourceMappingURL=RegExpGrammar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegExpGrammar.d.ts","sourceRoot":"","sources":["../../../src/tests/test-grammars/RegExpGrammar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAA;AAC7C,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;AAEpC,qBAAa,aAAa;IAIzB,IAAI,mBAAmC;IAEvC,WAAW,gDAOV;IAED,QAAQ,qBAEP;IAED,qBAAqB,aAKpB;IAKD,cAAc,uBAGb;IAED,cAAc,uBAGb;IAED,kBAAkB,uBAGjB;IAED,oBAAoB,uBASnB;IAED,oBAAoB,uBAanB;IAED,mBAAmB,eAAY;IAE/B,UAAU,iBAMT;IAKD,eAAe,gCAId;IAED,iBAAiB,oDAQhB;IAED,mBAAmB,gCAIlB;IAED,KAAK,WAIJ;IAKD,oBAAoB,0BAMjB;IAEH,kBAAkB,0BAOf;IAEH,aAAa,WAGZ;IAKD,iBAAiB,gCAIhB;IAED,iBAAiB,gCAIhB;IAED,kBAAkB,gCAIjB;IAED,kBAAkB,gCAIjB;IAED,UAAU,WAKT;IAKD,oBAAoB,iBAQnB;IAED,qBAAqB,0BAIpB;IAED,kBAAkB,0BAKhB;IAEF,WAAW,0BAMR;IAEH,eAAe,0BAKb;IAEF,YAAY,0BAAyB;IAErC,SAAS,iBAeR;IAED,cAAc,0BAWZ;IAEF,eAAe,0BAGb;IAEF,kBAAkB,0BAGhB;IAEF,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAYpC;IAED,SAAS,uBAaR;IAED,qBAAqB,WAMpB;IAED,gBAAgB,0BAIf;IAED,gBAAgB,WAGf;IAED,cAAc,iBAA8B;IAC5C,YAAY,iBAA8B;IAE1C,SAAS,sCAIR;IAKD,gBAAgB,eAAY;IAE5B,gBAAgB,eAAY;IAC5B,cAAc,eAAY;IAE1B,eAAe,eAAY;IAE3B,MAAM,WAAsD;IAE5D,qBAAqB,0BAenB;IAKF,sBAAsB,eAMrB;IAED,oBAAoB,uBAGnB;IAED,eAAe,WAKd;CACD"}
1
+ {"version":3,"file":"RegExpGrammar.d.ts","sourceRoot":"","sources":["../../../src/tests/test-grammars/RegExpGrammar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAA;AAG7C,qBAAa,aAAa;IAIzB,IAAI,yBAAmC;IAEvC,qBAAqB,mBAKpB;IAED,WAAW,gDAOV;IAED,QAAQ,qBAEP;IAED,eAAe,iBAKd;IAKD,sBAAsB,qBAMrB;IAED,oBAAoB,+BAGnB;IAKD,cAAc,uBAGb;IAED,cAAc,uBAGb;IAED,kBAAkB,uBAGjB;IAED,oBAAoB,uBASnB;IAED,oBAAoB,uBAanB;IAED,mBAAmB,eAAY;IAE/B,UAAU,iBAMT;IAKD,eAAe,wCAId;IAED,iBAAiB,4DAQhB;IAED,mBAAmB,wCAIlB;IAED,KAAK,iBAIJ;IAKD,oBAAoB,0BAMjB;IAEH,kBAAkB,0BAOf;IAEH,aAAa,iBAGZ;IAKD,iBAAiB,wCAIhB;IAED,iBAAiB,wCAIhB;IAED,kBAAkB,wCAIjB;IAED,kBAAkB,wCAIjB;IAED,UAAU,iBAKT;IAKD,oBAAoB,iBAQnB;IAED,qBAAqB,0BAIpB;IAED,kBAAkB,0BAKhB;IAEF,WAAW,0BAMR;IAEH,eAAe,0BAKb;IAEF,YAAY,0BAAyB;IAErC,SAAS,iBAeR;IAED,cAAc,0BAWZ;IAEF,eAAe,+CAGd;IAED,kBAAkB,+CAGjB;IAED,0BAA0B,0BAYxB;IAEF,SAAS,uBAaR;IAED,qBAAqB,iBAMpB;IAED,gBAAgB,0BAIf;IAED,gBAAgB,iBAGf;IAED,cAAc,uBAA8B;IAC5C,YAAY,uBAA8B;IAE1C,SAAS,4CAIR;IAKD,gBAAgB,eAAY;IAE5B,gBAAgB,eAAY;IAC5B,cAAc,eAAY;IAE1B,eAAe,eAAY;IAE3B,MAAM,iBAC8C;IAEpD,qBAAqB,0BAenB;CACF;AAiCD,eAAO,MAAM,sCAAsC,EAAE,CAAC,CAAC,uBAAuB,CAAC,aAAa,CAa3F,CAAA"}
@@ -4,7 +4,10 @@ export class RegExpGrammar {
4
4
  //////////////////////////////////////////////////////////////////////////////////////////////
5
5
  // High-level productions
6
6
  //////////////////////////////////////////////////////////////////////////////////////////////
7
- root = () => this.sequenceOrDisjunction;
7
+ root = () => this.disjunctionOrSequence;
8
+ disjunctionOrSequence = () => [
9
+ G.anyOf(this.disjunction, this.sequence)
10
+ ];
8
11
  disjunction = () => [
9
12
  this.sequence,
10
13
  G.oneOrMore([
@@ -13,8 +16,14 @@ export class RegExpGrammar {
13
16
  ])
14
17
  ];
15
18
  sequence = () => G.cached(G.zeroOrMore(this.sequenceElement));
16
- sequenceOrDisjunction = [
17
- G.anyOf(this.disjunction, this.sequence)
19
+ sequenceElement = () => G.anyOf(this.anchor, this.lookaround, this.quantifiedExpression, this.quantifiableExpression);
20
+ //////////////////////////////////////////////////////////////////////////////////////////////
21
+ // Quantifiable expression
22
+ //////////////////////////////////////////////////////////////////////////////////////////////
23
+ quantifiableExpression = () => G.cached(G.anyOf(this.group, this.backReference, this.singleCharExpression));
24
+ quantifiedExpression = () => [
25
+ this.quantifiableExpression,
26
+ this.quantifier,
18
27
  ];
19
28
  //////////////////////////////////////////////////////////////////////////////////////////////
20
29
  // Quantifier expressions
@@ -56,22 +65,22 @@ export class RegExpGrammar {
56
65
  //////////////////////////////////////////////////////////////////////////////////////////////
57
66
  uncapturedGroup = () => [
58
67
  '(?:',
59
- this.sequenceOrDisjunction,
68
+ this.disjunctionOrSequence,
60
69
  ')',
61
70
  ];
62
71
  namedCaptureGroup = () => [
63
72
  '(?<',
64
73
  G.pattern(R.captureAs('name', R.oneOrMore(identifierChar))),
65
74
  '>',
66
- this.sequenceOrDisjunction,
75
+ this.disjunctionOrSequence,
67
76
  ')',
68
77
  ];
69
78
  unnamedCaptureGroup = () => [
70
79
  '(',
71
- this.sequenceOrDisjunction,
80
+ this.disjunctionOrSequence,
72
81
  ')',
73
82
  ];
74
- group = G.anyOf(this.uncapturedGroup, this.namedCaptureGroup, this.unnamedCaptureGroup);
83
+ group = () => G.anyOf(this.uncapturedGroup, this.namedCaptureGroup, this.unnamedCaptureGroup);
75
84
  //////////////////////////////////////////////////////////////////////////////////////////////
76
85
  // Backreferences
77
86
  //////////////////////////////////////////////////////////////////////////////////////////////
@@ -84,31 +93,31 @@ export class RegExpGrammar {
84
93
  R.captureAs('name', R.oneOrMore(identifierChar)),
85
94
  '>',
86
95
  ]);
87
- backReference = G.anyOf(this.unnamedBackreference, this.namedBackreference);
96
+ backReference = () => G.anyOf(this.unnamedBackreference, this.namedBackreference);
88
97
  //////////////////////////////////////////////////////////////////////////////////////////////
89
98
  // Lookahead and lookbehind expressions
90
99
  //////////////////////////////////////////////////////////////////////////////////////////////
91
100
  positiveLookahead = () => [
92
101
  '(?=',
93
- this.sequenceOrDisjunction,
102
+ this.disjunctionOrSequence,
94
103
  ')',
95
104
  ];
96
105
  negativeLookahead = () => [
97
106
  '(?!',
98
- this.sequenceOrDisjunction,
107
+ this.disjunctionOrSequence,
99
108
  ')',
100
109
  ];
101
110
  positiveLookbehind = () => [
102
111
  '(?<=',
103
- this.sequenceOrDisjunction,
112
+ this.disjunctionOrSequence,
104
113
  ')',
105
114
  ];
106
115
  negativeLookbehind = () => [
107
116
  '(?<!',
108
- this.sequenceOrDisjunction,
117
+ this.disjunctionOrSequence,
109
118
  ')',
110
119
  ];
111
- lookaround = G.anyOf(this.positiveLookahead, this.negativeLookahead, this.positiveLookbehind, this.negativeLookbehind);
120
+ lookaround = () => G.anyOf(this.positiveLookahead, this.negativeLookahead, this.positiveLookbehind, this.negativeLookbehind);
112
121
  //////////////////////////////////////////////////////////////////////////////////////////////
113
122
  // Single character expressions
114
123
  //////////////////////////////////////////////////////////////////////////////////////////////
@@ -144,15 +153,15 @@ export class RegExpGrammar {
144
153
  R.captureAs('end', R.oneOrMore(hexDigit)),
145
154
  '}',
146
155
  ]);
147
- unicodeProperty = () => G.pattern([
156
+ unicodeProperty = () => [
148
157
  '\\p',
149
158
  this.unicodePropertyBodyPattern,
150
- ]);
151
- notUnicodeProperty = () => G.pattern([
159
+ ];
160
+ notUnicodeProperty = () => [
152
161
  '\\P',
153
162
  this.unicodePropertyBodyPattern,
154
- ]);
155
- unicodePropertyBodyPattern = [
163
+ ];
164
+ unicodePropertyBodyPattern = () => G.pattern([
156
165
  '{',
157
166
  R.captureAs('property', R.oneOrMore(R.anyOf(letter, digit, '_', '-'))),
158
167
  R.possibly([
@@ -160,16 +169,16 @@ export class RegExpGrammar {
160
169
  R.captureAs('value', R.oneOrMore(R.anyOf(letter, digit, '_', '-'))),
161
170
  ]),
162
171
  '}',
163
- ];
172
+ ]);
164
173
  charClass = () => [
165
174
  '[',
166
175
  G.possibly(this.charClassNegator),
167
176
  G.oneOrMore(G.anyOf(this.charRange, this.codepointRange, this.unicodeProperty, this.notUnicodeProperty, this.escapedCharacterClass, this.charcodeOrEscapedChar, this.charClassLiteral)),
168
177
  ']',
169
178
  ];
170
- charcodeOrEscapedChar = G.anyOf(this.codepoint, this.hexCharcode, this.controlCharcode, this.nullCharcode, this.escapedCharLiteral);
179
+ charcodeOrEscapedChar = () => G.anyOf(this.codepoint, this.hexCharcode, this.controlCharcode, this.nullCharcode, this.escapedCharLiteral);
171
180
  charClassLiteral = () => G.pattern(R.captureAs('char', R.notAnyOfChars(']')));
172
- charRangeElement = G.anyOf(this.charcodeOrEscapedChar, this.charClassLiteral);
181
+ charRangeElement = () => G.anyOf(this.charcodeOrEscapedChar, this.charClassLiteral);
173
182
  charRangeStart = () => this.charRangeElement;
174
183
  charRangeEnd = () => this.charRangeElement;
175
184
  charRange = () => [
@@ -184,17 +193,8 @@ export class RegExpGrammar {
184
193
  inputStartAnchor = () => '^';
185
194
  inputEndAnchor = () => '$';
186
195
  anyCharWildcard = () => '.';
187
- anchor = G.anyOf(this.inputStartAnchor, this.inputEndAnchor);
196
+ anchor = () => G.anyOf(this.inputStartAnchor, this.inputEndAnchor);
188
197
  escapedCharacterClass = () => G.pattern(R.anyOf(R.captureAs('whitespace', escapedChars.whitespace), R.captureAs('nonWhitespace', escapedChars.nonWhitespace), R.captureAs('digit', escapedChars.digit), R.captureAs('nonDigit', escapedChars.nonDigit), R.captureAs('word', escapedChars.word), R.captureAs('nonWord', escapedChars.nonWord), R.captureAs('wordBoundary', escapedChars.wordBoundary), R.captureAs('nonWordBoundary', escapedChars.nonWordBoundary), R.captureAs('formFeed', escapedChars.formFeed), R.captureAs('carriageReturn', escapedChars.carriageReturn), R.captureAs('lineFeed', escapedChars.lineFeed), R.captureAs('tab', escapedChars.tab), R.captureAs('verticalTab', escapedChars.verticalTab), R.captureAs('backwardSlash', escapedChars.backwardSlash)));
189
- //////////////////////////////////////////////////////////////////////////////////////////////
190
- // Sequence elements (positioned here due to TypeScript class member ordering requirements)
191
- //////////////////////////////////////////////////////////////////////////////////////////////
192
- quantifiableExpression = G.cached(G.anyOf(this.group, this.backReference, this.singleCharExpression));
193
- quantifiedExpression = () => [
194
- this.quantifiableExpression,
195
- this.quantifier,
196
- ];
197
- sequenceElement = G.anyOf(this.anchor, this.lookaround, this.quantifiedExpression, this.quantifiableExpression);
198
198
  }
199
199
  //////////////////////////////////////////////////////////////////////////////////////////////
200
200
  // Shared regular expressions
@@ -222,4 +222,21 @@ const escapedChars = {
222
222
  verticalTab: '\\v',
223
223
  backwardSlash: '\\\\'
224
224
  };
225
+ //////////////////////////////////////////////////////////////////////////////////////////////
226
+ // Wrapped nonterminal names
227
+ //////////////////////////////////////////////////////////////////////////////////////////////
228
+ export const regExpGrammarUnwrappedNonterminalNames = [
229
+ 'disjunctionOrSequence',
230
+ 'group',
231
+ 'backReference',
232
+ 'lookaround',
233
+ 'unicodeProperty',
234
+ 'notUnicodeProperty',
235
+ 'unicodePropertyBodyPattern',
236
+ 'charcodeOrEscapedChar',
237
+ 'charRangeElement',
238
+ 'anchor',
239
+ 'quantifiableExpression',
240
+ 'sequenceElement',
241
+ ];
225
242
  //# sourceMappingURL=RegExpGrammar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegExpGrammar.js","sourceRoot":"","sources":["../../../src/tests/test-grammars/RegExpGrammar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegExpGrammar.js","sourceRoot":"","sources":["../../../src/tests/test-grammars/RegExpGrammar.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import * as G from '../../exports/Exports.js';
2
2
  export declare class XmlGrammar {
3
3
  document: () => G.Repetition[];
4
- textFragment: G.PatternTerminal;
5
- openingTag: () => (G.PatternTerminal | G.Repetition)[];
6
- openingTagStart: G.PatternTerminal;
7
- tagEnd: G.PatternTerminal;
8
- attribute: G.PatternTerminal;
9
- closingTag: G.PatternTerminal;
10
- declarationTag: () => (G.PatternTerminal | G.Repetition)[];
11
- declarationTagOpening: G.PatternTerminal;
12
- declarationTagAttribute: G.PatternTerminal;
13
- comment: G.PatternTerminal;
4
+ textFragment: () => G.PatternTerminal;
5
+ openingTag: () => (G.Repetition | (() => G.PatternTerminal))[];
6
+ openingTagStart: () => G.PatternTerminal;
7
+ tagEnd: () => G.PatternTerminal;
8
+ attribute: () => G.PatternTerminal;
9
+ closingTag: () => G.PatternTerminal;
10
+ declarationTag: () => (G.Repetition | (() => G.PatternTerminal))[];
11
+ declarationTagOpening: () => G.PatternTerminal;
12
+ declarationTagAttribute: () => G.PatternTerminal;
13
+ comment: () => G.PatternTerminal;
14
14
  }
15
+ export declare const xmlGrammarUnwrappedNonterminalNames: G.GrammarNonterminalNames<XmlGrammar>;
15
16
  //# sourceMappingURL=XmlGrammar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XmlGrammar.d.ts","sourceRoot":"","sources":["../../../src/tests/test-grammars/XmlGrammar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAA;AAG7C,qBAAa,UAAU;IACtB,QAAQ,uBAUP;IAED,YAAY,oBAEV;IAEF,UAAU,6CAMT;IAED,eAAe,oBAUb;IAEF,MAAM,oBAMJ;IAEF,SAAS,oBAkBP;IAEF,UAAU,oBAYR;IAEF,cAAc,6CAMb;IAED,qBAAqB,oBAQnB;IAEF,uBAAuB,oBAYrB;IAEF,OAAO,oBAQL;CACF"}
1
+ {"version":3,"file":"XmlGrammar.d.ts","sourceRoot":"","sources":["../../../src/tests/test-grammars/XmlGrammar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAA;AAG7C,qBAAa,UAAU;IACtB,QAAQ,uBAUP;IAED,YAAY,0BAEV;IAEF,UAAU,qDAMT;IAED,eAAe,0BAUb;IAEF,MAAM,0BAMJ;IAEF,SAAS,0BAkBP;IAEF,UAAU,0BAYR;IAEF,cAAc,qDAMb;IAED,qBAAqB,0BAQnB;IAEF,uBAAuB,0BAYrB;IAEF,OAAO,0BAQL;CACF;AAyBD,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,uBAAuB,CAAC,UAAU,CAIrF,CAAA"}
@@ -4,7 +4,7 @@ export class XmlGrammar {
4
4
  document = () => [
5
5
  G.zeroOrMore(G.anyOf(this.textFragment, this.openingTag, this.closingTag, this.comment, this.declarationTag))
6
6
  ];
7
- textFragment = G.pattern([
7
+ textFragment = () => G.pattern([
8
8
  R.oneOrMore(R.notAnyOfChars('<'))
9
9
  ]);
10
10
  openingTag = () => [
@@ -12,18 +12,18 @@ export class XmlGrammar {
12
12
  G.zeroOrMore(this.attribute),
13
13
  this.tagEnd
14
14
  ];
15
- openingTagStart = G.pattern([
15
+ openingTagStart = () => G.pattern([
16
16
  '<',
17
17
  R.possibly('?'),
18
18
  R.captureAs('tagName', R.oneOrMore(R.notAnyOfChars(R.whitespace, '"', "'", '?', '!', '/', '>'))),
19
19
  R.zeroOrMore(R.whitespace),
20
20
  ]);
21
- tagEnd = G.pattern([
21
+ tagEnd = () => G.pattern([
22
22
  R.zeroOrMore(R.whitespace),
23
23
  R.possibly(R.anyOf('/', '?')),
24
24
  '>'
25
25
  ]);
26
- attribute = G.pattern([
26
+ attribute = () => G.pattern([
27
27
  R.zeroOrMore(R.whitespace),
28
28
  R.captureAs('attributeName', R.oneOrMore(R.notAnyOfChars(R.whitespace, '=', '"', "'", '?', '/', '>'))),
29
29
  R.zeroOrMore(R.whitespace),
@@ -34,7 +34,7 @@ export class XmlGrammar {
34
34
  R.zeroOrMore(R.whitespace),
35
35
  ])
36
36
  ]);
37
- closingTag = G.pattern([
37
+ closingTag = () => G.pattern([
38
38
  '</',
39
39
  R.zeroOrMore(R.whitespace),
40
40
  R.captureAs('tagName', R.oneOrMore(R.notAnyOfChars(R.whitespace, '/', '>'))),
@@ -46,22 +46,25 @@ export class XmlGrammar {
46
46
  G.zeroOrMore(this.declarationTagAttribute),
47
47
  this.tagEnd
48
48
  ];
49
- declarationTagOpening = G.pattern([
49
+ declarationTagOpening = () => G.pattern([
50
50
  '<!',
51
51
  R.captureAs('tagName', R.oneOrMore(R.notAnyOfChars(R.whitespace, '"', "'", '/', '>'))),
52
52
  R.zeroOrMore(R.whitespace)
53
53
  ]);
54
- declarationTagAttribute = G.pattern([
54
+ declarationTagAttribute = () => G.pattern([
55
55
  R.zeroOrMore(R.whitespace),
56
56
  R.anyOf(R.captureAs('attributeName', R.oneOrMore(R.notAnyOfChars(R.whitespace, '"', "'", '/', '!', '?', '>'))), quotedString),
57
57
  R.zeroOrMore(R.whitespace),
58
58
  ]);
59
- comment = G.pattern([
59
+ comment = () => G.pattern([
60
60
  '<!--',
61
61
  R.captureAs('commentBody', R.zeroOrMoreNonGreedy(R.anyChar)),
62
62
  '-->'
63
63
  ]);
64
64
  }
65
+ //////////////////////////////////////////////////////////////////////////////////////////////
66
+ // Helper regular expressions
67
+ //////////////////////////////////////////////////////////////////////////////////////////////
65
68
  const quotedString = R.anyOf([
66
69
  '"',
67
70
  R.captureAs('doubleQuotedStringContent', R.zeroOrMore(R.notAnyOfChars('"'))),
@@ -71,4 +74,12 @@ const quotedString = R.anyOf([
71
74
  R.captureAs('singleQuotedStringContent', R.zeroOrMore(R.notAnyOfChars("'"))),
72
75
  "'"
73
76
  ]);
77
+ //////////////////////////////////////////////////////////////////////////////////////////////
78
+ // Wrapped nonterminal names
79
+ //////////////////////////////////////////////////////////////////////////////////////////////
80
+ export const xmlGrammarUnwrappedNonterminalNames = [
81
+ 'openingTagStart',
82
+ 'tagEnd',
83
+ 'declarationTagOpening',
84
+ ];
74
85
  //# sourceMappingURL=XmlGrammar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XmlGrammar.js","sourceRoot":"","sources":["../../../src/tests/test-grammars/XmlGrammar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XmlGrammar.js","sourceRoot":"","sources":["../../../src/tests/test-grammars/XmlGrammar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function getLineAndColumn(input: string, offset: number): {
2
+ line: number;
3
+ column: number;
4
+ };
5
+ export declare function expandTabs(text: string): string;
6
+ export declare function buildCaretSpacing(text: string, caretColumn: number): string;
7
+ //# sourceMappingURL=LineAndColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineAndColumn.d.ts","sourceRoot":"","sources":["../../src/utilities/LineAndColumn.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAehG;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiB/C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAmB3E"}
@@ -0,0 +1,52 @@
1
+ /////////////////////////////////////////////////////////////////////////////////////////////////
2
+ // Position helpers
3
+ /////////////////////////////////////////////////////////////////////////////////////////////////
4
+ export function getLineAndColumn(input, offset) {
5
+ let line = 1;
6
+ let lineStartOffset = 0;
7
+ for (let i = 0; i < offset && i < input.length; i++) {
8
+ if (input[i] === '\n') {
9
+ line += 1;
10
+ lineStartOffset = i + 1;
11
+ }
12
+ }
13
+ return {
14
+ line,
15
+ column: offset - lineStartOffset + 1
16
+ };
17
+ }
18
+ const tabSize = 4;
19
+ export function expandTabs(text) {
20
+ let result = '';
21
+ let column = 0;
22
+ for (const char of text) {
23
+ if (char === '\t') {
24
+ const spacesToNextTabStop = tabSize - (column % tabSize);
25
+ result += ' '.repeat(spacesToNextTabStop);
26
+ column += spacesToNextTabStop;
27
+ }
28
+ else {
29
+ result += char;
30
+ column += 1;
31
+ }
32
+ }
33
+ return result;
34
+ }
35
+ export function buildCaretSpacing(text, caretColumn) {
36
+ let spacing = '';
37
+ let column = 0;
38
+ for (let i = 0; i < caretColumn - 1 && i < text.length; i++) {
39
+ const char = text[i];
40
+ if (char === '\t') {
41
+ const spacesToNextTabStop = tabSize - (column % tabSize);
42
+ spacing += ' '.repeat(spacesToNextTabStop);
43
+ column += spacesToNextTabStop;
44
+ }
45
+ else {
46
+ spacing += ' ';
47
+ column += 1;
48
+ }
49
+ }
50
+ return spacing;
51
+ }
52
+ //# sourceMappingURL=LineAndColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineAndColumn.js","sourceRoot":"","sources":["../../src/utilities/LineAndColumn.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,mBAAmB;AACnB,iGAAiG;AACjG,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,MAAc;IAC7D,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,eAAe,GAAG,CAAC,CAAA;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,CAAA;YACT,eAAe,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACF,CAAC;IAED,OAAO;QACN,IAAI;QACJ,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,CAAC;KACpC,CAAA;AACF,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,CAAA;AAEjB,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,mBAAmB,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;YAExD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;YACzC,MAAM,IAAI,mBAAmB,CAAA;QAC9B,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,IAAI,CAAA;YACd,MAAM,IAAI,CAAC,CAAA;QACZ,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,WAAmB;IAClE,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAEpB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,mBAAmB,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;YAExD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAC1C,MAAM,IAAI,mBAAmB,CAAA;QAC9B,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,GAAG,CAAA;YACd,MAAM,IAAI,CAAC,CAAA;QACZ,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export declare class Timer {
2
- startTime: number;
3
- constructor();
2
+ private readonly logger;
3
+ private startTime;
4
+ constructor(logger?: TimerLogger);
4
5
  restart(): void;
5
6
  get elapsedTime(): number;
6
7
  get elapsedTimeSeconds(): number;
@@ -8,7 +9,10 @@ export declare class Timer {
8
9
  logAndRestart(title: string, timePrecision?: number): number;
9
10
  static get currentTime(): number;
10
11
  static get microsecondTimestamp(): number;
11
- private static createGlobalTimestampFunction;
12
12
  private static timestampFunc;
13
+ private static createTimestampFunction;
13
14
  }
15
+ export declare function roundToDigits(value: number, digits: number): number;
16
+ type TimerLogger = (msg: string) => void;
17
+ export {};
14
18
  //# sourceMappingURL=Timer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../src/utilities/Timer.ts"],"names":[],"mappings":"AAKA,qBAAa,KAAK;IACjB,SAAS,SAAI;IAEb,cAEC;IAED,OAAO,SAEN;IAED,IAAI,WAAW,IAAI,MAAM,CAGxB;IAED,IAAI,kBAAkB,IAAI,MAAM,CAG/B;IAED,wBAAwB,IAAI,MAAM,CAKjC;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,SAAI,GAAG,MAAM,CAYtD;IAED,MAAM,KAAK,WAAW,IAAI,MAAM,CAM/B;IAED,MAAM,KAAK,oBAAoB,IAAI,MAAM,CAExC;IAED,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAkC5C,OAAO,CAAC,MAAM,CAAC,aAAa,CAAc;CAC1C"}
1
+ {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../src/utilities/Timer.ts"],"names":[],"mappings":"AAAA,qBAAa,KAAK;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,CAAC,SAAS,CAAI;IAErB,YAAY,MAAM,CAAC,EAAE,WAAW,EAQ/B;IAGD,OAAO,IAAI,IAAI,CAEd;IAGD,IAAI,WAAW,IAAI,MAAM,CAExB;IAGD,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAGD,wBAAwB,IAAI,MAAM,CAKjC;IAGD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,SAAI,GAAG,MAAM,CAMtD;IAGD,MAAM,KAAK,WAAW,IAAI,MAAM,CAE/B;IAGD,MAAM,KAAK,oBAAoB,IAAI,MAAM,CAExC;IAGD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAgD;IAE5E,OAAO,CAAC,MAAM,CAAC,uBAAuB;CA4BtC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAInE;AAED,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA"}