grammar-composer 0.3.1 → 0.5.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 (64) 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 +12 -5
  7. package/dist/parser-generator/Grammar.d.ts.map +1 -1
  8. package/dist/parser-generator/Grammar.js +81 -263
  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 +52 -52
  25. package/dist/parser-generator/TopDownParser.js.map +1 -1
  26. package/dist/tests/Test.js +36 -26
  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 +34 -28
  33. package/dist/tests/test-grammars/RegExpGrammar.d.ts.map +1 -1
  34. package/dist/tests/test-grammars/RegExpGrammar.js +104 -60
  35. package/dist/tests/test-grammars/RegExpGrammar.js.map +1 -1
  36. package/dist/tests/test-grammars/SimpleTestGrammar1.d.ts +5 -0
  37. package/dist/tests/test-grammars/SimpleTestGrammar1.d.ts.map +1 -0
  38. package/dist/tests/test-grammars/SimpleTestGrammar1.js +7 -0
  39. package/dist/tests/test-grammars/SimpleTestGrammar1.js.map +1 -0
  40. package/dist/tests/test-grammars/XmlGrammar.d.ts +11 -10
  41. package/dist/tests/test-grammars/XmlGrammar.d.ts.map +1 -1
  42. package/dist/tests/test-grammars/XmlGrammar.js +19 -8
  43. package/dist/tests/test-grammars/XmlGrammar.js.map +1 -1
  44. package/dist/utilities/LineAndColumn.d.ts +7 -0
  45. package/dist/utilities/LineAndColumn.d.ts.map +1 -0
  46. package/dist/utilities/LineAndColumn.js +52 -0
  47. package/dist/utilities/LineAndColumn.js.map +1 -0
  48. package/dist/utilities/Utilities.d.ts +7 -7
  49. package/dist/utilities/Utilities.d.ts.map +1 -1
  50. package/dist/utilities/Utilities.js.map +1 -1
  51. package/package.json +2 -2
  52. package/src/exports/Exports.ts +2 -0
  53. package/src/parser-generator/Grammar.ts +120 -308
  54. package/src/parser-generator/ParseError.ts +337 -0
  55. package/src/parser-generator/StaticAnalysis.ts +340 -0
  56. package/src/parser-generator/TerminalToText.ts +196 -0
  57. package/src/parser-generator/TopDownParser.ts +76 -64
  58. package/src/tests/Test.ts +44 -28
  59. package/src/tests/test-grammars/JsonGrammar.ts +28 -10
  60. package/src/tests/test-grammars/RegExpGrammar.ts +193 -96
  61. package/src/tests/test-grammars/SimpleTestGrammar1.ts +10 -0
  62. package/src/tests/test-grammars/XmlGrammar.ts +20 -8
  63. package/src/utilities/LineAndColumn.ts +61 -0
  64. package/src/utilities/Utilities.ts +7 -7
@@ -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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"}
@@ -1,24 +1,31 @@
1
1
  import * as G from '../../exports/Exports.js';
