@bablr/language-en-bablr-vm-instruction 0.3.0 → 0.3.1

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/lib/grammar.js CHANGED
@@ -1,3082 +1,993 @@
1
1
  /* @macrome
2
2
  * @generatedby @bablr/macrome-generator-bablr
3
- * @generatedfrom ./grammar.macro.js#99abc3afbc0f29ba0721e0d15e12d824acefbc06
3
+ * @generatedfrom ./grammar.macro.js#8daea7848c2d30b23522a8c852bb6def574b1648
4
4
  * This file is autogenerated. Please do not edit it directly.
5
5
  * When editing run `npx macrome watch` then change the file this is generated from.
6
6
  */
7
- import _applyDecs from '@babel/runtime/helpers/applyDecs2305';
8
- import {
9
- interpolateArray as _interpolateArray,
10
- interpolateArrayChildren as _interpolateArrayChildren,
11
- interpolateString as _interpolateString,
12
- } from '@bablr/agast-helpers/template';
13
- import * as _l from '@bablr/agast-vm-helpers/languages';
14
- import * as _t from '@bablr/agast-helpers/shorthand';
15
- let _initProto,
16
- _ArrayDecs,
17
- _ObjectDecs,
18
- _TupleDecs,
19
- _BooleanDecs,
20
- _NullDecs,
21
- _IdentifierDecs,
22
- _IntegerDecs,
23
- _InfinityDecs,
24
- _PunctuatorDecs,
25
- _KeywordDecs,
26
- _AnyDecs;
7
+ import _applyDecs from "@babel/runtime/helpers/applyDecs2305";
8
+ import { interpolateArray as _interpolateArray, interpolateArrayChildren as _interpolateArrayChildren, interpolateString as _interpolateString } from "@bablr/agast-helpers/template";
9
+ import * as _l from "@bablr/agast-vm-helpers/languages";
10
+ import * as _t from "@bablr/agast-helpers/shorthand";
11
+ let _initProto, _ArrayDecs, _ObjectDecs, _TupleDecs, _BooleanDecs, _NullDecs, _IdentifierDecs, _IntegerDecs, _InfinityDecs, _PunctuatorDecs, _KeywordDecs, _AnyDecs;
27
12
  import { CoveredBy, Node, InjectFrom } from '@bablr/helpers/decorators';
28
13
  import * as Space from '@bablr/language-en-blank-space';
29
14
  import * as productions from '@bablr/helpers/productions';
30
15
  export const canonicalURL = 'https://bablr.org/languages/core/en/bablr-vm-instruction';
31
16
  export const dependencies = {
32
- Space,
17
+ Space
33
18
  };
