occam-parsers 23.1.210 → 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 +129 -85
- package/lib/bnf/bnf.js +6 -2
- package/lib/bnf/parser.js +4 -3
- package/lib/node/bnf/backtick.js +28 -0
- package/lib/nonTerminalNodeMap.js +3 -1
- package/lib/part/terminal/backtick.js +55 -0
- package/lib/parts.js +3 -1
- package/lib/rule/bnf/backtick.js +30 -0
- package/lib/rule/bnf/terminalPart.js +4 -1
- package/lib/ruleNames.js +5 -1
- package/package.json +2 -2
- package/src/bnf/bnf.js +5 -1
- package/src/bnf/parser.js +4 -1
- package/src/node/bnf/backtick.js +14 -0
- package/src/nonTerminalNodeMap.js +3 -0
- package/src/part/terminal/backtick.js +61 -0
- package/src/parts.js +2 -0
- package/src/rule/bnf/backtick.js +25 -0
- package/src/rule/bnf/terminalPart.js +6 -0
- package/src/ruleNames.js +1 -0
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.
|
|
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
|
-
|
|
28
|
+
```
|
|
29
|
+
document ::= ( rule | error )+ ;
|
|
30
|
+
|
|
31
|
+
rule ::= name opacityModifier? "::=" definitions ";" ;
|
|
32
|
+
|
|
33
|
+
name ::= [name] ;
|
|
34
|
+
|
|
35
|
+
definitions ::= definition ( "|" definition )* ;
|
|
26
36
|
|
|
27
|
-
|
|
37
|
+
definition ::= part+ precedence? ;
|
|
28
38
|
|
|
29
|
-
|
|
39
|
+
part ::= nonTerminalPart quantifier*
|
|
30
40
|
|
|
31
|
-
|
|
41
|
+
| terminalPart quantifier*
|
|
32
42
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
part ::= nonTerminalPart quantifier*
|
|
43
|
+
;
|
|
36
44
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
;
|
|
45
|
+
nonTerminalPart ::= choiceOfParts
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
| sequenceOfParts
|
|
48
|
+
|
|
49
|
+
| ruleName continuationModifier?
|
|
50
|
+
|
|
51
|
+
;
|
|
42
52
|
|
|
43
|
-
|
|
53
|
+
terminalPart ::= significantTokenType
|
|
44
54
|
|
|
45
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
| regularExpression
|
|
52
|
-
|
|
53
|
-
| stringLiteral
|
|
54
|
-
|
|
55
|
-
| endOfLine
|
|
56
|
-
|
|
57
|
-
| wildcard
|
|
58
|
-
|
|
59
|
-
| epsilon
|
|
75
|
+
partChoice ::= part precedence? ;
|
|
60
76
|
|
|
61
|
-
|
|
77
|
+
ruleName ::= [name] ;
|
|
62
78
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
sequenceOfParts ::= "(" part part+ ")" ;
|
|
79
|
+
significantTokenType ::= [type] ;
|
|
66
80
|
|
|
67
|
-
|
|
81
|
+
regularExpression ::= [regular-expression] ;
|
|
68
82
|
|
|
69
|
-
|
|
83
|
+
stringLiteral ::= [string-literal] ;
|
|
70
84
|
|
|
71
|
-
|
|
85
|
+
precedence ::= "(" [number]? ")" ;
|
|
72
86
|
|
|
73
|
-
|
|
87
|
+
endOfLine ::= "<END_OF_LINE>" ;
|
|
74
88
|
|
|
75
|
-
|
|
89
|
+
backtick ::= "\`" ;
|
|
76
90
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
endOfLine ::= "<END_OF_LINE>" ;
|
|
80
|
-
|
|
81
|
-
wildcard ::= "." ;
|
|
91
|
+
wildcard ::= "." ;
|
|
82
92
|
|
|
83
|
-
|
|
93
|
+
epsilon ::= "ε" ;
|
|
84
94
|
|
|
85
|
-
|
|
95
|
+
noWhitespace ::= "<NO_WHITESPACE>" ;
|
|
86
96
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
| oneOrMoreQuantifier
|
|
90
|
-
|
|
91
|
-
| zeroOrMoreQuantifier
|
|
92
|
-
|
|
93
|
-
;
|
|
97
|
+
quantifier ::= optionalQuantifier
|
|
94
98
|
|
|
95
|
-
|
|
99
|
+
| oneOrMoreQuantifier
|
|
100
|
+
|
|
101
|
+
| zeroOrMoreQuantifier
|
|
102
|
+
|
|
103
|
+
;
|
|
96
104
|
|
|
97
|
-
|
|
105
|
+
opacityModifier ::= <NO_WHITESPACE>( "." | ".." );
|
|
98
106
|
|
|
99
|
-
|
|
107
|
+
continuationModifier ::= <NO_WHITESPACE>"..." ;
|
|
100
108
|
|
|
101
|
-
|
|
109
|
+
optionalQuantifier ::= <NO_WHITESPACE>"?" ;
|
|
102
110
|
|
|
103
|
-
|
|
111
|
+
oneOrMoreQuantifier ::= <NO_WHITESPACE>"+" ;
|
|
104
112
|
|
|
105
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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.
|
|
210
|
+
This can be done with a special `<END_OF_LINE>` special symbol.
|
|
211
|
+
For example:
|
|
189
212
|
|
|
190
|
-
|
|
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.
|
|
219
|
+
This can be done with the `<NO_WHITESPACE>` special symbol.
|
|
220
|
+
For example:
|
|
195
221
|
|
|
196
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
###
|
|
245
|
+
### Continuations
|
|
214
246
|
|
|
215
247
|
Consider the following rules:
|
|
216
248
|
|
|
217
|
-
|
|
249
|
+
```
|
|
250
|
+
ABC ::= AAB BC ;
|
|
218
251
|
|
|
219
|
-
|
|
252
|
+
AAB ::= "a" "b" | "a" ;
|
|
220
253
|
|
|
221
|
-
|
|
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.
|
|
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
|
-
|
|
261
|
+
```
|
|
262
|
+
ABC ::= AAB... BC ;
|
|
226
263
|
|
|
227
|
-
|
|
264
|
+
AAB ::= "a" "b" | "a" ;
|
|
228
265
|
|
|
229
|
-
|
|
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.
|
|
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
|
-
|
|
274
|
+
```
|
|
275
|
+
ABC ::= AAB... ;
|
|
236
276
|
|
|
237
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
-
|
|
|
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/
|
|
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
|
|
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 =
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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.
|
|
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.
|
|
14
|
+
"occam-lexers": "^23.2.2",
|
|
15
15
|
"occam-parsers": "^23.1.152"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
package/src/bnf/bnf.js
CHANGED
|
@@ -32,11 +32,13 @@ const bnf = `
|
|
|
32
32
|
|
|
33
33
|
| stringLiteral
|
|
34
34
|
|
|
35
|
-
|
|
|
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/
|
|
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";
|