occam-parsers 23.1.209 → 23.2.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/README.md CHANGED
@@ -20,89 +20,100 @@ Three parsers are documented:
20
20
  * A basic parser, for illustrative purposes, and for developing new grammars.
21
21
  * The common parser, which can be extended.
22
22
 
23
- All parsers share common functionality. The last two parse content according to rules defined in the aforementioned variant of extended BNF. The BNF parser on the other hand has its rules hard-coded. These rules can be defined in the self same variant that they implement:
23
+ All parsers share common functionality.
24
+ The last two parse content according to rules defined in the aforementioned variant of extended BNF.
25
+ The BNF parser on the other hand has its rules hard-coded.
26
+ These rules can be defined in the self same variant that they implement:
24
27
 
25
- document ::= ( rule | error )+ ;
28
+ ```
29
+ document ::= ( rule | error )+ ;
30
+
31
+ rule ::= name opacityModifier? "::=" definitions ";" ;
32
+
33
+ name ::= [name] ;
34
+
35
+ definitions ::= definition ( "|" definition )* ;
26
36
 
27
- rule ::= name opacityModifier? "::=" definitions ";" ;
37
+ definition ::= part+ precedence? ;
28
38
 
29
- name ::= [name] ;
39
+ part ::= nonTerminalPart quantifier*
30
40
 
31
- definitions ::= definition ( "|" definition )* ;
41
+ | terminalPart quantifier*
32
42
 
33
- definition ::= part+ precedence? ;
34
-
35
- part ::= nonTerminalPart quantifier*
43
+ ;
36
44
 
37
- | terminalPart quantifier*
38
-
39
- ;
45
+ nonTerminalPart ::= choiceOfParts
40
46
 
41
- nonTerminalPart ::= choiceOfParts
47
+ | sequenceOfParts
48
+
49
+ | ruleName continuationModifier?
50
+
51
+ ;
42
52
 
43
- | sequenceOfParts
53
+ terminalPart ::= significantTokenType
44
54
 
45
- | ruleName continuationModifier?
55
+ | regularExpression
56
+
57
+ | stringLiteral
58
+
59
+ | backtick
60
+
61
+ | wildcard
62
+
63
+ | epsilon
64
+
65
+ | endOfLine
66
+
67
+ | noWhitespace
68
+
69
+ ;
70
+
71
+ sequenceOfParts ::= "(" part part+ ")" ;
46
72
 
47
- ;
73
+ choiceOfParts ::= "(" partChoice ( "|" partChoice )+ ")" ;
48
74
 
49
- terminalPart ::= significantTokenType
50
-
51
- | regularExpression
52
-
53
- | stringLiteral
54
-
55
- | endOfLine
56
-
57
- | wildcard
58
-
59
- | epsilon
75
+ partChoice ::= part precedence? ;
60
76
 
61
- | noWhitespace
77
+ ruleName ::= [name] ;
62
78
 
63
- ;
64
-
65
- sequenceOfParts ::= "(" part part+ ")" ;
79
+ significantTokenType ::= [type] ;
66
80
 
67
- choiceOfParts ::= "(" part precedence? ( "|" part precedence? )+ ")" ;
81
+ regularExpression ::= [regular-expression] ;
68
82
 
69
- ruleName ::= [name] ;
83
+ stringLiteral ::= [string-literal] ;
70
84
 
71
- significantTokenType ::= [type] ;
85
+ precedence ::= "(" [number]? ")" ;
72
86
 
73
- regularExpression ::= [regular-expression] ;
87
+ endOfLine ::= "<END_OF_LINE>" ;
74
88
 
75
- stringLiteral ::= [string-literal] ;
89
+ backtick ::= "\`" ;
76
90
 
77
- precedence ::= "(" [number]? ")" ;
78
-
79
- endOfLine ::= "<END_OF_LINE>" ;
80
-
81
- wildcard ::= "." ;
91
+ wildcard ::= "." ;
82
92
 
83
- epsilon ::= "ε" ;
93
+ epsilon ::= "ε" ;
84
94
 
85
- noWhitespace ::= "<NO_WHITESPACE>" ;
95
+ noWhitespace ::= "<NO_WHITESPACE>" ;
86
96
 
87
- quantifier ::= optionalQuantifier
88
-
89
- | oneOrMoreQuantifier
90
-
91
- | zeroOrMoreQuantifier
92
-
93
- ;
97
+ quantifier ::= optionalQuantifier
94
98
 
95
- opacityModifier ::= <NO_WHITESPACE>( "." | ".." );
99
+ | oneOrMoreQuantifier
100
+
101
+ | zeroOrMoreQuantifier
102
+
103
+ ;
96
104
 
97
- continuationModifier ::= <NO_WHITESPACE>"..." ;
105
+ opacityModifier ::= <NO_WHITESPACE>( "." | ".." );
98
106
 
99
- optionalQuantifier ::= <NO_WHITESPACE>"?" ;
107
+ continuationModifier ::= <NO_WHITESPACE>"..." ;
100
108
 
101
- oneOrMoreQuantifier ::= <NO_WHITESPACE>"+" ;
109
+ optionalQuantifier ::= <NO_WHITESPACE>"?" ;
102
110
 
103
- zeroOrMoreQuantifier ::= <NO_WHITESPACE>"*" ;
111
+ oneOrMoreQuantifier ::= <NO_WHITESPACE>"+" ;
104
112
 
105
- error. ::= . ;
113
+ zeroOrMoreQuantifier ::= <NO_WHITESPACE>"*" ;
114
+
115
+ error. ::= . ;
116
+ ```
106
117
 
107
118
  ## Installation
108
119
 
@@ -130,17 +141,21 @@ The examples will then be available at the following URL:
130
141
 
131
142
  http://localhost:8888
132
143
 
133
- The source for the examples can be found in the `src/example.js` file and corresponding `src/example` folder. You are encouraged to try the examples whilst reading what follows. You can rebuild them on the fly with the following command:
144
+ The source for the examples can be found in the `src/example.js` file and corresponding `src/example` folder.
145
+ You are encouraged to try the examples whilst reading what follows.
146
+ You can rebuild them on the fly with the following command:
134
147
 
135
148
  npm run watch-debug
136
149
 
137
150
  The development server will reload the page whenever you make changes.
138
151
 
139
- One last thing to bear in mind is that this package is included by way of a relative rather than a package import. If you are importing it into your own application, however, you should use the standard package import.
152
+ One last thing to bear in mind is that this package is included by way of a relative rather than a package import.
153
+ If you are importing it into your own application, however, then you should use the standard package import.
140
154
 
141
155
  ## Usage
142
156
 
143
- Import the requisite parser and its corresponding lexer from this package and the `occam-lexers` package, respectively. Then call their `fromNothing(...)` factory methods.
157
+ Import the requisite parser and its corresponding lexer from this package and the `occam-lexers` package, respectively.
158
+ Then call their `fromNothing(...)` factory methods.
144
159
 
145
160
  ```
146
161
  import { BasicLexer } from "occam-lexers";
@@ -159,6 +174,7 @@ const content = `
159
174
 
160
175
  ...
161
176
  ```
177
+
162
178
  The tokens returned from the lexers's `tokenise(...)` method can be passed directly to the parser's `parse(...)` method, which itself returns a node or `null`.
163
179
 
164
180
  ## Features
@@ -169,31 +185,43 @@ The tokens returned from the lexers's `tokenise(...)` method can be passed direc
169
185
  - `+` one or more
170
186
  - `?` optional
171
187
 
172
- These bind tightly to the symbols to their left and can be chained. Take note that both the `*+` and `?+` chains will cause an infinite loop and must be avoided.
188
+ These bind tightly to the symbols to their left and can be chained.
189
+ Take note that both the `*+` and `?+` chains will cause an infinite loop and must be avoided.
173
190
 
174
191
  ### Regular expressions
175
192
 
176
193
  A regular expression is distinguished by the usual leading and trailing forward slashes:
177
194
 
178
- /\d+/
195
+ ```
196
+ /\d+/
197
+ ```
179
198
 
180
199
  ### Matching significant token types
181
200
 
182
- This can be done with a symbol that is identical to the significant token type in question, contained within square brackets. For example:
201
+ This can be done with a symbol that is identical to the significant token type in question, contained within square brackets.
202
+ For example:
183
203
 
184
- name ::= [unassigned] ;
204
+ ```
205
+ name ::= [unassigned] ;
206
+ ```
185
207
 
186
208
  ### Matching end of line tokens
187
209
 
188
- This can be done with a special `<END_OF_LINE>` special symbol. For example:
210
+ This can be done with a special `<END_OF_LINE>` special symbol.
211
+ For example:
189
212
 
190
- verticalSpace ::= <END_OF_LINE>+ ;
213
+ ```
214
+ verticalSpace ::= <END_OF_LINE>+ ;
215
+ ```
191
216
 
192
217
  ### Matching no whitespace
193
218
 
194
- This can be done with the `<NO_WHITESPACE>` special symbol. For example:
219
+ This can be done with the `<NO_WHITESPACE>` special symbol.
220
+ For example:
195
221
 
196
- parenthesisedTerms ::= <NO_WHITESPACE>"(" terms <NO_WHITESPACE>")" ;
222
+ ```
223
+ parenthesisedTerms ::= <NO_WHITESPACE>"(" terms <NO_WHITESPACE>")" ;
224
+ ```
197
225
 
198
226
  It is conventional to leave no whitespace between the symbol and its subsequent part.
199
227
 
@@ -201,52 +229,69 @@ It is conventional to leave no whitespace between the symbol and its subsequent
201
229
 
202
230
  This can be done with the brackets. For example:
203
231
 
204
- terms ::= term ( "," term )* ;
232
+ ```
233
+ terms ::= term ( "," term )* ;
234
+ ```
205
235
 
206
236
  ### Choosing between parts
207
237
 
208
- The vertical bar symbol `|` is overloaded and can be used in conjunction with brackets to choose between parts as opposed to definitions. For example:
209
-
210
- justifiedStatement ::= statement ( "by" | "from" ) reference <END_OF_LINE> ;
238
+ The vertical bar symbol `|` is overloaded and can be used in conjunction with brackets to choose between parts as opposed to definitions.
239
+ For example:
211
240
 
241
+ ```
242
+ justifiedStatement ::= statement ( "by" | "from" ) reference <END_OF_LINE> ;
243
+ ```
212
244
 
213
- ### Look-ahead
245
+ ### Continuations
214
246
 
215
247
  Consider the following rules:
216
248
 
217
- ABC ::= AAB BC ;
249
+ ```
250
+ ABC ::= AAB BC ;
218
251
 
219
- AAB ::= "a" "b" | "a" ;
252
+ AAB ::= "a" "b" | "a" ;
220
253
 
221
- BC ::= "b" "c" ;
254
+ BC ::= "b" "c" ;
255
+ ```
222
256
 
223
- These will not parse the tokens `a`, `b`, `c` because the first definition of the `AAB` rule will parse the `a` and `b` tokens, leaving only the `c` token for the `BC` rule to parse. This situation can be addressed by making the `AAB` rule call ahead, that is, try each of its definitions in turn until one is found that allows the remainder of the parent rule to parse. The call-ahead modifier is an ellipsis, thus the rules above become:
257
+ These will not parse the tokens `a`, `b`, `c` because the first definition of the `AAB` rule will parse the `a` and `b` tokens, leaving only the `c` token for the `BC` rule to parse.
258
+ This situation can be addressed by making the `AAB` rule contiunue, that is, try each of its definitions in turn until one is found that allows the remainder of the parent rule to parse.
259
+ The continuation modifier is an ellipsis, thus the rules above become:
224
260
 
225
- ABC ::= AAB... BC ;
261
+ ```
262
+ ABC ::= AAB... BC ;
226
263
 
227
- AAB ::= "a" "b" | "a" ;
264
+ AAB ::= "a" "b" | "a" ;
228
265
 
229
- BC ::= "b" "c" ;
266
+ BC ::= "b" "c" ;
267
+ ```
230
268
 
231
269
  Now the `ABC` rule will indeed parse the tokens `a`, `b`, `c`, because the second definition of the `AAB` rule will be tried after the first definition fails to allow the `BC` rule name part to parse.
232
270
 
233
- Also bear in mind that call-ahead is carried out to arbitrary depth and this it affects the behaviour of the `?`, `*` and `+` quantifiers, which become lazy. For example:
271
+ Also bear in mind that call-ahead is carried out to arbitrary depth and this it affects the behaviour of the `?`, `*` and `+` quantifiers, which become lazy.
272
+ For example:
234
273
 
235
- ABC ::= AAB... ;
274
+ ```
275
+ ABC ::= AAB... ;
236
276
 
237
- AAB ::= "a" "b"+ "b" "c" ;
277
+ AAB ::= "a" "b"+ "b" "c" ;
278
+ ```
238
279
 
239
280
  Here the call-ahead modifier on the `AAB` rule name part forces the `+` quantifier on the `"b"` terminal part to be lazy, allowing the following to parse:
240
281
 
241
- a b b b c
282
+ ```
283
+ a b b b c
284
+ ```
242
285
 
243
286
  Without call-ahead, the `"b"+` part would consume all of the `b` tokens, leaving none for the subsequent `"b"` terminal part.
244
287
 
245
- It seems that the parser parses in time that is roughly directly proportional to the length of the input. However, on the ohter hand it is most likely that call-ahead takes exponential time given its nested nature. For this reason, call-ahead should be used sparingly.
288
+ It seems that the parser parses in time that is roughly directly proportional to the length of the input. However, on the ohter hand it is most likely that call-ahead takes exponential time given its nested nature.
289
+ For this reason, call-ahead should be used sparingly.
246
290
 
247
291
  ## Building
248
292
 
249
- Automation is done with [npm scripts](https://docs.npmjs.com/misc/scripts), have a look at the `package.json` file. The pertinent commands are:
293
+ Automation is done with [npm scripts](https://docs.npmjs.com/misc/scripts), have a look at the `package.json` file.
294
+ The pertinent commands are:
250
295
 
251
296
  npm run build-debug
252
297
  npm run watch-debug
@@ -256,4 +301,3 @@ The example will then be available at http://localhost:8888 and will reload auto
256
301
  ## Contact
257
302
 
258
303
  * james.smith@djalbat.com
259
-
package/lib/bnf/bnf.js CHANGED
@@ -40,11 +40,13 @@ const bnf = `
40
40
 
41
41
  | stringLiteral
42
42
 
43
- | endOfLine
43
+ | backtick
44
44
 
45
45
  | wildcard
46
46
 
47
47
  | epsilon
48
+
49
+ | endOfLine
48
50
 
49
51
  | noWhitespace
50
52
 