34
19
  export function* eatMatchTrivia() {
35
- if (
36
- yield _t.node(
37
- _l.Instruction,
38
- 'Call',
39
- [_t.ref`verb`, _t.ref`arguments`],
40
- {
41
- verb: _t.s_node(_l.Instruction, 'Identifier', 'match'),
42
- arguments: _t.node(
43
- _l.Instruction,
44
- 'Tuple',
45
- [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`],
46
- {
47
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
48
- values: [
49
- _t.node(
50
- _l.Regex,
51
- 'Pattern',
52
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`],
53
- {
54
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
55
- alternatives: [
56
- _t.node(
57
- _l.Regex,
58
- 'Alternative',
59
- [_t.ref`elements[]`],
60
- {
61
- elements: [
62
- _t.node(
63
- _l.Regex,
64
- 'CharacterClass',
65
- [
66
- _t.ref`openToken`,
67
- _t.ref`elements[]`,
68
- _t.ref`elements[]`,
69
- _t.ref`elements[]`,
70
- _t.ref`closeToken`,
71
- ],
72
- {
73
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '['),
74
- elements: [
75
- _t.node(_l.Regex, 'Character', [_t.lit(' ')], {}, {}),
76
- _t.node(
77
- _l.Regex,
78
- 'Character',
79
- [
80
- _t.embedded(
81
- _t.s_e_node(
82
- _l.CSTML,
83
- 'Escape',
84
- [_t.lit('\\t')],
85
- {},
86
- {
87
- cooked: '\t',
88
- },
89
- ),
90
- ),
91
- ],
92
- {},
93
- {},
94
- ),
95
- _t.node(
96
- _l.Regex,
97
- 'Character',
98
- [
99
- _t.embedded(
100
- _t.s_e_node(
101
- _l.CSTML,
102
- 'Escape',
103
- [_t.lit('\\n')],
104
- {},
105
- {
106
- cooked: '\n',
107
- },
108
- ),
109
- ),
110
- ],
111
- {},
112
- {},
113
- ),
114
- ],
115
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', ']'),
116
- },
117
- {
118
- negate: false,
119
- },
120
- ),
121
- ],
122
- },
123
- {},
124
- ),
125
- ],
126
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
127
- },
128
- {},
129
- ),
130
- ],
131
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
132
- },
133
- {},
134
- ),
135
- },
136
- {},
137
- )
138
- ) {
139
- return yield _t.node(
140
- _l.Instruction,
141
- 'Call',
142
- [_t.ref`verb`, _t.ref`arguments`],
143
- {
144
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
145
- arguments: _t.node(
146
- _l.Instruction,
147
- 'Tuple',
148
- [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`],
149
- {
150
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
151
- values: [
152
- _t.node(
153
- _l.Spamex,
154
- 'NodeMatcher',
155
- [
156
- _t.ref`openToken`,
157
- _t.ref`flags`,
158
- _t.ref`language`,
159
- _t.ref`namespaceSeparatorToken`,
160
- _t.ref`type`,
161
- _t.ref`closeToken`,
162
- ],
163
- {
164
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
165
- flags: _t.node(
166
- _l.CSTML,
167
- 'Flags',
168
- [_t.ref`triviaToken`, _t.ref`tokenToken`],
169
- {
170
- triviaToken: _t.s_i_node(_l.CSTML, 'Punctuator', '#'),
171
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
172
- },
173
- {},
174
- ),
175
- language: _t.s_node(_l.Spamex, 'Identifier', 'Space'),
176
- namespaceSeparatorToken: _t.s_i_node(_l.Spamex, 'Punctuator', ':'),
177
- type: _t.s_node(_l.Spamex, 'Identifier', 'Space'),
178
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
179
- },
180
- {},
181
- ),
182
- ],
183
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
184
- },
185
- {},
186
- ),
187
- },
188
- {},
189
- );
20
+ if (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
21
+ verb: _t.s_node(_l.Instruction, "Identifier", "match"),
22
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
23
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
24
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
25
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
26
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
27
+ elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
28
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
29
+ elements: [_t.node(_l.Regex, "Character", [_t.lit(" ")], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\t")], {}, {
30
+ cooked: "\t"
31
+ }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\n")], {}, {
32
+ cooked: "\n"
33
+ }))], {}, {})],
34
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
35
+ }, {
36
+ negate: false
37
+ })]
38
+ }, {})],
39
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
40
+ }, {})],
41
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
42
+ }, {})
43
+ }, {})) {
44
+ return yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
45
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
46
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
47
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
48
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`language`, _t.ref`namespaceSeparatorToken`, _t.ref`type`, _t.ref`closeToken`], {
49
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
50
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`triviaToken`, _t.ref`tokenToken`], {
51
+ triviaToken: _t.s_i_node(_l.CSTML, "Punctuator", "#"),
52
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
53
+ }, {}),
54
+ language: _t.s_node(_l.Spamex, "Identifier", "Space"),
55
+ namespaceSeparatorToken: _t.s_i_node(_l.Spamex, "Punctuator", ":"),
56
+ type: _t.s_node(_l.Spamex, "Identifier", "Space"),
57
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
58
+ }, {})],
59
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
60
+ }, {})
61
+ }, {});
190
62
  }
191
63
  return null;
192
64
  }
193
65
  export const grammar = class BABLRVMInstructionGrammar {
194
66
  static {
195
- [_initProto] = _applyDecs(
196
- this,
197
- [
198
- [Node, 2, 'Call'],
199
- [_ArrayDecs, 2, 'Array'],
200
- [_ObjectDecs, 2, 'Object'],
201
- [Node, 2, 'Property'],
202
- [_TupleDecs, 2, 'Tuple'],
203
- [_BooleanDecs, 2, 'Boolean'],
204
- [_NullDecs, 2, 'Null'],
205
- [_IdentifierDecs, 2, 'Identifier'],
206
- [Node, 2, 'UnsignedInteger'],
207
- [_IntegerDecs, 2, 'Integer'],
208
- [Node, 2, 'Digit'],
209
- [_InfinityDecs, 2, 'Infinity'],
210
- [_PunctuatorDecs, 2, 'Punctuator'],
211
- [_KeywordDecs, 2, 'Keyword'],
212
- [_AnyDecs, 2, 'Any'],
213
- ],
214
- [],
215
- ).e;
67
+ [_initProto] = _applyDecs(this, [[Node, 2, "Call"], [_ArrayDecs, 2, "Array"], [_ObjectDecs, 2, "Object"], [Node, 2, "Property"], [_TupleDecs, 2, "Tuple"], [_BooleanDecs, 2, "Boolean"], [_NullDecs, 2, "Null"], [_IdentifierDecs, 2, "Identifier"], [Node, 2, "UnsignedInteger"], [_IntegerDecs, 2, "Integer"], [Node, 2, "Digit"], [_InfinityDecs, 2, "Infinity"], [_PunctuatorDecs, 2, "Punctuator"], [_KeywordDecs, 2, "Keyword"], [_AnyDecs, 2, "Any"]], []).e;
216
68
  }
217
69
  constructor() {
218
70
  _initProto(this);
219
71
  }
220
- *[((_ArrayDecs = [CoveredBy('Expression'), Node]),
221
- (_ObjectDecs = [CoveredBy('Expression'), Node]),
222
- (_TupleDecs = [CoveredBy('Expression'), Node]),
223
- (_BooleanDecs = [CoveredBy('Expression'), Node]),
224
- (_NullDecs = [CoveredBy('Expression'), Node]),
225
- (_IdentifierDecs = [CoveredBy('Expression'), Node]),
226
- (_IntegerDecs = [CoveredBy('Number'), Node]),
227
- (_InfinityDecs = [CoveredBy('Number'), Node]),
228
- (_PunctuatorDecs = [Node, InjectFrom(productions)]),
229
- (_KeywordDecs = [Node, InjectFrom(productions)]),
230
- (_AnyDecs = InjectFrom(productions)),
231
- 'Call')]() {
232
- yield _t.node(
233
- _l.Instruction,
234
- 'Call',
235
- [_t.ref`verb`, _t.ref`arguments`],
236
- {
237
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
238
- arguments: _t.node(
239
- _l.Instruction,
240
- 'Tuple',
241
- [
242
- _t.ref`openToken`,
243
- _t.ref`values[]`,
244
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
245
- _t.ref`values[]`,
246
- _t.ref`closeToken`,
247
- ],
248
- {
249
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
250
- values: [
251
- _t.node(
252
- _l.Spamex,
253
- 'NodeMatcher',
254
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
255
- {
256
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
257
- flags: _t.node(
258
- _l.CSTML,
259
- 'Flags',
260
- [_t.ref`tokenToken`],
261
- {
262
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
263
- },
264
- {},
265
- ),
266
- type: _t.s_node(_l.Spamex, 'Identifier', 'Identifier'),
267
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
268
- },
269
- {},
270
- ),
271
- _t.node(
272
- _l.CSTML,
273
- 'String',
274
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
275
- {
276
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
277
- content: _t.node(_l.CSTML, 'Content', [_t.lit('callee')], {}, {}),
278
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
279
- },
280
- {},
281
- ),
282
- ],
283
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
284
- },
285
- {},
286
- ),
287
- },
288
- {},
289
- );
72
+ *[(_ArrayDecs = [CoveredBy('Expression'), Node], _ObjectDecs = [CoveredBy('Expression'), Node], _TupleDecs = [CoveredBy('Expression'), Node], _BooleanDecs = [CoveredBy('Expression'), Node], _NullDecs = [CoveredBy('Expression'), Node], _IdentifierDecs = [CoveredBy('Expression'), Node], _IntegerDecs = [CoveredBy('Number'), Node], _InfinityDecs = [CoveredBy('Number'), Node], _PunctuatorDecs = [Node, InjectFrom(productions)], _KeywordDecs = [Node, InjectFrom(productions)], _AnyDecs = InjectFrom(productions), "Call")]() {
73
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
74
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
75
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
76
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
77
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
78
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
79
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
80
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
81
+ }, {}),
82
+ type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
83
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
84
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
85
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
86
+ content: _t.node(_l.CSTML, "Content", [_t.lit("callee")], {}, {}),
87
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
88
+ }, {})],
89
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
90
+ }, {})
91
+ }, {});
290
92
  yield* eatMatchTrivia();
291
- yield _t.node(
292
- _l.Instruction,
293
- 'Call',
294
- [_t.ref`verb`, _t.ref`arguments`],
295
- {
296
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
297
- arguments: _t.node(
298
- _l.Instruction,
299
- 'Tuple',
300
- [
301
- _t.ref`openToken`,
302
- _t.ref`values[]`,
303
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
304
- _t.ref`values[]`,
305
- _t.ref`closeToken`,
306
- ],
307
- {
308
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
309
- values: [
310
- _t.node(
311
- _l.Spamex,
312
- 'NodeMatcher',
313
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
314
- {
315
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
316
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
317
- type: _t.s_node(_l.Spamex, 'Identifier', 'Tuple'),
318
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
319
- },
320
- {},
321
- ),
322
- _t.node(
323
- _l.CSTML,
324
- 'String',
325
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
326
- {
327
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
328
- content: _t.node(_l.CSTML, 'Content', [_t.lit('arguments')], {}, {}),
329
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
330
- },
331
- {},
332
- ),
333
- ],
334
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
335
- },
336
- {},
337
- ),
338
- },
339
- {},
340
- );
93
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
94
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
95
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
96
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
97
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
98
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
99
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
100
+ type: _t.s_node(_l.Spamex, "Identifier", "Tuple"),
101
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
102
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
103
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
104
+ content: _t.node(_l.CSTML, "Content", [_t.lit("arguments")], {}, {}),
105
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
106
+ }, {})],
107
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
108
+ }, {})
109
+ }, {});
341
110
  }
342
111
  *Expression() {
343
- yield _t.node(
344
- _l.Instruction,
345
- 'Call',
346
- [_t.ref`verb`, _t.ref`arguments`],
347
- {
348
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
349
- arguments: _t.node(
350
- _l.Instruction,
351
- 'Tuple',
352
- [
353
- _t.ref`openToken`,
354
- _t.ref`values[]`,
355
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
356
- _t.ref`values[]`,
357
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
358
- _t.ref`values[]`,
359
- _t.ref`closeToken`,
360
- ],
361
- {
362
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
363
- values: [
364
- _t.node(
365
- _l.Spamex,
366
- 'NodeMatcher',
367
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
368
- {
369
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
370
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
371
- type: _t.s_node(_l.Spamex, 'Identifier', 'Any'),
372
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
373
- },
374
- {},
375
- ),
376
- _t.node(
377
- _l.Instruction,
378
- 'Null',
379
- [_t.ref`sigilToken`],
380
- {
381
- sigilToken: _t.s_i_node(_l.Instruction, 'Keyword', 'null'),
382
- },
383
- {},
384
- ),
385
- _t.node(
386
- _l.Instruction,
387
- 'Array',
388
- [
389
- _t.ref`openToken`,
390
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
391
- _t.ref`elements[]`,
392
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
393
- _t.ref`elements[]`,
394
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
395
- _t.ref`elements[]`,
396
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
397
- _t.ref`elements[]`,
398
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
399
- _t.ref`elements[]`,
400
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
401
- _t.ref`elements[]`,
402
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
403
- _t.ref`elements[]`,
404
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
405
- _t.ref`closeToken`,
406
- ],
407
- {
408
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '['),
409
- elements: [
410
- _t.node(
411
- _l.Spamex,
412
- 'NodeMatcher',
413
- [
414
- _t.ref`openToken`,
415
- _t.ref`flags`,
416
- _t.ref`type`,
417
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
418
- _t.ref`intrinsicValue`,
419
- _t.ref`closeToken`,
420
- ],
421
- {
422
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
423
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
424
- type: _t.s_node(_l.Spamex, 'Identifier', 'Array'),
425
- intrinsicValue: _t.node(
426
- _l.CSTML,
427
- 'String',
428
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
429
- {
430
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
431
- content: _t.node(_l.CSTML, 'Content', [_t.lit('[')], {}, {}),
432
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
433
- },
434
- {},
435
- ),
436
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
437
- },
438
- {},
439
- ),
440
- _t.node(
441
- _l.Spamex,
442
- 'NodeMatcher',
443
- [
444
- _t.ref`openToken`,
445
- _t.ref`flags`,
446
- _t.ref`type`,
447
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
448
- _t.ref`intrinsicValue`,
449
- _t.ref`closeToken`,
450
- ],
451
- {
452
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
453
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
454
- type: _t.s_node(_l.Spamex, 'Identifier', 'Object'),
455
- intrinsicValue: _t.node(
456
- _l.CSTML,
457
- 'String',
458
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
459
- {
460
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
461
- content: _t.node(_l.CSTML, 'Content', [_t.lit('{')], {}, {}),
462
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
463
- },
464
- {},
465
- ),
466
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
467
- },
468
- {},
469
- ),
470
- _t.node(
471
- _l.Spamex,
472
- 'NodeMatcher',
473
- [
474
- _t.ref`openToken`,
475
- _t.ref`flags`,
476
- _t.ref`type`,
477
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
478
- _t.ref`intrinsicValue`,
479
- _t.ref`closeToken`,
480
- ],
481
- {
482
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
483
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
484
- type: _t.s_node(_l.Spamex, 'Identifier', 'Tuple'),
485
- intrinsicValue: _t.node(
486
- _l.CSTML,
487
- 'String',
488
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
489
- {
490
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
491
- content: _t.node(_l.CSTML, 'Content', [_t.lit('(')], {}, {}),
492
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
493
- },
494
- {},
495
- ),
496
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
497
- },
498
- {},
499
- ),
500
- _t.node(
501
- _l.Spamex,
502
- 'NodeMatcher',
503
- [
504
- _t.ref`openToken`,
505
- _t.ref`flags`,
506
- _t.ref`type`,
507
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
508
- _t.ref`intrinsicValue`,
509
- _t.ref`closeToken`,
510
- ],
511
- {
512
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
513
- flags: _t.node(
514
- _l.CSTML,
515
- 'Flags',
516
- [_t.ref`tokenToken`],
517
- {
518
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
519
- },
520
- {},
521
- ),
522
- type: _t.s_node(_l.Spamex, 'Identifier', 'Boolean'),
523
- intrinsicValue: _t.node(
524
- _l.Regex,
525
- 'Pattern',
526
- [
527
- _t.ref`openToken`,
528
- _t.ref`alternatives[]`,
529
- _t.ref`separators[]`,
530
- _t.ref`alternatives[]`,
531
- _t.ref`closeToken`,
532
- ],
533
- {
534
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
535
- alternatives: [
536
- _t.node(
537
- _l.Regex,
538
- 'Alternative',
539
- [
540
- _t.ref`elements[]`,
541
- _t.ref`elements[]`,
542
- _t.ref`elements[]`,
543
- _t.ref`elements[]`,
544
- ],
545
- {
546
- elements: [
547
- _t.node(_l.Regex, 'Character', [_t.lit('t')], {}, {}),
548
- _t.node(_l.Regex, 'Character', [_t.lit('r')], {}, {}),
549
- _t.node(_l.Regex, 'Character', [_t.lit('u')], {}, {}),
550
- _t.node(_l.Regex, 'Character', [_t.lit('e')], {}, {}),
551
- ],
552
- },
553
- {},
554
- ),
555
- _t.node(
556
- _l.Regex,
557
- 'Alternative',
558
- [
559
- _t.ref`elements[]`,
560
- _t.ref`elements[]`,
561
- _t.ref`elements[]`,
562
- _t.ref`elements[]`,
563
- _t.ref`elements[]`,
564
- ],
565
- {
566
- elements: [
567
- _t.node(_l.Regex, 'Character', [_t.lit('f')], {}, {}),
568
- _t.node(_l.Regex, 'Character', [_t.lit('a')], {}, {}),
569
- _t.node(_l.Regex, 'Character', [_t.lit('l')], {}, {}),
570
- _t.node(_l.Regex, 'Character', [_t.lit('s')], {}, {}),
571
- _t.node(_l.Regex, 'Character', [_t.lit('e')], {}, {}),
572
- ],
573
- },
574
- {},
575
- ),
576
- ],
577
- separators: [_t.s_i_node(_l.Regex, 'Punctuator', '|')],
578
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
579
- },
580
- {},
581
- ),
582
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
583
- },
584
- {},
585
- ),
586
- _t.node(
587
- _l.Spamex,
588
- 'NodeMatcher',
589
- [
590
- _t.ref`openToken`,
591
- _t.ref`flags`,
592
- _t.ref`type`,
593
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
594
- _t.ref`intrinsicValue`,
595
- _t.ref`closeToken`,
596
- ],
597
- {
598
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
599
- flags: _t.node(
600
- _l.CSTML,
601
- 'Flags',
602
- [_t.ref`tokenToken`],
603
- {
604
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
605
- },
606
- {},
607
- ),
608
- type: _t.s_node(_l.Spamex, 'Identifier', 'Null'),
609
- intrinsicValue: _t.node(
610
- _l.CSTML,
611
- 'String',
612
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
613
- {
614
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
615
- content: _t.node(_l.CSTML, 'Content', [_t.lit('null')], {}, {}),
616
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
617
- },
618
- {},
619
- ),
620
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
621
- },
622
- {},
623
- ),
624
- _t.node(
625
- _l.Spamex,
626
- 'NodeMatcher',
627
- [
628
- _t.ref`openToken`,
629
- _t.ref`flags`,
630
- _t.ref`type`,
631
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
632
- _t.ref`intrinsicValue`,
633
- _t.ref`closeToken`,
634
- ],
635
- {
636
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
637
- flags: _t.node(
638
- _l.CSTML,
639
- 'Flags',
640
- [_t.ref`tokenToken`],
641
- {
642
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
643
- },
644
- {},
645
- ),
646
- type: _t.s_node(_l.Spamex, 'Identifier', 'Identifier'),
647
- intrinsicValue: _t.node(
648
- _l.Regex,
649
- 'Pattern',
650
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`],
651
- {
652
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
653
- alternatives: [
654
- _t.node(
655
- _l.Regex,
656
- 'Alternative',
657
- [_t.ref`elements[]`],
658
- {
659
- elements: [
660
- _t.node(
661
- _l.Regex,
662
- 'Quantifier',
663
- [_t.ref`element`, _t.ref`value`],
664
- {
665
- element: _t.node(
666
- _l.Regex,
667
- 'CharacterClass',
668
- [
669
- _t.ref`openToken`,
670
- _t.ref`elements[]`,
671
- _t.ref`elements[]`,
672
- _t.ref`closeToken`,
673
- ],
674
- {
675
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '['),
676
- elements: [
677
- _t.node(
678
- _l.Regex,
679
- 'CharacterClassRange',
680
- [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`],
681
- {
682
- min: _t.node(
683
- _l.Regex,
684
- 'Character',
685
- [_t.lit('a')],
686
- {},
687
- {},
688
- ),
689
- rangeToken: _t.s_i_node(
690
- _l.Regex,
691
- 'Punctuator',
692
- '-',
693
- ),
694
- max: _t.node(
695
- _l.Regex,
696
- 'Character',
697
- [_t.lit('z')],
698
- {},
699
- {},
700
- ),
701
- },
702
- {},
703
- ),
704
- _t.node(
705
- _l.Regex,
706
- 'CharacterClassRange',
707
- [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`],
708
- {
709
- min: _t.node(
710
- _l.Regex,
711
- 'Character',
712
- [_t.lit('A')],
713
- {},
714
- {},
715
- ),
716
- rangeToken: _t.s_i_node(
717
- _l.Regex,
718
- 'Punctuator',
719
- '-',
720
- ),
721
- max: _t.node(
722
- _l.Regex,
723
- 'Character',
724
- [_t.lit('Z')],
725
- {},
726
- {},
727
- ),
728
- },
729
- {},
730
- ),
731
- ],
732
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', ']'),
733
- },
734
- {
735
- negate: false,
736
- },
737
- ),
738
- value: _t.s_i_node(_l.Regex, 'Keyword', '+'),
739
- },
740
- {
741
- min: 1,
742
- max: Infinity,
743
- greedy: true,
744
- },
745
- ),
746
- ],
747
- },
748
- {},
749
- ),
750
- ],
751
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
752
- },
753
- {},
754
- ),
755
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
756
- },
757
- {},
758
- ),
759
- _t.node(
760
- _l.Spamex,
761
- 'NodeMatcher',
762
- [
763
- _t.ref`openToken`,
764
- _t.ref`flags`,
765
- _t.ref`type`,
766
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
767
- _t.ref`intrinsicValue`,
768
- _t.ref`closeToken`,
769
- ],
770
- {
771
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
772
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
773
- type: _t.s_node(_l.Spamex, 'Identifier', 'Number'),
774
- intrinsicValue: _t.node(
775
- _l.Regex,
776
- 'Pattern',
777
- [
778
- _t.ref`openToken`,
779
- _t.ref`alternatives[]`,
780
- _t.ref`separators[]`,
781
- _t.ref`alternatives[]`,
782
- _t.ref`closeToken`,
783
- ],
784
- {
785
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
786
- alternatives: [
787
- _t.node(
788
- _l.Regex,
789
- 'Alternative',
790
- [_t.ref`elements[]`],
791
- {
792
- elements: [
793
- _t.node(
794
- _l.Regex,
795
- 'CharacterClass',
796
- [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`closeToken`],
797
- {
798
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '['),
799
- elements: [
800
- _t.node(
801
- _l.Regex,
802
- 'DigitCharacterSet',
803
- [_t.ref`escapeToken`, _t.ref`value`],
804
- {
805
- escapeToken: _t.s_i_node(
806
- _l.Regex,
807
- 'Punctuator',
808
- '\\',
809
- ),
810
- value: _t.s_i_node(_l.Regex, 'Keyword', 'd'),
811
- },
812
- {},
813
- ),
814
- ],
815
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', ']'),
816
- },
817
- {
818
- negate: false,
819
- },
820
- ),
821
- ],
822
- },
823
- {},
824
- ),
825
- _t.node(
826
- _l.Regex,
827
- 'Alternative',
828
- [
829
- _t.ref`elements[]`,
830
- _t.ref`elements[]`,
831
- _t.ref`elements[]`,
832
- _t.ref`elements[]`,
833
- _t.ref`elements[]`,
834
- _t.ref`elements[]`,
835
- _t.ref`elements[]`,
836
- _t.ref`elements[]`,
837
- _t.ref`elements[]`,
838
- ],
839
- {
840
- elements: [
841
- _t.node(
842
- _l.Regex,
843
- 'Quantifier',
844
- [_t.ref`element`, _t.ref`value`],
845
- {
846
- element: _t.node(
847
- _l.Regex,
848
- 'CharacterClass',
849
- [
850
- _t.ref`openToken`,
851
- _t.ref`elements[]`,
852
- _t.ref`elements[]`,
853
- _t.ref`closeToken`,
854
- ],
855
- {
856
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '['),
857
- elements: [
858
- _t.node(_l.Regex, 'Character', [_t.lit('+')], {}, {}),
859
- _t.node(_l.Regex, 'Character', [_t.lit('-')], {}, {}),
860
- ],
861
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', ']'),
862
- },
863
- {
864
- negate: false,
865
- },
866
- ),
867
- value: _t.s_i_node(_l.Regex, 'Keyword', '?'),
868
- },
869
- {
870
- min: 0,
871
- max: 1,
872
- greedy: true,
873
- },
874
- ),
875
- _t.node(_l.Regex, 'Character', [_t.lit('I')], {}, {}),
876
- _t.node(_l.Regex, 'Character', [_t.lit('n')], {}, {}),
877
- _t.node(_l.Regex, 'Character', [_t.lit('f')], {}, {}),
878
- _t.node(_l.Regex, 'Character', [_t.lit('i')], {}, {}),
879
- _t.node(_l.Regex, 'Character', [_t.lit('n')], {}, {}),
880
- _t.node(_l.Regex, 'Character', [_t.lit('i')], {}, {}),
881
- _t.node(_l.Regex, 'Character', [_t.lit('t')], {}, {}),
882
- _t.node(_l.Regex, 'Character', [_t.lit('y')], {}, {}),
883
- ],
884
- },
885
- {},
886
- ),
887
- ],
888
- separators: [_t.s_i_node(_l.Regex, 'Punctuator', '|')],
889
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
890
- },
891
- {},
892
- ),
893
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
894
- },
895
- {},
896
- ),
897
- ],
898
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ']'),
899
- },
900
- {},
901
- ),
902
- ],
903
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
904
- },
905
- {},
906
- ),
907
- },
908
- {},
909
- );
112
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
113
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
114
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
115
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
116
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
117
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
118
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
119
+ type: _t.s_node(_l.Spamex, "Identifier", "Any"),
120
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
121
+ }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
122
+ sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
123
+ }, {}), _t.node(_l.Instruction, "Array", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`], {
124
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "["),
125
+ elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
126
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
127
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
128
+ type: _t.s_node(_l.Spamex, "Identifier", "Array"),
129
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
130
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
131
+ content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}),
132
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
133
+ }, {}),
134
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
135
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
136
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
137
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
138
+ type: _t.s_node(_l.Spamex, "Identifier", "Object"),
139
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
140
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
141
+ content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}),
142
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
143
+ }, {}),
144
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
145
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
146
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
147
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
148
+ type: _t.s_node(_l.Spamex, "Identifier", "Tuple"),
149
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
150
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
151
+ content: _t.node(_l.CSTML, "Content", [_t.lit("(")], {}, {}),
152
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
153
+ }, {}),
154
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
155
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
156
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
157
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
158
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
159
+ }, {}),
160
+ type: _t.s_node(_l.Spamex, "Identifier", "Boolean"),
161
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
162
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
163
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
164
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("r")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("u")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})]
165
+ }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
166
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("l")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("s")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})]
167
+ }, {})],
168
+ separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
169
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
170
+ }, {}),
171
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
172
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
173
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
174
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
175
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
176
+ }, {}),
177
+ type: _t.s_node(_l.Spamex, "Identifier", "Null"),
178
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
179
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
180
+ content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}),
181
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
182
+ }, {}),
183
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
184
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
185
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
186
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
187
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
188
+ }, {}),
189
+ type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
190
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
191
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
192
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
193
+ elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
194
+ element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
195
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
196
+ elements: [_t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
197
+ min: _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}),
198
+ rangeToken: _t.s_i_node(_l.Regex, "Punctuator", "-"),
199
+ max: _t.node(_l.Regex, "Character", [_t.lit("z")], {}, {})
200
+ }, {}), _t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
201
+ min: _t.node(_l.Regex, "Character", [_t.lit("A")], {}, {}),
202
+ rangeToken: _t.s_i_node(_l.Regex, "Punctuator", "-"),
203
+ max: _t.node(_l.Regex, "Character", [_t.lit("Z")], {}, {})
204
+ }, {})],
205
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
206
+ }, {
207
+ negate: false
208
+ }),
209
+ value: _t.s_i_node(_l.Regex, "Keyword", "+")
210
+ }, {
211
+ min: 1,
212
+ max: Infinity,
213
+ greedy: true
214
+ })]
215
+ }, {})],
216
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
217
+ }, {}),
218
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
219
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
220
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
221
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
222
+ type: _t.s_node(_l.Spamex, "Identifier", "Number"),
223
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
224
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
225
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
226
+ elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`closeToken`], {
227
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
228
+ elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
229
+ escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
230
+ value: _t.s_i_node(_l.Regex, "Keyword", "d")
231
+ }, {})],
232
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
233
+ }, {
234
+ negate: false
235
+ })]
236
+ }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
237
+ elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
238
+ element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
239
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
240
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
241
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
242
+ }, {
243
+ negate: false
244
+ }),
245
+ value: _t.s_i_node(_l.Regex, "Keyword", "?")
246
+ }, {
247
+ min: 0,
248
+ max: 1,
249
+ greedy: true
250
+ }), _t.node(_l.Regex, "Character", [_t.lit("I")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("n")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("i")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("n")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("i")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("y")], {}, {})]
251
+ }, {})],
252
+ separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
253
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
254
+ }, {}),
255
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
256
+ }, {})],
257
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "]")
258
+ }, {})],
259
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
260
+ }, {})
261
+ }, {});
910
262
  }
911
263
  *Array() {
912
- yield _t.node(
913
- _l.Instruction,
914
- 'Call',
915
- [_t.ref`verb`, _t.ref`arguments`],
916
- {
917
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
918
- arguments: _t.node(
919
- _l.Instruction,
920
- 'Tuple',
921
- [
922
- _t.ref`openToken`,
923
- _t.ref`values[]`,
924
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
925
- _t.ref`values[]`,
926
- _t.ref`closeToken`,
927
- ],
928
- {
929
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
930
- values: [
931
- _t.node(
932
- _l.Spamex,
933
- 'NodeMatcher',
934
- [
935
- _t.ref`openToken`,
936
- _t.ref`flags`,
937
- _t.ref`type`,
938
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
939
- _t.ref`intrinsicValue`,
940
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
941
- _t.ref`attributes[]`,
942
- _t.ref`closeToken`,
943
- ],
944
- {
945
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
946
- flags: _t.node(
947
- _l.CSTML,
948
- 'Flags',
949
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
950
- {
951
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
952
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
953
- },
954
- {},
955
- ),
956
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
957
- intrinsicValue: _t.node(
958
- _l.CSTML,
959
- 'String',
960
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
961
- {
962
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
963
- content: _t.node(_l.CSTML, 'Content', [_t.lit('[')], {}, {}),
964
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
965
- },
966
- {},
967
- ),
968
- attributes: [
969
- _t.node(
970
- _l.Spamex,
971
- 'MappingAttribute',
972
- [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`],
973
- {
974
- key: _t.node(_l.Spamex, 'Literal', [_t.lit('balanced')], {}, {}),
975
- mapToken: _t.s_i_node(_l.Spamex, 'Punctuator', '='),
976
- value: _t.node(
977
- _l.CSTML,
978
- 'String',
979
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
980
- {
981
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
982
- content: _t.node(_l.CSTML, 'Content', [_t.lit(']')], {}, {}),
983
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
984
- },
985
- {},
986
- ),
987
- },
988
- {},
989
- ),
990
- ],
991
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
992
- },
993
- {},
994
- ),
995
- _t.node(
996
- _l.CSTML,
997
- 'String',
998
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
999
- {
1000
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1001
- content: _t.node(_l.CSTML, 'Content', [_t.lit('openToken')], {}, {}),
1002
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1003
- },
1004
- {},
1005
- ),
1006
- ],
1007
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1008
- },
1009
- {},
1010
- ),
1011
- },
1012
- {},
1013
- );
264
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
265
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
266
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
267
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
268
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
269
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
270
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
271
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
272
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
273
+ }, {}),
274
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
275
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
276
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
277
+ content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}),
278
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
279
+ }, {}),
280
+ attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
281
+ key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}),
282
+ mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
283
+ value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
284
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
285
+ content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}),
286
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
287
+ }, {})
288
+ }, {})],
289
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
290
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
291
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
292
+ content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
293
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
294
+ }, {})],
295
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
296
+ }, {})
297
+ }, {});
1014
298
  let sp = yield* eatMatchTrivia();