2
- import * as R from 'regexp-composer';
3
2
  export declare class RegExpGrammar {
4
- disjunction: () => G.Production[];
5
- sequence: () => G.Repetition;
6
- element: () => G.Choice;
7
- possiblyQuantifiedExpression: () => G.Production[];
8
- exactCountQuantifier: () => G.PatternTerminal;
9
- countRangeQuantifier: () => G.PatternTerminal;
3
+ root: () => () => G.Choice[];
4
+ disjunctionOrSequence: () => G.Choice[];
5
+ disjunction: () => (G.Repetition | (() => G.Production))[];
6
+ sequence: () => G.Production;
7
+ sequenceElement: () => G.Choice;
8
+ quantifiableExpression: () => G.Production;
9
+ quantifiedExpression: () => (() => G.Production)[];
10
+ starQuantifier: () => G.Production[];
11
+ plusQuantifier: () => G.Production[];
12
+ optionalQuantifier: () => G.Production[];
13
+ exactCountQuantifier: () => G.Production[];
14
+ countRangeQuantifier: () => G.Production[];
15
+ nongreedyQuantifier: () => string;
16
+ quantifier: () => G.Choice;
17
+ uncapturedGroup: () => (string | (() => G.Choice[]))[];
18
+ namedCaptureGroup: () => (string | G.PatternTerminal | (() => G.Choice[]))[];
19
+ unnamedCaptureGroup: () => (string | (() => G.Choice[]))[];
10
20
  group: () => G.Choice;
11
- uncapturedGroup: () => (string | (() => G.Production[]))[];
12
- namedCaptureGroup: () => (string | G.PatternTerminal | (() => G.Production[]))[];
13
- unnamedCaptureGroup: () => (string | (() => G.Production[]))[];
14
21
  unnamedBackreference: () => G.PatternTerminal;
15
22
  namedBackreference: () => G.PatternTerminal;
16
- backReference: G.Choice;
17
- positiveLookahead: () => (string | (() => G.Production[]))[];
18
- negativeLookahead: () => (string | (() => G.Production[]))[];
19
- positiveLookbehind: () => (string | (() => G.Production[]))[];
20
- negativeLookbehind: () => (string | (() => G.Production[]))[];
21
- 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;
22
29
  singleCharExpression: () => G.Choice;
23
30
  unreservedCharLiteral: () => G.PatternTerminal;
24
31
  escapedCharLiteral: () => G.PatternTerminal;
@@ -27,23 +34,22 @@ export declare class RegExpGrammar {
27
34
  nullCharcode: () => G.PatternTerminal;
28
35
  codepoint: () => G.Choice;
29
36
  codepointRange: () => G.PatternTerminal;
30
- unicodeProperty: () => G.PatternTerminal;
31
- notUnicodeProperty: () => G.PatternTerminal;
32
- unicodePropertyBodyPattern: R.Pattern;
33
- charClassChar: () => G.PatternTerminal;
37
+ unicodeProperty: () => (string | (() => G.PatternTerminal))[];
38
+ notUnicodeProperty: () => (string | (() => G.PatternTerminal))[];
39
+ unicodePropertyBodyPattern: () => G.PatternTerminal;
34
40
  charClass: () => G.Production[];
35
- charcodeOrEscapedChar: G.Choice;
36
- charRangeElement: G.Choice;
37
- charRange: () => (string | G.Choice)[];
38
- starQuantifier: () => string;
39
- plusQuantifier: () => string;
40
- nongreedyQuantifier: () => string;
41
+ charcodeOrEscapedChar: () => G.Choice;
42
+ charClassLiteral: () => G.PatternTerminal;
43
+ charRangeElement: () => G.Choice;
44
+ charRangeStart: () => () => G.Choice;
45
+ charRangeEnd: () => () => G.Choice;
46
+ charRange: () => (string | (() => () => G.Choice))[];
41
47
  charClassNegator: () => string;
42
48
  inputStartAnchor: () => string;
43
49
  inputEndAnchor: () => string;
44
50
  anyCharWildcard: () => string;
45
- disjunctionSeparator: () => string;
46
- anchor: G.Choice;
51
+ anchor: () => G.Choice;
47
52
  escapedCharacterClass: () => G.PatternTerminal;
48
53
  }
54
+ export declare const regExpGrammarUnwrappedNonterminalNames: G.GrammarNonterminalNames<RegExpGrammar>;
49
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,WAAW,uBAOV;IAED,QAAQ,qBAAmC;IAE3C,OAAO,iBAIN;IAKD,4BAA4B,uBAe3B;IAED,oBAAoB,0BAIlB;IAEF,oBAAoB,0BAMlB;IAKF,KAAK,iBAIJ;IAED,eAAe,4CAId;IAED,iBAAiB,gEAMhB;IAED,mBAAmB,4CAIlB;IAKD,oBAAoB,0BAIjB;IAEH,kBAAkB,0BAKf;IAEH,aAAa,WAGZ;IAKD,iBAAiB,4CAIhB;IAED,iBAAiB,4CAIhB;IAED,kBAAkB,4CAIjB;IAED,kBAAkB,4CAIjB;IAED,UAAU,WAKT;IAKD,oBAAoB,iBAQnB;IAED,qBAAqB,0BAEpB;IAED,kBAAkB,0BAGhB;IAEF,WAAW,0BAKR;IAEH,eAAe,0BAGb;IAEF,YAAY,0BAAyB;IAErC,SAAS,iBAcR;IAED,cAAc,0BAOZ;IAEF,eAAe,0BAGb;IAEF,kBAAkB,0BAGhB;IAEF,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAQpC;IAED,aAAa,0BAAwC;IAErD,SAAS,uBAaR;IAED,qBAAqB,WAKpB;IAED,gBAAgB,WAGf;IAED,SAAS,8BAIR;IAKD,cAAc,eAAY;IAC1B,cAAc,eAAY;IAC1B,mBAAmB,eAAY;IAE/B,gBAAgB,eAAY;IAE5B,gBAAgB,eAAY;IAC5B,cAAc,eAAY;IAE1B,eAAe,eAAY;IAE3B,oBAAoB,eAAY;IAEhC,MAAM,WAAsD;IAE5D,qBAAqB,0BAenB;CACF"}
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,56 +4,83 @@ export class RegExpGrammar {
4
4
  //////////////////////////////////////////////////////////////////////////////////////////////
5
5
  // High-level productions
6
6
  //////////////////////////////////////////////////////////////////////////////////////////////
7
+ root = () => this.disjunctionOrSequence;
8
+ disjunctionOrSequence = () => [
9
+ G.anyOf(this.disjunction, this.sequence)
10
+ ];
7
11
  disjunction = () => [
8
12
  this.sequence,
9
- G.possibly([
10
- this.disjunctionSeparator,
11
- this.disjunction,
13
+ G.oneOrMore([
14
+ '|',
15
+ this.sequence,
12
16
  ])
13
17
  ];
14
- sequence = () => G.zeroOrMore(this.element);
15
- element = () => G.anyOf(this.anchor, this.lookaround, this.possiblyQuantifiedExpression);
18
+ sequence = () => G.cached(G.zeroOrMore(this.sequenceElement));
19
+ sequenceElement = () => G.anyOf(this.anchor, this.lookaround, this.quantifiedExpression, this.quantifiableExpression);
16
20
  //////////////////////////////////////////////////////////////////////////////////////////////
17
- // Quantifed expressions
21
+ // Quantifiable expression
18
22
  //////////////////////////////////////////////////////////////////////////////////////////////
19
- possiblyQuantifiedExpression = () => [
20
- G.anyOf(this.group, this.backReference, this.singleCharExpression),
21
- G.possibly(G.anyOf(this.starQuantifier, this.plusQuantifier, this.exactCountQuantifier, this.countRangeQuantifier)),
22
- G.possibly(this.nongreedyQuantifier), // Nongreedy quantifier
23
+ quantifiableExpression = () => G.cached(G.anyOf(this.group, this.backReference, this.singleCharExpression));
24
+ quantifiedExpression = () => [
25
+ this.quantifiableExpression,
26
+ this.quantifier,
23
27
  ];
24
- exactCountQuantifier = () => G.pattern([
25
- '{',
26
- R.captureAs('count', R.oneOrMore(digit)),
27
- '}',
28
- ]);
29
- countRangeQuantifier = () => G.pattern([
30
- '{',
31
- R.captureAs('start', R.oneOrMore(digit)),
32
- ',',
33
- R.possibly(R.captureAs('end', R.oneOrMore(digit))),
34
- '}',
35
- ]);
28
+ //////////////////////////////////////////////////////////////////////////////////////////////
29
+ // Quantifier expressions
30
+ //////////////////////////////////////////////////////////////////////////////////////////////
31
+ starQuantifier = () => [
32
+ '*',
33
+ G.possibly(this.nongreedyQuantifier)
34
+ ];
35
+ plusQuantifier = () => [
36
+ '+',
37
+ G.possibly(this.nongreedyQuantifier)
38
+ ];
39
+ optionalQuantifier = () => [
40
+ '?',
41
+ G.possibly(this.nongreedyQuantifier)
42
+ ];
43
+ exactCountQuantifier = () => [
44
+ G.pattern([
45
+ '{',
46
+ R.captureAs('count', R.oneOrMore(digit)),
47
+ '}',
48
+ ]),
49
+ G.possibly(this.nongreedyQuantifier)
50
+ ];
51
+ countRangeQuantifier = () => [
52
+ G.pattern([
53
+ '{',
54
+ R.captureAs('start', R.oneOrMore(digit)),
55
+ ',',
56
+ R.possibly(R.captureAs('end', R.oneOrMore(digit))),
57
+ '}',
58
+ ]),
59
+ G.possibly(this.nongreedyQuantifier)
60
+ ];
61
+ nongreedyQuantifier = () => '?';
62
+ quantifier = () => G.anyOf(this.starQuantifier, this.plusQuantifier, this.optionalQuantifier, this.exactCountQuantifier, this.countRangeQuantifier);
36
63
  //////////////////////////////////////////////////////////////////////////////////////////////
37
64
  // Group expressions
38
65
  //////////////////////////////////////////////////////////////////////////////////////////////
39
- group = () => G.anyOf(this.uncapturedGroup, this.namedCaptureGroup, this.unnamedCaptureGroup);
40
66
  uncapturedGroup = () => [
41
67
  '(?:',
42
- this.disjunction,
68
+ this.disjunctionOrSequence,
43
69
  ')',
44
70
  ];
45
71
  namedCaptureGroup = () => [
46
72
  '(?<',
47
73
  G.pattern(R.captureAs('name', R.oneOrMore(identifierChar))),
48
74
  '>',
49
- this.disjunction,
75
+ this.disjunctionOrSequence,
50
76
  ')',
51
77
  ];
52
78
  unnamedCaptureGroup = () => [
53
79
  '(',
54
- this.disjunction,
80
+ this.disjunctionOrSequence,
55
81
  ')',
56
82
  ];
83
+ group = () => G.anyOf(this.uncapturedGroup, this.namedCaptureGroup, this.unnamedCaptureGroup);
57
84
  //////////////////////////////////////////////////////////////////////////////////////////////
58
85
  // Backreferences
59
86
  //////////////////////////////////////////////////////////////////////////////////////////////
@@ -66,48 +93,47 @@ export class RegExpGrammar {
66
93
  R.captureAs('name', R.oneOrMore(identifierChar)),
67
94
  '>',
68
95
  ]);
69
- backReference = G.anyOf(this.unnamedBackreference, this.namedBackreference);
96
+ backReference = () => G.anyOf(this.unnamedBackreference, this.namedBackreference);
70
97
  //////////////////////////////////////////////////////////////////////////////////////////////
71
98
  // Lookahead and lookbehind expressions
72
99
  //////////////////////////////////////////////////////////////////////////////////////////////
73
100
  positiveLookahead = () => [
74
101
  '(?=',
75
- this.disjunction,
102
+ this.disjunctionOrSequence,
76
103
  ')',
77
104
  ];
78
105
  negativeLookahead = () => [
79
106
  '(?!',
80
- this.disjunction,
107
+ this.disjunctionOrSequence,
81
108
  ')',
82
109
  ];
83
110
  positiveLookbehind = () => [
84
111
  '(?<=',
85
- this.disjunction,
112
+ this.disjunctionOrSequence,
86
113
  ')',
87
114
  ];
88
115
  negativeLookbehind = () => [
89
116
  '(?<!',
90
- this.disjunction,
117
+ this.disjunctionOrSequence,
91
118
  ')',
92
119
  ];
93
- lookaround = G.anyOf(this.positiveLookahead, this.negativeLookahead, this.positiveLookbehind, this.negativeLookbehind);
120
+ lookaround = () => G.anyOf(this.positiveLookahead, this.negativeLookahead, this.positiveLookbehind, this.negativeLookbehind);
94
121
  //////////////////////////////////////////////////////////////////////////////////////////////
95
122
  // Single character expressions
96
123
  //////////////////////////////////////////////////////////////////////////////////////////////
97
124
  singleCharExpression = () => G.anyOf(this.anyCharWildcard, this.charClass, this.unicodeProperty, this.notUnicodeProperty, this.escapedCharacterClass, this.charcodeOrEscapedChar, this.unreservedCharLiteral);
98
- unreservedCharLiteral = () => G.pattern(R.notAnyOfChars('[', '.', '*', '+', '?', '^', '$', '{', '}', '(', ')', '|', ']', '\\'));
125
+ unreservedCharLiteral = () => G.pattern(R.captureAs('char', R.notAnyOfChars('[', '.', '*', '+', '?', '^', '$', '{', '}', '(', ')', '|', ']', '\\')));
99
126
  escapedCharLiteral = () => G.pattern([
100
127
  '\\',
101
- R.anyChar
128
+ R.captureAs('char', R.anyChar)
102
129
  ]);
103
130
  hexCharcode = () => G.pattern([
104
131
  '\\x',
105
- hexDigit,
106
- hexDigit
132
+ R.captureAs('value', R.repeated(2, hexDigit))
107
133
  ]);
108
134
  controlCharcode = () => G.pattern([
109
135
  '\\c',
110
- R.anyOf(R.charRange('A', 'Z'), R.charRange('a', 'z')),
136
+ R.captureAs('value', R.anyOf(R.charRange('A', 'Z'), R.charRange('a', 'z')))
111
137
  ]);
112
138
  nullCharcode = () => G.pattern('\\0');
113
139
  codepoint = () => G.anyOf(G.pattern([
@@ -117,10 +143,7 @@ export class RegExpGrammar {
117
143
  '}',
118
144
  ]), G.pattern([
119
145
  '\\u',
120
- hexDigit,
121
- hexDigit,
122
- hexDigit,
123
- hexDigit
146
+ R.captureAs('value', R.repeated(4, hexDigit))
124
147
  ]));
125
148
  codepointRange = () => G.pattern([
126
149
  '\\u',
@@ -130,15 +153,15 @@ export class RegExpGrammar {
130
153
  R.captureAs('end', R.oneOrMore(hexDigit)),
131
154
  '}',
132
155
  ]);
133
- unicodeProperty = () => G.pattern([
156
+ unicodeProperty = () => [
134
157
  '\\p',
135
158
  this.unicodePropertyBodyPattern,
136
- ]);
137
- notUnicodeProperty = () => G.pattern([
159
+ ];
160
+ notUnicodeProperty = () => [
138
161
  '\\P',
139
162
  this.unicodePropertyBodyPattern,
140
- ]);
141
- unicodePropertyBodyPattern = [
163
+ ];
164
+ unicodePropertyBodyPattern = () => G.pattern([
142
165
  '{',
143
166
  R.captureAs('property', R.oneOrMore(R.anyOf(letter, digit, '_', '-'))),
144
167
  R.possibly([
@@ -146,40 +169,44 @@ export class RegExpGrammar {
146
169
  R.captureAs('value', R.oneOrMore(R.anyOf(letter, digit, '_', '-'))),
147
170
  ]),
148
171
  '}',
149
- ];
150
- charClassChar = () => G.pattern(R.notAnyOfChars(']'));
172
+ ]);
151
173
  charClass = () => [
152
174
  '[',
153
175
  G.possibly(this.charClassNegator),
154
- G.oneOrMore(G.anyOf(this.charRange, this.codepointRange, this.unicodeProperty, this.notUnicodeProperty, this.escapedCharacterClass, this.charcodeOrEscapedChar, this.charClassChar)),
176
+ G.oneOrMore(G.anyOf(this.charRange, this.codepointRange, this.unicodeProperty, this.notUnicodeProperty, this.escapedCharacterClass, this.charcodeOrEscapedChar, this.charClassLiteral)),
155
177
  ']',
156
178
  ];
157
- charcodeOrEscapedChar = G.anyOf(this.codepoint, this.hexCharcode, this.controlCharcode, this.escapedCharLiteral);
158
- charRangeElement = G.anyOf(this.charcodeOrEscapedChar, G.pattern(R.notAnyOfChars(']')));
179
+ charcodeOrEscapedChar = () => G.anyOf(this.codepoint, this.hexCharcode, this.controlCharcode, this.nullCharcode, this.escapedCharLiteral);
180
+ charClassLiteral = () => G.pattern(R.captureAs('char', R.notAnyOfChars(']')));
181
+ charRangeElement = () => G.anyOf(this.charcodeOrEscapedChar, this.charClassLiteral);
182
+ charRangeStart = () => this.charRangeElement;
183
+ charRangeEnd = () => this.charRangeElement;
159
184
  charRange = () => [
160
- this.charRangeElement,
185
+ this.charRangeStart,
161
186
  '-',
162
- this.charRangeElement,
187
+ this.charRangeEnd,
163
188
  ];
164
189
  //////////////////////////////////////////////////////////////////////////////////////////////
165
190
  // Special symbols
166
191
  //////////////////////////////////////////////////////////////////////////////////////////////
167
- starQuantifier = () => '*';
168
- plusQuantifier = () => '+';
169
- nongreedyQuantifier = () => '?';
170
192
  charClassNegator = () => '^';
171
193
  inputStartAnchor = () => '^';
172
194
  inputEndAnchor = () => '$';
173
195
  anyCharWildcard = () => '.';
174
- disjunctionSeparator = () => '|';
175
- anchor = G.anyOf(this.inputStartAnchor, this.inputEndAnchor);
176
- escapedCharacterClass = () => G.pattern(R.anyOf(R.captureAs('whitespace', escapedCharString.whitespace), R.captureAs('nonWhitespace', escapedCharString.nonWhitespace), R.captureAs('digit', escapedCharString.digit), R.captureAs('nonDigit', escapedCharString.nonDigit), R.captureAs('word', escapedCharString.word), R.captureAs('nonWord', escapedCharString.nonWord), R.captureAs('wordBoundary', escapedCharString.wordBoundary), R.captureAs('nonWordBoundary', escapedCharString.nonWordBoundary), R.captureAs('formFeed', escapedCharString.formFeed), R.captureAs('carriageReturn', escapedCharString.carriageReturn), R.captureAs('lineFeed', escapedCharString.lineFeed), R.captureAs('tab', escapedCharString.tab), R.captureAs('verticalTab', escapedCharString.verticalTab), R.captureAs('backwardSlash', escapedCharString.backwardSlash)));
196
+ anchor = () => G.anyOf(this.inputStartAnchor, this.inputEndAnchor);
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)));
177
198
  }
199
+ //////////////////////////////////////////////////////////////////////////////////////////////
200
+ // Shared regular expressions
201
+ //////////////////////////////////////////////////////////////////////////////////////////////
178
202
  const digit = R.charRange('0', '9');
179
203
  const letter = R.anyOf(R.charRange('a', 'z'), R.charRange('A', 'Z'));
180
204
  const hexDigit = R.anyOf(digit, R.charRange('a', 'f'), R.charRange('A', 'F'));
181
205
  const identifierChar = R.anyOf(letter, digit, '_', '$');
182
- const escapedCharString = {
206
+ //////////////////////////////////////////////////////////////////////////////////////////////
207
+ // Escaped characters lookup
208
+ //////////////////////////////////////////////////////////////////////////////////////////////
209
+ const escapedChars = {
183
210
  whitespace: '\\s',
184
211
  nonWhitespace: '\\S',
185
212
  digit: '\\d',
@@ -195,4 +222,21 @@ const escapedCharString = {
195
222
  verticalTab: '\\v',
196
223
  backwardSlash: '\\\\'
197
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
+ ];
198
242
  //# sourceMappingURL=RegExpGrammar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegExpGrammar.js","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,MAAM,OAAO,aAAa;IACzB,8FAA8F;IAC9F,yBAAyB;IACzB,8FAA8F;IAC9F,WAAW,GAAG,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ;QAEb,CAAC,CAAC,QAAQ,CAAC;YACV,IAAI,CAAC,oBAAoB;YACzB,IAAI,CAAC,WAAW;SAChB,CAAC;KACF,CAAA;IAED,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE3C,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACtB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,4BAA4B,CACjC,CAAA;IAED,8FAA8F;IAC9F,wBAAwB;IACxB,8FAA8F;IAC9F,4BAA4B,GAAG,GAAG,EAAE,CAAC;QACpC,CAAC,CAAC,KAAK,CACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,oBAAoB,CACzB;QAED,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,oBAAoB,CACzB,CAAC;QAEF,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,uBAAuB;KAC7D,CAAA;IAED,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACtC,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG;KACH,CAAC,CAAA;IAEF,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACtC,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG;QACH,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,GAAG;KACH,CAAC,CAAA;IAEF,8FAA8F;IAC9F,oBAAoB;IACpB,8FAA8F;IAC9F,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,mBAAmB,CACxB,CAAA;IAED,eAAe,GAAG,GAAG,EAAE,CAAC;QACvB,KAAK;QACL,IAAI,CAAC,WAAW;QAChB,GAAG;KACH,CAAA;IAED,iBAAiB,GAAG,GAAG,EAAE,CAAC;QACzB,KAAK;QACL,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3D,GAAG;QACH,IAAI,CAAC,WAAW;QAChB,GAAG;KACH,CAAA;IAED,mBAAmB,GAAG,GAAG,EAAE,CAAC;QAC3B,GAAG;QACH,IAAI,CAAC,WAAW;QAChB,GAAG;KACH,CAAA;IAED,8FAA8F;IAC9F,iBAAiB;IACjB,8FAA8F;IAC9F,oBAAoB,GAAG,GAAG,EAAE,CAC3B,CAAC,CAAC,OAAO,CAAC;QACT,IAAI;QACJ,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;KAC3B,CAAC,CAAA;IAEH,kBAAkB,GAAG,GAAG,EAAE,CACzB,CAAC,CAAC,OAAO,CAAC;QACT,MAAM;QACN,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAChD,GAAG;KACH,CAAC,CAAA;IAEH,aAAa,GAAG,CAAC,CAAC,KAAK,CACtB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,kBAAkB,CACvB,CAAA;IAED,8FAA8F;IAC9F,uCAAuC;IACvC,8FAA8F;IAC9F,iBAAiB,GAAG,GAAG,EAAE,CAAC;QACzB,KAAK;QACL,IAAI,CAAC,WAAW;QAChB,GAAG;KACH,CAAA;IAED,iBAAiB,GAAG,GAAG,EAAE,CAAC;QACzB,KAAK;QACL,IAAI,CAAC,WAAW;QAChB,GAAG;KACH,CAAA;IAED,kBAAkB,GAAG,GAAG,EAAE,CAAC;QAC1B,MAAM;QACN,IAAI,CAAC,WAAW;QAChB,GAAG;KACH,CAAA;IAED,kBAAkB,GAAG,GAAG,EAAE,CAAC;QAC1B,MAAM;QACN,IAAI,CAAC,WAAW;QAChB,GAAG;KACH,CAAA;IAED,UAAU,GAAG,CAAC,CAAC,KAAK,CACnB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,kBAAkB,CACvB,CAAA;IAED,8FAA8F;IAC9F,+BAA+B;IAC/B,8FAA8F;IAC9F,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACnC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,CAC1B,CAAA;IAED,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CACtC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACtF,CAAA;IAED,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACpC,IAAI;QACJ,CAAC,CAAC,OAAO;KACT,CAAC,CAAA;IAEF,WAAW,GAAG,GAAG,EAAE,CAClB,CAAC,CAAC,OAAO,CAAC;QACT,KAAK;QACL,QAAQ;QACR,QAAQ;KACR,CAAC,CAAA;IAEH,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,KAAK;QACL,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACrD,CAAC,CAAA;IAEF,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAErC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACxB,CAAC,CAAC,OAAO,CAAC;QACT,KAAK;QACL,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClD,GAAG;KACH,CAAC,EACF,CAAC,CAAC,OAAO,CAAC;QACT,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;KACR,CAAC,CACF,CAAA;IAED,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAChC,KAAK;QACL,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3C,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,GAAG;KACH,CAAC,CAAA;IAEF,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,KAAK;QACL,IAAI,CAAC,0BAA0B;KAC/B,CAAC,CAAA;IAEF,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACpC,KAAK;QACL,IAAI,CAAC,0BAA0B;KAC/B,CAAC,CAAA;IAEF,0BAA0B,GAAc;QACvC,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,QAAQ,CAAC;YACV,GAAG;YACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACnE,CAAC;QACF,GAAG;KACH,CAAA;IAED,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IAErD,SAAS,GAAG,GAAG,EAAE,CAAC;QACjB,GAAG;QACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACjC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,aAAa,CAClB,CAAC;QACF,GAAG;KACH,CAAA;IAED,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAC9B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACvB,CAAA;IAED,gBAAgB,GAAG,CAAC,CAAC,KAAK,CACzB,IAAI,CAAC,qBAAqB,EAC1B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAC/B,CAAA;IAED,SAAS,GAAG,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,gBAAgB;QACrB,GAAG;QACH,IAAI,CAAC,gBAAgB;KACrB,CAAA;IAED,8FAA8F;IAC9F,kBAAkB;IAClB,8FAA8F;IAC9F,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAC1B,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAC1B,mBAAmB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAE/B,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAE5B,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAC5B,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAE1B,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAE3B,oBAAoB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAEhC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAE5D,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC9C,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACvD,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAC7D,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAC7C,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACnD,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAC3C,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,OAAO,CAAC,EACjD,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC,EAC3D,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,eAAe,CAAC,EACjE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACnD,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC/D,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACnD,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EACzC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,EACzD,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAC7D,CAAC,CAAA;CACF;AAED,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACnC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACpE,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAC7E,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEvD,MAAM,iBAAiB,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,KAAK;IACtB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,KAAK;IACrB,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,MAAM;CACrB,CAAA"}
1
+ {"version":3,"file":"RegExpGrammar.js","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,MAAM,OAAO,aAAa;IACzB,8FAA8F;IAC9F,yBAAyB;IACzB,8FAA8F;IAC9F,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAA;IAEvC,qBAAqB,GAAG,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC,KAAK,CACN,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,CACb;KACD,CAAA;IAED,WAAW,GAAG,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ;QAEb,CAAC,CAAC,SAAS,CAAC;YACX,GAAG;YACH,IAAI,CAAC,QAAQ;SACb,CAAC;KACF,CAAA;IAED,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CACxB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAClC,CAAA;IAED,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,sBAAsB,CAC3B,CAAA;IAED,8FAA8F;IAC9F,0BAA0B;IAC1B,8FAA8F;IAC9F,sBAAsB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CACtC,CAAC,CAAC,KAAK,CACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,oBAAoB,CACzB,CACD,CAAA;IAED,oBAAoB,GAAG,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB;QAC3B,IAAI,CAAC,UAAU;KACf,CAAA;IAED,8FAA8F;IAC9F,yBAAyB;IACzB,8FAA8F;IAC9F,cAAc,GAAG,GAAG,EAAE,CAAC;QACtB,GAAG;QACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC;KACpC,CAAA;IAED,cAAc,GAAG,GAAG,EAAE,CAAC;QACtB,GAAG;QACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC;KACpC,CAAA;IAED,kBAAkB,GAAG,GAAG,EAAE,CAAC;QAC1B,GAAG;QACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC;KACpC,CAAA;IAED,oBAAoB,GAAG,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,OAAO,CAAC;YACT,GAAG;YACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAClB;YACD,GAAG;SACH,CAAC;QACF,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC;KACpC,CAAA;IAED,oBAAoB,GAAG,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,OAAO,CAAC;YACT,GAAG;YACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAClB;YACD,GAAG;YACH,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAC3B,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACnB;YACD,GAAG;SACH,CAAC;QACF,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC;KACpC,CAAA;IAED,mBAAmB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAE/B,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACzB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,oBAAoB,CACzB,CAAA;IAED,8FAA8F;IAC9F,oBAAoB;IACpB,8FAA8F;IAC9F,eAAe,GAAG,GAAG,EAAE,CAAC;QACvB,KAAK;QACL,IAAI,CAAC,qBAAqB;QAC1B,GAAG;KACH,CAAA;IAED,iBAAiB,GAAG,GAAG,EAAE,CAAC;QACzB,KAAK;QACL,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAC3B,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAC5B;QACD,GAAG;QACH,IAAI,CAAC,qBAAqB;QAC1B,GAAG;KACH,CAAA;IAED,mBAAmB,GAAG,GAAG,EAAE,CAAC;QAC3B,GAAG;QACH,IAAI,CAAC,qBAAqB;QAC1B,GAAG;KACH,CAAA;IAED,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,mBAAmB,CACxB,CAAA;IAED,8FAA8F;IAC9F,iBAAiB;IACjB,8FAA8F;IAC9F,oBAAoB,GAAG,GAAG,EAAE,CAC3B,CAAC,CAAC,OAAO,CAAC;QACT,IAAI;QACJ,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,KAAK,CACL;KACD,CAAC,CAAA;IAEH,kBAAkB,GAAG,GAAG,EAAE,CACzB,CAAC,CAAC,OAAO,CAAC;QACT,MAAM;QACN,CAAC,CAAC,SAAS,CAAC,MAAM,EACjB,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAC3B;QACD,GAAG;KACH,CAAC,CAAA;IAEH,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAC5B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,kBAAkB,CACvB,CAAA;IAED,8FAA8F;IAC9F,uCAAuC;IACvC,8FAA8F;IAC9F,iBAAiB,GAAG,GAAG,EAAE,CAAC;QACzB,KAAK;QACL,IAAI,CAAC,qBAAqB;QAC1B,GAAG;KACH,CAAA;IAED,iBAAiB,GAAG,GAAG,EAAE,CAAC;QACzB,KAAK;QACL,IAAI,CAAC,qBAAqB;QAC1B,GAAG;KACH,CAAA;IAED,kBAAkB,GAAG,GAAG,EAAE,CAAC;QAC1B,MAAM;QACN,IAAI,CAAC,qBAAqB;QAC1B,GAAG;KACH,CAAA;IAED,kBAAkB,GAAG,GAAG,EAAE,CAAC;QAC1B,MAAM;QACN,IAAI,CAAC,qBAAqB;QAC1B,GAAG;KACH,CAAA;IAED,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACzB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,kBAAkB,CACvB,CAAA;IAED,8FAA8F;IAC9F,+BAA+B;IAC/B,8FAA8F;IAC9F,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACnC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,CAC1B,CAAA;IAED,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CACtC,CAAC,CAAC,SAAS,CAAC,MAAM,EACjB,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACtF,CACD,CAAA;IAED,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACpC,IAAI;QACJ,CAAC,CAAC,SAAS,CAAC,MAAM,EACjB,CAAC,CAAC,OAAO,CACT;KACD,CAAC,CAAA;IAEF,WAAW,GAAG,GAAG,EAAE,CAClB,CAAC,CAAC,OAAO,CAAC;QACT,KAAK;QACL,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CACvB;KACD,CAAC,CAAA;IAEH,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,KAAK;QACL,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACrD;KACD,CAAC,CAAA;IAEF,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAErC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACxB,CAAC,CAAC,OAAO,CAAC;QACT,KAAK;QACL,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAC5B;QACD,GAAG;KACH,CAAC,EACF,CAAC,CAAC,OAAO,CAAC;QACT,KAAK;QACL,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CACvB;KACD,CAAC,CACF,CAAA;IAED,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAChC,KAAK;QACL,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CACrB;QACD,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,KAAK,EAChB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CACrB;QACD,GAAG;KACH,CAAC,CAAA;IAEF,eAAe,GAAG,GAAG,EAAE,CAAC;QACvB,KAAK;QACL,IAAI,CAAC,0BAA0B;KAC/B,CAAA;IAED,kBAAkB,GAAG,GAAG,EAAE,CAAC;QAC1B,KAAK;QACL,IAAI,CAAC,0BAA0B;KAC/B,CAAA;IAED,0BAA0B,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,GAAG;QACH,CAAC,CAAC,SAAS,CAAC,UAAU,EACrB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAC7C;QACD,CAAC,CAAC,QAAQ,CAAC;YACV,GAAG;YACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAClB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAC7C;SACD,CAAC;QACF,GAAG;KACH,CAAC,CAAA;IAEF,SAAS,GAAG,GAAG,EAAE,CAAC;QACjB,GAAG;QACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACjC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,gBAAgB,CACrB,CAAC;QACF,GAAG;KACH,CAAA;IAED,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CACpC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,CACvB,CAAA;IAED,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CACjC,CAAC,CAAC,SAAS,CAAC,MAAM,EACjB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CACpB,CACD,CAAA;IAED,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAC/B,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,gBAAgB,CACrB,CAAA;IAED,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAA;IAC5C,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAA;IAE1C,SAAS,GAAG,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc;QACnB,GAAG;QACH,IAAI,CAAC,YAAY;KACjB,CAAA;IAED,8FAA8F;IAC9F,kBAAkB;IAClB,8FAA8F;IAC9F,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAE5B,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAC5B,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAE1B,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAE3B,MAAM,GAAG,GAAG,EAAE,CACb,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAEpD,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC9C,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,EAClD,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,aAAa,CAAC,EACxD,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EACxC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9C,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EACtC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAC5C,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,YAAY,CAAC,EACtD,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAAE,YAAY,CAAC,eAAe,CAAC,EAC5D,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9C,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,YAAY,CAAC,cAAc,CAAC,EAC1D,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9C,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EACpC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,EACpD,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,aAAa,CAAC,CACxD,CAAC,CAAA;CACF;AAED,8FAA8F;AAC9F,6BAA6B;AAC7B,8FAA8F;AAC9F,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACnC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACpE,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAC7E,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEvD,8FAA8F;AAC9F,4BAA4B;AAC5B,8FAA8F;AAC9F,MAAM,YAAY,GAAG;IACpB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,KAAK;IACtB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,KAAK;IACrB,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,MAAM;CACrB,CAAA;AAED,8FAA8F;AAC9F,4BAA4B;AAC5B,8FAA8F;AAC9F,MAAM,CAAC,MAAM,sCAAsC,GAA6C;IAC/F,uBAAuB;IACvB,OAAO;IACP,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,oBAAoB;IACpB,4BAA4B;IAC5B,uBAAuB;IACvB,kBAAkB;IAClB,QAAQ;IACR,wBAAwB;IACxB,iBAAiB;CACjB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import * as G from '../../exports/Exports.js';
2
+ export declare class SimpleTestGrammar1 {
3
+ root: () => G.Choice[];
4
+ }
5
+ //# sourceMappingURL=SimpleTestGrammar1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleTestGrammar1.d.ts","sourceRoot":"","sources":["../../../src/tests/test-grammars/SimpleTestGrammar1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAA;AAE7C,qBAAa,kBAAkB;IAC9B,IAAI,mBAKH;CACD"}
@@ -0,0 +1,7 @@
1
+ import * as G from '../../exports/Exports.js';
2
+ export class SimpleTestGrammar1 {
3
+ root = () => [
4
+ G.anyOf('abc', 'abcdefg')
5
+ ];
6
+ }
7
+ //# sourceMappingURL=SimpleTestGrammar1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleTestGrammar1.js","sourceRoot":"","sources":["../../../src/tests/test-grammars/SimpleTestGrammar1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAA;AAE7C,MAAM,OAAO,kBAAkB;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,KAAK,CACN,KAAK,EACL,SAAS,CACT;KACD,CAAA;CACD"}
@@ -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":"AAAA,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAA;AAC7C,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;AAEpC,MAAM,OAAO,UAAU;IACtB,QAAQ,GAAG,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,UAAU,CACX,CAAC,CAAC,KAAK,CACN,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,CACnB,CACD;KACD,CAAA;IAED,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KACjC,CAAC,CAAA;IAEF,UAAU,GAAG,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe;QAEpB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;QAE5B,IAAI,CAAC,MAAM;KACX,CAAA;IAED,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC;QAC3B,GAAG;QAEH,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAEf,CAAC,CAAC,SAAS,CAAC,SAAS,EACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACxE;QAED,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;KAC1B,CAAC,CAAA;IAEF,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;QAClB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE7B,GAAG;KACH,CAAC,CAAA;IAEF,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1B,CAAC,CAAC,SAAS,CAAC,eAAe,EAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACxE;QAED,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1B,CAAC,CAAC,QAAQ,CAAC;YACV,GAAG;YAEH,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAE1B,YAAY;YAEZ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;SAC1B,CAAC;KACF,CAAC,CAAA;IAEF,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC;QACtB,IAAI;QAEJ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1B,CAAC,CAAC,SAAS,CAAC,SAAS,EACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACpD;QAED,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1B,GAAG;KACH,CAAC,CAAA;IAEF,cAAc,GAAG,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,qBAAqB;QAE1B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAE1C,IAAI,CAAC,MAAM;KACX,CAAA;IAED,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAAC;QACjC,IAAI;QAEJ,CAAC,CAAC,SAAS,CAAC,SAAS,EACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAC9D;QAED,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;KAC1B,CAAC,CAAA;IAEF,uBAAuB,GAAG,CAAC,CAAC,OAAO,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1B,CAAC,CAAC,KAAK,CACN,CAAC,CAAC,SAAS,CAAC,eAAe,EAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACxE,EAED,YAAY,CACZ;QAED,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;KAC1B,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACnB,MAAM;QAEN,CAAC,CAAC,SAAS,CAAC,aAAa,EACxB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAChC;QAED,KAAK;KACL,CAAC,CAAA;CACF;AAED,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAC3B;IACC,GAAG;IACH,CAAC,CAAC,SAAS,CAAC,2BAA2B,EACtC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAClC;IACD,GAAG;CACH,EACD;IACC,GAAG;IACH,CAAC,CAAC,SAAS,CAAC,2BAA2B,EACtC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAClC;IACD,GAAG;CACH,CACD,CAAA"}
1
+ {"version":3,"file":"XmlGrammar.js","sourceRoot":"","sources":["../../../src/tests/test-grammars/XmlGrammar.ts"],"names":[],"mappings":"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"}