@@ -68,6 +70,8 @@ const bnf = `
68
70
 
69
71
  endOfLine ::= "<END_OF_LINE>" ;
70
72
 
73
+ backtick ::= "\`" ;
74
+
71
75
  wildcard ::= "." ;
72
76
 
73
77
  epsilon ::= "ε" ;
@@ -97,4 +101,4 @@ const bnf = `
97
101
  `;
98
102
  const _default = bnf;
99
103
 
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgIGRvY3VtZW50ICAgICAgICAgICAgICAgICA6Oj0gICggcnVsZSB8IGVycm9yICkrIDtcblxuICAgICAgcnVsZSAgICAgICAgICAgICAgICAgICAgIDo6PSAgbmFtZSBvcGFjaXR5TW9kaWZpZXI/IFwiOjo9XCIgZGVmaW5pdGlvbnMgXCI7XCIgO1xuXG4gICAgICBuYW1lICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBkZWZpbml0aW9ucyAgICAgICAgICAgICAgOjo9ICBkZWZpbml0aW9uICggXCJ8XCIgZGVmaW5pdGlvbiApKiA7XG5cbiAgICAgIGRlZmluaXRpb24gICAgICAgICAgICAgICA6Oj0gIHBhcnQrIHByZWNlZGVuY2U/IDtcbiBcbiAgICAgIHBhcnQgICAgICAgICAgICAgICAgICAgICA6Oj0gIG5vblRlcm1pbmFsUGFydCBxdWFudGlmaWVyKlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0ZXJtaW5hbFBhcnQgcXVhbnRpZmllcipcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICBub25UZXJtaW5hbFBhcnQgICAgICAgICAgOjo9ICBjaG9pY2VPZlBhcnRzXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHNlcXVlbmNlT2ZQYXJ0c1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBydWxlTmFtZSBjb250aW51YXRpb25Nb2RpZmllcj9cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICB0ZXJtaW5hbFBhcnQgICAgICAgICAgICAgOjo9ICBzaWduaWZpY2FudFRva2VuVHlwZVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHJlZ3VsYXJFeHByZXNzaW9uXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzdHJpbmdMaXRlcmFsXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgZW5kT2ZMaW5lXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgd2lsZGNhcmRcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBlcHNpbG9uXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vV2hpdGVzcGFjZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgIHNlcXVlbmNlT2ZQYXJ0cyAgICAgICAgICA6Oj0gIFwiKFwiIHBhcnQgcGFydCsgXCIpXCIgO1xuXG4gICAgICBjaG9pY2VPZlBhcnRzICAgICAgICAgICAgOjo9ICBcIihcIiBwYXJ0Q2hvaWNlICggXCJ8XCIgcGFydENob2ljZSApKyBcIilcIiA7XG5cbiAgICAgIHBhcnRDaG9pY2UgICAgICAgICAgICAgICA6Oj0gIHBhcnQgcHJlY2VkZW5jZT8gO1xuXG4gICAgICBydWxlTmFtZSAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBzaWduaWZpY2FudFRva2VuVHlwZSAgICAgOjo9ICBbdHlwZV0gO1xuXG4gICAgICByZWd1bGFyRXhwcmVzc2lvbiAgICAgICAgOjo9ICBbcmVndWxhci1leHByZXNzaW9uXSA7XG5cbiAgICAgIHN0cmluZ0xpdGVyYWwgICAgICAgICAgICA6Oj0gIFtzdHJpbmctbGl0ZXJhbF0gO1xuXG4gICAgICBwcmVjZWRlbmNlICAgICAgICAgICAgICAgOjo9ICBcIihcIiBbbnVtYmVyXT8gXCIpXCIgO1xuICAgICAgXG4gICAgICBlbmRPZkxpbmUgICAgICAgICAgICAgICAgOjo9ICBcIjxFTkRfT0ZfTElORT5cIiA7XG4gICAgICBcbiAgICAgIHdpbGRjYXJkICAgICAgICAgICAgICAgICA6Oj0gIFwiLlwiIDtcblxuICAgICAgZXBzaWxvbiAgICAgICAgICAgICAgICAgIDo6PSAgXCLOtVwiIDtcblxuICAgICAgbm9XaGl0ZXNwYWNlICAgICAgICAgICAgIDo6PSAgXCI8Tk9fV0hJVEVTUEFDRT5cIiA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgIHF1YW50aWZpZXIgICAgICAgICAgICAgICA6Oj0gIG9wdGlvbmFsUXVhbnRpZmllclxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgb25lT3JNb3JlUXVhbnRpZmllclxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHplcm9Pck1vcmVRdWFudGlmaWVyXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICBvcGFjaXR5TW9kaWZpZXIgICAgICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT4oIFwiLlwiIHwgXCIuLlwiICk7XG4gICAgICBcbiAgICAgIGNvbnRpbnVhdGlvbk1vZGlmaWVyICAgICA6Oj0gIDxOT19XSElURVNQQUNFPlwiLi4uXCIgO1xuXG4gICAgICBvcHRpb25hbFF1YW50aWZpZXIgICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT5cIj9cIiA7XG5cbiAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXIgICAgICA6Oj0gIDxOT19XSElURVNQQUNFPlwiK1wiIDtcblxuICAgICAgemVyb09yTW9yZVF1YW50aWZpZXIgICAgIDo6PSAgPE5PX1dISVRFU1BBQ0U+XCIqXCIgO1xuXG4gICAgICBlcnJvci4gICAgICAgICAgICAgICAgICAgOjo9ICAuIDtcblxuYDtcblxuZXhwb3J0IGRlZmF1bHQgYm5mO1xuIl0sIm5hbWVzIjpbImJuZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMEZBOzs7ZUFBQTs7O0FBeEZBLE1BQU1BLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzRmIsQ0FBQztNQUVELFdBQWVBIn0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgIGRvY3VtZW50ICAgICAgICAgICAgICAgICA6Oj0gICggcnVsZSB8IGVycm9yICkrIDtcblxuICAgICAgcnVsZSAgICAgICAgICAgICAgICAgICAgIDo6PSAgbmFtZSBvcGFjaXR5TW9kaWZpZXI/IFwiOjo9XCIgZGVmaW5pdGlvbnMgXCI7XCIgO1xuXG4gICAgICBuYW1lICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBkZWZpbml0aW9ucyAgICAgICAgICAgICAgOjo9ICBkZWZpbml0aW9uICggXCJ8XCIgZGVmaW5pdGlvbiApKiA7XG5cbiAgICAgIGRlZmluaXRpb24gICAgICAgICAgICAgICA6Oj0gIHBhcnQrIHByZWNlZGVuY2U/IDtcbiBcbiAgICAgIHBhcnQgICAgICAgICAgICAgICAgICAgICA6Oj0gIG5vblRlcm1pbmFsUGFydCBxdWFudGlmaWVyKlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0ZXJtaW5hbFBhcnQgcXVhbnRpZmllcipcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICBub25UZXJtaW5hbFBhcnQgICAgICAgICAgOjo9ICBjaG9pY2VPZlBhcnRzXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHNlcXVlbmNlT2ZQYXJ0c1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBydWxlTmFtZSBjb250aW51YXRpb25Nb2RpZmllcj9cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICB0ZXJtaW5hbFBhcnQgICAgICAgICAgICAgOjo9ICBzaWduaWZpY2FudFRva2VuVHlwZVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHJlZ3VsYXJFeHByZXNzaW9uXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzdHJpbmdMaXRlcmFsXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYmFja3RpY2tcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB3aWxkY2FyZFxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGVwc2lsb25cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBlbmRPZkxpbmVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9XaGl0ZXNwYWNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgc2VxdWVuY2VPZlBhcnRzICAgICAgICAgIDo6PSAgXCIoXCIgcGFydCBwYXJ0KyBcIilcIiA7XG5cbiAgICAgIGNob2ljZU9mUGFydHMgICAgICAgICAgICA6Oj0gIFwiKFwiIHBhcnRDaG9pY2UgKCBcInxcIiBwYXJ0Q2hvaWNlICkrIFwiKVwiIDtcblxuICAgICAgcGFydENob2ljZSAgICAgICAgICAgICAgIDo6PSAgcGFydCBwcmVjZWRlbmNlPyA7XG5cbiAgICAgIHJ1bGVOYW1lICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbiAgICAgIHNpZ25pZmljYW50VG9rZW5UeXBlICAgICA6Oj0gIFt0eXBlXSA7XG5cbiAgICAgIHJlZ3VsYXJFeHByZXNzaW9uICAgICAgICA6Oj0gIFtyZWd1bGFyLWV4cHJlc3Npb25dIDtcblxuICAgICAgc3RyaW5nTGl0ZXJhbCAgICAgICAgICAgIDo6PSAgW3N0cmluZy1saXRlcmFsXSA7XG5cbiAgICAgIHByZWNlZGVuY2UgICAgICAgICAgICAgICA6Oj0gIFwiKFwiIFtudW1iZXJdPyBcIilcIiA7XG4gICAgICBcbiAgICAgIGVuZE9mTGluZSAgICAgICAgICAgICAgICA6Oj0gIFwiPEVORF9PRl9MSU5FPlwiIDtcbiAgICAgIFxuICAgICAgYmFja3RpY2sgICAgICAgICAgICAgICAgIDo6PSAgXCJcXGBcIiA7XG5cbiAgICAgIHdpbGRjYXJkICAgICAgICAgICAgICAgICA6Oj0gIFwiLlwiIDtcblxuICAgICAgZXBzaWxvbiAgICAgICAgICAgICAgICAgIDo6PSAgXCLOtVwiIDtcblxuICAgICAgbm9XaGl0ZXNwYWNlICAgICAgICAgICAgIDo6PSAgXCI8Tk9fV0hJVEVTUEFDRT5cIiA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgIHF1YW50aWZpZXIgICAgICAgICAgICAgICA6Oj0gIG9wdGlvbmFsUXVhbnRpZmllclxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgb25lT3JNb3JlUXVhbnRpZmllclxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHplcm9Pck1vcmVRdWFudGlmaWVyXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICBvcGFjaXR5TW9kaWZpZXIgICAgICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT4oIFwiLlwiIHwgXCIuLlwiICk7XG4gICAgICBcbiAgICAgIGNvbnRpbnVhdGlvbk1vZGlmaWVyICAgICA6Oj0gIDxOT19XSElURVNQQUNFPlwiLi4uXCIgO1xuXG4gICAgICBvcHRpb25hbFF1YW50aWZpZXIgICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT5cIj9cIiA7XG5cbiAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXIgICAgICA6Oj0gIDxOT19XSElURVNQQUNFPlwiK1wiIDtcblxuICAgICAgemVyb09yTW9yZVF1YW50aWZpZXIgICAgIDo6PSAgPE5PX1dISVRFU1BBQ0U+XCIqXCIgO1xuXG4gICAgICBlcnJvci4gICAgICAgICAgICAgICAgICAgOjo9ICAuIDtcblxuYDtcblxuZXhwb3J0IGRlZmF1bHQgYm5mO1xuIl0sIm5hbWVzIjpbImJuZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBOEZBOzs7ZUFBQTs7O0FBNUZBLE1BQU1BLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMEZiLENBQUM7TUFFRCxXQUFlQSJ9
package/lib/bnf/parser.js CHANGED
@@ -19,7 +19,7 @@ const _error = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/error
19
19
  const _epsilon = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/epsilon"));
20
20
  const _document = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/document"));
21
21
  const _ruleName = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/ruleName"));
22
- const _wildcard = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/wildcard"));
22
+ const _backtick = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/backtick"));
23
23
  const _endOfLine = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/endOfLine"));
24
24
  const _partChoice = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/partChoice"));
25
25
  const _quantifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/quantifier"));
@@ -73,7 +73,7 @@ class BNFParser {
73
73
  static defaultNonTerminalNode = null;
74
74
  static bnf = _bnf.default;
75
75
  static fromNothing() {
76
- const nameBNFRule = _name.default.fromNothing(), partBNFRule = _part.default.fromNothing(), ruleBNFRule = _rule1.default.fromNothing(), errorBNFRule = _error.default.fromNothing(), epsilonBNFRule = _epsilon.default.fromNothing(), documentBNFRule = _document.default.fromNothing(), ruleNameBNFRule = _ruleName.default.fromNothing(), wildcardBNFRule = _wildcard.default.fromNothing(), endOfLineBNFRule = _endOfLine.default.fromNothing(), partChoiceBNFRule = _partChoice.default.fromNothing(), quantifierBNFRule = _quantifier.default.fromNothing(), definitionBNFRule = _definition.default.fromNothing(), precedentsBNFRule = _precedence.default.fromNothing(), definitionsBNFRule = _definitions.default.fromNothing(), terminalPartBNFRule = _terminalPart.default.fromNothing(), choiceOfPartsBNFRule = _choiceOfParts.default.fromNothing(), stringLiteralBNFRule = _stringLiteral.default.fromNothing(), nonTerminalPartBNFRule = _nonTerminalPart.default.fromNothing(), sequenceOfPartsBNFRule = _sequenceOfParts.default.fromNothing(), opacityModifierBNFRule = _opacityModifier.default.fromNothing(), noWhitespacePartBNFRule = _noWhitespacePart.default.fromNothing(), regularExpressionBNFRule = _regularExpression.default.fromNothing(), optionalQuantifierBNFRule = _optionalQuantifier.default.fromNothing(), oneOrMoreQuantifierBNFRule = _oneOrMoreQuantifier.default.fromNothing(), zeroOrMoreQuantifierBNFRule = _zeroOrMoreQuantifier.default.fromNothing(), continuationModifierBNFRule = _continuationModifier.default.fromNothing(), significantTokenTypeBNFRule = _significantTokenType.default.fromNothing(), rules = [
76
+ const nameBNFRule = _name.default.fromNothing(), partBNFRule = _part.default.fromNothing(), ruleBNFRule = _rule1.default.fromNothing(), errorBNFRule = _error.default.fromNothing(), epsilonBNFRule = _epsilon.default.fromNothing(), documentBNFRule = _document.default.fromNothing(), ruleNameBNFRule = _ruleName.default.fromNothing(), wildcardBNFRule = _backtick.default.fromNothing(), backtickBNFRule = _backtick.default.fromNothing(), endOfLineBNFRule = _endOfLine.default.fromNothing(), partChoiceBNFRule = _partChoice.default.fromNothing(), quantifierBNFRule = _quantifier.default.fromNothing(), definitionBNFRule = _definition.default.fromNothing(), precedentsBNFRule = _precedence.default.fromNothing(), definitionsBNFRule = _definitions.default.fromNothing(), terminalPartBNFRule = _terminalPart.default.fromNothing(), choiceOfPartsBNFRule = _choiceOfParts.default.fromNothing(), stringLiteralBNFRule = _stringLiteral.default.fromNothing(), nonTerminalPartBNFRule = _nonTerminalPart.default.fromNothing(), sequenceOfPartsBNFRule = _sequenceOfParts.default.fromNothing(), opacityModifierBNFRule = _opacityModifier.default.fromNothing(), noWhitespacePartBNFRule = _noWhitespacePart.default.fromNothing(), regularExpressionBNFRule = _regularExpression.default.fromNothing(), optionalQuantifierBNFRule = _optionalQuantifier.default.fromNothing(), oneOrMoreQuantifierBNFRule = _oneOrMoreQuantifier.default.fromNothing(), zeroOrMoreQuantifierBNFRule = _zeroOrMoreQuantifier.default.fromNothing(), continuationModifierBNFRule = _continuationModifier.default.fromNothing(), significantTokenTypeBNFRule = _significantTokenType.default.fromNothing(), rules = [
77
77
  documentBNFRule,
78
78
  ruleBNFRule,
79
79
  nameBNFRule,
@@ -93,6 +93,7 @@ class BNFParser {
93
93
  precedentsBNFRule,
94
94
  endOfLineBNFRule,
95
95
  wildcardBNFRule,
96
+ backtickBNFRule,
96
97
  epsilonBNFRule,
97
98
  quantifierBNFRule,
98
99
  opacityModifierBNFRule,
@@ -107,4 +108,4 @@ class BNFParser {
107
108
  }
108
109
  Object.assign(BNFParser.prototype, _parser.default);
109
110
 
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYm5mIGZyb20gXCIuL2JuZlwiO1xuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZU1hcFwiO1xuaW1wb3J0IHBhcnNlck1peGlucyBmcm9tIFwiLi4vbWl4aW5zL3BhcnNlclwiO1xuaW1wb3J0IE5hbWVCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9uYW1lXCI7XG5pbXBvcnQgUGFydEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3BhcnRcIjtcbmltcG9ydCBSdWxlQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcnVsZVwiO1xuaW1wb3J0IEVycm9yQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZXJyb3JcIjtcbmltcG9ydCBFcHNpbG9uQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZXBzaWxvblwiO1xuaW1wb3J0IERvY3VtZW50Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZG9jdW1lbnRcIjtcbmltcG9ydCBSdWxlTmFtZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3J1bGVOYW1lXCI7XG5pbXBvcnQgV2lsZGNhcmRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi93aWxkY2FyZFwiO1xuaW1wb3J0IEVuZE9mTGluZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2VuZE9mTGluZVwiO1xuaW1wb3J0IFBhcnRDaG9pY2VCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9wYXJ0Q2hvaWNlXCI7XG5pbXBvcnQgUXVhbnRpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3F1YW50aWZpZXJcIjtcbmltcG9ydCBEZWZpbml0aW9uQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZGVmaW5pdGlvblwiO1xuaW1wb3J0IFByZWNlZGVudHNCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9wcmVjZWRlbmNlXCI7XG5pbXBvcnQgRGVmaW5pdGlvbnNCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kZWZpbml0aW9uc1wiO1xuaW1wb3J0IFRlcm1pbmFsUGFydEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3Rlcm1pbmFsUGFydFwiO1xuaW1wb3J0IENob2ljZU9mUGFydHNCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9jaG9pY2VPZlBhcnRzXCI7XG5pbXBvcnQgU3RyaW5nTGl0ZXJhbEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCBOb25UZXJtaW5hbFBhcnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ub25UZXJtaW5hbFBhcnRcIjtcbmltcG9ydCBTZXF1ZW5jZU9mUGFydHNCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9zZXF1ZW5jZU9mUGFydHNcIjtcbmltcG9ydCBPcGFjaXR5TW9kaWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9vcGFjaXR5TW9kaWZpZXJcIjtcbmltcG9ydCBOb1doaXRlc3BhY2VQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvbm9XaGl0ZXNwYWNlUGFydFwiO1xuaW1wb3J0IFJlZ3VsYXJFeHByZXNzaW9uQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcmVndWxhckV4cHJlc3Npb25cIjtcbmltcG9ydCBPcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9vcHRpb25hbFF1YW50aWZpZXJcIjtcbmltcG9ydCBPbmVPck1vcmVRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvb25lT3JNb3JlUXVhbnRpZmllclwiO1xuaW1wb3J0IFplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvemVyb09yTW9yZVF1YW50aWZpZXJcIjtcbmltcG9ydCBTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3NpZ25pZmljYW50VG9rZW5UeXBlXCI7XG5pbXBvcnQgQ29udGludWF0aW9uTW9kaWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9jb250aW51YXRpb25Nb2RpZmllclwiO1xuXG5pbXBvcnQgeyBydWxlTWFwRnJvbVJ1bGVzLCBzdGFydFJ1bGVGcm9tUnVsZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJORlBhcnNlciB7XG4gIGNvbnN0cnVjdG9yKHN0YXJ0UnVsZSwgcnVsZU1hcCkge1xuICAgIHRoaXMuc3RhcnRSdWxlID0gc3RhcnRSdWxlO1xuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gIH1cblxuICBnZXRTdGFydFJ1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRSdWxlO1xuICB9XG5cbiAgZ2V0UnVsZU1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTWFwO1xuICB9XG5cblx0cnVsZXNGcm9tVG9rZW5zKHRva2Vucykge1xuXHQgIGxldCBydWxlcztcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBub2RlLmApO1xuICAgIH1cblxuICAgIHJ1bGVzID0gbm9kZS5nZW5lcmF0ZVJ1bGVzKFJ1bGUpO1xuXG4gICAgY29uc3QgcnVsZXNMZW5ndGggPSBydWxlcy5sZW5ndGg7XG5cbiAgICBpZiAocnVsZXNMZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgYXJlIG5vIHJ1bGVzLmApO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIHN0YXRpYyBOb25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG5cbiAgc3RhdGljIGRlZmF1bHROb25UZXJtaW5hbE5vZGUgPSBudWxsO1xuXG4gIHN0YXRpYyBibmYgPSBibmY7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IG5hbWVCTkZSdWxlID0gTmFtZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBwYXJ0Qk5GUnVsZSA9IFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcnVsZUJORlJ1bGUgPSBSdWxlQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGVycm9yQk5GUnVsZSA9IEVycm9yQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGVwc2lsb25CTkZSdWxlID0gRXBzaWxvbkJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBkb2N1bWVudEJORlJ1bGUgPSBEb2N1bWVudEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlTmFtZUJORlJ1bGUgPSBSdWxlTmFtZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICB3aWxkY2FyZEJORlJ1bGUgPSBXaWxkY2FyZEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBlbmRPZkxpbmVCTkZSdWxlID0gRW5kT2ZMaW5lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHBhcnRDaG9pY2VCTkZSdWxlID0gUGFydENob2ljZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBxdWFudGlmaWVyQk5GUnVsZSA9IFF1YW50aWZpZXJCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZGVmaW5pdGlvbkJORlJ1bGUgPSBEZWZpbml0aW9uQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHByZWNlZGVudHNCTkZSdWxlID0gUHJlY2VkZW50c0JORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBkZWZpbml0aW9uc0JORlJ1bGUgPSBEZWZpbml0aW9uc0JORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICB0ZXJtaW5hbFBhcnRCTkZSdWxlID0gVGVybWluYWxQYXJ0Qk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGNob2ljZU9mUGFydHNCTkZSdWxlID0gQ2hvaWNlT2ZQYXJ0c0JORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzdHJpbmdMaXRlcmFsQk5GUnVsZSA9IFN0cmluZ0xpdGVyYWxCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbm9uVGVybWluYWxQYXJ0Qk5GUnVsZSA9IE5vblRlcm1pbmFsUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzZXF1ZW5jZU9mUGFydHNCTkZSdWxlID0gU2VxdWVuY2VPZlBhcnRzQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG9wYWNpdHlNb2RpZmllckJORlJ1bGUgPSBPcGFjaXR5TW9kaWZpZXJCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUgPSBOb1doaXRlc3BhY2VQYXJ0Qk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHJlZ3VsYXJFeHByZXNzaW9uQk5GUnVsZSA9IFJlZ3VsYXJFeHByZXNzaW9uQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG9wdGlvbmFsUXVhbnRpZmllckJORlJ1bGUgPSBPcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgb25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUgPSBPbmVPck1vcmVRdWFudGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSA9IFplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGNvbnRpbnVhdGlvbk1vZGlmaWVyQk5GUnVsZSA9IENvbnRpbnVhdGlvbk1vZGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHNpZ25pZmljYW50VG9rZW5UeXBlQk5GUnVsZSA9IFNpZ25pZmljYW50VG9rZW5UeXBlQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHJ1bGVzID0gW1xuICAgICAgICAgICAgZG9jdW1lbnRCTkZSdWxlLFxuICAgICAgICAgICAgcnVsZUJORlJ1bGUsXG4gICAgICAgICAgICBuYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSxcbiAgICAgICAgICAgIGRlZmluaXRpb25CTkZSdWxlLFxuICAgICAgICAgICAgcGFydEJORlJ1bGUsXG4gICAgICAgICAgICBub25UZXJtaW5hbFBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgdGVybWluYWxQYXJ0Qk5GUnVsZSxcbiAgICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgc2VxdWVuY2VPZlBhcnRzQk5GUnVsZSxcbiAgICAgICAgICAgIGNob2ljZU9mUGFydHNCTkZSdWxlLFxuICAgICAgICAgICAgcGFydENob2ljZUJORlJ1bGUsXG4gICAgICAgICAgICBydWxlTmFtZUJORlJ1bGUsXG4gICAgICAgICAgICBzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUsXG4gICAgICAgICAgICByZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUsXG4gICAgICAgICAgICBzdHJpbmdMaXRlcmFsQk5GUnVsZSxcbiAgICAgICAgICAgIHByZWNlZGVudHNCTkZSdWxlLFxuICAgICAgICAgICAgZW5kT2ZMaW5lQk5GUnVsZSxcbiAgICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSxcbiAgICAgICAgICAgIGVwc2lsb25CTkZSdWxlLFxuICAgICAgICAgICAgcXVhbnRpZmllckJORlJ1bGUsXG4gICAgICAgICAgICBvcGFjaXR5TW9kaWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgb3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgemVyb09yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgY29udGludWF0aW9uTW9kaWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgZXJyb3JCTkZSdWxlXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzdGFydFJ1bGUgPSBzdGFydFJ1bGVGcm9tUnVsZXMocnVsZXMpLFxuICAgICAgICAgIHJ1bGVNYXAgPSBydWxlTWFwRnJvbVJ1bGVzKHJ1bGVzKSxcbiAgICAgICAgICBibmZQYXJzZXIgPSBuZXcgQk5GUGFyc2VyKHN0YXJ0UnVsZSwgcnVsZU1hcCk7XG4gICAgXG4gICAgcmV0dXJuIGJuZlBhcnNlcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEJORlBhcnNlci5wcm90b3R5cGUsIHBhcnNlck1peGlucyk7XG4iXSwibmFtZXMiOlsiQk5GUGFyc2VyIiwic3RhcnRSdWxlIiwicnVsZU1hcCIsImdldFN0YXJ0UnVsZSIsImdldFJ1bGVNYXAiLCJydWxlc0Zyb21Ub2tlbnMiLCJ0b2tlbnMiLCJydWxlcyIsIm5vZGUiLCJwYXJzZSIsIkVycm9yIiwiZ2VuZXJhdGVSdWxlcyIsIlJ1bGUiLCJydWxlc0xlbmd0aCIsImxlbmd0aCIsIk5vblRlcm1pbmFsTm9kZU1hcCIsImRlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJibmYiLCJmcm9tTm90aGluZyIsIm5hbWVCTkZSdWxlIiwiTmFtZUJORlJ1bGUiLCJwYXJ0Qk5GUnVsZSIsIlBhcnRCTkZSdWxlIiwicnVsZUJORlJ1bGUiLCJSdWxlQk5GUnVsZSIsImVycm9yQk5GUnVsZSIsIkVycm9yQk5GUnVsZSIsImVwc2lsb25CTkZSdWxlIiwiRXBzaWxvbkJORlJ1bGUiLCJkb2N1bWVudEJORlJ1bGUiLCJEb2N1bWVudEJORlJ1bGUiLCJydWxlTmFtZUJORlJ1bGUiLCJSdWxlTmFtZUJORlJ1bGUiLCJ3aWxkY2FyZEJORlJ1bGUiLCJXaWxkY2FyZEJORlJ1bGUiLCJlbmRPZkxpbmVCTkZSdWxlIiwiRW5kT2ZMaW5lQk5GUnVsZSIsInBhcnRDaG9pY2VCTkZSdWxlIiwiUGFydENob2ljZUJORlJ1bGUiLCJxdWFudGlmaWVyQk5GUnVsZSIsIlF1YW50aWZpZXJCTkZSdWxlIiwiZGVmaW5pdGlvbkJORlJ1bGUiLCJEZWZpbml0aW9uQk5GUnVsZSIsInByZWNlZGVudHNCTkZSdWxlIiwiUHJlY2VkZW50c0JORlJ1bGUiLCJkZWZpbml0aW9uc0JORlJ1bGUiLCJEZWZpbml0aW9uc0JORlJ1bGUiLCJ0ZXJtaW5hbFBhcnRCTkZSdWxlIiwiVGVybWluYWxQYXJ0Qk5GUnVsZSIsImNob2ljZU9mUGFydHNCTkZSdWxlIiwiQ2hvaWNlT2ZQYXJ0c0JORlJ1bGUiLCJzdHJpbmdMaXRlcmFsQk5GUnVsZSIsIlN0cmluZ0xpdGVyYWxCTkZSdWxlIiwibm9uVGVybWluYWxQYXJ0Qk5GUnVsZSIsIk5vblRlcm1pbmFsUGFydEJORlJ1bGUiLCJzZXF1ZW5jZU9mUGFydHNCTkZSdWxlIiwiU2VxdWVuY2VPZlBhcnRzQk5GUnVsZSIsIm9wYWNpdHlNb2RpZmllckJORlJ1bGUiLCJPcGFjaXR5TW9kaWZpZXJCTkZSdWxlIiwibm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUiLCJOb1doaXRlc3BhY2VQYXJ0Qk5GUnVsZSIsInJlZ3VsYXJFeHByZXNzaW9uQk5GUnVsZSIsIlJlZ3VsYXJFeHByZXNzaW9uQk5GUnVsZSIsIm9wdGlvbmFsUXVhbnRpZmllckJORlJ1bGUiLCJPcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIiwib25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJPbmVPck1vcmVRdWFudGlmaWVyQk5GUnVsZSIsInplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSIsIlplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSIsImNvbnRpbnVhdGlvbk1vZGlmaWVyQk5GUnVsZSIsIkNvbnRpbnVhdGlvbk1vZGlmaWVyQk5GUnVsZSIsInNpZ25pZmljYW50VG9rZW5UeXBlQk5GUnVsZSIsIlNpZ25pZmljYW50VG9rZW5UeXBlQk5GUnVsZSIsInN0YXJ0UnVsZUZyb21SdWxlcyIsInJ1bGVNYXBGcm9tUnVsZXMiLCJibmZQYXJzZXIiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJwYXJzZXJNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9DQTs7O2VBQXFCQTs7OzREQWxDTDs2REFDQzsyRUFDYzsrREFDTjs2REFDRDs2REFDQTs4REFDQTs4REFDQztnRUFDRTtpRUFDQztpRUFDQTtpRUFDQTtrRUFDQzttRUFDQzttRUFDQTttRUFDQTttRUFDQTtvRUFDQztxRUFDQztzRUFDQztzRUFDQTt3RUFDRTt3RUFDQTt3RUFDQTt5RUFDQzswRUFDQzsyRUFDQzs0RUFDQzs2RUFDQzs2RUFDQTs2RUFDQTt1QkFFYTs7Ozs7O0FBRXRDLE1BQU1BO0lBQ25CLFlBQVlDLFNBQVMsRUFBRUMsT0FBTyxDQUFFO1FBQzlCLElBQUksQ0FBQ0QsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLE9BQU8sR0FBR0E7SUFDakI7SUFFQUMsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDRixTQUFTO0lBQ3ZCO0lBRUFHLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQ0YsT0FBTztJQUNyQjtJQUVERyxnQkFBZ0JDLE1BQU0sRUFBRTtRQUN0QixJQUFJQztRQUVILE1BQU1DLE9BQU8sSUFBSSxDQUFDQyxLQUFLLENBQUNIO1FBRXhCLElBQUlFLFNBQVMsTUFBTTtZQUNqQixNQUFNLElBQUlFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztRQUNyQztRQUVBSCxRQUFRQyxLQUFLRyxhQUFhLENBQUNDLGFBQUk7UUFFL0IsTUFBTUMsY0FBY04sTUFBTU8sTUFBTTtRQUVoQyxJQUFJRCxnQkFBZ0IsR0FBRztZQUNyQixNQUFNLElBQUlILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUN2QztRQUVBLE9BQU9IO0lBQ1Q7SUFFQSxPQUFPUSxxQkFBcUJBLDJCQUFrQixDQUFDO0lBRS9DLE9BQU9DLHlCQUF5QixLQUFLO0lBRXJDLE9BQU9DLE1BQU1BLFlBQUcsQ0FBQztJQUVqQixPQUFPQyxjQUFjO1FBQ25CLE1BQU1DLGNBQWNDLGFBQVcsQ0FBQ0YsV0FBVyxJQUNyQ0csY0FBY0MsYUFBVyxDQUFDSixXQUFXLElBQ3JDSyxjQUFjQyxjQUFXLENBQUNOLFdBQVcsSUFDckNPLGVBQWVDLGNBQVksQ0FBQ1IsV0FBVyxJQUN2Q1MsaUJBQWlCQyxnQkFBYyxDQUFDVixXQUFXLElBQzNDVyxrQkFBa0JDLGlCQUFlLENBQUNaLFdBQVcsSUFDN0NhLGtCQUFrQkMsaUJBQWUsQ0FBQ2QsV0FBVyxJQUM3Q2Usa0JBQWtCQyxpQkFBZSxDQUFDaEIsV0FBVyxJQUM3Q2lCLG1CQUFtQkMsa0JBQWdCLENBQUNsQixXQUFXLElBQy9DbUIsb0JBQW9CQyxtQkFBaUIsQ0FBQ3BCLFdBQVcsSUFDakRxQixvQkFBb0JDLG1CQUFpQixDQUFDdEIsV0FBVyxJQUNqRHVCLG9CQUFvQkMsbUJBQWlCLENBQUN4QixXQUFXLElBQ2pEeUIsb0JBQW9CQyxtQkFBaUIsQ0FBQzFCLFdBQVcsSUFDakQyQixxQkFBcUJDLG9CQUFrQixDQUFDNUIsV0FBVyxJQUNuRDZCLHNCQUFzQkMscUJBQW1CLENBQUM5QixXQUFXLElBQ3JEK0IsdUJBQXVCQyxzQkFBb0IsQ0FBQ2hDLFdBQVcsSUFDdkRpQyx1QkFBdUJDLHNCQUFvQixDQUFDbEMsV0FBVyxJQUN2RG1DLHlCQUF5QkMsd0JBQXNCLENBQUNwQyxXQUFXLElBQzNEcUMseUJBQXlCQyx3QkFBc0IsQ0FBQ3RDLFdBQVcsSUFDM0R1Qyx5QkFBeUJDLHdCQUFzQixDQUFDeEMsV0FBVyxJQUMzRHlDLDBCQUEwQkMseUJBQXVCLENBQUMxQyxXQUFXLElBQzdEMkMsMkJBQTJCQywwQkFBd0IsQ0FBQzVDLFdBQVcsSUFDL0Q2Qyw0QkFBNEJDLDJCQUF5QixDQUFDOUMsV0FBVyxJQUNqRStDLDZCQUE2QkMsNEJBQTBCLENBQUNoRCxXQUFXLElBQ25FaUQsOEJBQThCQyw2QkFBMkIsQ0FBQ2xELFdBQVcsSUFDckVtRCw4QkFBOEJDLDZCQUEyQixDQUFDcEQsV0FBVyxJQUNyRXFELDhCQUE4QkMsNkJBQTJCLENBQUN0RCxXQUFXLElBQ3JFWCxRQUFRO1lBQ05zQjtZQUNBTjtZQUNBSjtZQUNBMEI7WUFDQUo7WUFDQXBCO1lBQ0FnQztZQUNBTjtZQUNBWTtZQUNBSjtZQUNBTjtZQUNBWjtZQUNBTjtZQUNBd0M7WUFDQVY7WUFDQVY7WUFDQVI7WUFDQVI7WUFDQUY7WUFDQU47WUFDQVk7WUFDQWtCO1lBQ0FNO1lBQ0FFO1lBQ0FFO1lBQ0FFO1lBQ0E1QztTQUNELEVBQ0R4QixZQUFZd0UsSUFBQUEseUJBQWtCLEVBQUNsRSxRQUMvQkwsVUFBVXdFLElBQUFBLHVCQUFnQixFQUFDbkUsUUFDM0JvRSxZQUFZLElBQUkzRSxVQUFVQyxXQUFXQztRQUUzQyxPQUFPeUU7SUFDVDtBQUNGO0FBRUFDLE9BQU9DLE1BQU0sQ0FBQzdFLFVBQVU4RSxTQUFTLEVBQUVDLGVBQVkifQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYm5mIGZyb20gXCIuL2JuZlwiO1xuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZU1hcFwiO1xuaW1wb3J0IHBhcnNlck1peGlucyBmcm9tIFwiLi4vbWl4aW5zL3BhcnNlclwiO1xuaW1wb3J0IE5hbWVCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9uYW1lXCI7XG5pbXBvcnQgUGFydEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3BhcnRcIjtcbmltcG9ydCBSdWxlQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcnVsZVwiO1xuaW1wb3J0IEVycm9yQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZXJyb3JcIjtcbmltcG9ydCBFcHNpbG9uQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZXBzaWxvblwiO1xuaW1wb3J0IERvY3VtZW50Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZG9jdW1lbnRcIjtcbmltcG9ydCBSdWxlTmFtZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3J1bGVOYW1lXCI7XG5pbXBvcnQgV2lsZGNhcmRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9iYWNrdGlja1wiO1xuaW1wb3J0IEJhY2t0aWNrQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvYmFja3RpY2tcIjtcbmltcG9ydCBFbmRPZkxpbmVCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lbmRPZkxpbmVcIjtcbmltcG9ydCBQYXJ0Q2hvaWNlQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcGFydENob2ljZVwiO1xuaW1wb3J0IFF1YW50aWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9xdWFudGlmaWVyXCI7XG5pbXBvcnQgRGVmaW5pdGlvbkJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2RlZmluaXRpb25cIjtcbmltcG9ydCBQcmVjZWRlbnRzQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcHJlY2VkZW5jZVwiO1xuaW1wb3J0IERlZmluaXRpb25zQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZGVmaW5pdGlvbnNcIjtcbmltcG9ydCBUZXJtaW5hbFBhcnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi90ZXJtaW5hbFBhcnRcIjtcbmltcG9ydCBDaG9pY2VPZlBhcnRzQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvY2hvaWNlT2ZQYXJ0c1wiO1xuaW1wb3J0IFN0cmluZ0xpdGVyYWxCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9zdHJpbmdMaXRlcmFsXCI7XG5pbXBvcnQgTm9uVGVybWluYWxQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvbm9uVGVybWluYWxQYXJ0XCI7XG5pbXBvcnQgU2VxdWVuY2VPZlBhcnRzQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvc2VxdWVuY2VPZlBhcnRzXCI7XG5pbXBvcnQgT3BhY2l0eU1vZGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvb3BhY2l0eU1vZGlmaWVyXCI7XG5pbXBvcnQgTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL25vV2hpdGVzcGFjZVBhcnRcIjtcbmltcG9ydCBSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3JlZ3VsYXJFeHByZXNzaW9uXCI7XG5pbXBvcnQgT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvb3B0aW9uYWxRdWFudGlmaWVyXCI7XG5pbXBvcnQgT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL29uZU9yTW9yZVF1YW50aWZpZXJcIjtcbmltcG9ydCBaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3plcm9Pck1vcmVRdWFudGlmaWVyXCI7XG5pbXBvcnQgU2lnbmlmaWNhbnRUb2tlblR5cGVCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9zaWduaWZpY2FudFRva2VuVHlwZVwiO1xuaW1wb3J0IENvbnRpbnVhdGlvbk1vZGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvY29udGludWF0aW9uTW9kaWZpZXJcIjtcblxuaW1wb3J0IHsgcnVsZU1hcEZyb21SdWxlcywgc3RhcnRSdWxlRnJvbVJ1bGVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ydWxlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCTkZQYXJzZXIge1xuICBjb25zdHJ1Y3RvcihzdGFydFJ1bGUsIHJ1bGVNYXApIHtcbiAgICB0aGlzLnN0YXJ0UnVsZSA9IHN0YXJ0UnVsZTtcbiAgICB0aGlzLnJ1bGVNYXAgPSBydWxlTWFwO1xuICB9XG5cbiAgZ2V0U3RhcnRSdWxlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0UnVsZTtcbiAgfVxuXG4gIGdldFJ1bGVNYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZU1hcDtcbiAgfVxuXG5cdHJ1bGVzRnJvbVRva2Vucyh0b2tlbnMpIHtcblx0ICBsZXQgcnVsZXM7XG5cbiAgICBjb25zdCBub2RlID0gdGhpcy5wYXJzZSh0b2tlbnMpO1xuXG4gICAgaWYgKG5vZGUgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgaXMgbm8gbm9kZS5gKTtcbiAgICB9XG5cbiAgICBydWxlcyA9IG5vZGUuZ2VuZXJhdGVSdWxlcyhSdWxlKTtcblxuICAgIGNvbnN0IHJ1bGVzTGVuZ3RoID0gcnVsZXMubGVuZ3RoO1xuXG4gICAgaWYgKHJ1bGVzTGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGFyZSBubyBydWxlcy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBzdGF0aWMgTm9uVGVybWluYWxOb2RlTWFwID0gTm9uVGVybWluYWxOb2RlTWFwO1xuXG4gIHN0YXRpYyBkZWZhdWx0Tm9uVGVybWluYWxOb2RlID0gbnVsbDtcblxuICBzdGF0aWMgYm5mID0gYm5mO1xuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBuYW1lQk5GUnVsZSA9IE5hbWVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcGFydEJORlJ1bGUgPSBQYXJ0Qk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHJ1bGVCTkZSdWxlID0gUnVsZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBlcnJvckJORlJ1bGUgPSBFcnJvckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBlcHNpbG9uQk5GUnVsZSA9IEVwc2lsb25CTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZG9jdW1lbnRCTkZSdWxlID0gRG9jdW1lbnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcnVsZU5hbWVCTkZSdWxlID0gUnVsZU5hbWVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgd2lsZGNhcmRCTkZSdWxlID0gV2lsZGNhcmRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgYmFja3RpY2tCTkZSdWxlID0gQmFja3RpY2tCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZW5kT2ZMaW5lQk5GUnVsZSA9IEVuZE9mTGluZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBwYXJ0Q2hvaWNlQk5GUnVsZSA9IFBhcnRDaG9pY2VCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcXVhbnRpZmllckJORlJ1bGUgPSBRdWFudGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRlZmluaXRpb25CTkZSdWxlID0gRGVmaW5pdGlvbkJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBwcmVjZWRlbnRzQk5GUnVsZSA9IFByZWNlZGVudHNCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZGVmaW5pdGlvbnNCTkZSdWxlID0gRGVmaW5pdGlvbnNCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgdGVybWluYWxQYXJ0Qk5GUnVsZSA9IFRlcm1pbmFsUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBjaG9pY2VPZlBhcnRzQk5GUnVsZSA9IENob2ljZU9mUGFydHNCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc3RyaW5nTGl0ZXJhbEJORlJ1bGUgPSBTdHJpbmdMaXRlcmFsQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUgPSBOb25UZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc2VxdWVuY2VPZlBhcnRzQk5GUnVsZSA9IFNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcGFjaXR5TW9kaWZpZXJCTkZSdWxlID0gT3BhY2l0eU1vZGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlID0gTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICByZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUgPSBSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlID0gT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlID0gT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICB6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUgPSBaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBjb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUgPSBDb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUgPSBTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlcyA9IFtcbiAgICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSxcbiAgICAgICAgICAgIHJ1bGVCTkZSdWxlLFxuICAgICAgICAgICAgbmFtZUJORlJ1bGUsXG4gICAgICAgICAgICBkZWZpbml0aW9uc0JORlJ1bGUsXG4gICAgICAgICAgICBkZWZpbml0aW9uQk5GUnVsZSxcbiAgICAgICAgICAgIHBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgbm9uVGVybWluYWxQYXJ0Qk5GUnVsZSxcbiAgICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBub1doaXRlc3BhY2VQYXJ0Qk5GUnVsZSxcbiAgICAgICAgICAgIHNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUsXG4gICAgICAgICAgICBjaG9pY2VPZlBhcnRzQk5GUnVsZSxcbiAgICAgICAgICAgIHBhcnRDaG9pY2VCTkZSdWxlLFxuICAgICAgICAgICAgcnVsZU5hbWVCTkZSdWxlLFxuICAgICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVCTkZSdWxlLFxuICAgICAgICAgICAgcmVndWxhckV4cHJlc3Npb25CTkZSdWxlLFxuICAgICAgICAgICAgc3RyaW5nTGl0ZXJhbEJORlJ1bGUsXG4gICAgICAgICAgICBwcmVjZWRlbnRzQk5GUnVsZSxcbiAgICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUsXG4gICAgICAgICAgICB3aWxkY2FyZEJORlJ1bGUsXG4gICAgICAgICAgICBiYWNrdGlja0JORlJ1bGUsXG4gICAgICAgICAgICBlcHNpbG9uQk5GUnVsZSxcbiAgICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgb3BhY2l0eU1vZGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG9wdGlvbmFsUXVhbnRpZmllckJORlJ1bGUsXG4gICAgICAgICAgICBvbmVPck1vcmVRdWFudGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIHplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIGNvbnRpbnVhdGlvbk1vZGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIGVycm9yQk5GUnVsZVxuICAgICAgICAgIF0sXG4gICAgICAgICAgc3RhcnRSdWxlID0gc3RhcnRSdWxlRnJvbVJ1bGVzKHJ1bGVzKSxcbiAgICAgICAgICBydWxlTWFwID0gcnVsZU1hcEZyb21SdWxlcyhydWxlcyksXG4gICAgICAgICAgYm5mUGFyc2VyID0gbmV3IEJORlBhcnNlcihzdGFydFJ1bGUsIHJ1bGVNYXApO1xuICAgIFxuICAgIHJldHVybiBibmZQYXJzZXI7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihCTkZQYXJzZXIucHJvdG90eXBlLCBwYXJzZXJNaXhpbnMpO1xuIl0sIm5hbWVzIjpbIkJORlBhcnNlciIsInN0YXJ0UnVsZSIsInJ1bGVNYXAiLCJnZXRTdGFydFJ1bGUiLCJnZXRSdWxlTWFwIiwicnVsZXNGcm9tVG9rZW5zIiwidG9rZW5zIiwicnVsZXMiLCJub2RlIiwicGFyc2UiLCJFcnJvciIsImdlbmVyYXRlUnVsZXMiLCJSdWxlIiwicnVsZXNMZW5ndGgiLCJsZW5ndGgiLCJOb25UZXJtaW5hbE5vZGVNYXAiLCJkZWZhdWx0Tm9uVGVybWluYWxOb2RlIiwiYm5mIiwiZnJvbU5vdGhpbmciLCJuYW1lQk5GUnVsZSIsIk5hbWVCTkZSdWxlIiwicGFydEJORlJ1bGUiLCJQYXJ0Qk5GUnVsZSIsInJ1bGVCTkZSdWxlIiwiUnVsZUJORlJ1bGUiLCJlcnJvckJORlJ1bGUiLCJFcnJvckJORlJ1bGUiLCJlcHNpbG9uQk5GUnVsZSIsIkVwc2lsb25CTkZSdWxlIiwiZG9jdW1lbnRCTkZSdWxlIiwiRG9jdW1lbnRCTkZSdWxlIiwicnVsZU5hbWVCTkZSdWxlIiwiUnVsZU5hbWVCTkZSdWxlIiwid2lsZGNhcmRCTkZSdWxlIiwiV2lsZGNhcmRCTkZSdWxlIiwiYmFja3RpY2tCTkZSdWxlIiwiQmFja3RpY2tCTkZSdWxlIiwiZW5kT2ZMaW5lQk5GUnVsZSIsIkVuZE9mTGluZUJORlJ1bGUiLCJwYXJ0Q2hvaWNlQk5GUnVsZSIsIlBhcnRDaG9pY2VCTkZSdWxlIiwicXVhbnRpZmllckJORlJ1bGUiLCJRdWFudGlmaWVyQk5GUnVsZSIsImRlZmluaXRpb25CTkZSdWxlIiwiRGVmaW5pdGlvbkJORlJ1bGUiLCJwcmVjZWRlbnRzQk5GUnVsZSIsIlByZWNlZGVudHNCTkZSdWxlIiwiZGVmaW5pdGlvbnNCTkZSdWxlIiwiRGVmaW5pdGlvbnNCTkZSdWxlIiwidGVybWluYWxQYXJ0Qk5GUnVsZSIsIlRlcm1pbmFsUGFydEJORlJ1bGUiLCJjaG9pY2VPZlBhcnRzQk5GUnVsZSIsIkNob2ljZU9mUGFydHNCTkZSdWxlIiwic3RyaW5nTGl0ZXJhbEJORlJ1bGUiLCJTdHJpbmdMaXRlcmFsQk5GUnVsZSIsIm5vblRlcm1pbmFsUGFydEJORlJ1bGUiLCJOb25UZXJtaW5hbFBhcnRCTkZSdWxlIiwic2VxdWVuY2VPZlBhcnRzQk5GUnVsZSIsIlNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUiLCJvcGFjaXR5TW9kaWZpZXJCTkZSdWxlIiwiT3BhY2l0eU1vZGlmaWVyQk5GUnVsZSIsIm5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlIiwiTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUiLCJyZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIiwiT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSIsIm9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlIiwiT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJ6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJjb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUiLCJDb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUiLCJzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJzdGFydFJ1bGVGcm9tUnVsZXMiLCJydWxlTWFwRnJvbVJ1bGVzIiwiYm5mUGFyc2VyIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwicGFyc2VyTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxQ0E7OztlQUFxQkE7Ozs0REFuQ0w7NkRBQ0M7MkVBQ2M7K0RBQ047NkRBQ0Q7NkRBQ0E7OERBQ0E7OERBQ0M7Z0VBQ0U7aUVBQ0M7aUVBQ0E7aUVBQ0E7a0VBRUM7bUVBQ0M7bUVBQ0E7bUVBQ0E7bUVBQ0E7b0VBQ0M7cUVBQ0M7c0VBQ0M7c0VBQ0E7d0VBQ0U7d0VBQ0E7d0VBQ0E7eUVBQ0M7MEVBQ0M7MkVBQ0M7NEVBQ0M7NkVBQ0M7NkVBQ0E7NkVBQ0E7dUJBRWE7Ozs7OztBQUV0QyxNQUFNQTtJQUNuQixZQUFZQyxTQUFTLEVBQUVDLE9BQU8sQ0FBRTtRQUM5QixJQUFJLENBQUNELFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0YsU0FBUztJQUN2QjtJQUVBRyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNGLE9BQU87SUFDckI7SUFFREcsZ0JBQWdCQyxNQUFNLEVBQUU7UUFDdEIsSUFBSUM7UUFFSCxNQUFNQyxPQUFPLElBQUksQ0FBQ0MsS0FBSyxDQUFDSDtRQUV4QixJQUFJRSxTQUFTLE1BQU07WUFDakIsTUFBTSxJQUFJRSxNQUFNLENBQUMsaUJBQWlCLENBQUM7UUFDckM7UUFFQUgsUUFBUUMsS0FBS0csYUFBYSxDQUFDQyxhQUFJO1FBRS9CLE1BQU1DLGNBQWNOLE1BQU1PLE1BQU07UUFFaEMsSUFBSUQsZ0JBQWdCLEdBQUc7WUFDckIsTUFBTSxJQUFJSCxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDdkM7UUFFQSxPQUFPSDtJQUNUO0lBRUEsT0FBT1EscUJBQXFCQSwyQkFBa0IsQ0FBQztJQUUvQyxPQUFPQyx5QkFBeUIsS0FBSztJQUVyQyxPQUFPQyxNQUFNQSxZQUFHLENBQUM7SUFFakIsT0FBT0MsY0FBYztRQUNuQixNQUFNQyxjQUFjQyxhQUFXLENBQUNGLFdBQVcsSUFDckNHLGNBQWNDLGFBQVcsQ0FBQ0osV0FBVyxJQUNyQ0ssY0FBY0MsY0FBVyxDQUFDTixXQUFXLElBQ3JDTyxlQUFlQyxjQUFZLENBQUNSLFdBQVcsSUFDdkNTLGlCQUFpQkMsZ0JBQWMsQ0FBQ1YsV0FBVyxJQUMzQ1csa0JBQWtCQyxpQkFBZSxDQUFDWixXQUFXLElBQzdDYSxrQkFBa0JDLGlCQUFlLENBQUNkLFdBQVcsSUFDN0NlLGtCQUFrQkMsaUJBQWUsQ0FBQ2hCLFdBQVcsSUFDN0NpQixrQkFBa0JDLGlCQUFlLENBQUNsQixXQUFXLElBQzdDbUIsbUJBQW1CQyxrQkFBZ0IsQ0FBQ3BCLFdBQVcsSUFDL0NxQixvQkFBb0JDLG1CQUFpQixDQUFDdEIsV0FBVyxJQUNqRHVCLG9CQUFvQkMsbUJBQWlCLENBQUN4QixXQUFXLElBQ2pEeUIsb0JBQW9CQyxtQkFBaUIsQ0FBQzFCLFdBQVcsSUFDakQyQixvQkFBb0JDLG1CQUFpQixDQUFDNUIsV0FBVyxJQUNqRDZCLHFCQUFxQkMsb0JBQWtCLENBQUM5QixXQUFXLElBQ25EK0Isc0JBQXNCQyxxQkFBbUIsQ0FBQ2hDLFdBQVcsSUFDckRpQyx1QkFBdUJDLHNCQUFvQixDQUFDbEMsV0FBVyxJQUN2RG1DLHVCQUF1QkMsc0JBQW9CLENBQUNwQyxXQUFXLElBQ3ZEcUMseUJBQXlCQyx3QkFBc0IsQ0FBQ3RDLFdBQVcsSUFDM0R1Qyx5QkFBeUJDLHdCQUFzQixDQUFDeEMsV0FBVyxJQUMzRHlDLHlCQUF5QkMsd0JBQXNCLENBQUMxQyxXQUFXLElBQzNEMkMsMEJBQTBCQyx5QkFBdUIsQ0FBQzVDLFdBQVcsSUFDN0Q2QywyQkFBMkJDLDBCQUF3QixDQUFDOUMsV0FBVyxJQUMvRCtDLDRCQUE0QkMsMkJBQXlCLENBQUNoRCxXQUFXLElBQ2pFaUQsNkJBQTZCQyw0QkFBMEIsQ0FBQ2xELFdBQVcsSUFDbkVtRCw4QkFBOEJDLDZCQUEyQixDQUFDcEQsV0FBVyxJQUNyRXFELDhCQUE4QkMsNkJBQTJCLENBQUN0RCxXQUFXLElBQ3JFdUQsOEJBQThCQyw2QkFBMkIsQ0FBQ3hELFdBQVcsSUFDckVYLFFBQVE7WUFDTnNCO1lBQ0FOO1lBQ0FKO1lBQ0E0QjtZQUNBSjtZQUNBdEI7WUFDQWtDO1lBQ0FOO1lBQ0FZO1lBQ0FKO1lBQ0FOO1lBQ0FaO1lBQ0FSO1lBQ0EwQztZQUNBVjtZQUNBVjtZQUNBUjtZQUNBUjtZQUNBSjtZQUNBRTtZQUNBUjtZQUNBYztZQUNBa0I7WUFDQU07WUFDQUU7WUFDQUU7WUFDQUU7WUFDQTlDO1NBQ0QsRUFDRHhCLFlBQVkwRSxJQUFBQSx5QkFBa0IsRUFBQ3BFLFFBQy9CTCxVQUFVMEUsSUFBQUEsdUJBQWdCLEVBQUNyRSxRQUMzQnNFLFlBQVksSUFBSTdFLFVBQVVDLFdBQVdDO1FBRTNDLE9BQU8yRTtJQUNUO0FBQ0Y7QUFFQUMsT0FBT0MsTUFBTSxDQUFDL0UsVUFBVWdGLFNBQVMsRUFBRUMsZUFBWSJ9
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BacktickBNFNode;
9
+ }
10
+ });
11
+ const _backtick = /*#__PURE__*/ _interop_require_default(require("../../part/terminal/backtick"));
12
+ const _nonTerminal = /*#__PURE__*/ _interop_require_default(require("../../node/nonTerminal"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class BacktickBNFNode extends _nonTerminal.default {
19
+ generatePart(continuatino) {
20
+ const backtickPart = _backtick.default.fromNothing();
21
+ return backtickPart;
22
+ }
23
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
24
+ return _nonTerminal.default.fromRuleNameChildNodesOpacityAndPrecedence(BacktickBNFNode, ruleName, childNodes, opacity, precedence);
25
+ }
26
+ }
27
+
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2JuZi9iYWNrdGljay5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJhY2t0aWNrUGFydCBmcm9tIFwiLi4vLi4vcGFydC90ZXJtaW5hbC9iYWNrdGlja1wiO1xuaW1wb3J0IE5vblRlcm1pbmFsTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9ub25UZXJtaW5hbFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYWNrdGlja0JORk5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGUge1xuICBnZW5lcmF0ZVBhcnQoY29udGludWF0aW5vKSB7XG4gICAgY29uc3QgYmFja3RpY2tQYXJ0ID0gQmFja3RpY2tQYXJ0LmZyb21Ob3RoaW5nKCk7XG5cbiAgICByZXR1cm4gYmFja3RpY2tQYXJ0O1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShCYWNrdGlja0JORk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTsgfVxufVxuIl0sIm5hbWVzIjpbIkJhY2t0aWNrQk5GTm9kZSIsIk5vblRlcm1pbmFsTm9kZSIsImdlbmVyYXRlUGFydCIsImNvbnRpbnVhdGlubyIsImJhY2t0aWNrUGFydCIsIkJhY2t0aWNrUGFydCIsImZyb21Ob3RoaW5nIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBcUJBOzs7aUVBSEk7b0VBQ0c7Ozs7OztBQUViLE1BQU1BLHdCQUF3QkMsb0JBQWU7SUFDMURDLGFBQWFDLFlBQVksRUFBRTtRQUN6QixNQUFNQyxlQUFlQyxpQkFBWSxDQUFDQyxXQUFXO1FBRTdDLE9BQU9GO0lBQ1Q7SUFFQSxPQUFPRywyQ0FBMkNDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtRQUFFLE9BQU9WLG9CQUFlLENBQUNNLDBDQUEwQyxDQUFDUCxpQkFBaUJRLFVBQVVDLFlBQVlDLFNBQVNDO0lBQWE7QUFDaE8ifQ==
@@ -16,6 +16,7 @@ const _epsilon = /*#__PURE__*/ _interop_require_default(require("./node/bnf/epsi
16
16
  const _document = /*#__PURE__*/ _interop_require_default(require("./node/bnf/document"));
17
17
  const _ruleName = /*#__PURE__*/ _interop_require_default(require("./node/bnf/ruleName"));
18
18
  const _wildcard = /*#__PURE__*/ _interop_require_default(require("./node/bnf/wildcard"));
19
+ const _backtick = /*#__PURE__*/ _interop_require_default(require("./node/bnf/backtick"));
19
20
  const _endOfLine = /*#__PURE__*/ _interop_require_default(require("./node/bnf/endOfLine"));
20
21
  const _partChoice = /*#__PURE__*/ _interop_require_default(require("./node/bnf/partChoice"));
21
22
  const _precedence = /*#__PURE__*/ _interop_require_default(require("./node/bnf/precedence"));
@@ -49,6 +50,7 @@ const NonTerminalNodeMap = {
49
50
  [_ruleNames.EPSILON_RULE_NAME]: _epsilon.default,
50
51
  [_ruleNames.DOCUMENT_RULE_NAME]: _document.default,
51
52
  [_ruleNames.WILDCARD_RULE_NAME]: _wildcard.default,
53
+ [_ruleNames.BACKTICK_RULE_NAME]: _backtick.default,
52
54
  [_ruleNames.RULE_NAME_RULE_NAME]: _ruleName.default,
53
55
  [_ruleNames.DEFINITION_RULE_NAME]: _definition.default,
54
56
  [_ruleNames.PRECEDENCE_RULE_NAME]: _precedence.default,
@@ -72,4 +74,4 @@ const NonTerminalNodeMap = {
72
74
  };
73
75
  const _default = NonTerminalNodeMap;
74
76
 
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGVNYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQYXJ0Qk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9wYXJ0XCI7XG5pbXBvcnQgTmFtZUJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvbmFtZVwiO1xuaW1wb3J0IFJ1bGVCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL3J1bGVcIjtcbmltcG9ydCBFcnJvckJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvZXJyb3JcIjtcbmltcG9ydCBFcHNpbG9uQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9lcHNpbG9uXCI7XG5pbXBvcnQgRG9jdW1lbnRCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL2RvY3VtZW50XCI7XG5pbXBvcnQgUnVsZU5hbWVCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL3J1bGVOYW1lXCI7XG5pbXBvcnQgV2lsZGNhcmRCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL3dpbGRjYXJkXCI7XG5pbXBvcnQgRW5kT2ZMaW5lQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9lbmRPZkxpbmVcIjtcbmltcG9ydCBQYXJ0Q2hvaWNlQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9wYXJ0Q2hvaWNlXCI7XG5pbXBvcnQgUHJlY2VkZW5jZUJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvcHJlY2VkZW5jZVwiO1xuaW1wb3J0IFF1YW50aWZpZXJCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL3F1YW50aWZpZXJcIjtcbmltcG9ydCBEZWZpbml0aW9uQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9kZWZpbml0aW9uXCI7XG5pbXBvcnQgRGVmaW5pdGlvbnNCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL2RlZmluaXRpb25zXCI7XG5pbXBvcnQgVGVybWluYWxQYXJ0Qk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi90ZXJtaW5hbFBhcnRcIjtcbmltcG9ydCBDaG9pY2VPZlBhcnRzQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9jaG9pY2VPZlBhcnRzXCI7XG5pbXBvcnQgU3RyaW5nTGl0ZXJhbEJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IEJvblRlcm1pbmFsUGFydEJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvbm9uVGVybWluYWxQYXJ0XCI7XG5pbXBvcnQgU2VxdWVuY2VPZlBhcnRzQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9zZXF1ZW5jZU9mUGFydHNcIjtcbmltcG9ydCBPcGFjaXR5TW9kaWZpZXJCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL29wYWNpdHlNb2RpZmllclwiO1xuaW1wb3J0IE5vV2hpdGVzcGFjZVBhcnRCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL25vV2hpdGVzcGFjZVBhcnRcIjtcbmltcG9ydCBSZWd1bGFyRXhwcmVzc2lvbkJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvcmVndWxhckV4cHJlc3Npb25cIjtcbmltcG9ydCBPcHRpb25hbFF1YW50aWZpZXJCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL29wdGlvbmFsUXVhbnRpZmllclwiO1xuaW1wb3J0IE9uZU9yTW9yZVF1YW50aWZpZXJCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL29uZU9uZU9yTW9yZVF1YW50aWZpZXJcIjtcbmltcG9ydCBTaWduaWZpY2FudFRva2VuVHlwZUJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvc2lnbmlmaWNhbnRUb2tlblR5cGVcIjtcbmltcG9ydCBDb250aW51YXRpb25Nb2RpZmllckJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvY29udGludWF0aW9uTW9kaWZpZXJcIjtcbmltcG9ydCBaZXJvT3JNb3JlUXVhbnRpZmllckJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvemVyb09uZU9yTW9yZVF1YW50aWZpZXJcIjtcblxuaW1wb3J0IHsgTkFNRV9SVUxFX05BTUUsXG4gICAgICAgICBQQVJUX1JVTEVfTkFNRSxcbiAgICAgICAgIFJVTEVfUlVMRV9OQU1FLFxuICAgICAgICAgRVJST1JfUlVMRV9OQU1FLFxuICAgICAgICAgRVBTSUxPTl9SVUxFX05BTUUsXG4gICAgICAgICBET0NVTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICBXSUxEQ0FSRF9SVUxFX05BTUUsXG4gICAgICAgICBSVUxFX05BTUVfUlVMRV9OQU1FLFxuICAgICAgICAgREVGSU5JVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUkVDRURFTkNFX1JVTEVfTkFNRSxcbiAgICAgICAgIFFVQU5USUZJRVJfUlVMRV9OQU1FLFxuICAgICAgICAgRU5EX09GX0xJTkVfUlVMRV9OQU1FLFxuICAgICAgICAgUEFSVF9DSE9JQ0VfUlVMRV9OQU1FLFxuICAgICAgICAgREVGSU5JVElPTlNfUlVMRV9OQU1FLFxuICAgICAgICAgVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUsXG4gICAgICAgICBTVFJJTkdfTElURVJBTF9SVUxFX05BTUUsXG4gICAgICAgICBDSE9JQ0VfT0ZfUEFSVFNfUlVMRV9OQU1FLFxuICAgICAgICAgT1BBQ0lUWV9NT0RJRklFUl9SVUxFX05BTUUsXG4gICAgICAgICBOT05fVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUsXG4gICAgICAgICBTRVFVRU5DRV9PRl9QQVJUU19SVUxFX05BTUUsXG4gICAgICAgICBOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FLFxuICAgICAgICAgUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE9QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FLFxuICAgICAgICAgQ09OVElOVUFUSU9OX01PRElGSUVSX1JVTEVfTkFNRSxcbiAgICAgICAgIFNJR05JRklDQU5UX1RPS0VOX1RZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgT05FX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUsXG4gICAgICAgICBaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgTm9uVGVybWluYWxOb2RlTWFwID0ge1xuICBbTkFNRV9SVUxFX05BTUVdOiBOYW1lQk5GTm9kZSxcbiAgW1BBUlRfUlVMRV9OQU1FXTogUGFydEJORk5vZGUsXG4gIFtSVUxFX1JVTEVfTkFNRV06IFJ1bGVCTkZOb2RlLFxuICBbRVJST1JfUlVMRV9OQU1FXTogRXJyb3JCTkZOb2RlLFxuICBbRVBTSUxPTl9SVUxFX05BTUVdOiBFcHNpbG9uQk5GTm9kZSxcbiAgW0RPQ1VNRU5UX1JVTEVfTkFNRV06IERvY3VtZW50Qk5GTm9kZSxcbiAgW1dJTERDQVJEX1JVTEVfTkFNRV06IFdpbGRjYXJkQk5GTm9kZSxcbiAgW1JVTEVfTkFNRV9SVUxFX05BTUVdOiBSdWxlTmFtZUJORk5vZGUsXG4gIFtERUZJTklUSU9OX1JVTEVfTkFNRV06IERlZmluaXRpb25CTkZOb2RlLFxuICBbUFJFQ0VERU5DRV9SVUxFX05BTUVdOiBQcmVjZWRlbmNlQk5GTm9kZSxcbiAgW1FVQU5USUZJRVJfUlVMRV9OQU1FXTogUXVhbnRpZmllckJORk5vZGUsXG4gIFtFTkRfT0ZfTElORV9SVUxFX05BTUVdOiBFbmRPZkxpbmVCTkZOb2RlLFxuICBbUEFSVF9DSE9JQ0VfUlVMRV9OQU1FXTogUGFydENob2ljZUJORk5vZGUsXG4gIFtERUZJTklUSU9OU19SVUxFX05BTUVdOiBEZWZpbml0aW9uc0JORk5vZGUsXG4gIFtURVJNSU5BTF9QQVJUX1JVTEVfTkFNRV06IFRlcm1pbmFsUGFydEJORk5vZGUsXG4gIFtTVFJJTkdfTElURVJBTF9SVUxFX05BTUVdOiBTdHJpbmdMaXRlcmFsQk5GTm9kZSxcbiAgW0NIT0lDRV9PRl9QQVJUU19SVUxFX05BTUVdOiBDaG9pY2VPZlBhcnRzQk5GTm9kZSxcbiAgW09QQUNJVFlfTU9ESUZJRVJfUlVMRV9OQU1FXTogT3BhY2l0eU1vZGlmaWVyQk5GTm9kZSxcbiAgW05PTl9URVJNSU5BTF9QQVJUX1JVTEVfTkFNRV06IEJvblRlcm1pbmFsUGFydEJORk5vZGUsXG4gIFtTRVFVRU5DRV9PRl9QQVJUU19SVUxFX05BTUVdOiBTZXF1ZW5jZU9mUGFydHNCTkZOb2RlLFxuICBbTk9fV0hJVEVTUEFDRV9QQVJUX1JVTEVfTkFNRV06IE5vV2hpdGVzcGFjZVBhcnRCTkZOb2RlLFxuICBbUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRV06IFJlZ3VsYXJFeHByZXNzaW9uQk5GTm9kZSxcbiAgW09QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FXTogT3B0aW9uYWxRdWFudGlmaWVyQk5GTm9kZSxcbiAgW0NPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUVdOiBDb250aW51YXRpb25Nb2RpZmllckJORk5vZGUsXG4gIFtPTkVfT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRV06IE9uZU9yTW9yZVF1YW50aWZpZXJCTkZOb2RlLFxuICBbU0lHTklGSUNBTlRfVE9LRU5fVFlQRV9SVUxFX05BTUVdOiBTaWduaWZpY2FudFRva2VuVHlwZUJORk5vZGUsXG4gIFtaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUVdOiBaZXJvT3JNb3JlUXVhbnRpZmllckJORk5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vblRlcm1pbmFsTm9kZU1hcDsiXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlTWFwIiwiTkFNRV9SVUxFX05BTUUiLCJOYW1lQk5GTm9kZSIsIlBBUlRfUlVMRV9OQU1FIiwiUGFydEJORk5vZGUiLCJSVUxFX1JVTEVfTkFNRSIsIlJ1bGVCTkZOb2RlIiwiRVJST1JfUlVMRV9OQU1FIiwiRXJyb3JCTkZOb2RlIiwiRVBTSUxPTl9SVUxFX05BTUUiLCJFcHNpbG9uQk5GTm9kZSIsIkRPQ1VNRU5UX1JVTEVfTkFNRSIsIkRvY3VtZW50Qk5GTm9kZSIsIldJTERDQVJEX1JVTEVfTkFNRSIsIldpbGRjYXJkQk5GTm9kZSIsIlJVTEVfTkFNRV9SVUxFX05BTUUiLCJSdWxlTmFtZUJORk5vZGUiLCJERUZJTklUSU9OX1JVTEVfTkFNRSIsIkRlZmluaXRpb25CTkZOb2RlIiwiUFJFQ0VERU5DRV9SVUxFX05BTUUiLCJQcmVjZWRlbmNlQk5GTm9kZSIsIlFVQU5USUZJRVJfUlVMRV9OQU1FIiwiUXVhbnRpZmllckJORk5vZGUiLCJFTkRfT0ZfTElORV9SVUxFX05BTUUiLCJFbmRPZkxpbmVCTkZOb2RlIiwiUEFSVF9DSE9JQ0VfUlVMRV9OQU1FIiwiUGFydENob2ljZUJORk5vZGUiLCJERUZJTklUSU9OU19SVUxFX05BTUUiLCJEZWZpbml0aW9uc0JORk5vZGUiLCJURVJNSU5BTF9QQVJUX1JVTEVfTkFNRSIsIlRlcm1pbmFsUGFydEJORk5vZGUiLCJTVFJJTkdfTElURVJBTF9SVUxFX05BTUUiLCJTdHJpbmdMaXRlcmFsQk5GTm9kZSIsIkNIT0lDRV9PRl9QQVJUU19SVUxFX05BTUUiLCJDaG9pY2VPZlBhcnRzQk5GTm9kZSIsIk9QQUNJVFlfTU9ESUZJRVJfUlVMRV9OQU1FIiwiT3BhY2l0eU1vZGlmaWVyQk5GTm9kZSIsIk5PTl9URVJNSU5BTF9QQVJUX1JVTEVfTkFNRSIsIkJvblRlcm1pbmFsUGFydEJORk5vZGUiLCJTRVFVRU5DRV9PRl9QQVJUU19SVUxFX05BTUUiLCJTZXF1ZW5jZU9mUGFydHNCTkZOb2RlIiwiTk9fV0hJVEVTUEFDRV9QQVJUX1JVTEVfTkFNRSIsIk5vV2hpdGVzcGFjZVBhcnRCTkZOb2RlIiwiUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSIsIlJlZ3VsYXJFeHByZXNzaW9uQk5GTm9kZSIsIk9QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FIiwiT3B0aW9uYWxRdWFudGlmaWVyQk5GTm9kZSIsIkNPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUUiLCJDb250aW51YXRpb25Nb2RpZmllckJORk5vZGUiLCJPTkVfT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRSIsIk9uZU9yTW9yZVF1YW50aWZpZXJCTkZOb2RlIiwiU0lHTklGSUNBTlRfVE9LRU5fVFlQRV9SVUxFX05BTUUiLCJTaWduaWZpY2FudFRva2VuVHlwZUJORk5vZGUiLCJaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUiLCJaZXJvT3JNb3JlUXVhbnRpZmllckJORk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdGQTs7O2VBQUE7Ozs2REF0RndCOzZEQUNBOzZEQUNBOzhEQUNDO2dFQUNFO2lFQUNDO2lFQUNBO2lFQUNBO2tFQUNDO21FQUNDO21FQUNBO21FQUNBO21FQUNBO29FQUNDO3FFQUNDO3NFQUNDO3NFQUNBO3dFQUNFO3dFQUNBO3dFQUNBO3lFQUNDOzBFQUNDOzJFQUNDOytFQUNDOzZFQUNDOzZFQUNBO2dGQUNBOzJCQTRCVTs7Ozs7O0FBRWxELE1BQU1BLHFCQUFxQjtJQUN6QixDQUFDQyx5QkFBYyxDQUFDLEVBQUVDLGFBQVc7SUFDN0IsQ0FBQ0MseUJBQWMsQ0FBQyxFQUFFQyxhQUFXO0lBQzdCLENBQUNDLHlCQUFjLENBQUMsRUFBRUMsYUFBVztJQUM3QixDQUFDQywwQkFBZSxDQUFDLEVBQUVDLGNBQVk7SUFDL0IsQ0FBQ0MsNEJBQWlCLENBQUMsRUFBRUMsZ0JBQWM7SUFDbkMsQ0FBQ0MsNkJBQWtCLENBQUMsRUFBRUMsaUJBQWU7SUFDckMsQ0FBQ0MsNkJBQWtCLENBQUMsRUFBRUMsaUJBQWU7SUFDckMsQ0FBQ0MsOEJBQW1CLENBQUMsRUFBRUMsaUJBQWU7SUFDdEMsQ0FBQ0MsK0JBQW9CLENBQUMsRUFBRUMsbUJBQWlCO0lBQ3pDLENBQUNDLCtCQUFvQixDQUFDLEVBQUVDLG1CQUFpQjtJQUN6QyxDQUFDQywrQkFBb0IsQ0FBQyxFQUFFQyxtQkFBaUI7SUFDekMsQ0FBQ0MsZ0NBQXFCLENBQUMsRUFBRUMsa0JBQWdCO0lBQ3pDLENBQUNDLGdDQUFxQixDQUFDLEVBQUVDLG1CQUFpQjtJQUMxQyxDQUFDQyxnQ0FBcUIsQ0FBQyxFQUFFQyxvQkFBa0I7SUFDM0MsQ0FBQ0Msa0NBQXVCLENBQUMsRUFBRUMscUJBQW1CO0lBQzlDLENBQUNDLG1DQUF3QixDQUFDLEVBQUVDLHNCQUFvQjtJQUNoRCxDQUFDQyxvQ0FBeUIsQ0FBQyxFQUFFQyxzQkFBb0I7SUFDakQsQ0FBQ0MscUNBQTBCLENBQUMsRUFBRUMsd0JBQXNCO0lBQ3BELENBQUNDLHNDQUEyQixDQUFDLEVBQUVDLHdCQUFzQjtJQUNyRCxDQUFDQyxzQ0FBMkIsQ0FBQyxFQUFFQyx3QkFBc0I7SUFDckQsQ0FBQ0MsdUNBQTRCLENBQUMsRUFBRUMseUJBQXVCO0lBQ3ZELENBQUNDLHVDQUE0QixDQUFDLEVBQUVDLDBCQUF3QjtJQUN4RCxDQUFDQyx3Q0FBNkIsQ0FBQyxFQUFFQywyQkFBeUI7SUFDMUQsQ0FBQ0MsMENBQStCLENBQUMsRUFBRUMsNkJBQTJCO0lBQzlELENBQUNDLDJDQUFnQyxDQUFDLEVBQUVDLCtCQUEwQjtJQUM5RCxDQUFDQywyQ0FBZ0MsQ0FBQyxFQUFFQyw2QkFBMkI7SUFDL0QsQ0FBQ0MsNENBQWlDLENBQUMsRUFBRUMsZ0NBQTJCO0FBQ2xFO01BRUEsV0FBZXREIn0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGVNYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQYXJ0Qk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9wYXJ0XCI7XG5pbXBvcnQgTmFtZUJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvbmFtZVwiO1xuaW1wb3J0IFJ1bGVCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL3J1bGVcIjtcbmltcG9ydCBFcnJvckJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvZXJyb3JcIjtcbmltcG9ydCBFcHNpbG9uQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9lcHNpbG9uXCI7XG5pbXBvcnQgRG9jdW1lbnRCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL2RvY3VtZW50XCI7XG5pbXBvcnQgUnVsZU5hbWVCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL3J1bGVOYW1lXCI7XG5pbXBvcnQgV2lsZGNhcmRCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL3dpbGRjYXJkXCI7XG5pbXBvcnQgQmFja3RpY2tCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL2JhY2t0aWNrXCI7XG5pbXBvcnQgRW5kT2ZMaW5lQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9lbmRPZkxpbmVcIjtcbmltcG9ydCBQYXJ0Q2hvaWNlQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9wYXJ0Q2hvaWNlXCI7XG5pbXBvcnQgUHJlY2VkZW5jZUJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvcHJlY2VkZW5jZVwiO1xuaW1wb3J0IFF1YW50aWZpZXJCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL3F1YW50aWZpZXJcIjtcbmltcG9ydCBEZWZpbml0aW9uQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9kZWZpbml0aW9uXCI7XG5pbXBvcnQgRGVmaW5pdGlvbnNCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL2RlZmluaXRpb25zXCI7XG5pbXBvcnQgVGVybWluYWxQYXJ0Qk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi90ZXJtaW5hbFBhcnRcIjtcbmltcG9ydCBDaG9pY2VPZlBhcnRzQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9jaG9pY2VPZlBhcnRzXCI7XG5pbXBvcnQgU3RyaW5nTGl0ZXJhbEJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IEJvblRlcm1pbmFsUGFydEJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvbm9uVGVybWluYWxQYXJ0XCI7XG5pbXBvcnQgU2VxdWVuY2VPZlBhcnRzQk5GTm9kZSBmcm9tIFwiLi9ub2RlL2JuZi9zZXF1ZW5jZU9mUGFydHNcIjtcbmltcG9ydCBPcGFjaXR5TW9kaWZpZXJCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL29wYWNpdHlNb2RpZmllclwiO1xuaW1wb3J0IE5vV2hpdGVzcGFjZVBhcnRCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL25vV2hpdGVzcGFjZVBhcnRcIjtcbmltcG9ydCBSZWd1bGFyRXhwcmVzc2lvbkJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvcmVndWxhckV4cHJlc3Npb25cIjtcbmltcG9ydCBPcHRpb25hbFF1YW50aWZpZXJCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL29wdGlvbmFsUXVhbnRpZmllclwiO1xuaW1wb3J0IE9uZU9yTW9yZVF1YW50aWZpZXJCTkZOb2RlIGZyb20gXCIuL25vZGUvYm5mL29uZU9uZU9yTW9yZVF1YW50aWZpZXJcIjtcbmltcG9ydCBTaWduaWZpY2FudFRva2VuVHlwZUJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvc2lnbmlmaWNhbnRUb2tlblR5cGVcIjtcbmltcG9ydCBDb250aW51YXRpb25Nb2RpZmllckJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvY29udGludWF0aW9uTW9kaWZpZXJcIjtcbmltcG9ydCBaZXJvT3JNb3JlUXVhbnRpZmllckJORk5vZGUgZnJvbSBcIi4vbm9kZS9ibmYvemVyb09uZU9yTW9yZVF1YW50aWZpZXJcIjtcblxuaW1wb3J0IHsgTkFNRV9SVUxFX05BTUUsXG4gICAgICAgICBQQVJUX1JVTEVfTkFNRSxcbiAgICAgICAgIFJVTEVfUlVMRV9OQU1FLFxuICAgICAgICAgRVJST1JfUlVMRV9OQU1FLFxuICAgICAgICAgRVBTSUxPTl9SVUxFX05BTUUsXG4gICAgICAgICBET0NVTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICBXSUxEQ0FSRF9SVUxFX05BTUUsXG4gICAgICAgICBCQUNLVElDS19SVUxFX05BTUUsXG4gICAgICAgICBSVUxFX05BTUVfUlVMRV9OQU1FLFxuICAgICAgICAgREVGSU5JVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUkVDRURFTkNFX1JVTEVfTkFNRSxcbiAgICAgICAgIFFVQU5USUZJRVJfUlVMRV9OQU1FLFxuICAgICAgICAgRU5EX09GX0xJTkVfUlVMRV9OQU1FLFxuICAgICAgICAgUEFSVF9DSE9JQ0VfUlVMRV9OQU1FLFxuICAgICAgICAgREVGSU5JVElPTlNfUlVMRV9OQU1FLFxuICAgICAgICAgVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUsXG4gICAgICAgICBTVFJJTkdfTElURVJBTF9SVUxFX05BTUUsXG4gICAgICAgICBDSE9JQ0VfT0ZfUEFSVFNfUlVMRV9OQU1FLFxuICAgICAgICAgT1BBQ0lUWV9NT0RJRklFUl9SVUxFX05BTUUsXG4gICAgICAgICBOT05fVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUsXG4gICAgICAgICBTRVFVRU5DRV9PRl9QQVJUU19SVUxFX05BTUUsXG4gICAgICAgICBOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FLFxuICAgICAgICAgUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE9QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FLFxuICAgICAgICAgQ09OVElOVUFUSU9OX01PRElGSUVSX1JVTEVfTkFNRSxcbiAgICAgICAgIFNJR05JRklDQU5UX1RPS0VOX1RZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgT05FX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUsXG4gICAgICAgICBaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgTm9uVGVybWluYWxOb2RlTWFwID0ge1xuICBbTkFNRV9SVUxFX05BTUVdOiBOYW1lQk5GTm9kZSxcbiAgW1BBUlRfUlVMRV9OQU1FXTogUGFydEJORk5vZGUsXG4gIFtSVUxFX1JVTEVfTkFNRV06IFJ1bGVCTkZOb2RlLFxuICBbRVJST1JfUlVMRV9OQU1FXTogRXJyb3JCTkZOb2RlLFxuICBbRVBTSUxPTl9SVUxFX05BTUVdOiBFcHNpbG9uQk5GTm9kZSxcbiAgW0RPQ1VNRU5UX1JVTEVfTkFNRV06IERvY3VtZW50Qk5GTm9kZSxcbiAgW1dJTERDQVJEX1JVTEVfTkFNRV06IFdpbGRjYXJkQk5GTm9kZSxcbiAgW0JBQ0tUSUNLX1JVTEVfTkFNRV06IEJhY2t0aWNrQk5GTm9kZSxcbiAgW1JVTEVfTkFNRV9SVUxFX05BTUVdOiBSdWxlTmFtZUJORk5vZGUsXG4gIFtERUZJTklUSU9OX1JVTEVfTkFNRV06IERlZmluaXRpb25CTkZOb2RlLFxuICBbUFJFQ0VERU5DRV9SVUxFX05BTUVdOiBQcmVjZWRlbmNlQk5GTm9kZSxcbiAgW1FVQU5USUZJRVJfUlVMRV9OQU1FXTogUXVhbnRpZmllckJORk5vZGUsXG4gIFtFTkRfT0ZfTElORV9SVUxFX05BTUVdOiBFbmRPZkxpbmVCTkZOb2RlLFxuICBbUEFSVF9DSE9JQ0VfUlVMRV9OQU1FXTogUGFydENob2ljZUJORk5vZGUsXG4gIFtERUZJTklUSU9OU19SVUxFX05BTUVdOiBEZWZpbml0aW9uc0JORk5vZGUsXG4gIFtURVJNSU5BTF9QQVJUX1JVTEVfTkFNRV06IFRlcm1pbmFsUGFydEJORk5vZGUsXG4gIFtTVFJJTkdfTElURVJBTF9SVUxFX05BTUVdOiBTdHJpbmdMaXRlcmFsQk5GTm9kZSxcbiAgW0NIT0lDRV9PRl9QQVJUU19SVUxFX05BTUVdOiBDaG9pY2VPZlBhcnRzQk5GTm9kZSxcbiAgW09QQUNJVFlfTU9ESUZJRVJfUlVMRV9OQU1FXTogT3BhY2l0eU1vZGlmaWVyQk5GTm9kZSxcbiAgW05PTl9URVJNSU5BTF9QQVJUX1JVTEVfTkFNRV06IEJvblRlcm1pbmFsUGFydEJORk5vZGUsXG4gIFtTRVFVRU5DRV9PRl9QQVJUU19SVUxFX05BTUVdOiBTZXF1ZW5jZU9mUGFydHNCTkZOb2RlLFxuICBbTk9fV0hJVEVTUEFDRV9QQVJUX1JVTEVfTkFNRV06IE5vV2hpdGVzcGFjZVBhcnRCTkZOb2RlLFxuICBbUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRV06IFJlZ3VsYXJFeHByZXNzaW9uQk5GTm9kZSxcbiAgW09QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FXTogT3B0aW9uYWxRdWFudGlmaWVyQk5GTm9kZSxcbiAgW0NPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUVdOiBDb250aW51YXRpb25Nb2RpZmllckJORk5vZGUsXG4gIFtPTkVfT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRV06IE9uZU9yTW9yZVF1YW50aWZpZXJCTkZOb2RlLFxuICBbU0lHTklGSUNBTlRfVE9LRU5fVFlQRV9SVUxFX05BTUVdOiBTaWduaWZpY2FudFRva2VuVHlwZUJORk5vZGUsXG4gIFtaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUVdOiBaZXJvT3JNb3JlUXVhbnRpZmllckJORk5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vblRlcm1pbmFsTm9kZU1hcDsiXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlTWFwIiwiTkFNRV9SVUxFX05BTUUiLCJOYW1lQk5GTm9kZSIsIlBBUlRfUlVMRV9OQU1FIiwiUGFydEJORk5vZGUiLCJSVUxFX1JVTEVfTkFNRSIsIlJ1bGVCTkZOb2RlIiwiRVJST1JfUlVMRV9OQU1FIiwiRXJyb3JCTkZOb2RlIiwiRVBTSUxPTl9SVUxFX05BTUUiLCJFcHNpbG9uQk5GTm9kZSIsIkRPQ1VNRU5UX1JVTEVfTkFNRSIsIkRvY3VtZW50Qk5GTm9kZSIsIldJTERDQVJEX1JVTEVfTkFNRSIsIldpbGRjYXJkQk5GTm9kZSIsIkJBQ0tUSUNLX1JVTEVfTkFNRSIsIkJhY2t0aWNrQk5GTm9kZSIsIlJVTEVfTkFNRV9SVUxFX05BTUUiLCJSdWxlTmFtZUJORk5vZGUiLCJERUZJTklUSU9OX1JVTEVfTkFNRSIsIkRlZmluaXRpb25CTkZOb2RlIiwiUFJFQ0VERU5DRV9SVUxFX05BTUUiLCJQcmVjZWRlbmNlQk5GTm9kZSIsIlFVQU5USUZJRVJfUlVMRV9OQU1FIiwiUXVhbnRpZmllckJORk5vZGUiLCJFTkRfT0ZfTElORV9SVUxFX05BTUUiLCJFbmRPZkxpbmVCTkZOb2RlIiwiUEFSVF9DSE9JQ0VfUlVMRV9OQU1FIiwiUGFydENob2ljZUJORk5vZGUiLCJERUZJTklUSU9OU19SVUxFX05BTUUiLCJEZWZpbml0aW9uc0JORk5vZGUiLCJURVJNSU5BTF9QQVJUX1JVTEVfTkFNRSIsIlRlcm1pbmFsUGFydEJORk5vZGUiLCJTVFJJTkdfTElURVJBTF9SVUxFX05BTUUiLCJTdHJpbmdMaXRlcmFsQk5GTm9kZSIsIkNIT0lDRV9PRl9QQVJUU19SVUxFX05BTUUiLCJDaG9pY2VPZlBhcnRzQk5GTm9kZSIsIk9QQUNJVFlfTU9ESUZJRVJfUlVMRV9OQU1FIiwiT3BhY2l0eU1vZGlmaWVyQk5GTm9kZSIsIk5PTl9URVJNSU5BTF9QQVJUX1JVTEVfTkFNRSIsIkJvblRlcm1pbmFsUGFydEJORk5vZGUiLCJTRVFVRU5DRV9PRl9QQVJUU19SVUxFX05BTUUiLCJTZXF1ZW5jZU9mUGFydHNCTkZOb2RlIiwiTk9fV0hJVEVTUEFDRV9QQVJUX1JVTEVfTkFNRSIsIk5vV2hpdGVzcGFjZVBhcnRCTkZOb2RlIiwiUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSIsIlJlZ3VsYXJFeHByZXNzaW9uQk5GTm9kZSIsIk9QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FIiwiT3B0aW9uYWxRdWFudGlmaWVyQk5GTm9kZSIsIkNPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUUiLCJDb250aW51YXRpb25Nb2RpZmllckJORk5vZGUiLCJPTkVfT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRSIsIk9uZU9yTW9yZVF1YW50aWZpZXJCTkZOb2RlIiwiU0lHTklGSUNBTlRfVE9LRU5fVFlQRV9SVUxFX05BTUUiLCJTaWduaWZpY2FudFRva2VuVHlwZUJORk5vZGUiLCJaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUiLCJaZXJvT3JNb3JlUXVhbnRpZmllckJORk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTJGQTs7O2VBQUE7Ozs2REF6RndCOzZEQUNBOzZEQUNBOzhEQUNDO2dFQUNFO2lFQUNDO2lFQUNBO2lFQUNBO2lFQUNBO2tFQUNDO21FQUNDO21FQUNBO21FQUNBO21FQUNBO29FQUNDO3FFQUNDO3NFQUNDO3NFQUNBO3dFQUNFO3dFQUNBO3dFQUNBO3lFQUNDOzBFQUNDOzJFQUNDOytFQUNDOzZFQUNDOzZFQUNBO2dGQUNBOzJCQTZCVTs7Ozs7O0FBRWxELE1BQU1BLHFCQUFxQjtJQUN6QixDQUFDQyx5QkFBYyxDQUFDLEVBQUVDLGFBQVc7SUFDN0IsQ0FBQ0MseUJBQWMsQ0FBQyxFQUFFQyxhQUFXO0lBQzdCLENBQUNDLHlCQUFjLENBQUMsRUFBRUMsYUFBVztJQUM3QixDQUFDQywwQkFBZSxDQUFDLEVBQUVDLGNBQVk7SUFDL0IsQ0FBQ0MsNEJBQWlCLENBQUMsRUFBRUMsZ0JBQWM7SUFDbkMsQ0FBQ0MsNkJBQWtCLENBQUMsRUFBRUMsaUJBQWU7SUFDckMsQ0FBQ0MsNkJBQWtCLENBQUMsRUFBRUMsaUJBQWU7SUFDckMsQ0FBQ0MsNkJBQWtCLENBQUMsRUFBRUMsaUJBQWU7SUFDckMsQ0FBQ0MsOEJBQW1CLENBQUMsRUFBRUMsaUJBQWU7SUFDdEMsQ0FBQ0MsK0JBQW9CLENBQUMsRUFBRUMsbUJBQWlCO0lBQ3pDLENBQUNDLCtCQUFvQixDQUFDLEVBQUVDLG1CQUFpQjtJQUN6QyxDQUFDQywrQkFBb0IsQ0FBQyxFQUFFQyxtQkFBaUI7SUFDekMsQ0FBQ0MsZ0NBQXFCLENBQUMsRUFBRUMsa0JBQWdCO0lBQ3pDLENBQUNDLGdDQUFxQixDQUFDLEVBQUVDLG1CQUFpQjtJQUMxQyxDQUFDQyxnQ0FBcUIsQ0FBQyxFQUFFQyxvQkFBa0I7SUFDM0MsQ0FBQ0Msa0NBQXVCLENBQUMsRUFBRUMscUJBQW1CO0lBQzlDLENBQUNDLG1DQUF3QixDQUFDLEVBQUVDLHNCQUFvQjtJQUNoRCxDQUFDQyxvQ0FBeUIsQ0FBQyxFQUFFQyxzQkFBb0I7SUFDakQsQ0FBQ0MscUNBQTBCLENBQUMsRUFBRUMsd0JBQXNCO0lBQ3BELENBQUNDLHNDQUEyQixDQUFDLEVBQUVDLHdCQUFzQjtJQUNyRCxDQUFDQyxzQ0FBMkIsQ0FBQyxFQUFFQyx3QkFBc0I7SUFDckQsQ0FBQ0MsdUNBQTRCLENBQUMsRUFBRUMseUJBQXVCO0lBQ3ZELENBQUNDLHVDQUE0QixDQUFDLEVBQUVDLDBCQUF3QjtJQUN4RCxDQUFDQyx3Q0FBNkIsQ0FBQyxFQUFFQywyQkFBeUI7SUFDMUQsQ0FBQ0MsMENBQStCLENBQUMsRUFBRUMsNkJBQTJCO0lBQzlELENBQUNDLDJDQUFnQyxDQUFDLEVBQUVDLCtCQUEwQjtJQUM5RCxDQUFDQywyQ0FBZ0MsQ0FBQyxFQUFFQyw2QkFBMkI7SUFDL0QsQ0FBQ0MsNENBQWlDLENBQUMsRUFBRUMsZ0NBQTJCO0FBQ2xFO01BRUEsV0FBZXhEIn0=
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BacktickPart;
9
+ }
10
+ });
11
+ const _occamlexers = require("occam-lexers");
12
+ const _frame = /*#__PURE__*/ _interop_require_default(require("../../frame"));
13
+ const _terminal = /*#__PURE__*/ _interop_require_default(require("../../part/terminal"));
14
+ const _terminal1 = /*#__PURE__*/ _interop_require_default(require("../../node/terminal"));
15
+ const _context = require("../../utilities/context");
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ const { backtick } = _occamlexers.specialSymbols;
22
+ class BacktickPart extends _terminal.default {
23
+ parse(frame, context) {
24
+ const part = this; ///
25
+ (0, _context.partContext)((context)=>{
26
+ let partFrame = null;
27
+ const nextSignificantToken = context.getNextSignificantToken();
28
+ if (nextSignificantToken !== null) {
29
+ const significantToken = nextSignificantToken, content = significantToken.getContent();
30
+ if (content === backtick) {
31
+ const terminalNode = _terminal1.default.fromSignificantToken(significantToken), childNode = terminalNode; ///
32
+ partFrame = _frame.default.fromChildNode(childNode);
33
+ }
34
+ }
35
+ frame = partFrame !== null ? context.compose(frame, partFrame) : null;
36
+ if (frame !== null) {
37
+ frame = context.continue(frame);
38
+ }
39
+ if (frame !== null) {
40
+ context.commit();
41
+ }
42
+ }, part, context);
43
+ return frame;
44
+ }
45
+ asString() {
46
+ const string = backtick; ///
47
+ return string;
48
+ }
49
+ static fromNothing() {
50
+ const backtickPart = new BacktickPart();
51
+ return backtickPart;
52
+ }
53
+ }
54
+
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJ0L3Rlcm1pbmFsL2JhY2t0aWNrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzcGVjaWFsU3ltYm9scyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IEZyYW1lIGZyb20gXCIuLi8uLi9mcmFtZVwiO1xuaW1wb3J0IFRlcm1pbmFsUGFydCBmcm9tIFwiLi4vLi4vcGFydC90ZXJtaW5hbFwiO1xuaW1wb3J0IFRlcm1pbmFsTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS90ZXJtaW5hbFwiO1xuXG5pbXBvcnQgeyBwYXJ0Q29udGV4dCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvY29udGV4dFwiO1xuXG5jb25zdCB7IGJhY2t0aWNrIH0gPSBzcGVjaWFsU3ltYm9scztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFja3RpY2tQYXJ0IGV4dGVuZHMgVGVybWluYWxQYXJ0IHtcbiAgcGFyc2UoZnJhbWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwYXJ0ID0gdGhpczsgIC8vL1xuXG4gICAgcGFydENvbnRleHQoKGNvbnRleHQpID0+IHtcbiAgICAgIGxldCBwYXJ0RnJhbWUgPSBudWxsO1xuXG4gICAgICBjb25zdCBuZXh0U2lnbmlmaWNhbnRUb2tlbiA9IGNvbnRleHQuZ2V0TmV4dFNpZ25pZmljYW50VG9rZW4oKTtcblxuICAgICAgaWYgKG5leHRTaWduaWZpY2FudFRva2VuICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHNpZ25pZmljYW50VG9rZW4gPSBuZXh0U2lnbmlmaWNhbnRUb2tlbiwgLy8vXG4gICAgICAgICAgICAgIGNvbnRlbnQgPSBzaWduaWZpY2FudFRva2VuLmdldENvbnRlbnQoKTtcblxuICAgICAgICBpZiAoY29udGVudCA9PT0gYmFja3RpY2spIHtcbiAgICAgICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBUZXJtaW5hbE5vZGUuZnJvbVNpZ25pZmljYW50VG9rZW4oc2lnbmlmaWNhbnRUb2tlbiksXG4gICAgICAgICAgICAgICAgY2hpbGROb2RlID0gdGVybWluYWxOb2RlOyAgLy8vXG5cbiAgICAgICAgICBwYXJ0RnJhbWUgPSBGcmFtZS5mcm9tQ2hpbGROb2RlKGNoaWxkTm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnJhbWUgPSAocGFydEZyYW1lICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgY29udGV4dC5jb21wb3NlKGZyYW1lLCBwYXJ0RnJhbWUpIDpcbiAgICAgICAgICAgICAgICAgIG51bGw7XG5cbiAgICAgIGlmIChmcmFtZSAhPT0gbnVsbCkge1xuICAgICAgICBmcmFtZSA9IGNvbnRleHQuY29udGludWUoZnJhbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZnJhbWUgIT09IG51bGwpIHtcbiAgICAgICAgY29udGV4dC5jb21taXQoKTtcbiAgICAgIH1cbiAgICB9LCBwYXJ0LCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IGJhY2t0aWNrOyAgLy8vXG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGJhY2t0aWNrUGFydCA9IG5ldyBCYWNrdGlja1BhcnQoKTtcblxuICAgIHJldHVybiBiYWNrdGlja1BhcnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJCYWNrdGlja1BhcnQiLCJiYWNrdGljayIsInNwZWNpYWxTeW1ib2xzIiwiVGVybWluYWxQYXJ0IiwicGFyc2UiLCJmcmFtZSIsImNvbnRleHQiLCJwYXJ0IiwicGFydENvbnRleHQiLCJwYXJ0RnJhbWUiLCJuZXh0U2lnbmlmaWNhbnRUb2tlbiIsImdldE5leHRTaWduaWZpY2FudFRva2VuIiwic2lnbmlmaWNhbnRUb2tlbiIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidGVybWluYWxOb2RlIiwiVGVybWluYWxOb2RlIiwiZnJvbVNpZ25pZmljYW50VG9rZW4iLCJjaGlsZE5vZGUiLCJGcmFtZSIsImZyb21DaGlsZE5vZGUiLCJjb21wb3NlIiwiY29udGludWUiLCJjb21taXQiLCJhc1N0cmluZyIsInN0cmluZyIsImZyb21Ob3RoaW5nIiwiYmFja3RpY2tQYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXFCQTs7OzZCQVZVOzhEQUViO2lFQUNPO2tFQUNBO3lCQUVHOzs7Ozs7QUFFNUIsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsMkJBQWM7QUFFcEIsTUFBTUYscUJBQXFCRyxpQkFBWTtJQUNwREMsTUFBTUMsS0FBSyxFQUFFQyxPQUFPLEVBQUU7UUFDcEIsTUFBTUMsT0FBTyxJQUFJLEVBQUcsR0FBRztRQUV2QkMsSUFBQUEsb0JBQVcsRUFBQyxDQUFDRjtZQUNYLElBQUlHLFlBQVk7WUFFaEIsTUFBTUMsdUJBQXVCSixRQUFRSyx1QkFBdUI7WUFFNUQsSUFBSUQseUJBQXlCLE1BQU07Z0JBQ2pDLE1BQU1FLG1CQUFtQkYsc0JBQ25CRyxVQUFVRCxpQkFBaUJFLFVBQVU7Z0JBRTNDLElBQUlELFlBQVlaLFVBQVU7b0JBQ3hCLE1BQU1jLGVBQWVDLGtCQUFZLENBQUNDLG9CQUFvQixDQUFDTCxtQkFDakRNLFlBQVlILGNBQWUsR0FBRztvQkFFcENOLFlBQVlVLGNBQUssQ0FBQ0MsYUFBYSxDQUFDRjtnQkFDbEM7WUFDRjtZQUVBYixRQUFRLEFBQUNJLGNBQWMsT0FDYkgsUUFBUWUsT0FBTyxDQUFDaEIsT0FBT0ksYUFDckI7WUFFWixJQUFJSixVQUFVLE1BQU07Z0JBQ2xCQSxRQUFRQyxRQUFRZ0IsUUFBUSxDQUFDakI7WUFDM0I7WUFFQSxJQUFJQSxVQUFVLE1BQU07Z0JBQ2xCQyxRQUFRaUIsTUFBTTtZQUNoQjtRQUNGLEdBQUdoQixNQUFNRDtRQUVULE9BQU9EO0lBQ1Q7SUFFQW1CLFdBQVc7UUFDVCxNQUFNQyxTQUFTeEIsVUFBVyxHQUFHO1FBRTdCLE9BQU93QjtJQUNUO0lBRUEsT0FBT0MsY0FBYztRQUNuQixNQUFNQyxlQUFlLElBQUkzQjtRQUV6QixPQUFPMkI7SUFDVDtBQUNGIn0=
package/lib/parts.js CHANGED
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
11
11
  const _epsilon = /*#__PURE__*/ _interop_require_default(require("./part/terminal/epsilon"));
12
12
  const _ruleName = /*#__PURE__*/ _interop_require_default(require("./part/nonTerminal/ruleName"));
13
13
  const _wildcard = /*#__PURE__*/ _interop_require_default(require("./part/terminal/wildcard"));
14
+ const _backtick = /*#__PURE__*/ _interop_require_default(require("./part/terminal/backtick"));
14
15
  const _endOfLine = /*#__PURE__*/ _interop_require_default(require("./part/terminal/endOfLine"));
15
16
  const _optionalPart = /*#__PURE__*/ _interop_require_default(require("./part/nonTerminal/optionalPart"));
16
17
  const _stringLiteral = /*#__PURE__*/ _interop_require_default(require("./part/terminal/stringLiteral"));
@@ -29,6 +30,7 @@ const _default = {
29
30
  EpsilonPart: _epsilon.default,
30
31
  RuleNamePart: _ruleName.default,
31
32
  WildcardPart: _wildcard.default,
33
+ BacktickPart: _backtick.default,
32
34
  EndOfLinePart: _endOfLine.default,
33
35
  OptionalPartPart: _optionalPart.default,
34
36
  ChoiceOfPartsPart: _choiceOfParts.default,
@@ -40,4 +42,4 @@ const _default = {
40
42
  SignificantTokenTypePart: _significantTokenType.default
41
43
  };
42
44
 
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJ0cy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEVwc2lsb25QYXJ0IGZyb20gXCIuL3BhcnQvdGVybWluYWwvZXBzaWxvblwiO1xuaW1wb3J0IFJ1bGVOYW1lUGFydCBmcm9tIFwiLi9wYXJ0L25vblRlcm1pbmFsL3J1bGVOYW1lXCI7XG5pbXBvcnQgV2lsZGNhcmRQYXJ0IGZyb20gXCIuL3BhcnQvdGVybWluYWwvd2lsZGNhcmRcIjtcbmltcG9ydCBFbmRPZkxpbmVQYXJ0IGZyb20gXCIuL3BhcnQvdGVybWluYWwvZW5kT2ZMaW5lXCI7XG5pbXBvcnQgT3B0aW9uYWxQYXJ0UGFydCBmcm9tIFwiLi9wYXJ0L25vblRlcm1pbmFsL29wdGlvbmFsUGFydFwiO1xuaW1wb3J0IFN0cmluZ0xpdGVyYWxQYXJ0IGZyb20gXCIuL3BhcnQvdGVybWluYWwvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IENob2ljZU9mUGFydHNQYXJ0IGZyb20gXCIuL3BhcnQvbm9uVGVybWluYWwvY2hvaWNlT2ZQYXJ0c1wiO1xuaW1wb3J0IE9uZU9yTW9yZVBhcnRzUGFydCBmcm9tIFwiLi9wYXJ0L25vblRlcm1pbmFsL29uZU9yTW9yZVBhcnRzXCI7XG5pbXBvcnQgU2VxdWVuY2VPZlBhcnRzUGFydCBmcm9tIFwiLi9wYXJ0L25vblRlcm1pbmFsL3NlcXVlbmNlT2ZQYXJ0c1wiO1xuaW1wb3J0IFplcm9Pck1vcmVQYXJ0c1BhcnQgZnJvbSBcIi4vcGFydC9ub25UZXJtaW5hbC96ZXJvT3JNb3JlUGFydHNcIjtcbmltcG9ydCBSZWd1bGFyRXhwcmVzc2lvblBhcnQgZnJvbSBcIi4vcGFydC90ZXJtaW5hbC9yZWd1bGFyRXhwcmVzc2lvblwiO1xuaW1wb3J0IFNpZ25pZmljYW50VG9rZW5UeXBlUGFydCBmcm9tIFwiLi9wYXJ0L3Rlcm1pbmFsL3NpZ25pZmljYW50VG9rZW5UeXBlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgRXBzaWxvblBhcnQsXG4gIFJ1bGVOYW1lUGFydCxcbiAgV2lsZGNhcmRQYXJ0LFxuICBFbmRPZkxpbmVQYXJ0LFxuICBPcHRpb25hbFBhcnRQYXJ0LFxuICBDaG9pY2VPZlBhcnRzUGFydCxcbiAgU3RyaW5nTGl0ZXJhbFBhcnQsXG4gIE9uZU9yTW9yZVBhcnRzUGFydCxcbiAgU2VxdWVuY2VPZlBhcnRzUGFydCxcbiAgWmVyb09yTW9yZVBhcnRzUGFydCxcbiAgUmVndWxhckV4cHJlc3Npb25QYXJ0LFxuICBTaWduaWZpY2FudFRva2VuVHlwZVBhcnRcbn07XG4iXSwibmFtZXMiOlsiRXBzaWxvblBhcnQiLCJSdWxlTmFtZVBhcnQiLCJXaWxkY2FyZFBhcnQiLCJFbmRPZkxpbmVQYXJ0IiwiT3B0aW9uYWxQYXJ0UGFydCIsIkNob2ljZU9mUGFydHNQYXJ0IiwiU3RyaW5nTGl0ZXJhbFBhcnQiLCJPbmVPck1vcmVQYXJ0c1BhcnQiLCJTZXF1ZW5jZU9mUGFydHNQYXJ0IiwiWmVyb09yTW9yZVBhcnRzUGFydCIsIlJlZ3VsYXJFeHByZXNzaW9uUGFydCIsIlNpZ25pZmljYW50VG9rZW5UeXBlUGFydCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZUE7OztlQUFBOzs7Z0VBYndCO2lFQUNDO2lFQUNBO2tFQUNDO3FFQUNHO3NFQUNDO3NFQUNBO3VFQUNDO3dFQUNDO3dFQUNBOzBFQUNFOzZFQUNHOzs7Ozs7TUFFckMsV0FBZTtJQUNiQSxhQUFBQSxnQkFBVztJQUNYQyxjQUFBQSxpQkFBWTtJQUNaQyxjQUFBQSxpQkFBWTtJQUNaQyxlQUFBQSxrQkFBYTtJQUNiQyxrQkFBQUEscUJBQWdCO0lBQ2hCQyxtQkFBQUEsc0JBQWlCO0lBQ2pCQyxtQkFBQUEsc0JBQWlCO0lBQ2pCQyxvQkFBQUEsdUJBQWtCO0lBQ2xCQyxxQkFBQUEsd0JBQW1CO0lBQ25CQyxxQkFBQUEsd0JBQW1CO0lBQ25CQyx1QkFBQUEsMEJBQXFCO0lBQ3JCQywwQkFBQUEsNkJBQXdCO0FBQzFCIn0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJ0cy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEVwc2lsb25QYXJ0IGZyb20gXCIuL3BhcnQvdGVybWluYWwvZXBzaWxvblwiO1xuaW1wb3J0IFJ1bGVOYW1lUGFydCBmcm9tIFwiLi9wYXJ0L25vblRlcm1pbmFsL3J1bGVOYW1lXCI7XG5pbXBvcnQgV2lsZGNhcmRQYXJ0IGZyb20gXCIuL3BhcnQvdGVybWluYWwvd2lsZGNhcmRcIjtcbmltcG9ydCBCYWNrdGlja1BhcnQgZnJvbSBcIi4vcGFydC90ZXJtaW5hbC9iYWNrdGlja1wiO1xuaW1wb3J0IEVuZE9mTGluZVBhcnQgZnJvbSBcIi4vcGFydC90ZXJtaW5hbC9lbmRPZkxpbmVcIjtcbmltcG9ydCBPcHRpb25hbFBhcnRQYXJ0IGZyb20gXCIuL3BhcnQvbm9uVGVybWluYWwvb3B0aW9uYWxQYXJ0XCI7XG5pbXBvcnQgU3RyaW5nTGl0ZXJhbFBhcnQgZnJvbSBcIi4vcGFydC90ZXJtaW5hbC9zdHJpbmdMaXRlcmFsXCI7XG5pbXBvcnQgQ2hvaWNlT2ZQYXJ0c1BhcnQgZnJvbSBcIi4vcGFydC9ub25UZXJtaW5hbC9jaG9pY2VPZlBhcnRzXCI7XG5pbXBvcnQgT25lT3JNb3JlUGFydHNQYXJ0IGZyb20gXCIuL3BhcnQvbm9uVGVybWluYWwvb25lT3JNb3JlUGFydHNcIjtcbmltcG9ydCBTZXF1ZW5jZU9mUGFydHNQYXJ0IGZyb20gXCIuL3BhcnQvbm9uVGVybWluYWwvc2VxdWVuY2VPZlBhcnRzXCI7XG5pbXBvcnQgWmVyb09yTW9yZVBhcnRzUGFydCBmcm9tIFwiLi9wYXJ0L25vblRlcm1pbmFsL3plcm9Pck1vcmVQYXJ0c1wiO1xuaW1wb3J0IFJlZ3VsYXJFeHByZXNzaW9uUGFydCBmcm9tIFwiLi9wYXJ0L3Rlcm1pbmFsL3JlZ3VsYXJFeHByZXNzaW9uXCI7XG5pbXBvcnQgU2lnbmlmaWNhbnRUb2tlblR5cGVQYXJ0IGZyb20gXCIuL3BhcnQvdGVybWluYWwvc2lnbmlmaWNhbnRUb2tlblR5cGVcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBFcHNpbG9uUGFydCxcbiAgUnVsZU5hbWVQYXJ0LFxuICBXaWxkY2FyZFBhcnQsXG4gIEJhY2t0aWNrUGFydCxcbiAgRW5kT2ZMaW5lUGFydCxcbiAgT3B0aW9uYWxQYXJ0UGFydCxcbiAgQ2hvaWNlT2ZQYXJ0c1BhcnQsXG4gIFN0cmluZ0xpdGVyYWxQYXJ0LFxuICBPbmVPck1vcmVQYXJ0c1BhcnQsXG4gIFNlcXVlbmNlT2ZQYXJ0c1BhcnQsXG4gIFplcm9Pck1vcmVQYXJ0c1BhcnQsXG4gIFJlZ3VsYXJFeHByZXNzaW9uUGFydCxcbiAgU2lnbmlmaWNhbnRUb2tlblR5cGVQYXJ0XG59O1xuIl0sIm5hbWVzIjpbIkVwc2lsb25QYXJ0IiwiUnVsZU5hbWVQYXJ0IiwiV2lsZGNhcmRQYXJ0IiwiQmFja3RpY2tQYXJ0IiwiRW5kT2ZMaW5lUGFydCIsIk9wdGlvbmFsUGFydFBhcnQiLCJDaG9pY2VPZlBhcnRzUGFydCIsIlN0cmluZ0xpdGVyYWxQYXJ0IiwiT25lT3JNb3JlUGFydHNQYXJ0IiwiU2VxdWVuY2VPZlBhcnRzUGFydCIsIlplcm9Pck1vcmVQYXJ0c1BhcnQiLCJSZWd1bGFyRXhwcmVzc2lvblBhcnQiLCJTaWduaWZpY2FudFRva2VuVHlwZVBhcnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQUE7OztnRUFkd0I7aUVBQ0M7aUVBQ0E7aUVBQ0E7a0VBQ0M7cUVBQ0c7c0VBQ0M7c0VBQ0E7dUVBQ0M7d0VBQ0M7d0VBQ0E7MEVBQ0U7NkVBQ0c7Ozs7OztNQUVyQyxXQUFlO0lBQ2JBLGFBQUFBLGdCQUFXO0lBQ1hDLGNBQUFBLGlCQUFZO0lBQ1pDLGNBQUFBLGlCQUFZO0lBQ1pDLGNBQUFBLGlCQUFZO0lBQ1pDLGVBQUFBLGtCQUFhO0lBQ2JDLGtCQUFBQSxxQkFBZ0I7SUFDaEJDLG1CQUFBQSxzQkFBaUI7SUFDakJDLG1CQUFBQSxzQkFBaUI7SUFDakJDLG9CQUFBQSx1QkFBa0I7SUFDbEJDLHFCQUFBQSx3QkFBbUI7SUFDbkJDLHFCQUFBQSx3QkFBbUI7SUFDbkJDLHVCQUFBQSwwQkFBcUI7SUFDckJDLDBCQUFBQSw2QkFBd0I7QUFDMUIifQ==
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BacktickBNFRule;
9
+ }
10
+ });
11
+ const _occamlexers = require("occam-lexers");
12
+ const _rule = /*#__PURE__*/ _interop_require_default(require("../../rule"));
13
+ const _stringLiteral = /*#__PURE__*/ _interop_require_default(require("../../definition/stringLiteral"));
14
+ const _ruleNames = require("../../ruleNames");
15
+ function _interop_require_default(obj) {
16
+ return obj && obj.__esModule ? obj : {
17
+ default: obj
18
+ };
19
+ }
20
+ const { backtick } = _occamlexers.specialSymbols;
21
+ class BacktickBNFRule extends _rule.default {
22
+ static fromNothing() {
23
+ const content = backtick, backtickStringLiteralDefinition = _stringLiteral.default.fromContent(content), name = _ruleNames.BACKTICK_RULE_NAME, opacity = null, definitions = [
24
+ backtickStringLiteralDefinition
25
+ ], backtickRule = new BacktickBNFRule(name, opacity, definitions);
26
+ return backtickRule;
27
+ }
28
+ }
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlL2JuZi9iYWNrdGljay5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3BlY2lhbFN5bWJvbHMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgU3RyaW5nTGl0ZXJhbERlZmluaXRpb24gZnJvbSBcIi4uLy4uL2RlZmluaXRpb24vc3RyaW5nTGl0ZXJhbFwiO1xuXG5pbXBvcnQgeyBCQUNLVElDS19SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IHsgYmFja3RpY2sgfSA9IHNwZWNpYWxTeW1ib2xzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYWNrdGlja0JORlJ1bGUgZXh0ZW5kcyBSdWxlIHtcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBiYWNrdGljaywgLy8vXG4gICAgICAgICAgYmFja3RpY2tTdHJpbmdMaXRlcmFsRGVmaW5pdGlvbiA9IFN0cmluZ0xpdGVyYWxEZWZpbml0aW9uLmZyb21Db250ZW50KGNvbnRlbnQpLFxuICAgICAgICAgIG5hbWUgPSBCQUNLVElDS19SVUxFX05BTUUsICAvLy9cbiAgICAgICAgICBvcGFjaXR5ID0gbnVsbCxcbiAgICAgICAgICBkZWZpbml0aW9ucyA9IFtcbiAgICAgICAgICAgIGJhY2t0aWNrU3RyaW5nTGl0ZXJhbERlZmluaXRpb25cbiAgICAgICAgICBdLFxuICAgICAgICAgIGJhY2t0aWNrUnVsZSA9IG5ldyBCYWNrdGlja0JORlJ1bGUobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpO1xuXG4gICAgcmV0dXJuIGJhY2t0aWNrUnVsZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkJhY2t0aWNrQk5GUnVsZSIsImJhY2t0aWNrIiwic3BlY2lhbFN5bWJvbHMiLCJSdWxlIiwiZnJvbU5vdGhpbmciLCJjb250ZW50IiwiYmFja3RpY2tTdHJpbmdMaXRlcmFsRGVmaW5pdGlvbiIsIlN0cmluZ0xpdGVyYWxEZWZpbml0aW9uIiwiZnJvbUNvbnRlbnQiLCJuYW1lIiwiQkFDS1RJQ0tfUlVMRV9OQU1FIiwib3BhY2l0eSIsImRlZmluaXRpb25zIiwiYmFja3RpY2tSdWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXFCQTs7OzZCQVRVOzZEQUVkO3NFQUNtQjsyQkFFRDs7Ozs7O0FBRW5DLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdDLDJCQUFjO0FBRXBCLE1BQU1GLHdCQUF3QkcsYUFBSTtJQUMvQyxPQUFPQyxjQUFjO1FBQ25CLE1BQU1DLFVBQVVKLFVBQ1ZLLGtDQUFrQ0Msc0JBQXVCLENBQUNDLFdBQVcsQ0FBQ0gsVUFDdEVJLE9BQU9DLDZCQUFrQixFQUN6QkMsVUFBVSxNQUNWQyxjQUFjO1lBQ1pOO1NBQ0QsRUFDRE8sZUFBZSxJQUFJYixnQkFBZ0JTLE1BQU1FLFNBQVNDO1FBRXhELE9BQU9DO0lBQ1Q7QUFDRiJ9
@@ -24,6 +24,8 @@ class TerminalPartBNFRule extends _rule.default {
24
24
  const epsilonRuleNameDefinition = _ruleName.default.fromRuleName(ruleName);
25
25
  ruleName = _ruleNames.WILDCARD_RULE_NAME;
26
26
  const wildcardRuleNameDefinition = _ruleName.default.fromRuleName(ruleName);
27
+ ruleName = _ruleNames.BACKTICK_RULE_NAME;
28
+ const backtickRuleNameDefinition = _ruleName.default.fromRuleName(ruleName);
27
29
  ruleName = _ruleNames.END_OF_LINE_RULE_NAME;
28
30
  const endOfLineRuleNameDefinition = _ruleName.default.fromRuleName(ruleName);
29
31
  ruleName = _ruleNames.STRING_LITERAL_RULE_NAME;
@@ -39,6 +41,7 @@ class TerminalPartBNFRule extends _rule.default {
39
41
  stringLiteralRuleNameDefinition,
40
42
  endOfLineRuleNameDefinition,
41
43
  wildcardRuleNameDefinition,
44
+ backtickRuleNameDefinition,
42
45
  epsilonRuleNameDefinition,
43
46
  noWhitespacePartRuleNameDefinition
44
47
  ], terminalPartRule = new TerminalPartBNFRule(name, opacity, definitions);
@@ -46,4 +49,4 @@ class TerminalPartBNFRule extends _rule.default {
46
49
  }
47
50
  }
48
51
 
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlL2JuZi90ZXJtaW5hbFBhcnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgUnVsZU5hbWVEZWZpbml0aW9uIGZyb20gXCIuLi8uLi9kZWZpbml0aW9uL3J1bGVOYW1lXCI7XG5cbmltcG9ydCB7IEVQU0lMT05fUlVMRV9OQU1FLFxuICAgICAgICAgV0lMRENBUkRfUlVMRV9OQU1FLFxuICAgICAgICAgRU5EX09GX0xJTkVfUlVMRV9OQU1FLFxuICAgICAgICAgVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUsXG4gICAgICAgICBTVFJJTkdfTElURVJBTF9SVUxFX05BTUUsXG4gICAgICAgICBOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FLFxuICAgICAgICAgUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNJR05JRklDQU5UX1RPS0VOX1RZUEVfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXJtaW5hbFBhcnRCTkZSdWxlIGV4dGVuZHMgUnVsZSB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBsZXQgcnVsZU5hbWU7XG5cbiAgICBjb25zdCBuYW1lID0gVEVSTUlOQUxfUEFSVF9SVUxFX05BTUU7XG5cbiAgICBydWxlTmFtZSA9IEVQU0lMT05fUlVMRV9OQU1FO1xuXG4gICAgY29uc3QgZXBzaWxvblJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBXSUxEQ0FSRF9SVUxFX05BTUU7XG5cbiAgICBjb25zdCB3aWxkY2FyZFJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBFTkRfT0ZfTElORV9SVUxFX05BTUU7XG5cbiAgICBjb25zdCBlbmRPZkxpbmVSdWxlTmFtZURlZmluaXRpb24gPSBSdWxlTmFtZURlZmluaXRpb24uZnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJ1bGVOYW1lID0gU1RSSU5HX0xJVEVSQUxfUlVMRV9OQU1FO1xuXG4gICAgY29uc3Qgc3RyaW5nTGl0ZXJhbFJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FO1xuXG4gICAgY29uc3Qgbm9XaGl0ZXNwYWNlUGFydFJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBSRUdVTEFSX0VYUFJFU1NJT05fUlVMRV9OQU1FO1xuXG4gICAgY29uc3QgcmVndWxhckV4cHJlc3Npb25SdWxlTmFtZURlZmluaXRpb24gPSBSdWxlTmFtZURlZmluaXRpb24uZnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJ1bGVOYW1lID0gU0lHTklGSUNBTlRfVE9LRU5fVFlQRV9SVUxFX05BTUU7XG5cbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuVHlwZVJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpLFxuICAgICAgICAgIG9wYWNpdHkgPSBudWxsLFxuICAgICAgICAgIGRlZmluaXRpb25zID0gW1xuICAgICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVSdWxlTmFtZURlZmluaXRpb24sXG4gICAgICAgICAgICByZWd1bGFyRXhwcmVzc2lvblJ1bGVOYW1lRGVmaW5pdGlvbixcbiAgICAgICAgICAgIHN0cmluZ0xpdGVyYWxSdWxlTmFtZURlZmluaXRpb24sXG4gICAgICAgICAgICBlbmRPZkxpbmVSdWxlTmFtZURlZmluaXRpb24sXG4gICAgICAgICAgICB3aWxkY2FyZFJ1bGVOYW1lRGVmaW5pdGlvbixcbiAgICAgICAgICAgIGVwc2lsb25SdWxlTmFtZURlZmluaXRpb24sXG4gICAgICAgICAgICBub1doaXRlc3BhY2VQYXJ0UnVsZU5hbWVEZWZpbml0aW9uXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0ZXJtaW5hbFBhcnRSdWxlID0gbmV3IFRlcm1pbmFsUGFydEJORlJ1bGUobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpO1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsUGFydFJ1bGU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJUZXJtaW5hbFBhcnRCTkZSdWxlIiwiUnVsZSIsImZyb21Ob3RoaW5nIiwicnVsZU5hbWUiLCJuYW1lIiwiVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUiLCJFUFNJTE9OX1JVTEVfTkFNRSIsImVwc2lsb25SdWxlTmFtZURlZmluaXRpb24iLCJSdWxlTmFtZURlZmluaXRpb24iLCJmcm9tUnVsZU5hbWUiLCJXSUxEQ0FSRF9SVUxFX05BTUUiLCJ3aWxkY2FyZFJ1bGVOYW1lRGVmaW5pdGlvbiIsIkVORF9PRl9MSU5FX1JVTEVfTkFNRSIsImVuZE9mTGluZVJ1bGVOYW1lRGVmaW5pdGlvbiIsIlNUUklOR19MSVRFUkFMX1JVTEVfTkFNRSIsInN0cmluZ0xpdGVyYWxSdWxlTmFtZURlZmluaXRpb24iLCJOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FIiwibm9XaGl0ZXNwYWNlUGFydFJ1bGVOYW1lRGVmaW5pdGlvbiIsIlJFR1VMQVJfRVhQUkVTU0lPTl9SVUxFX05BTUUiLCJyZWd1bGFyRXhwcmVzc2lvblJ1bGVOYW1lRGVmaW5pdGlvbiIsIlNJR05JRklDQU5UX1RPS0VOX1RZUEVfUlVMRV9OQU1FIiwic2lnbmlmaWNhbnRUb2tlblR5cGVSdWxlTmFtZURlZmluaXRpb24iLCJvcGFjaXR5IiwiZGVmaW5pdGlvbnMiLCJ0ZXJtaW5hbFBhcnRSdWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFjQTs7O2VBQXFCQTs7OzZEQVpKO2lFQUNjOzJCQVNrQjs7Ozs7O0FBRWxDLE1BQU1BLDRCQUE0QkMsYUFBSTtJQUNuRCxPQUFPQyxjQUFjO1FBQ25CLElBQUlDO1FBRUosTUFBTUMsT0FBT0Msa0NBQXVCO1FBRXBDRixXQUFXRyw0QkFBaUI7UUFFNUIsTUFBTUMsNEJBQTRCQyxpQkFBa0IsQ0FBQ0MsWUFBWSxDQUFDTjtRQUVsRUEsV0FBV08sNkJBQWtCO1FBRTdCLE1BQU1DLDZCQUE2QkgsaUJBQWtCLENBQUNDLFlBQVksQ0FBQ047UUFFbkVBLFdBQVdTLGdDQUFxQjtRQUVoQyxNQUFNQyw4QkFBOEJMLGlCQUFrQixDQUFDQyxZQUFZLENBQUNOO1FBRXBFQSxXQUFXVyxtQ0FBd0I7UUFFbkMsTUFBTUMsa0NBQWtDUCxpQkFBa0IsQ0FBQ0MsWUFBWSxDQUFDTjtRQUV4RUEsV0FBV2EsdUNBQTRCO1FBRXZDLE1BQU1DLHFDQUFxQ1QsaUJBQWtCLENBQUNDLFlBQVksQ0FBQ047UUFFM0VBLFdBQVdlLHVDQUE0QjtRQUV2QyxNQUFNQyxzQ0FBc0NYLGlCQUFrQixDQUFDQyxZQUFZLENBQUNOO1FBRTVFQSxXQUFXaUIsMkNBQWdDO1FBRTNDLE1BQU1DLHlDQUF5Q2IsaUJBQWtCLENBQUNDLFlBQVksQ0FBQ04sV0FDekVtQixVQUFVLE1BQ1ZDLGNBQWM7WUFDWkY7WUFDQUY7WUFDQUo7WUFDQUY7WUFDQUY7WUFDQUo7WUFDQVU7U0FDRCxFQUNETyxtQkFBbUIsSUFBSXhCLG9CQUFvQkksTUFBTWtCLFNBQVNDO1FBRWhFLE9BQU9DO0lBQ1Q7QUFDRiJ9
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlL2JuZi90ZXJtaW5hbFBhcnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgUnVsZU5hbWVEZWZpbml0aW9uIGZyb20gXCIuLi8uLi9kZWZpbml0aW9uL3J1bGVOYW1lXCI7XG5cbmltcG9ydCB7IEVQU0lMT05fUlVMRV9OQU1FLFxuICAgICAgICAgV0lMRENBUkRfUlVMRV9OQU1FLFxuICAgICAgICAgQkFDS1RJQ0tfUlVMRV9OQU1FLFxuICAgICAgICAgRU5EX09GX0xJTkVfUlVMRV9OQU1FLFxuICAgICAgICAgVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUsXG4gICAgICAgICBTVFJJTkdfTElURVJBTF9SVUxFX05BTUUsXG4gICAgICAgICBOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FLFxuICAgICAgICAgUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNJR05JRklDQU5UX1RPS0VOX1RZUEVfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXJtaW5hbFBhcnRCTkZSdWxlIGV4dGVuZHMgUnVsZSB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBsZXQgcnVsZU5hbWU7XG5cbiAgICBjb25zdCBuYW1lID0gVEVSTUlOQUxfUEFSVF9SVUxFX05BTUU7XG5cbiAgICBydWxlTmFtZSA9IEVQU0lMT05fUlVMRV9OQU1FO1xuXG4gICAgY29uc3QgZXBzaWxvblJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBXSUxEQ0FSRF9SVUxFX05BTUU7XG5cbiAgICBjb25zdCB3aWxkY2FyZFJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBCQUNLVElDS19SVUxFX05BTUU7XG5cbiAgICBjb25zdCBiYWNrdGlja1J1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBFTkRfT0ZfTElORV9SVUxFX05BTUU7XG5cbiAgICBjb25zdCBlbmRPZkxpbmVSdWxlTmFtZURlZmluaXRpb24gPSBSdWxlTmFtZURlZmluaXRpb24uZnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJ1bGVOYW1lID0gU1RSSU5HX0xJVEVSQUxfUlVMRV9OQU1FO1xuXG4gICAgY29uc3Qgc3RyaW5nTGl0ZXJhbFJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FO1xuXG4gICAgY29uc3Qgbm9XaGl0ZXNwYWNlUGFydFJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcnVsZU5hbWUgPSBSRUdVTEFSX0VYUFJFU1NJT05fUlVMRV9OQU1FO1xuXG4gICAgY29uc3QgcmVndWxhckV4cHJlc3Npb25SdWxlTmFtZURlZmluaXRpb24gPSBSdWxlTmFtZURlZmluaXRpb24uZnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJ1bGVOYW1lID0gU0lHTklGSUNBTlRfVE9LRU5fVFlQRV9SVUxFX05BTUU7XG5cbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuVHlwZVJ1bGVOYW1lRGVmaW5pdGlvbiA9IFJ1bGVOYW1lRGVmaW5pdGlvbi5mcm9tUnVsZU5hbWUocnVsZU5hbWUpLFxuICAgICAgICAgIG9wYWNpdHkgPSBudWxsLFxuICAgICAgICAgIGRlZmluaXRpb25zID0gW1xuICAgICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVSdWxlTmFtZURlZmluaXRpb24sXG4gICAgICAgICAgICByZWd1bGFyRXhwcmVzc2lvblJ1bGVOYW1lRGVmaW5pdGlvbixcbiAgICAgICAgICAgIHN0cmluZ0xpdGVyYWxSdWxlTmFtZURlZmluaXRpb24sXG4gICAgICAgICAgICBlbmRPZkxpbmVSdWxlTmFtZURlZmluaXRpb24sXG4gICAgICAgICAgICB3aWxkY2FyZFJ1bGVOYW1lRGVmaW5pdGlvbixcbiAgICAgICAgICAgIGJhY2t0aWNrUnVsZU5hbWVEZWZpbml0aW9uLFxuICAgICAgICAgICAgZXBzaWxvblJ1bGVOYW1lRGVmaW5pdGlvbixcbiAgICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRSdWxlTmFtZURlZmluaXRpb25cbiAgICAgICAgICBdLFxuICAgICAgICAgIHRlcm1pbmFsUGFydFJ1bGUgPSBuZXcgVGVybWluYWxQYXJ0Qk5GUnVsZShuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucyk7XG5cbiAgICByZXR1cm4gdGVybWluYWxQYXJ0UnVsZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlRlcm1pbmFsUGFydEJORlJ1bGUiLCJSdWxlIiwiZnJvbU5vdGhpbmciLCJydWxlTmFtZSIsIm5hbWUiLCJURVJNSU5BTF9QQVJUX1JVTEVfTkFNRSIsIkVQU0lMT05fUlVMRV9OQU1FIiwiZXBzaWxvblJ1bGVOYW1lRGVmaW5pdGlvbiIsIlJ1bGVOYW1lRGVmaW5pdGlvbiIsImZyb21SdWxlTmFtZSIsIldJTERDQVJEX1JVTEVfTkFNRSIsIndpbGRjYXJkUnVsZU5hbWVEZWZpbml0aW9uIiwiQkFDS1RJQ0tfUlVMRV9OQU1FIiwiYmFja3RpY2tSdWxlTmFtZURlZmluaXRpb24iLCJFTkRfT0ZfTElORV9SVUxFX05BTUUiLCJlbmRPZkxpbmVSdWxlTmFtZURlZmluaXRpb24iLCJTVFJJTkdfTElURVJBTF9SVUxFX05BTUUiLCJzdHJpbmdMaXRlcmFsUnVsZU5hbWVEZWZpbml0aW9uIiwiTk9fV0hJVEVTUEFDRV9QQVJUX1JVTEVfTkFNRSIsIm5vV2hpdGVzcGFjZVBhcnRSdWxlTmFtZURlZmluaXRpb24iLCJSRUdVTEFSX0VYUFJFU1NJT05fUlVMRV9OQU1FIiwicmVndWxhckV4cHJlc3Npb25SdWxlTmFtZURlZmluaXRpb24iLCJTSUdOSUZJQ0FOVF9UT0tFTl9UWVBFX1JVTEVfTkFNRSIsInNpZ25pZmljYW50VG9rZW5UeXBlUnVsZU5hbWVEZWZpbml0aW9uIiwib3BhY2l0eSIsImRlZmluaXRpb25zIiwidGVybWluYWxQYXJ0UnVsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZUE7OztlQUFxQkE7Ozs2REFiSjtpRUFDYzsyQkFVa0I7Ozs7OztBQUVsQyxNQUFNQSw0QkFBNEJDLGFBQUk7SUFDbkQsT0FBT0MsY0FBYztRQUNuQixJQUFJQztRQUVKLE1BQU1DLE9BQU9DLGtDQUF1QjtRQUVwQ0YsV0FBV0csNEJBQWlCO1FBRTVCLE1BQU1DLDRCQUE0QkMsaUJBQWtCLENBQUNDLFlBQVksQ0FBQ047UUFFbEVBLFdBQVdPLDZCQUFrQjtRQUU3QixNQUFNQyw2QkFBNkJILGlCQUFrQixDQUFDQyxZQUFZLENBQUNOO1FBRW5FQSxXQUFXUyw2QkFBa0I7UUFFN0IsTUFBTUMsNkJBQTZCTCxpQkFBa0IsQ0FBQ0MsWUFBWSxDQUFDTjtRQUVuRUEsV0FBV1csZ0NBQXFCO1FBRWhDLE1BQU1DLDhCQUE4QlAsaUJBQWtCLENBQUNDLFlBQVksQ0FBQ047UUFFcEVBLFdBQVdhLG1DQUF3QjtRQUVuQyxNQUFNQyxrQ0FBa0NULGlCQUFrQixDQUFDQyxZQUFZLENBQUNOO1FBRXhFQSxXQUFXZSx1Q0FBNEI7UUFFdkMsTUFBTUMscUNBQXFDWCxpQkFBa0IsQ0FBQ0MsWUFBWSxDQUFDTjtRQUUzRUEsV0FBV2lCLHVDQUE0QjtRQUV2QyxNQUFNQyxzQ0FBc0NiLGlCQUFrQixDQUFDQyxZQUFZLENBQUNOO1FBRTVFQSxXQUFXbUIsMkNBQWdDO1FBRTNDLE1BQU1DLHlDQUF5Q2YsaUJBQWtCLENBQUNDLFlBQVksQ0FBQ04sV0FDekVxQixVQUFVLE1BQ1ZDLGNBQWM7WUFDWkY7WUFDQUY7WUFDQUo7WUFDQUY7WUFDQUo7WUFDQUU7WUFDQU47WUFDQVk7U0FDRCxFQUNETyxtQkFBbUIsSUFBSTFCLG9CQUFvQkksTUFBTW9CLFNBQVNDO1FBRWhFLE9BQU9DO0lBQ1Q7QUFDRiJ9
package/lib/ruleNames.js CHANGED
@@ -9,6 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ get BACKTICK_RULE_NAME () {
13
+ return BACKTICK_RULE_NAME;
14
+ },
12
15
  get CHOICE_OF_PARTS_RULE_NAME () {
13
16
  return CHOICE_OF_PARTS_RULE_NAME;
14
17
  },
@@ -98,6 +101,7 @@ const ERROR_RULE_NAME = "error";
98
101
  const EPSILON_RULE_NAME = "epsilon";
99
102
  const DOCUMENT_RULE_NAME = "document";
100
103
  const WILDCARD_RULE_NAME = "wildcard";
104
+ const BACKTICK_RULE_NAME = "backtick";
101
105
  const RULE_NAME_RULE_NAME = "ruleName";
102
106
  const DEFINITION_RULE_NAME = "definition";
103
107
  const PRECEDENCE_RULE_NAME = "precedence";
@@ -119,4 +123,4 @@ const SIGNIFICANT_TOKEN_TYPE_RULE_NAME = "significantTokenType";
119
123
  const ONE_OR_MORE_QUANTIFIER_RULE_NAME = "oneOrMoreQuantifier";
120
124
  const ZERO_OR_MORE_QUANTIFIER_RULE_NAME = "zeroOrMoreQuantifier";
121
125
 
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBOQU1FX1JVTEVfTkFNRSA9IFwibmFtZVwiO1xuZXhwb3J0IGNvbnN0IFBBUlRfUlVMRV9OQU1FID0gXCJwYXJ0XCI7XG5leHBvcnQgY29uc3QgUlVMRV9SVUxFX05BTUUgPSBcInJ1bGVcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9SVUxFX05BTUUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgRVBTSUxPTl9SVUxFX05BTUUgPSBcImVwc2lsb25cIjtcbmV4cG9ydCBjb25zdCBET0NVTUVOVF9SVUxFX05BTUUgPSBcImRvY3VtZW50XCI7XG5leHBvcnQgY29uc3QgV0lMRENBUkRfUlVMRV9OQU1FID0gXCJ3aWxkY2FyZFwiO1xuZXhwb3J0IGNvbnN0IFJVTEVfTkFNRV9SVUxFX05BTUUgPSBcInJ1bGVOYW1lXCI7XG5leHBvcnQgY29uc3QgREVGSU5JVElPTl9SVUxFX05BTUUgPSBcImRlZmluaXRpb25cIjtcbmV4cG9ydCBjb25zdCBQUkVDRURFTkNFX1JVTEVfTkFNRSA9IFwicHJlY2VkZW5jZVwiO1xuZXhwb3J0IGNvbnN0IFFVQU5USUZJRVJfUlVMRV9OQU1FID0gXCJxdWFudGlmaWVyXCI7XG5leHBvcnQgY29uc3QgRU5EX09GX0xJTkVfUlVMRV9OQU1FID0gXCJlbmRPZkxpbmVcIjtcbmV4cG9ydCBjb25zdCBQQVJUX0NIT0lDRV9SVUxFX05BTUUgPSBcInBhcnRDaG9pY2VcIjtcbmV4cG9ydCBjb25zdCBERUZJTklUSU9OU19SVUxFX05BTUUgPSBcImRlZmluaXRpb25zXCI7XG5leHBvcnQgY29uc3QgVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUgPSBcInRlcm1pbmFsUGFydFwiO1xuZXhwb3J0IGNvbnN0IFNUUklOR19MSVRFUkFMX1JVTEVfTkFNRSA9IFwic3RyaW5nTGl0ZXJhbFwiO1xuZXhwb3J0IGNvbnN0IENIT0lDRV9PRl9QQVJUU19SVUxFX05BTUUgPSBcImNob2ljZU9mUGFydHNcIjtcbmV4cG9ydCBjb25zdCBPUEFDSVRZX01PRElGSUVSX1JVTEVfTkFNRSA9IFwib3BhY2l0eU1vZGlmaWVyXCI7XG5leHBvcnQgY29uc3QgTk9OX1RFUk1JTkFMX1BBUlRfUlVMRV9OQU1FID0gXCJub25UZXJtaW5hbFBhcnRcIjtcbmV4cG9ydCBjb25zdCBTRVFVRU5DRV9PRl9QQVJUU19SVUxFX05BTUUgPSBcInNlcXVlbmNlT2ZQYXJ0c1wiO1xuZXhwb3J0IGNvbnN0IE5PX1dISVRFU1BBQ0VfUEFSVF9SVUxFX05BTUUgPSBcIm5vV2hpdGVzcGFjZVwiO1xuZXhwb3J0IGNvbnN0IFJFR1VMQVJfRVhQUkVTU0lPTl9SVUxFX05BTUUgPSBcInJlZ3VsYXJFeHByZXNzaW9uXCI7XG5leHBvcnQgY29uc3QgT1BUSU9OQUxfUVVBTlRJRklFUl9SVUxFX05BTUUgPSBcIm9wdGlvbmFsUXVhbnRpZmllclwiO1xuZXhwb3J0IGNvbnN0IENPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUUgPSBcImNvbnRpbnVhdGlvbk1vZGlmaWVyXCI7XG5leHBvcnQgY29uc3QgU0lHTklGSUNBTlRfVE9LRU5fVFlQRV9SVUxFX05BTUUgPSBcInNpZ25pZmljYW50VG9rZW5UeXBlXCI7XG5leHBvcnQgY29uc3QgT05FX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUgPSBcIm9uZU9yTW9yZVF1YW50aWZpZXJcIjtcbmV4cG9ydCBjb25zdCBaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUgPSBcInplcm9Pck1vcmVRdWFudGlmaWVyXCI7XG4iXSwibmFtZXMiOlsiQ0hPSUNFX09GX1BBUlRTX1JVTEVfTkFNRSIsIkNPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUUiLCJERUZJTklUSU9OU19SVUxFX05BTUUiLCJERUZJTklUSU9OX1JVTEVfTkFNRSIsIkRPQ1VNRU5UX1JVTEVfTkFNRSIsIkVORF9PRl9MSU5FX1JVTEVfTkFNRSIsIkVQU0lMT05fUlVMRV9OQU1FIiwiRVJST1JfUlVMRV9OQU1FIiwiTkFNRV9SVUxFX05BTUUiLCJOT05fVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUiLCJOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FIiwiT05FX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUiLCJPUEFDSVRZX01PRElGSUVSX1JVTEVfTkFNRSIsIk9QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FIiwiUEFSVF9DSE9JQ0VfUlVMRV9OQU1FIiwiUEFSVF9SVUxFX05BTUUiLCJQUkVDRURFTkNFX1JVTEVfTkFNRSIsIlFVQU5USUZJRVJfUlVMRV9OQU1FIiwiUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSIsIlJVTEVfTkFNRV9SVUxFX05BTUUiLCJSVUxFX1JVTEVfTkFNRSIsIlNFUVVFTkNFX09GX1BBUlRTX1JVTEVfTkFNRSIsIlNJR05JRklDQU5UX1RPS0VOX1RZUEVfUlVMRV9OQU1FIiwiU1RSSU5HX0xJVEVSQUxfUlVMRV9OQU1FIiwiVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUiLCJXSUxEQ0FSRF9SVUxFX05BTUUiLCJaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQWtCYUE7ZUFBQUE7O1FBT0FDO2VBQUFBOztRQVZBQztlQUFBQTs7UUFMQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQU1BQztlQUFBQTs7UUFQQUM7ZUFBQUE7O1FBREFDO2VBQUFBOztRQUhBQztlQUFBQTs7UUFrQkFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFLQUM7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQUtBQztlQUFBQTs7UUFWQUM7ZUFBQUE7O1FBWEFDO2VBQUFBOztRQVFBQztlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBV0FDO2VBQUFBOztRQWRBQztlQUFBQTs7UUFMQUM7ZUFBQUE7O1FBaUJBQztlQUFBQTs7UUFLQUM7ZUFBQUE7O1FBVEFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFSQUM7ZUFBQUE7O1FBb0JBQztlQUFBQTs7O0FBMUJOLE1BQU1sQixpQkFBaUI7QUFDdkIsTUFBTU8saUJBQWlCO0FBQ3ZCLE1BQU1LLGlCQUFpQjtBQUN2QixNQUFNYixrQkFBa0I7QUFDeEIsTUFBTUQsb0JBQW9CO0FBQzFCLE1BQU1GLHFCQUFxQjtBQUMzQixNQUFNcUIscUJBQXFCO0FBQzNCLE1BQU1OLHNCQUFzQjtBQUM1QixNQUFNaEIsdUJBQXVCO0FBQzdCLE1BQU1hLHVCQUF1QjtBQUM3QixNQUFNQyx1QkFBdUI7QUFDN0IsTUFBTVosd0JBQXdCO0FBQzlCLE1BQU1TLHdCQUF3QjtBQUM5QixNQUFNWix3QkFBd0I7QUFDOUIsTUFBTXNCLDBCQUEwQjtBQUNoQyxNQUFNRCwyQkFBMkI7QUFDakMsTUFBTXZCLDRCQUE0QjtBQUNsQyxNQUFNWSw2QkFBNkI7QUFDbkMsTUFBTUgsOEJBQThCO0FBQ3BDLE1BQU1ZLDhCQUE4QjtBQUNwQyxNQUFNWCwrQkFBK0I7QUFDckMsTUFBTVEsK0JBQStCO0FBQ3JDLE1BQU1MLGdDQUFnQztBQUN0QyxNQUFNWixrQ0FBa0M7QUFDeEMsTUFBTXFCLG1DQUFtQztBQUN6QyxNQUFNWCxtQ0FBbUM7QUFDekMsTUFBTWUsb0NBQW9DIn0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBOQU1FX1JVTEVfTkFNRSA9IFwibmFtZVwiO1xuZXhwb3J0IGNvbnN0IFBBUlRfUlVMRV9OQU1FID0gXCJwYXJ0XCI7XG5leHBvcnQgY29uc3QgUlVMRV9SVUxFX05BTUUgPSBcInJ1bGVcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9SVUxFX05BTUUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgRVBTSUxPTl9SVUxFX05BTUUgPSBcImVwc2lsb25cIjtcbmV4cG9ydCBjb25zdCBET0NVTUVOVF9SVUxFX05BTUUgPSBcImRvY3VtZW50XCI7XG5leHBvcnQgY29uc3QgV0lMRENBUkRfUlVMRV9OQU1FID0gXCJ3aWxkY2FyZFwiO1xuZXhwb3J0IGNvbnN0IEJBQ0tUSUNLX1JVTEVfTkFNRSA9IFwiYmFja3RpY2tcIjtcbmV4cG9ydCBjb25zdCBSVUxFX05BTUVfUlVMRV9OQU1FID0gXCJydWxlTmFtZVwiO1xuZXhwb3J0IGNvbnN0IERFRklOSVRJT05fUlVMRV9OQU1FID0gXCJkZWZpbml0aW9uXCI7XG5leHBvcnQgY29uc3QgUFJFQ0VERU5DRV9SVUxFX05BTUUgPSBcInByZWNlZGVuY2VcIjtcbmV4cG9ydCBjb25zdCBRVUFOVElGSUVSX1JVTEVfTkFNRSA9IFwicXVhbnRpZmllclwiO1xuZXhwb3J0IGNvbnN0IEVORF9PRl9MSU5FX1JVTEVfTkFNRSA9IFwiZW5kT2ZMaW5lXCI7XG5leHBvcnQgY29uc3QgUEFSVF9DSE9JQ0VfUlVMRV9OQU1FID0gXCJwYXJ0Q2hvaWNlXCI7XG5leHBvcnQgY29uc3QgREVGSU5JVElPTlNfUlVMRV9OQU1FID0gXCJkZWZpbml0aW9uc1wiO1xuZXhwb3J0IGNvbnN0IFRFUk1JTkFMX1BBUlRfUlVMRV9OQU1FID0gXCJ0ZXJtaW5hbFBhcnRcIjtcbmV4cG9ydCBjb25zdCBTVFJJTkdfTElURVJBTF9SVUxFX05BTUUgPSBcInN0cmluZ0xpdGVyYWxcIjtcbmV4cG9ydCBjb25zdCBDSE9JQ0VfT0ZfUEFSVFNfUlVMRV9OQU1FID0gXCJjaG9pY2VPZlBhcnRzXCI7XG5leHBvcnQgY29uc3QgT1BBQ0lUWV9NT0RJRklFUl9SVUxFX05BTUUgPSBcIm9wYWNpdHlNb2RpZmllclwiO1xuZXhwb3J0IGNvbnN0IE5PTl9URVJNSU5BTF9QQVJUX1JVTEVfTkFNRSA9IFwibm9uVGVybWluYWxQYXJ0XCI7XG5leHBvcnQgY29uc3QgU0VRVUVOQ0VfT0ZfUEFSVFNfUlVMRV9OQU1FID0gXCJzZXF1ZW5jZU9mUGFydHNcIjtcbmV4cG9ydCBjb25zdCBOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FID0gXCJub1doaXRlc3BhY2VcIjtcbmV4cG9ydCBjb25zdCBSRUdVTEFSX0VYUFJFU1NJT05fUlVMRV9OQU1FID0gXCJyZWd1bGFyRXhwcmVzc2lvblwiO1xuZXhwb3J0IGNvbnN0IE9QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FID0gXCJvcHRpb25hbFF1YW50aWZpZXJcIjtcbmV4cG9ydCBjb25zdCBDT05USU5VQVRJT05fTU9ESUZJRVJfUlVMRV9OQU1FID0gXCJjb250aW51YXRpb25Nb2RpZmllclwiO1xuZXhwb3J0IGNvbnN0IFNJR05JRklDQU5UX1RPS0VOX1RZUEVfUlVMRV9OQU1FID0gXCJzaWduaWZpY2FudFRva2VuVHlwZVwiO1xuZXhwb3J0IGNvbnN0IE9ORV9PUl9NT1JFX1FVQU5USUZJRVJfUlVMRV9OQU1FID0gXCJvbmVPck1vcmVRdWFudGlmaWVyXCI7XG5leHBvcnQgY29uc3QgWkVST19PUl9NT1JFX1FVQU5USUZJRVJfUlVMRV9OQU1FID0gXCJ6ZXJvT3JNb3JlUXVhbnRpZmllclwiO1xuIl0sIm5hbWVzIjpbIkJBQ0tUSUNLX1JVTEVfTkFNRSIsIkNIT0lDRV9PRl9QQVJUU19SVUxFX05BTUUiLCJDT05USU5VQVRJT05fTU9ESUZJRVJfUlVMRV9OQU1FIiwiREVGSU5JVElPTlNfUlVMRV9OQU1FIiwiREVGSU5JVElPTl9SVUxFX05BTUUiLCJET0NVTUVOVF9SVUxFX05BTUUiLCJFTkRfT0ZfTElORV9SVUxFX05BTUUiLCJFUFNJTE9OX1JVTEVfTkFNRSIsIkVSUk9SX1JVTEVfTkFNRSIsIk5BTUVfUlVMRV9OQU1FIiwiTk9OX1RFUk1JTkFMX1BBUlRfUlVMRV9OQU1FIiwiTk9fV0hJVEVTUEFDRV9QQVJUX1JVTEVfTkFNRSIsIk9ORV9PUl9NT1JFX1FVQU5USUZJRVJfUlVMRV9OQU1FIiwiT1BBQ0lUWV9NT0RJRklFUl9SVUxFX05BTUUiLCJPUFRJT05BTF9RVUFOVElGSUVSX1JVTEVfTkFNRSIsIlBBUlRfQ0hPSUNFX1JVTEVfTkFNRSIsIlBBUlRfUlVMRV9OQU1FIiwiUFJFQ0VERU5DRV9SVUxFX05BTUUiLCJRVUFOVElGSUVSX1JVTEVfTkFNRSIsIlJFR1VMQVJfRVhQUkVTU0lPTl9SVUxFX05BTUUiLCJSVUxFX05BTUVfUlVMRV9OQU1FIiwiUlVMRV9SVUxFX05BTUUiLCJTRVFVRU5DRV9PRl9QQVJUU19SVUxFX05BTUUiLCJTSUdOSUZJQ0FOVF9UT0tFTl9UWVBFX1JVTEVfTkFNRSIsIlNUUklOR19MSVRFUkFMX1JVTEVfTkFNRSIsIlRFUk1JTkFMX1BBUlRfUlVMRV9OQU1FIiwiV0lMRENBUkRfUlVMRV9OQU1FIiwiWkVST19PUl9NT1JFX1FVQU5USUZJRVJfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFTYUE7ZUFBQUE7O1FBVUFDO2VBQUFBOztRQU9BQztlQUFBQTs7UUFWQUM7ZUFBQUE7O1FBTEFDO2VBQUFBOztRQUpBQztlQUFBQTs7UUFPQUM7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBbUJBQztlQUFBQTs7UUFFQUM7ZUFBQUE7O1FBS0FDO2VBQUFBOztRQVJBQztlQUFBQTs7UUFLQUM7ZUFBQUE7O1FBVkFDO2VBQUFBOztRQVpBQztlQUFBQTs7UUFTQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQVdBQztlQUFBQTs7UUFkQUM7ZUFBQUE7O1FBTkFDO2VBQUFBOztRQWtCQUM7ZUFBQUE7O1FBS0FDO2VBQUFBOztRQVRBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBVEFDO2VBQUFBOztRQXFCQUM7ZUFBQUE7OztBQTNCTixNQUFNbEIsaUJBQWlCO0FBQ3ZCLE1BQU1PLGlCQUFpQjtBQUN2QixNQUFNSyxpQkFBaUI7QUFDdkIsTUFBTWIsa0JBQWtCO0FBQ3hCLE1BQU1ELG9CQUFvQjtBQUMxQixNQUFNRixxQkFBcUI7QUFDM0IsTUFBTXFCLHFCQUFxQjtBQUMzQixNQUFNMUIscUJBQXFCO0FBQzNCLE1BQU1vQixzQkFBc0I7QUFDNUIsTUFBTWhCLHVCQUF1QjtBQUM3QixNQUFNYSx1QkFBdUI7QUFDN0IsTUFBTUMsdUJBQXVCO0FBQzdCLE1BQU1aLHdCQUF3QjtBQUM5QixNQUFNUyx3QkFBd0I7QUFDOUIsTUFBTVosd0JBQXdCO0FBQzlCLE1BQU1zQiwwQkFBMEI7QUFDaEMsTUFBTUQsMkJBQTJCO0FBQ2pDLE1BQU12Qiw0QkFBNEI7QUFDbEMsTUFBTVksNkJBQTZCO0FBQ25DLE1BQU1ILDhCQUE4QjtBQUNwQyxNQUFNWSw4QkFBOEI7QUFDcEMsTUFBTVgsK0JBQStCO0FBQ3JDLE1BQU1RLCtCQUErQjtBQUNyQyxNQUFNTCxnQ0FBZ0M7QUFDdEMsTUFBTVosa0NBQWtDO0FBQ3hDLE1BQU1xQixtQ0FBbUM7QUFDekMsTUFBTVgsbUNBQW1DO0FBQ3pDLE1BQU1lLG9DQUFvQyJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-parsers",
3
3
  "author": "James Smith",
4
- "version": "23.1.209",
4
+ "version": "23.2.2",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-parsers",
7
7
  "description": "Occam's parsers.",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "necessary": "^17.5.2",
14
- "occam-lexers": "^23.1.81",
14
+ "occam-lexers": "^23.2.2",
15
15
  "occam-parsers": "^23.1.152"
16
16
  },
17
17
  "devDependencies": {
@@ -24,7 +24,7 @@
24
24
  "express": "^4.17.1",
25
25
  "juxtapose": "^4.0.143",
26
26
  "lively-cli": "^3.0.3",
27
- "watchful-cli": "^1.7.98"
27
+ "watchful-cli": "^1.7.102"
28
28
  },
29
29
  "scripts": {
30
30
  "start": "node ./bin/main.js",
package/src/bnf/bnf.js CHANGED
@@ -32,11 +32,13 @@ const bnf = `
32
32
 