1015
299
  let first = true;
1016
- while (
1017
- (first || sp) &&
1018
- (yield _t.node(
1019
- _l.Instruction,
1020
- 'Call',
1021
- [_t.ref`verb`, _t.ref`arguments`],
1022
- {
1023
- verb: _t.s_node(_l.Instruction, 'Identifier', 'match'),
1024
- arguments: _t.node(
1025
- _l.Instruction,
1026
- 'Tuple',
1027
- [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`],
1028
- {
1029
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1030
- values: [
1031
- _t.node(
1032
- _l.Regex,
1033
- 'Pattern',
1034
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`],
1035
- {
1036
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
1037
- alternatives: [
1038
- _t.node(
1039
- _l.Regex,
1040
- 'Alternative',
1041
- [_t.ref`elements[]`],
1042
- {
1043
- elements: [
1044
- _t.node(
1045
- _l.Regex,
1046
- 'AnyCharacterSet',
1047
- [_t.ref`sigilToken`],
1048
- {
1049
- sigilToken: _t.s_i_node(_l.Regex, 'Keyword', '.'),
1050
- },
1051
- {},
1052
- ),
1053
- ],
1054
- },
1055
- {},
1056
- ),
1057
- ],
1058
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
1059
- flags: _t.node(
1060
- _l.Regex,
1061
- 'Flags',
1062
- [_t.ref`tokens[]`],
1063
- {
1064
- tokens: [_t.s_i_node(_l.Regex, 'Keyword', 'y')],
1065
- },
1066
- {
1067
- global: false,
1068
- ignoreCase: false,
1069
- multiline: false,
1070
- dotAll: false,
1071
- unicode: false,
1072
- sticky: true,
1073
- },
1074
- ),
1075
- },
1076
- {},
1077
- ),
1078
- ],
1079
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1080
- },
1081
- {},
1082
- ),
1083
- },
1084
- {},
1085
- ))
1086
- ) {
1087
- yield _t.node(
1088
- _l.Instruction,
1089
- 'Call',
1090
- [_t.ref`verb`, _t.ref`arguments`],
1091
- {
1092
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1093
- arguments: _t.node(
1094
- _l.Instruction,
1095
- 'Tuple',
1096
- [
1097
- _t.ref`openToken`,
1098
- _t.ref`values[]`,
1099
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1100
- _t.ref`values[]`,
1101
- _t.ref`closeToken`,
1102
- ],
1103
- {
1104
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1105
- values: [
1106
- _t.node(
1107
- _l.Spamex,
1108
- 'NodeMatcher',
1109
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
1110
- {
1111
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1112
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
1113
- type: _t.s_node(_l.Spamex, 'Identifier', 'Expression'),
1114
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1115
- },
1116
- {},
1117
- ),
1118
- _t.node(
1119
- _l.CSTML,
1120
- 'String',
1121
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1122
- {
1123
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1124
- content: _t.node(_l.CSTML, 'Content', [_t.lit('elements[]')], {}, {}),
1125
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1126
- },
1127
- {},
1128
- ),
1129
- ],
1130
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1131
- },
1132
- {},
1133
- ),
1134
- },
1135
- {},
1136
- );
300
+ while ((first || sp) && (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
301
+ verb: _t.s_node(_l.Instruction, "Identifier", "match"),
302
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
303
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
304
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
305
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
306
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
307
+ elements: [_t.node(_l.Regex, "AnyCharacterSet", [_t.ref`sigilToken`], {
308
+ sigilToken: _t.s_i_node(_l.Regex, "Keyword", ".")
309
+ }, {})]
310
+ }, {})],
311
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
312
+ flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`], {
313
+ tokens: [_t.s_i_node(_l.Regex, "Keyword", "y")]
314
+ }, {
315
+ global: false,
316
+ ignoreCase: false,
317
+ multiline: false,
318
+ dotAll: false,
319
+ unicode: false,
320
+ sticky: true
321
+ })
322
+ }, {})],
323
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
324
+ }, {})
325
+ }, {}))) {
326
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
327
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
328
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
329
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
330
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
331
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
332
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
333
+ type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
334
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
335
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
336
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
337
+ content: _t.node(_l.CSTML, "Content", [_t.lit("elements[]")], {}, {}),
338
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
339
+ }, {})],
340
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
341
+ }, {})
342
+ }, {});
1137
343
  sp = yield* eatMatchTrivia();
1138
344
  first = false;
1139
345
  }
1140
- yield _t.node(
1141
- _l.Instruction,
1142
- 'Call',
1143
- [_t.ref`verb`, _t.ref`arguments`],
1144
- {
1145
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1146
- arguments: _t.node(
1147
- _l.Instruction,
1148
- 'Tuple',
1149
- [
1150
- _t.ref`openToken`,
1151
- _t.ref`values[]`,
1152
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1153
- _t.ref`values[]`,
1154
- _t.ref`closeToken`,
1155
- ],
1156
- {
1157
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1158
- values: [
1159
- _t.node(
1160
- _l.Spamex,
1161
- 'NodeMatcher',
1162
- [
1163
- _t.ref`openToken`,
1164
- _t.ref`flags`,
1165
- _t.ref`type`,
1166
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1167
- _t.ref`intrinsicValue`,
1168
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1169
- _t.ref`attributes[]`,
1170
- _t.ref`closeToken`,
1171
- ],
1172
- {
1173
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1174
- flags: _t.node(
1175
- _l.CSTML,
1176
- 'Flags',
1177
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
1178
- {
1179
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
1180
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
1181
- },
1182
- {},
1183
- ),
1184
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
1185
- intrinsicValue: _t.node(
1186
- _l.CSTML,
1187
- 'String',
1188
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1189
- {
1190
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1191
- content: _t.node(_l.CSTML, 'Content', [_t.lit(']')], {}, {}),
1192
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1193
- },
1194
- {},
1195
- ),
1196
- attributes: [
1197
- _t.node(
1198
- _l.Spamex,
1199
- 'BooleanAttribute',
1200
- [_t.ref`key`],
1201
- {
1202
- key: _t.node(_l.Spamex, 'Literal', [_t.lit('balancer')], {}, {}),
1203
- },
1204
- {},
1205
- ),
1206
- ],
1207
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1208
- },
1209
- {},
1210
- ),
1211
- _t.node(
1212
- _l.CSTML,
1213
- 'String',
1214
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1215
- {
1216
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1217
- content: _t.node(_l.CSTML, 'Content', [_t.lit('closeToken')], {}, {}),
1218
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1219
- },
1220
- {},
1221
- ),
1222
- ],
1223
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1224
- },
1225
- {},
1226
- ),
1227
- },
1228
- {},
1229
- );
346
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
347
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
348
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
349
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
350
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
351
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
352
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
353
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
354
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
355
+ }, {}),
356
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
357
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
358
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
359
+ content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}),
360
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
361
+ }, {}),
362
+ attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
363
+ key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {})
364
+ }, {})],
365
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
366
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
367
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
368
+ content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
369
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
370
+ }, {})],
371
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
372
+ }, {})
373
+ }, {});
1230
374
  }
1231
375
  *Object() {
1232
- yield _t.node(
1233
- _l.Instruction,
1234
- 'Call',
1235
- [_t.ref`verb`, _t.ref`arguments`],
1236
- {
1237
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1238
- arguments: _t.node(
1239
- _l.Instruction,
1240
- 'Tuple',
1241
- [
1242
- _t.ref`openToken`,
1243
- _t.ref`values[]`,
1244
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1245
- _t.ref`values[]`,
1246
- _t.ref`closeToken`,
1247
- ],
1248
- {
1249
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1250
- values: [
1251
- _t.node(
1252
- _l.Spamex,
1253
- 'NodeMatcher',
1254
- [
1255
- _t.ref`openToken`,
1256
- _t.ref`flags`,
1257
- _t.ref`type`,
1258
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1259
- _t.ref`intrinsicValue`,
1260
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1261
- _t.ref`attributes[]`,
1262
- _t.ref`closeToken`,
1263
- ],
1264
- {
1265
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1266
- flags: _t.node(
1267
- _l.CSTML,
1268
- 'Flags',
1269
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
1270
- {
1271
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
1272
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
1273
- },
1274
- {},
1275
- ),
1276
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
1277
- intrinsicValue: _t.node(
1278
- _l.CSTML,
1279
- 'String',
1280
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1281
- {
1282
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1283
- content: _t.node(_l.CSTML, 'Content', [_t.lit('{')], {}, {}),
1284
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1285
- },
1286
- {},
1287
- ),
1288
- attributes: [
1289
- _t.node(
1290
- _l.Spamex,
1291
- 'MappingAttribute',
1292
- [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`],
1293
- {
1294
- key: _t.node(_l.Spamex, 'Literal', [_t.lit('balanced')], {}, {}),
1295
- mapToken: _t.s_i_node(_l.Spamex, 'Punctuator', '='),
1296
- value: _t.node(
1297
- _l.CSTML,
1298
- 'String',
1299
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1300
- {
1301
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1302
- content: _t.node(_l.CSTML, 'Content', [_t.lit('}')], {}, {}),
1303
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1304
- },
1305
- {},
1306
- ),
1307
- },
1308
- {},
1309
- ),
1310
- ],
1311
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1312
- },
1313
- {},
1314
- ),
1315
- _t.node(
1316
- _l.CSTML,
1317
- 'String',
1318
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1319
- {
1320
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1321
- content: _t.node(_l.CSTML, 'Content', [_t.lit('openToken')], {}, {}),
1322
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1323
- },
1324
- {},
1325
- ),
1326
- ],
1327
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1328
- },
1329
- {},
1330
- ),
1331
- },
1332
- {},
1333
- );
376
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
377
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
378
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
379
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
380
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
381
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
382
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
383
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
384
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
385
+ }, {}),
386
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
387
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
388
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
389
+ content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}),
390
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
391
+ }, {}),
392
+ attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
393
+ key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}),
394
+ mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
395
+ value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
396
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
397
+ content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}),
398
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
399
+ }, {})
400
+ }, {})],
401
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
402
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
403
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
404
+ content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
405
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
406
+ }, {})],
407
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
408
+ }, {})
409
+ }, {});
1334
410
  let sp = yield* eatMatchTrivia();
1335
411
  let first = true;
1336
- while (
1337
- (first || sp) &&
1338
- (yield _t.node(
1339
- _l.Instruction,
1340
- 'Call',
1341
- [_t.ref`verb`, _t.ref`arguments`],
1342
- {
1343
- verb: _t.s_node(_l.Instruction, 'Identifier', 'match'),
1344
- arguments: _t.node(
1345
- _l.Instruction,
1346
- 'Tuple',
1347
- [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`],
1348
- {
1349
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1350
- values: [
1351
- _t.node(
1352
- _l.Regex,
1353
- 'Pattern',
1354
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`],
1355
- {
1356
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
1357
- alternatives: [
1358
- _t.node(
1359
- _l.Regex,
1360
- 'Alternative',
1361
- [_t.ref`elements[]`],
1362
- {
1363
- elements: [
1364
- _t.node(
1365
- _l.Regex,
1366
- 'AnyCharacterSet',
1367
- [_t.ref`sigilToken`],
1368
- {
1369
- sigilToken: _t.s_i_node(_l.Regex, 'Keyword', '.'),
1370
- },
1371
- {},
1372
- ),
1373
- ],
1374
- },
1375
- {},
1376
- ),
1377
- ],
1378
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
1379
- flags: _t.node(
1380
- _l.Regex,
1381
- 'Flags',
1382
- [_t.ref`tokens[]`],
1383
- {
1384
- tokens: [_t.s_i_node(_l.Regex, 'Keyword', 'y')],
1385
- },
1386
- {
1387
- global: false,
1388
- ignoreCase: false,
1389
- multiline: false,
1390
- dotAll: false,
1391
- unicode: false,
1392
- sticky: true,
1393
- },
1394
- ),
1395
- },
1396
- {},
1397
- ),
1398
- ],
1399
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1400
- },
1401
- {},
1402
- ),
1403
- },
1404
- {},
1405
- ))
1406
- ) {
1407
- yield _t.node(
1408
- _l.Instruction,
1409
- 'Call',
1410
- [_t.ref`verb`, _t.ref`arguments`],
1411
- {
1412
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1413
- arguments: _t.node(
1414
- _l.Instruction,
1415
- 'Tuple',
1416
- [
1417
- _t.ref`openToken`,
1418
- _t.ref`values[]`,
1419
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1420
- _t.ref`values[]`,
1421
- _t.ref`closeToken`,
1422
- ],
1423
- {
1424
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1425
- values: [
1426
- _t.node(
1427
- _l.Spamex,
1428
- 'NodeMatcher',
1429
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
1430
- {
1431
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1432
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
1433
- type: _t.s_node(_l.Spamex, 'Identifier', 'Property'),
1434
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1435
- },
1436
- {},
1437
- ),
1438
- _t.node(
1439
- _l.CSTML,
1440
- 'String',
1441
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1442
- {
1443
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1444
- content: _t.node(_l.CSTML, 'Content', [_t.lit('properties[]')], {}, {}),
1445
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1446
- },
1447
- {},
1448
- ),
1449
- ],
1450
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1451
- },
1452
- {},
1453
- ),
1454
- },
1455
- {},
1456
- );
412
+ while ((first || sp) && (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
413
+ verb: _t.s_node(_l.Instruction, "Identifier", "match"),
414
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
415
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
416
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
417
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
418
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
419
+ elements: [_t.node(_l.Regex, "AnyCharacterSet", [_t.ref`sigilToken`], {
420
+ sigilToken: _t.s_i_node(_l.Regex, "Keyword", ".")
421
+ }, {})]
422
+ }, {})],
423
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
424
+ flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`], {
425
+ tokens: [_t.s_i_node(_l.Regex, "Keyword", "y")]
426
+ }, {
427
+ global: false,
428
+ ignoreCase: false,
429
+ multiline: false,
430
+ dotAll: false,
431
+ unicode: false,
432
+ sticky: true
433
+ })
434
+ }, {})],
435
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
436
+ }, {})
437
+ }, {}))) {
438
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
439
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
440
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
441
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
442
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
443
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
444
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
445
+ type: _t.s_node(_l.Spamex, "Identifier", "Property"),
446
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
447
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
448
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
449
+ content: _t.node(_l.CSTML, "Content", [_t.lit("properties[]")], {}, {}),
450
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
451
+ }, {})],
452
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
453
+ }, {})
454
+ }, {});
1457
455
  sp = yield* eatMatchTrivia();
1458
456
  first = false;
1459
457
  }
1460
- yield _t.node(
1461
- _l.Instruction,
1462
- 'Call',
1463
- [_t.ref`verb`, _t.ref`arguments`],
1464
- {
1465
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1466
- arguments: _t.node(
1467
- _l.Instruction,
1468
- 'Tuple',
1469
- [
1470
- _t.ref`openToken`,
1471
- _t.ref`values[]`,
1472
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1473
- _t.ref`values[]`,
1474
- _t.ref`closeToken`,
1475
- ],
1476
- {
1477
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1478
- values: [
1479
- _t.node(
1480
- _l.Spamex,
1481
- 'NodeMatcher',
1482
- [
1483
- _t.ref`openToken`,
1484
- _t.ref`flags`,
1485
- _t.ref`type`,
1486
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1487
- _t.ref`intrinsicValue`,
1488
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1489
- _t.ref`attributes[]`,
1490
- _t.ref`closeToken`,
1491
- ],
1492
- {
1493
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1494
- flags: _t.node(
1495
- _l.CSTML,
1496
- 'Flags',
1497
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
1498
- {
1499
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
1500
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
1501
- },
1502
- {},
1503
- ),
1504
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
1505
- intrinsicValue: _t.node(
1506
- _l.CSTML,
1507
- 'String',
1508
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1509
- {
1510
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1511
- content: _t.node(_l.CSTML, 'Content', [_t.lit('}')], {}, {}),
1512
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1513
- },
1514
- {},
1515
- ),
1516
- attributes: [
1517
- _t.node(
1518
- _l.Spamex,
1519
- 'BooleanAttribute',
1520
- [_t.ref`key`],
1521
- {
1522
- key: _t.node(_l.Spamex, 'Literal', [_t.lit('balancer')], {}, {}),
1523
- },
1524
- {},
1525
- ),
1526
- ],
1527
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1528
- },
1529
- {},
1530
- ),
1531
- _t.node(
1532
- _l.CSTML,
1533
- 'String',
1534
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1535
- {
1536
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1537
- content: _t.node(_l.CSTML, 'Content', [_t.lit('closeToken')], {}, {}),
1538
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1539
- },
1540
- {},
1541
- ),
1542
- ],
1543
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1544
- },
1545
- {},
1546
- ),
1547
- },
1548
- {},
1549
- );
458
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
459
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
460
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
461
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
462
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
463
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
464
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
465
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
466
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
467
+ }, {}),
468
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
469
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
470
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
471
+ content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}),
472
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
473
+ }, {}),
474
+ attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
475
+ key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {})
476
+ }, {})],
477
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
478
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
479
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
480
+ content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
481
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
482
+ }, {})],
483
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
484
+ }, {})
485
+ }, {});
1550
486
  }
1551
487
  *Property() {
1552
- yield _t.node(
1553
- _l.Instruction,
1554
- 'Call',
1555
- [_t.ref`verb`, _t.ref`arguments`],
1556
- {
1557
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1558
- arguments: _t.node(
1559
- _l.Instruction,
1560
- 'Tuple',
1561
- [
1562
- _t.ref`openToken`,
1563
- _t.ref`values[]`,
1564
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1565
- _t.ref`values[]`,
1566
- _t.ref`closeToken`,
1567
- ],
1568
- {
1569
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1570
- values: [
1571
- _t.node(
1572
- _l.Spamex,
1573
- 'NodeMatcher',
1574
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
1575
- {
1576
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1577
- flags: _t.node(
1578
- _l.CSTML,
1579
- 'Flags',
1580
- [_t.ref`tokenToken`],
1581
- {
1582
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
1583
- },
1584
- {},
1585
- ),
1586
- type: _t.s_node(_l.Spamex, 'Identifier', 'Identifier'),
1587
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1588
- },
1589
- {},
1590
- ),
1591
- _t.node(
1592
- _l.CSTML,
1593
- 'String',
1594
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1595
- {
1596
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1597
- content: _t.node(_l.CSTML, 'Content', [_t.lit('key')], {}, {}),
1598
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1599
- },
1600
- {},
1601
- ),
1602
- ],
1603
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1604
- },
1605
- {},
1606
- ),
1607
- },
1608
- {},
1609
- );
488
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
489
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
490
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
491
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
492
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
493
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
494
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
495
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
496
+ }, {}),
497
+ type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
498
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
499
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
500
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
501
+ content: _t.node(_l.CSTML, "Content", [_t.lit("key")], {}, {}),
502
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
503
+ }, {})],
504
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
505
+ }, {})
506
+ }, {});
1610
507
  yield* eatMatchTrivia();
1611
- yield _t.node(
1612
- _l.Instruction,
1613
- 'Call',
1614
- [_t.ref`verb`, _t.ref`arguments`],
1615
- {
1616
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1617
- arguments: _t.node(
1618
- _l.Instruction,
1619
- 'Tuple',
1620
- [
1621
- _t.ref`openToken`,
1622
- _t.ref`values[]`,
1623
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1624
- _t.ref`values[]`,
1625
- _t.ref`closeToken`,
1626
- ],
1627
- {
1628
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1629
- values: [
1630
- _t.node(
1631
- _l.Spamex,
1632
- 'NodeMatcher',
1633
- [
1634
- _t.ref`openToken`,
1635
- _t.ref`flags`,
1636
- _t.ref`type`,
1637
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1638
- _t.ref`intrinsicValue`,
1639
- _t.ref`closeToken`,
1640
- ],
1641
- {
1642
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1643
- flags: _t.node(
1644
- _l.CSTML,
1645
- 'Flags',
1646
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
1647
- {
1648
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
1649
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
1650
- },
1651
- {},
1652
- ),
1653
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
1654
- intrinsicValue: _t.node(
1655
- _l.CSTML,
1656
- 'String',
1657
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1658
- {
1659
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1660
- content: _t.node(_l.CSTML, 'Content', [_t.lit(':')], {}, {}),
1661
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1662
- },
1663
- {},
1664
- ),
1665
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1666
- },
1667
- {},
1668
- ),
1669
- _t.node(
1670
- _l.CSTML,
1671
- 'String',
1672
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1673
- {
1674
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1675
- content: _t.node(_l.CSTML, 'Content', [_t.lit('mapToken')], {}, {}),
1676
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1677
- },
1678
- {},
1679
- ),
1680
- ],
1681
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1682
- },
1683
- {},
1684
- ),
1685
- },
1686
- {},
1687
- );
508
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
509
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
510
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
511
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
512
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
513
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
514
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
515
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
516
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
517
+ }, {}),
518
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
519
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
520
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
521
+ content: _t.node(_l.CSTML, "Content", [_t.lit(":")], {}, {}),
522
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
523
+ }, {}),
524
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
525
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
526
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
527
+ content: _t.node(_l.CSTML, "Content", [_t.lit("mapToken")], {}, {}),
528
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
529
+ }, {})],
530
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
531
+ }, {})
532
+ }, {});
1688
533
  yield* eatMatchTrivia();
1689
- yield _t.node(
1690
- _l.Instruction,
1691
- 'Call',
1692
- [_t.ref`verb`, _t.ref`arguments`],
1693
- {
1694
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1695
- arguments: _t.node(
1696
- _l.Instruction,
1697
- 'Tuple',
1698
- [
1699
- _t.ref`openToken`,
1700
- _t.ref`values[]`,
1701
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1702
- _t.ref`values[]`,
1703
- _t.ref`closeToken`,
1704
- ],
1705
- {
1706
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1707
- values: [
1708
- _t.node(
1709
- _l.Spamex,
1710
- 'NodeMatcher',
1711
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
1712
- {
1713
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1714
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
1715
- type: _t.s_node(_l.Spamex, 'Identifier', 'Expression'),
1716
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1717
- },
1718
- {},
1719
- ),
1720
- _t.node(
1721
- _l.CSTML,
1722
- 'String',
1723
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1724
- {
1725
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1726
- content: _t.node(_l.CSTML, 'Content', [_t.lit('value')], {}, {}),
1727
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1728
- },
1729
- {},
1730
- ),
1731
- ],
1732
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1733
- },
1734
- {},
1735
- ),
1736
- },
1737
- {},
1738
- );
534
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
535
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
536
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
537
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
538
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
539
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
540
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
541
+ type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
542
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
543
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
544
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
545
+ content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}),
546
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
547
+ }, {})],
548
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
549
+ }, {})
550
+ }, {});
1739
551
  }
1740
552
  *Tuple() {
1741
- yield _t.node(
1742
- _l.Instruction,
1743
- 'Call',
1744
- [_t.ref`verb`, _t.ref`arguments`],
1745
- {
1746
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1747
- arguments: _t.node(
1748
- _l.Instruction,
1749
- 'Tuple',
1750
- [
1751
- _t.ref`openToken`,
1752
- _t.ref`values[]`,
1753
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1754
- _t.ref`values[]`,
1755
- _t.ref`closeToken`,
1756
- ],
1757
- {
1758
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1759
- values: [
1760
- _t.node(
1761
- _l.Spamex,
1762
- 'NodeMatcher',
1763
- [
1764
- _t.ref`openToken`,
1765
- _t.ref`flags`,
1766
- _t.ref`type`,
1767
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1768
- _t.ref`intrinsicValue`,
1769
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1770
- _t.ref`attributes[]`,
1771
- _t.ref`closeToken`,
1772
- ],
1773
- {
1774
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1775
- flags: _t.node(
1776
- _l.CSTML,
1777
- 'Flags',
1778
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
1779
- {
1780
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
1781
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
1782
- },
1783
- {},
1784
- ),
1785
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
1786
- intrinsicValue: _t.node(
1787
- _l.CSTML,
1788
- 'String',
1789
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1790
- {
1791
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1792
- content: _t.node(_l.CSTML, 'Content', [_t.lit('(')], {}, {}),
1793
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1794
- },
1795
- {},
1796
- ),
1797
- attributes: [
1798
- _t.node(
1799
- _l.Spamex,
1800
- 'MappingAttribute',
1801
- [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`],
1802
- {
1803
- key: _t.node(_l.Spamex, 'Literal', [_t.lit('balanced')], {}, {}),
1804
- mapToken: _t.s_i_node(_l.Spamex, 'Punctuator', '='),
1805
- value: _t.node(
1806
- _l.CSTML,
1807
- 'String',
1808
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1809
- {
1810
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1811
- content: _t.node(_l.CSTML, 'Content', [_t.lit(')')], {}, {}),
1812
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1813
- },
1814
- {},
1815
- ),
1816
- },
1817
- {},
1818
- ),
1819
- ],
1820
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1821
- },
1822
- {},
1823
- ),
1824
- _t.node(
1825
- _l.CSTML,
1826
- 'String',
1827
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1828
- {
1829
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1830
- content: _t.node(_l.CSTML, 'Content', [_t.lit('openToken')], {}, {}),
1831
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1832
- },
1833
- {},
1834
- ),
1835
- ],
1836
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1837
- },
1838
- {},
1839
- ),
1840
- },
1841
- {},
1842
- );
553
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
554
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
555
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
556
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
557
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
558
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
559
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
560
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
561
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
562
+ }, {}),
563
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
564
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
565
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
566
+ content: _t.node(_l.CSTML, "Content", [_t.lit("(")], {}, {}),
567
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
568
+ }, {}),
569
+ attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
570
+ key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}),
571
+ mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
572
+ value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
573
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
574
+ content: _t.node(_l.CSTML, "Content", [_t.lit(")")], {}, {}),
575
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
576
+ }, {})
577
+ }, {})],
578
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
579
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
580
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
581
+ content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
582
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
583
+ }, {})],
584
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
585
+ }, {})
586
+ }, {});
1843
587
  let sp = yield* eatMatchTrivia();