33
33
  | stringLiteral
34
34
 
35
- | endOfLine
35
+ | backtick
36
36
 
37
37
  | wildcard
38
38
 
39
39
  | epsilon
40
+
41
+ | endOfLine
40
42
 
41
43
  | noWhitespace
42
44
 
@@ -60,6 +62,8 @@ const bnf = `
60
62
 
61
63
  endOfLine ::= "<END_OF_LINE>" ;
62
64
 
65
+ backtick ::= "\`" ;
66
+
63
67
  wildcard ::= "." ;
64
68
 
65
69
  epsilon ::= "ε" ;
package/src/bnf/parser.js CHANGED
@@ -11,7 +11,8 @@ import ErrorBNFRule from "../rule/bnf/error";
11
11
  import EpsilonBNFRule from "../rule/bnf/epsilon";
12
12
  import DocumentBNFRule from "../rule/bnf/document";
13
13
  import RuleNameBNFRule from "../rule/bnf/ruleName";
14
- import WildcardBNFRule from "../rule/bnf/wildcard";
14
+ import WildcardBNFRule from "../rule/bnf/backtick";
15
+ import BacktickBNFRule from "../rule/bnf/backtick";
15
16
  import EndOfLineBNFRule from "../rule/bnf/endOfLine";
16
17
  import PartChoiceBNFRule from "../rule/bnf/partChoice";
17
18
  import QuantifierBNFRule from "../rule/bnf/quantifier";
@@ -83,6 +84,7 @@ export default class BNFParser {
83
84
  documentBNFRule = DocumentBNFRule.fromNothing(),
84
85
  ruleNameBNFRule = RuleNameBNFRule.fromNothing(),
85
86
  wildcardBNFRule = WildcardBNFRule.fromNothing(),
87
+ backtickBNFRule = BacktickBNFRule.fromNothing(),
86
88
  endOfLineBNFRule = EndOfLineBNFRule.fromNothing(),
87
89
  partChoiceBNFRule = PartChoiceBNFRule.fromNothing(),
88
90
  quantifierBNFRule = QuantifierBNFRule.fromNothing(),
@@ -122,6 +124,7 @@ export default class BNFParser {
122
124
  precedentsBNFRule,
123
125
  endOfLineBNFRule,
124
126
  wildcardBNFRule,
127
+ backtickBNFRule,
125
128
  epsilonBNFRule,
126
129
  quantifierBNFRule,
127
130
  opacityModifierBNFRule,
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import BacktickPart from "../../part/terminal/backtick";
4
+ import NonTerminalNode from "../../node/nonTerminal";
5
+
6
+ export default class BacktickBNFNode extends NonTerminalNode {
7
+ generatePart(continuatino) {
8
+ const backtickPart = BacktickPart.fromNothing();
9
+
10
+ return backtickPart;
11
+ }
12
+
13
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(BacktickBNFNode, ruleName, childNodes, opacity, precedence); }
14
+ }
@@ -8,6 +8,7 @@ import EpsilonBNFNode from "./node/bnf/epsilon";
8
8
  import DocumentBNFNode from "./node/bnf/document";
9
9
  import RuleNameBNFNode from "./node/bnf/ruleName";
10
10
  import WildcardBNFNode from "./node/bnf/wildcard";
11
+ import BacktickBNFNode from "./node/bnf/backtick";
11
12
  import EndOfLineBNFNode from "./node/bnf/endOfLine";
12
13
  import PartChoiceBNFNode from "./node/bnf/partChoice";
13
14
  import PrecedenceBNFNode from "./node/bnf/precedence";
@@ -35,6 +36,7 @@ import { NAME_RULE_NAME,
35
36
  EPSILON_RULE_NAME,
36
37
  DOCUMENT_RULE_NAME,
37
38
  WILDCARD_RULE_NAME,
39
+ BACKTICK_RULE_NAME,
38
40
  RULE_NAME_RULE_NAME,
39
41
  DEFINITION_RULE_NAME,
40
42
  PRECEDENCE_RULE_NAME,
@@ -64,6 +66,7 @@ const NonTerminalNodeMap = {
64
66
  [EPSILON_RULE_NAME]: EpsilonBNFNode,
65
67
  [DOCUMENT_RULE_NAME]: DocumentBNFNode,
66
68
  [WILDCARD_RULE_NAME]: WildcardBNFNode,
69
+ [BACKTICK_RULE_NAME]: BacktickBNFNode,
67
70
  [RULE_NAME_RULE_NAME]: RuleNameBNFNode,
68
71
  [DEFINITION_RULE_NAME]: DefinitionBNFNode,
69
72
  [PRECEDENCE_RULE_NAME]: PrecedenceBNFNode,
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ import { specialSymbols } from "occam-lexers";
4
+
5
+ import Frame from "../../frame";
6
+ import TerminalPart from "../../part/terminal";
7
+ import TerminalNode from "../../node/terminal";
8
+
9
+ import { partContext } from "../../utilities/context";
10
+
11
+ const { backtick } = specialSymbols;
12
+
13
+ export default class BacktickPart extends TerminalPart {
14
+ parse(frame, context) {
15
+ const part = this; ///
16
+
17
+ partContext((context) => {
18
+ let partFrame = null;
19
+
20
+ const nextSignificantToken = context.getNextSignificantToken();
21
+
22
+ if (nextSignificantToken !== null) {
23
+ const significantToken = nextSignificantToken, ///
24
+ content = significantToken.getContent();
25
+
26
+ if (content === backtick) {
27
+ const terminalNode = TerminalNode.fromSignificantToken(significantToken),
28
+ childNode = terminalNode; ///
29
+
30
+ partFrame = Frame.fromChildNode(childNode);
31
+ }
32
+ }
33
+
34
+ frame = (partFrame !== null) ?
35
+ context.compose(frame, partFrame) :
36
+ null;
37
+
38
+ if (frame !== null) {
39
+ frame = context.continue(frame);
40
+ }
41
+
42
+ if (frame !== null) {
43
+ context.commit();
44
+ }
45
+ }, part, context);
46
+
47
+ return frame;
48
+ }
49
+
50
+ asString() {
51
+ const string = backtick; ///
52
+
53
+ return string;
54
+ }
55
+
56
+ static fromNothing() {
57
+ const backtickPart = new BacktickPart();
58
+
59
+ return backtickPart;
60
+ }
61
+ }
package/src/parts.js CHANGED
@@ -3,6 +3,7 @@
3
3
  import EpsilonPart from "./part/terminal/epsilon";
4
4
  import RuleNamePart from "./part/nonTerminal/ruleName";
5
5
  import WildcardPart from "./part/terminal/wildcard";
6
+ import BacktickPart from "./part/terminal/backtick";
6
7
  import EndOfLinePart from "./part/terminal/endOfLine";
7
8
  import OptionalPartPart from "./part/nonTerminal/optionalPart";
8
9
  import StringLiteralPart from "./part/terminal/stringLiteral";
@@ -17,6 +18,7 @@ export default {
17
18
  EpsilonPart,
18
19
  RuleNamePart,
19
20
  WildcardPart,
21
+ BacktickPart,
20
22
  EndOfLinePart,
21
23
  OptionalPartPart,
22
24
  ChoiceOfPartsPart,
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { specialSymbols } from "occam-lexers";
4
+
5
+ import Rule from "../../rule";
6
+ import StringLiteralDefinition from "../../definition/stringLiteral";
7
+
8
+ import { BACKTICK_RULE_NAME } from "../../ruleNames";
9
+
10
+ const { backtick } = specialSymbols;
11
+
12
+ export default class BacktickBNFRule extends Rule {
13
+ static fromNothing() {
14
+ const content = backtick, ///
15
+ backtickStringLiteralDefinition = StringLiteralDefinition.fromContent(content),
16
+ name = BACKTICK_RULE_NAME, ///
17
+ opacity = null,
18
+ definitions = [
19
+ backtickStringLiteralDefinition
20
+ ],
21
+ backtickRule = new BacktickBNFRule(name, opacity, definitions);
22
+
23
+ return backtickRule;
24
+ }
25
+ }
@@ -5,6 +5,7 @@ import RuleNameDefinition from "../../definition/ruleName";
5
5
 
6
6
  import { EPSILON_RULE_NAME,
7
7
  WILDCARD_RULE_NAME,
8
+ BACKTICK_RULE_NAME,
8
9
  END_OF_LINE_RULE_NAME,
9
10
  TERMINAL_PART_RULE_NAME,
10
11
  STRING_LITERAL_RULE_NAME,
@@ -26,6 +27,10 @@ export default class TerminalPartBNFRule extends Rule {
26
27
 
27
28
  const wildcardRuleNameDefinition = RuleNameDefinition.fromRuleName(ruleName);
28
29
 
30
+ ruleName = BACKTICK_RULE_NAME;
31
+
32
+ const backtickRuleNameDefinition = RuleNameDefinition.fromRuleName(ruleName);
33
+
29
34
  ruleName = END_OF_LINE_RULE_NAME;
30
35
 
31
36
  const endOfLineRuleNameDefinition = RuleNameDefinition.fromRuleName(ruleName);
@@ -52,6 +57,7 @@ export default class TerminalPartBNFRule extends Rule {
52
57
  stringLiteralRuleNameDefinition,
53
58
  endOfLineRuleNameDefinition,
54
59
  wildcardRuleNameDefinition,
60
+ backtickRuleNameDefinition,
55
61
  epsilonRuleNameDefinition,
56
62
  noWhitespacePartRuleNameDefinition
57
63
  ],
package/src/ruleNames.js CHANGED
@@ -7,6 +7,7 @@ export const ERROR_RULE_NAME = "error";
7
7
  export const EPSILON_RULE_NAME = "epsilon";
8
8
  export const DOCUMENT_RULE_NAME = "document";
9
9
  export const WILDCARD_RULE_NAME = "wildcard";
10
+ export const BACKTICK_RULE_NAME = "backtick";
10
11
  export const RULE_NAME_RULE_NAME = "ruleName";
11
12
  export const DEFINITION_RULE_NAME = "definition";
12
13
  export const PRECEDENCE_RULE_NAME = "precedence";