1844
588
  let first = true;
1845
- while (
1846
- (first || sp) &&
1847
- (yield _t.node(
1848
- _l.Instruction,
1849
- 'Call',
1850
- [_t.ref`verb`, _t.ref`arguments`],
1851
- {
1852
- verb: _t.s_node(_l.Instruction, 'Identifier', 'match'),
1853
- arguments: _t.node(
1854
- _l.Instruction,
1855
- 'Tuple',
1856
- [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`],
1857
- {
1858
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1859
- values: [
1860
- _t.node(
1861
- _l.Regex,
1862
- 'Pattern',
1863
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`],
1864
- {
1865
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
1866
- alternatives: [
1867
- _t.node(
1868
- _l.Regex,
1869
- 'Alternative',
1870
- [_t.ref`elements[]`],
1871
- {
1872
- elements: [
1873
- _t.node(
1874
- _l.Regex,
1875
- 'AnyCharacterSet',
1876
- [_t.ref`sigilToken`],
1877
- {
1878
- sigilToken: _t.s_i_node(_l.Regex, 'Keyword', '.'),
1879
- },
1880
- {},
1881
- ),
1882
- ],
1883
- },
1884
- {},
1885
- ),
1886
- ],
1887
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
1888
- flags: _t.node(
1889
- _l.Regex,
1890
- 'Flags',
1891
- [_t.ref`tokens[]`],
1892
- {
1893
- tokens: [_t.s_i_node(_l.Regex, 'Keyword', 'y')],
1894
- },
1895
- {
1896
- global: false,
1897
- ignoreCase: false,
1898
- multiline: false,
1899
- dotAll: false,
1900
- unicode: false,
1901
- sticky: true,
1902
- },
1903
- ),
1904
- },
1905
- {},
1906
- ),
1907
- ],
1908
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1909
- },
1910
- {},
1911
- ),
1912
- },
1913
- {},
1914
- ))
1915
- ) {
1916
- yield _t.node(
1917
- _l.Instruction,
1918
- 'Call',
1919
- [_t.ref`verb`, _t.ref`arguments`],
1920
- {
1921
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1922
- arguments: _t.node(
1923
- _l.Instruction,
1924
- 'Tuple',
1925
- [
1926
- _t.ref`openToken`,
1927
- _t.ref`values[]`,
1928
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1929
- _t.ref`values[]`,
1930
- _t.ref`closeToken`,
1931
- ],
1932
- {
1933
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1934
- values: [
1935
- _t.node(
1936
- _l.Spamex,
1937
- 'NodeMatcher',
1938
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
1939
- {
1940
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
1941
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
1942
- type: _t.s_node(_l.Spamex, 'Identifier', 'Expression'),
1943
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
1944
- },
1945
- {},
1946
- ),
1947
- _t.node(
1948
- _l.CSTML,
1949
- 'String',
1950
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
1951
- {
1952
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1953
- content: _t.node(_l.CSTML, 'Content', [_t.lit('values[]')], {}, {}),
1954
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
1955
- },
1956
- {},
1957
- ),
1958
- ],
1959
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
1960
- },
1961
- {},
1962
- ),
1963
- },
1964
- {},
1965
- );
589
+ while ((first || sp) && (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
590
+ verb: _t.s_node(_l.Instruction, "Identifier", "match"),
591
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
592
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
593
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
594
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
595
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
596
+ elements: [_t.node(_l.Regex, "AnyCharacterSet", [_t.ref`sigilToken`], {
597
+ sigilToken: _t.s_i_node(_l.Regex, "Keyword", ".")
598
+ }, {})]
599
+ }, {})],
600
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
601
+ flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`], {
602
+ tokens: [_t.s_i_node(_l.Regex, "Keyword", "y")]
603
+ }, {
604
+ global: false,
605
+ ignoreCase: false,
606
+ multiline: false,
607
+ dotAll: false,
608
+ unicode: false,
609
+ sticky: true
610
+ })
611
+ }, {})],
612
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
613
+ }, {})
614
+ }, {}))) {
615
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
616
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
617
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
618
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
619
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
620
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
621
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
622
+ type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
623
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
624
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
625
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
626
+ content: _t.node(_l.CSTML, "Content", [_t.lit("values[]")], {}, {}),
627
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
628
+ }, {})],
629
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
630
+ }, {})
631
+ }, {});
1966
632
  sp = yield* eatMatchTrivia();
1967
633
  first = false;
1968
634
  }
1969
- yield _t.node(
1970
- _l.Instruction,
1971
- 'Call',
1972
- [_t.ref`verb`, _t.ref`arguments`],
1973
- {
1974
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
1975
- arguments: _t.node(
1976
- _l.Instruction,
1977
- 'Tuple',
1978
- [
1979
- _t.ref`openToken`,
1980
- _t.ref`values[]`,
1981
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1982
- _t.ref`values[]`,
1983
- _t.ref`closeToken`,
1984
- ],
1985
- {
1986
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
1987
- values: [
1988
- _t.node(
1989
- _l.Spamex,
1990
- 'NodeMatcher',
1991
- [
1992
- _t.ref`openToken`,
1993
- _t.ref`flags`,
1994
- _t.ref`type`,
1995
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1996
- _t.ref`intrinsicValue`,
1997
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
1998
- _t.ref`attributes[]`,
1999
- _t.ref`closeToken`,
2000
- ],
2001
- {
2002
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2003
- flags: _t.node(
2004
- _l.CSTML,
2005
- 'Flags',
2006
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
2007
- {
2008
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
2009
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
2010
- },
2011
- {},
2012
- ),
2013
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
2014
- intrinsicValue: _t.node(
2015
- _l.CSTML,
2016
- 'String',
2017
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2018
- {
2019
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2020
- content: _t.node(_l.CSTML, 'Content', [_t.lit(')')], {}, {}),
2021
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2022
- },
2023
- {},
2024
- ),
2025
- attributes: [
2026
- _t.node(
2027
- _l.Spamex,
2028
- 'BooleanAttribute',
2029
- [_t.ref`key`],
2030
- {
2031
- key: _t.node(_l.Spamex, 'Literal', [_t.lit('balancer')], {}, {}),
2032
- },
2033
- {},
2034
- ),
2035
- ],
2036
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2037
- },
2038
- {},
2039
- ),
2040
- _t.node(
2041
- _l.CSTML,
2042
- 'String',
2043
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2044
- {
2045
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2046
- content: _t.node(_l.CSTML, 'Content', [_t.lit('closeToken')], {}, {}),
2047
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2048
- },
2049
- {},
2050
- ),
2051
- ],
2052
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2053
- },
2054
- {},
2055
- ),
2056
- },
2057
- {},
2058
- );
635
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
636
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
637
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
638
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
639
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
640
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
641
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
642
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
643
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
644
+ }, {}),
645
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
646
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
647
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
648
+ content: _t.node(_l.CSTML, "Content", [_t.lit(")")], {}, {}),
649
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
650
+ }, {}),
651
+ attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
652
+ key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {})
653
+ }, {})],
654
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
655
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
656
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
657
+ content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
658
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
659
+ }, {})],
660
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
661
+ }, {})
662
+ }, {});
2059
663
  }
2060
664
  *Boolean() {
2061
- yield _t.node(
2062
- _l.Instruction,
2063
- 'Call',
2064
- [_t.ref`verb`, _t.ref`arguments`],
2065
- {
2066
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
2067
- arguments: _t.node(
2068
- _l.Instruction,
2069
- 'Tuple',
2070
- [
2071
- _t.ref`openToken`,
2072
- _t.ref`values[]`,
2073
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2074
- _t.ref`values[]`,
2075
- _t.ref`closeToken`,
2076
- ],
2077
- {
2078
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2079
- values: [
2080
- _t.node(
2081
- _l.Spamex,
2082
- 'NodeMatcher',
2083
- [
2084
- _t.ref`openToken`,
2085
- _t.ref`flags`,
2086
- _t.ref`type`,
2087
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2088
- _t.ref`intrinsicValue`,
2089
- _t.ref`closeToken`,
2090
- ],
2091
- {
2092
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2093
- flags: _t.node(
2094
- _l.CSTML,
2095
- 'Flags',
2096
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
2097
- {
2098
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
2099
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
2100
- },
2101
- {},
2102
- ),
2103
- type: _t.s_node(_l.Spamex, 'Identifier', 'Keyword'),
2104
- intrinsicValue: _t.node(
2105
- _l.Regex,
2106
- 'Pattern',
2107
- [
2108
- _t.ref`openToken`,
2109
- _t.ref`alternatives[]`,
2110
- _t.ref`separators[]`,
2111
- _t.ref`alternatives[]`,
2112
- _t.ref`closeToken`,
2113
- ],
2114
- {
2115
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2116
- alternatives: [
2117
- _t.node(
2118
- _l.Regex,
2119
- 'Alternative',
2120
- [
2121
- _t.ref`elements[]`,
2122
- _t.ref`elements[]`,
2123
- _t.ref`elements[]`,
2124
- _t.ref`elements[]`,
2125
- ],
2126
- {
2127
- elements: [
2128
- _t.node(_l.Regex, 'Character', [_t.lit('t')], {}, {}),
2129
- _t.node(_l.Regex, 'Character', [_t.lit('r')], {}, {}),
2130
- _t.node(_l.Regex, 'Character', [_t.lit('u')], {}, {}),
2131
- _t.node(_l.Regex, 'Character', [_t.lit('e')], {}, {}),
2132
- ],
2133
- },
2134
- {},
2135
- ),
2136
- _t.node(
2137
- _l.Regex,
2138
- 'Alternative',
2139
- [
2140
- _t.ref`elements[]`,
2141
- _t.ref`elements[]`,
2142
- _t.ref`elements[]`,
2143
- _t.ref`elements[]`,
2144
- _t.ref`elements[]`,
2145
- ],
2146
- {
2147
- elements: [
2148
- _t.node(_l.Regex, 'Character', [_t.lit('f')], {}, {}),
2149
- _t.node(_l.Regex, 'Character', [_t.lit('a')], {}, {}),
2150
- _t.node(_l.Regex, 'Character', [_t.lit('l')], {}, {}),
2151
- _t.node(_l.Regex, 'Character', [_t.lit('s')], {}, {}),
2152
- _t.node(_l.Regex, 'Character', [_t.lit('e')], {}, {}),
2153
- ],
2154
- },
2155
- {},
2156
- ),
2157
- ],
2158
- separators: [_t.s_i_node(_l.Regex, 'Punctuator', '|')],
2159
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2160
- },
2161
- {},
2162
- ),
2163
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2164
- },
2165
- {},
2166
- ),
2167
- _t.node(
2168
- _l.CSTML,
2169
- 'String',
2170
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2171
- {
2172
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2173
- content: _t.node(_l.CSTML, 'Content', [_t.lit('sigilToken')], {}, {}),
2174
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2175
- },
2176
- {},
2177
- ),
2178
- ],
2179
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2180
- },
2181
- {},
2182
- ),
2183
- },
2184
- {},
2185
- );
665
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
666
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
667
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
668
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
669
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
670
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
671
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
672
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
673
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
674
+ }, {}),
675
+ type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
676
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
677
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
678
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
679
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("r")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("u")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})]
680
+ }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
681
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("l")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("s")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})]
682
+ }, {})],
683
+ separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
684
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
685
+ }, {}),
686
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
687
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
688
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
689
+ content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
690
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
691
+ }, {})],
692
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
693
+ }, {})
694
+ }, {});
2186
695
  }
2187
696
  *Null() {
2188
- yield _t.node(
2189
- _l.Instruction,
2190
- 'Call',
2191
- [_t.ref`verb`, _t.ref`arguments`],
2192
- {
2193
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
2194
- arguments: _t.node(
2195
- _l.Instruction,
2196
- 'Tuple',
2197
- [
2198
- _t.ref`openToken`,
2199
- _t.ref`values[]`,
2200
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2201
- _t.ref`values[]`,
2202
- _t.ref`closeToken`,
2203
- ],
2204
- {
2205
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2206
- values: [
2207
- _t.node(
2208
- _l.Spamex,
2209
- 'NodeMatcher',
2210
- [
2211
- _t.ref`openToken`,
2212
- _t.ref`flags`,
2213
- _t.ref`type`,
2214
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2215
- _t.ref`intrinsicValue`,
2216
- _t.ref`closeToken`,
2217
- ],
2218
- {
2219
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2220
- flags: _t.node(
2221
- _l.CSTML,
2222
- 'Flags',
2223
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
2224
- {
2225
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
2226
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
2227
- },
2228
- {},
2229
- ),
2230
- type: _t.s_node(_l.Spamex, 'Identifier', 'Keyword'),
2231
- intrinsicValue: _t.node(
2232
- _l.CSTML,
2233
- 'String',
2234
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2235
- {
2236
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2237
- content: _t.node(_l.CSTML, 'Content', [_t.lit('null')], {}, {}),
2238
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2239
- },
2240
- {},
2241
- ),
2242
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2243
- },
2244
- {},
2245
- ),
2246
- _t.node(
2247
- _l.CSTML,
2248
- 'String',
2249
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2250
- {
2251
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2252
- content: _t.node(_l.CSTML, 'Content', [_t.lit('sigilToken')], {}, {}),
2253
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2254
- },
2255
- {},
2256
- ),
2257
- ],
2258
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2259
- },
2260
- {},
2261
- ),
2262
- },
2263
- {},
2264
- );
697
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
698
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
699
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
700
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
701
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
702
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
703
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
704
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
705
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
706
+ }, {}),
707
+ type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
708
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
709
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
710
+ content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}),
711
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
712
+ }, {}),
713
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
714
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
715
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
716
+ content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
717
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
718
+ }, {})],
719
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
720
+ }, {})
721
+ }, {});
2265
722
  }
2266
723
  *Identifier() {
2267
- yield _t.node(
2268
- _l.Instruction,
2269
- 'Call',
2270
- [_t.ref`verb`, _t.ref`arguments`],
2271
- {
2272
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
2273
- arguments: _t.node(
2274
- _l.Instruction,
2275
- 'Tuple',
2276
- [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`],
2277
- {
2278
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2279
- values: [
2280
- _t.node(
2281
- _l.Regex,
2282
- 'Pattern',
2283
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`],
2284
- {
2285
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2286
- alternatives: [
2287
- _t.node(
2288
- _l.Regex,
2289
- 'Alternative',
2290
- [_t.ref`elements[]`],
2291
- {
2292
- elements: [
2293
- _t.node(
2294
- _l.Regex,
2295
- 'Quantifier',
2296
- [_t.ref`element`, _t.ref`value`],
2297
- {
2298
- element: _t.node(
2299
- _l.Regex,
2300
- 'CharacterClass',
2301
- [
2302
- _t.ref`openToken`,
2303
- _t.ref`elements[]`,
2304
- _t.ref`elements[]`,
2305
- _t.ref`closeToken`,
2306
- ],
2307
- {
2308
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '['),
2309
- elements: [
2310
- _t.node(
2311
- _l.Regex,
2312
- 'CharacterClassRange',
2313
- [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`],
2314
- {
2315
- min: _t.node(_l.Regex, 'Character', [_t.lit('a')], {}, {}),
2316
- rangeToken: _t.s_i_node(_l.Regex, 'Punctuator', '-'),
2317
- max: _t.node(_l.Regex, 'Character', [_t.lit('z')], {}, {}),
2318
- },
2319
- {},
2320
- ),
2321
- _t.node(
2322
- _l.Regex,
2323
- 'CharacterClassRange',
2324
- [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`],
2325
- {
2326
- min: _t.node(_l.Regex, 'Character', [_t.lit('A')], {}, {}),
2327
- rangeToken: _t.s_i_node(_l.Regex, 'Punctuator', '-'),
2328
- max: _t.node(_l.Regex, 'Character', [_t.lit('Z')], {}, {}),
2329
- },
2330
- {},
2331
- ),
2332
- ],
2333
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', ']'),
2334
- },
2335
- {
2336
- negate: false,
2337
- },
2338
- ),
2339
- value: _t.s_i_node(_l.Regex, 'Keyword', '+'),
2340
- },
2341
- {
2342
- min: 1,
2343
- max: Infinity,
2344
- greedy: true,
2345
- },
2346
- ),
2347
- ],
2348
- },
2349
- {},
2350
- ),
2351
- ],
2352
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2353
- },
2354
- {},
2355
- ),
2356
- ],
2357
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2358
- },
2359
- {},
2360
- ),
2361
- },
2362
- {},
2363
- );
724
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
725
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
726
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
727
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
728
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
729
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
730
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
731
+ elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
732
+ element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
733
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
734
+ elements: [_t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
735
+ min: _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}),
736
+ rangeToken: _t.s_i_node(_l.Regex, "Punctuator", "-"),
737
+ max: _t.node(_l.Regex, "Character", [_t.lit("z")], {}, {})
738
+ }, {}), _t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
739
+ min: _t.node(_l.Regex, "Character", [_t.lit("A")], {}, {}),
740
+ rangeToken: _t.s_i_node(_l.Regex, "Punctuator", "-"),
741
+ max: _t.node(_l.Regex, "Character", [_t.lit("Z")], {}, {})
742
+ }, {})],
743
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
744
+ }, {
745
+ negate: false
746
+ }),
747
+ value: _t.s_i_node(_l.Regex, "Keyword", "+")
748
+ }, {
749
+ min: 1,
750
+ max: Infinity,
751
+ greedy: true
752
+ })]
753
+ }, {})],
754
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
755
+ }, {})],
756
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
757
+ }, {})
758
+ }, {});
2364
759
  }
2365
760
  *Number() {
2366
- yield _t.node(
2367
- _l.Instruction,
2368
- 'Call',
2369
- [_t.ref`verb`, _t.ref`arguments`],
2370
- {
2371
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
2372
- arguments: _t.node(
2373
- _l.Instruction,
2374
- 'Tuple',
2375
- [
2376
- _t.ref`openToken`,
2377
- _t.ref`values[]`,
2378
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2379
- _t.ref`values[]`,
2380
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2381
- _t.ref`values[]`,
2382
- _t.ref`closeToken`,
2383
- ],
2384
- {
2385
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2386
- values: [
2387
- _t.node(
2388
- _l.Spamex,
2389
- 'NodeMatcher',
2390
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
2391
- {
2392
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2393
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
2394
- type: _t.s_node(_l.Spamex, 'Identifier', 'Any'),
2395
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2396
- },
2397
- {},
2398
- ),
2399
- _t.node(
2400
- _l.Instruction,
2401
- 'Null',
2402
- [_t.ref`sigilToken`],
2403
- {
2404
- sigilToken: _t.s_i_node(_l.Instruction, 'Keyword', 'null'),
2405
- },
2406
- {},
2407
- ),
2408
- _t.node(
2409
- _l.Instruction,
2410
- 'Array',
2411
- [
2412
- _t.ref`openToken`,
2413
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
2414
- _t.ref`elements[]`,
2415
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
2416
- _t.ref`elements[]`,
2417
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit('\n ')], {}, {})),
2418
- _t.ref`closeToken`,
2419
- ],
2420
- {
2421
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '['),
2422
- elements: [
2423
- _t.node(
2424
- _l.Spamex,
2425
- 'NodeMatcher',
2426
- [
2427
- _t.ref`openToken`,
2428
- _t.ref`flags`,
2429
- _t.ref`type`,
2430
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2431
- _t.ref`intrinsicValue`,
2432
- _t.ref`closeToken`,
2433
- ],
2434
- {
2435
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2436
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
2437
- type: _t.s_node(_l.Spamex, 'Identifier', 'Integer'),
2438
- intrinsicValue: _t.node(
2439
- _l.Regex,
2440
- 'Pattern',
2441
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`],
2442
- {
2443
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2444
- alternatives: [
2445
- _t.node(
2446
- _l.Regex,
2447
- 'Alternative',
2448
- [_t.ref`elements[]`, _t.ref`elements[]`],
2449
- {
2450
- elements: [
2451
- _t.node(
2452
- _l.Regex,
2453
- 'Quantifier',
2454
- [_t.ref`element`, _t.ref`value`],
2455
- {
2456
- element: _t.node(
2457
- _l.Regex,
2458
- 'Character',
2459
- [_t.lit('-')],
2460
- {},
2461
- {},
2462
- ),
2463
- value: _t.s_i_node(_l.Regex, 'Keyword', '?'),
2464
- },
2465
- {
2466
- min: 0,
2467
- max: 1,
2468
- greedy: true,
2469
- },
2470
- ),
2471
- _t.node(
2472
- _l.Regex,
2473
- 'DigitCharacterSet',
2474
- [_t.ref`escapeToken`, _t.ref`value`],
2475
- {
2476
- escapeToken: _t.s_i_node(_l.Regex, 'Punctuator', '\\'),
2477
- value: _t.s_i_node(_l.Regex, 'Keyword', 'd'),
2478
- },
2479
- {},
2480
- ),
2481
- ],
2482
- },
2483
- {},
2484
- ),
2485
- ],
2486
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2487
- },
2488
- {},
2489
- ),
2490
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2491
- },
2492
- {},
2493
- ),
2494
- _t.node(
2495
- _l.Spamex,
2496
- 'NodeMatcher',
2497
- [
2498
- _t.ref`openToken`,
2499
- _t.ref`flags`,
2500
- _t.ref`type`,
2501
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2502
- _t.ref`intrinsicValue`,
2503
- _t.ref`closeToken`,
2504
- ],
2505
- {
2506
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2507
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
2508
- type: _t.s_node(_l.Spamex, 'Identifier', 'Infinity'),
2509
- intrinsicValue: _t.node(
2510
- _l.Regex,
2511
- 'Pattern',
2512
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`],
2513
- {
2514
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2515
- alternatives: [
2516
- _t.node(
2517
- _l.Regex,
2518
- 'Alternative',
2519
- [_t.ref`elements[]`, _t.ref`elements[]`],
2520
- {
2521
- elements: [
2522
- _t.node(
2523
- _l.Regex,
2524
- 'CharacterClass',
2525
- [
2526
- _t.ref`openToken`,
2527
- _t.ref`elements[]`,
2528
- _t.ref`elements[]`,
2529
- _t.ref`closeToken`,
2530
- ],
2531
- {
2532
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '['),
2533
- elements: [
2534
- _t.node(_l.Regex, 'Character', [_t.lit('+')], {}, {}),
2535
- _t.node(_l.Regex, 'Character', [_t.lit('-')], {}, {}),
2536
- ],
2537
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', ']'),
2538
- },
2539
- {
2540
- negate: false,
2541
- },
2542
- ),
2543
- _t.node(_l.Regex, 'Character', [_t.lit('I')], {}, {}),
2544
- ],
2545
- },
2546
- {},
2547
- ),
2548
- ],
2549
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2550
- },
2551
- {},
2552
- ),
2553
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2554
- },
2555
- {},
2556
- ),
2557
- ],
2558
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ']'),
2559
- },
2560
- {},
2561
- ),
2562
- ],
2563
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2564
- },
2565
- {},
2566
- ),
2567
- },
2568
- {},
2569
- );
761
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
762
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
763
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
764
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
765
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
766
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
767
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
768
+ type: _t.s_node(_l.Spamex, "Identifier", "Any"),
769
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
770
+ }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
771
+ sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
772
+ }, {}), _t.node(_l.Instruction, "Array", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`], {
773
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "["),
774
+ elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
775
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
776
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
777
+ type: _t.s_node(_l.Spamex, "Identifier", "Integer"),
778
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
779
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
780
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`], {
781
+ elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
782
+ element: _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {}),
783
+ value: _t.s_i_node(_l.Regex, "Keyword", "?")
784
+ }, {
785
+ min: 0,
786
+ max: 1,
787
+ greedy: true
788
+ }), _t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
789
+ escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
790
+ value: _t.s_i_node(_l.Regex, "Keyword", "d")
791
+ }, {})]
792
+ }, {})],
793
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
794
+ }, {}),
795
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
796
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
797
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
798
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
799
+ type: _t.s_node(_l.Spamex, "Identifier", "Infinity"),
800
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
801
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
802
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`], {
803
+ elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
804
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
805
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
806
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
807
+ }, {
808
+ negate: false
809
+ }), _t.node(_l.Regex, "Character", [_t.lit("I")], {}, {})]
810
+ }, {})],
811
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
812
+ }, {}),
813
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
814
+ }, {})],
815
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "]")
816
+ }, {})],
817
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
818
+ }, {})
819
+ }, {});
2570
820
  }
2571
821
  *UnsignedInteger() {
2572
- yield _t.node(
2573
- _l.Instruction,
2574
- 'Call',
2575
- [_t.ref`verb`, _t.ref`arguments`],
2576
- {
2577
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
2578
- arguments: _t.node(
2579
- _l.Instruction,
2580
- 'Tuple',
2581
- [
2582
- _t.ref`openToken`,
2583
- _t.ref`values[]`,
2584
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2585
- _t.ref`values[]`,
2586
- _t.ref`closeToken`,
2587
- ],
2588
- {
2589
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2590
- values: [
2591
- _t.node(
2592
- _l.Spamex,
2593
- 'NodeMatcher',
2594
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
2595
- {
2596
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2597
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
2598
- type: _t.s_node(_l.Spamex, 'Identifier', 'Digits'),
2599
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2600
- },
2601
- {},
2602
- ),
2603
- _t.node(
2604
- _l.CSTML,
2605
- 'String',
2606
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2607
- {
2608
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2609
- content: _t.node(_l.CSTML, 'Content', [_t.lit('digits[]')], {}, {}),
2610
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2611
- },
2612
- {},
2613
- ),
2614
- ],
2615
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2616
- },
2617
- {},
2618
- ),
2619
- },
2620
- {},
2621
- );
822
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
823
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
824
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
825
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
826
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
827
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
828
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
829
+ type: _t.s_node(_l.Spamex, "Identifier", "Digits"),
830
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
831
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
832
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
833
+ content: _t.node(_l.CSTML, "Content", [_t.lit("digits[]")], {}, {}),
834
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
835
+ }, {})],
836
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
837
+ }, {})
838
+ }, {});
2622
839
  }
2623
840
  *Integer() {
2624
- yield _t.node(
2625
- _l.Instruction,
2626
- 'Call',
2627
- [_t.ref`verb`, _t.ref`arguments`],
2628
- {
2629
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eatMatch'),
2630
- arguments: _t.node(
2631
- _l.Instruction,
2632
- 'Tuple',
2633
- [
2634
- _t.ref`openToken`,
2635
- _t.ref`values[]`,
2636
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2637
- _t.ref`values[]`,
2638
- _t.ref`closeToken`,
2639
- ],
2640
- {
2641
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2642
- values: [
2643
- _t.node(
2644
- _l.Spamex,
2645
- 'NodeMatcher',
2646
- [
2647
- _t.ref`openToken`,
2648
- _t.ref`flags`,
2649
- _t.ref`type`,
2650
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2651
- _t.ref`intrinsicValue`,
2652
- _t.ref`closeToken`,
2653
- ],
2654
- {
2655
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2656
- flags: _t.node(
2657
- _l.CSTML,
2658
- 'Flags',
2659
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
2660
- {
2661
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
2662
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
2663
- },
2664
- {},
2665
- ),
2666
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
2667
- intrinsicValue: _t.node(
2668
- _l.CSTML,
2669
- 'String',
2670
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2671
- {
2672
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2673
- content: _t.node(_l.CSTML, 'Content', [_t.lit('-')], {}, {}),
2674
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2675
- },
2676
- {},
2677
- ),
2678
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2679
- },
2680
- {},
2681
- ),
2682
- _t.node(
2683
- _l.CSTML,
2684
- 'String',
2685
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2686
- {
2687
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2688
- content: _t.node(_l.CSTML, 'Content', [_t.lit('negativeToken')], {}, {}),
2689
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2690
- },
2691
- {},
2692
- ),
2693
- ],
2694
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2695
- },
2696
- {},
2697
- ),
2698
- },
2699
- {},
2700
- );
2701
- yield _t.node(
2702
- _l.Instruction,
2703
- 'Call',
2704
- [_t.ref`verb`, _t.ref`arguments`],
2705
- {
2706
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
2707
- arguments: _t.node(
2708
- _l.Instruction,
2709
- 'Tuple',
2710
- [
2711
- _t.ref`openToken`,
2712
- _t.ref`values[]`,
2713
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2714
- _t.ref`values[]`,
2715
- _t.ref`closeToken`,
2716
- ],
2717
- {
2718
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2719
- values: [
2720
- _t.node(
2721
- _l.Spamex,
2722
- 'NodeMatcher',
2723
- [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`],
2724
- {
2725
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2726
- flags: _t.node(_l.CSTML, 'Flags', [], {}, {}),
2727
- type: _t.s_node(_l.Spamex, 'Identifier', 'Digits'),
2728
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2729
- },
2730
- {},
2731
- ),
2732
- _t.node(
2733
- _l.CSTML,
2734
- 'String',
2735
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2736
- {
2737
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2738
- content: _t.node(_l.CSTML, 'Content', [_t.lit('digits[]')], {}, {}),
2739
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2740
- },
2741
- {},
2742
- ),
2743
- ],
2744
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2745
- },
2746
- {},
2747
- ),
2748
- },
2749
- {},
2750
- );
841
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
842
+ verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
843
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
844
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
845
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
846
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
847
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
848
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
849
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
850
+ }, {}),
851
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
852
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
853
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
854
+ content: _t.node(_l.CSTML, "Content", [_t.lit("-")], {}, {}),
855
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
856
+ }, {}),
857
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
858
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
859
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
860
+ content: _t.node(_l.CSTML, "Content", [_t.lit("negativeToken")], {}, {}),
861
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
862
+ }, {})],
863
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
864
+ }, {})
865
+ }, {});
866
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
867
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
868
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
869
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
870
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
871
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
872
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
873
+ type: _t.s_node(_l.Spamex, "Identifier", "Digits"),
874
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
875
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
876
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
877
+ content: _t.node(_l.CSTML, "Content", [_t.lit("digits[]")], {}, {}),
878
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
879
+ }, {})],
880
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
881
+ }, {})
882
+ }, {});
2751
883
  }
2752
884
  *Digits() {
2753
- while (
2754
- yield _t.node(
2755
- _l.Instruction,
2756
- 'Call',
2757
- [_t.ref`verb`, _t.ref`arguments`],
2758
- {
2759
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eatMatch'),
2760
- arguments: _t.node(
2761
- _l.Instruction,
2762
- 'Tuple',
2763
- [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`],
2764
- {
2765
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2766
- values: [
2767
- _t.node(
2768
- _l.Spamex,
2769
- 'NodeMatcher',
2770
- [
2771
- _t.ref`openToken`,
2772
- _t.ref`flags`,
2773
- _t.ref`type`,
2774
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2775
- _t.ref`intrinsicValue`,
2776
- _t.ref`closeToken`,
2777
- ],
2778
- {
2779
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2780
- flags: _t.node(
2781
- _l.CSTML,
2782
- 'Flags',
2783
- [_t.ref`tokenToken`],
2784
- {
2785
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
2786
- },
2787
- {},
2788
- ),
2789
- type: _t.s_node(_l.Spamex, 'Identifier', 'Digit'),
2790
- intrinsicValue: _t.node(
2791
- _l.Regex,
2792
- 'Pattern',
2793
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`],
2794
- {
2795
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2796
- alternatives: [
2797
- _t.node(
2798
- _l.Regex,
2799
- 'Alternative',
2800
- [_t.ref`elements[]`],
2801
- {
2802
- elements: [
2803
- _t.node(
2804
- _l.Regex,
2805
- 'DigitCharacterSet',
2806
- [_t.ref`escapeToken`, _t.ref`value`],
2807
- {
2808
- escapeToken: _t.s_i_node(_l.Regex, 'Punctuator', '\\'),
2809
- value: _t.s_i_node(_l.Regex, 'Keyword', 'd'),
2810
- },
2811
- {},
2812
- ),
2813
- ],
2814
- },
2815
- {},
2816
- ),
2817
- ],
2818
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2819
- },
2820
- {},
2821
- ),
2822
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2823
- },
2824
- {},
2825
- ),
2826
- ],
2827
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2828
- },
2829
- {},
2830
- ),
2831
- },
2832
- {},
2833
- )
2834
- );
885
+ while (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
886
+ verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
887
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
888
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
889
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
890
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
891
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
892
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
893
+ }, {}),
894
+ type: _t.s_node(_l.Spamex, "Identifier", "Digit"),
895
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
896
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
897
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
898
+ elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
899
+ escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
900
+ value: _t.s_i_node(_l.Regex, "Keyword", "d")
901
+ }, {})]
902
+ }, {})],
903
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
904
+ }, {}),
905
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
906
+ }, {})],
907
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
908
+ }, {})
909
+ }, {}));
2835
910
  }
2836
911
  *Digit() {
2837
- yield _t.node(
2838
- _l.Instruction,
2839
- 'Call',
2840
- [_t.ref`verb`, _t.ref`arguments`],
2841
- {
2842
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
2843
- arguments: _t.node(
2844
- _l.Instruction,
2845
- 'Tuple',
2846
- [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`],
2847
- {
2848
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2849
- values: [
2850
- _t.node(
2851
- _l.Regex,
2852
- 'Pattern',
2853
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`],
2854
- {
2855
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2856
- alternatives: [
2857
- _t.node(
2858
- _l.Regex,
2859
- 'Alternative',
2860
- [_t.ref`elements[]`],
2861
- {
2862
- elements: [
2863
- _t.node(
2864
- _l.Regex,
2865
- 'DigitCharacterSet',
2866
- [_t.ref`escapeToken`, _t.ref`value`],
2867
- {
2868
- escapeToken: _t.s_i_node(_l.Regex, 'Punctuator', '\\'),
2869
- value: _t.s_i_node(_l.Regex, 'Keyword', 'd'),
2870
- },
2871
- {},
2872
- ),
2873
- ],
2874
- },
2875
- {},
2876
- ),
2877
- ],
2878
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2879
- },
2880
- {},
2881
- ),
2882
- ],
2883
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2884
- },
2885
- {},
2886
- ),
2887
- },
2888
- {},
2889
- );
912
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
913
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
914
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
915
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
916
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
917
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
918
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
919
+ elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
920
+ escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
921
+ value: _t.s_i_node(_l.Regex, "Keyword", "d")
922
+ }, {})]
923
+ }, {})],
924
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
925
+ }, {})],
926
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
927
+ }, {})
928
+ }, {});
2890
929
  }
2891
930
  *Infinity() {
2892
- yield _t.node(
2893
- _l.Instruction,
2894
- 'Call',
2895
- [_t.ref`verb`, _t.ref`arguments`],
2896
- {
2897
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eatMatch'),
2898
- arguments: _t.node(
2899
- _l.Instruction,
2900
- 'Tuple',
2901
- [
2902
- _t.ref`openToken`,
2903
- _t.ref`values[]`,
2904
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2905
- _t.ref`values[]`,
2906
- _t.ref`closeToken`,
2907
- ],
2908
- {
2909
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
2910
- values: [
2911
- _t.node(
2912
- _l.Spamex,
2913
- 'NodeMatcher',
2914
- [
2915
- _t.ref`openToken`,
2916
- _t.ref`flags`,
2917
- _t.ref`type`,
2918
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
2919
- _t.ref`intrinsicValue`,
2920
- _t.ref`closeToken`,
2921
- ],
2922
- {
2923
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
2924
- flags: _t.node(
2925
- _l.CSTML,
2926
- 'Flags',
2927
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
2928
- {
2929
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
2930
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
2931
- },
2932
- {},
2933
- ),
2934
- type: _t.s_node(_l.Spamex, 'Identifier', 'Punctuator'),
2935
- intrinsicValue: _t.node(
2936
- _l.Regex,
2937
- 'Pattern',
2938
- [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`],
2939
- {
2940
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2941
- alternatives: [
2942
- _t.node(
2943
- _l.Regex,
2944
- 'Alternative',
2945
- [_t.ref`elements[]`],
2946
- {
2947
- elements: [
2948
- _t.node(
2949
- _l.Regex,
2950
- 'CharacterClass',
2951
- [
2952
- _t.ref`openToken`,
2953
- _t.ref`elements[]`,
2954
- _t.ref`elements[]`,
2955
- _t.ref`closeToken`,
2956
- ],
2957
- {
2958
- openToken: _t.s_i_node(_l.Regex, 'Punctuator', '['),
2959
- elements: [
2960
- _t.node(_l.Regex, 'Character', [_t.lit('+')], {}, {}),
2961
- _t.node(_l.Regex, 'Character', [_t.lit('-')], {}, {}),
2962
- ],
2963
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', ']'),
2964
- },
2965
- {
2966
- negate: false,
2967
- },
2968
- ),
2969
- ],
2970
- },
2971
- {},
2972
- ),
2973
- ],
2974
- closeToken: _t.s_i_node(_l.Regex, 'Punctuator', '/'),
2975
- },
2976
- {},
2977
- ),
2978
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
2979
- },
2980
- {},
2981
- ),
2982
- _t.node(
2983
- _l.CSTML,
2984
- 'String',
2985
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
2986
- {
2987
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2988
- content: _t.node(_l.CSTML, 'Content', [_t.lit('signToken')], {}, {}),
2989
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
2990
- },
2991
- {},
2992
- ),
2993
- ],
2994
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
2995
- },
2996
- {},
2997
- ),
2998
- },
2999
- {},
3000
- );
3001
- yield _t.node(
3002
- _l.Instruction,
3003
- 'Call',
3004
- [_t.ref`verb`, _t.ref`arguments`],
3005
- {
3006
- verb: _t.s_node(_l.Instruction, 'Identifier', 'eat'),
3007
- arguments: _t.node(
3008
- _l.Instruction,
3009
- 'Tuple',
3010
- [
3011
- _t.ref`openToken`,
3012
- _t.ref`values[]`,
3013
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
3014
- _t.ref`values[]`,
3015
- _t.ref`closeToken`,
3016
- ],
3017
- {
3018
- openToken: _t.s_i_node(_l.Instruction, 'Punctuator', '('),
3019
- values: [
3020
- _t.node(
3021
- _l.Spamex,
3022
- 'NodeMatcher',
3023
- [
3024
- _t.ref`openToken`,
3025
- _t.ref`flags`,
3026
- _t.ref`type`,
3027
- _t.embedded(_t.s_t_node(_l.Space, 'Space', [_t.lit(' ')], {}, {})),
3028
- _t.ref`intrinsicValue`,
3029
- _t.ref`closeToken`,
3030
- ],
3031
- {
3032
- openToken: _t.s_i_node(_l.Spamex, 'Punctuator', '<'),
3033
- flags: _t.node(
3034
- _l.CSTML,
3035
- 'Flags',
3036
- [_t.ref`intrinsicToken`, _t.ref`tokenToken`],
3037
- {
3038
- intrinsicToken: _t.s_i_node(_l.CSTML, 'Punctuator', '~'),
3039
- tokenToken: _t.s_i_node(_l.CSTML, 'Punctuator', '*'),
3040
- },
3041
- {},
3042
- ),
3043
- type: _t.s_node(_l.Spamex, 'Identifier', 'Keyword'),
3044
- intrinsicValue: _t.node(
3045
- _l.CSTML,
3046
- 'String',
3047
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
3048
- {
3049
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
3050
- content: _t.node(_l.CSTML, 'Content', [_t.lit('Infinity')], {}, {}),
3051
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
3052
- },
3053
- {},
3054
- ),
3055
- closeToken: _t.s_i_node(_l.Spamex, 'Punctuator', '>'),
3056
- },
3057
- {},
3058
- ),
3059
- _t.node(
3060
- _l.CSTML,
3061
- 'String',
3062
- [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`],
3063
- {
3064
- openToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
3065
- content: _t.node(_l.CSTML, 'Content', [_t.lit('sigilToken')], {}, {}),
3066
- closeToken: _t.s_i_node(_l.CSTML, 'Punctuator', "'"),
3067
- },
3068
- {},
3069
- ),
3070
- ],
3071
- closeToken: _t.s_i_node(_l.Instruction, 'Punctuator', ')'),
3072
- },
3073
- {},
3074
- ),
3075
- },
3076
- {},
3077
- );
931
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
932
+ verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
933
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
934
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
935
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
936
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
937
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
938
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
939
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
940
+ }, {}),
941
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
942
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
943
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
944
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
945
+ elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
946
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
947
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
948
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
949
+ }, {
950
+ negate: false
951
+ })]
952
+ }, {})],
953
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
954
+ }, {}),
955
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
956
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
957
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
958
+ content: _t.node(_l.CSTML, "Content", [_t.lit("signToken")], {}, {}),
959
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
960
+ }, {})],
961
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
962
+ }, {})
963
+ }, {});
964
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
965
+ verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
966
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
967
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
968
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
969
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
970
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
971
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
972
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
973
+ }, {}),
974
+ type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
975
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
976
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
977
+ content: _t.node(_l.CSTML, "Content", [_t.lit("Infinity")], {}, {}),
978
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
979
+ }, {}),
980
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
981
+ }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
982
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
983
+ content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
984
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
985
+ }, {})],
986
+ closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
987
+ }, {})
988
+ }, {});
3078
989
  }
3079
990
  *Punctuator() {}
3080
991
  *Keyword() {}
3081
992
  *Any() {}
3082
- };
993
+ };