@bablr/language-en-json 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/grammar.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /* @macrome
2
2
  * @generatedby @bablr/macrome-generator-bablr
3
- * @generatedfrom ./grammar.macro.js#63569b27c5367a178be1443ecb737ade03f8e418
3
+ * @generatedfrom ./grammar.macro.js#76717d3b386eef642b8bd2cc010acf945f610094
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
  */
@@ -11,7 +11,7 @@ import * as _t from "@bablr/agast-helpers/shorthand";
11
11
  let _initProto, _ExpressionDecs, _ArrayDecs, _ObjectDecs, _StringDecs, _NumberDecs, _BooleanDecs, _NullDecs, _KeywordDecs, _PunctuatorDecs, _ListDecs, _AnyDecs;
12
12
  import { triviaEnhancer } from '@bablr/helpers/trivia';
13
13
  import * as productions from '@bablr/helpers/productions';
14
- import { buildString, buildBoolean } from '@bablr/agast-vm-helpers';
14
+ import { buildString, buildBoolean } from '@bablr/helpers/builders';
15
15
  import { Node, CoveredBy, AllowEmpty, InjectFrom, UnboundAttributes } from '@bablr/helpers/decorators';
16
16
  import * as Space from '@bablr/language-en-blank-space';
17
17
  export const dependencies = {
@@ -127,7 +127,7 @@ export const grammar = triviaEnhancer({
127
127
  *Expression() {
128
128
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
129
129
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
130
- arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`]]], {
130
+ arguments: _t.node(_l.Instruction, "Tuple", [11, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
131
131
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
132
132
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
133
133
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -139,7 +139,7 @@ export const grammar = triviaEnhancer({
139
139
  }, {})
140
140
  }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
141
141
  sigilToken: _t.s_node(_l.Instruction, "Keyword", "null")
142
- }, {}), _t.node(_l.Instruction, "Array", [17, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.arr()], [_t.ref`elements[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], [_t.ref`elements[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], [_t.ref`elements[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`]]], {
142
+ }, {}), _t.node(_l.Instruction, "Array", [19, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.arr()], [_t.ref`elements[]`, _t.ref`separators[]`, _t.arr(), _t.ref`separators[]`], [_t.ref`elements[]`, _t.ref`separators[]`, _t.ref`elements[]`, _t.ref`separators[]`], [_t.ref`elements[]`, _t.ref`separators[]`, _t.ref`elements[]`, _t.ref`separators[]`, _t.ref`elements[]`, _t.ref`separators[]`, _t.ref`closeToken`]]], {
143
143
  openToken: _t.s_node(_l.Instruction, "Punctuator", "["),
144
144
  elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
145
145
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -246,8 +246,10 @@ export const grammar = triviaEnhancer({
246
246
  closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
247
247
  }, {})
248
248
  }, {})],
249
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {})],
249
250
  closeToken: _t.s_node(_l.Instruction, "Punctuator", "]")
250
251
  }, {})],
252
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
251
253
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
252
254
  }, {})
253
255
  }, {});
@@ -255,7 +257,7 @@ export const grammar = triviaEnhancer({
255
257
  *Array() {
256
258
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
257
259
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
258
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
260
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
259
261
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
260
262
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
261
263
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [12, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -286,12 +288,13 @@ export const grammar = triviaEnhancer({
286
288
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
287
289
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
288
290
  }, {})],
291
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
289
292
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
290
293
  }, {})
291
294
  }, {});
292
295
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
293
296
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
294
- arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`]]], {
297
+ arguments: _t.node(_l.Instruction, "Tuple", [11, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
295
298
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
296
299
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
297
300
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -305,7 +308,7 @@ export const grammar = triviaEnhancer({
305
308
  openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
306
309
  content: _t.node(_l.CSTML, "Content", [_t.lit("elements[]$")], {}, {}),
307
310
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
308
- }, {}), _t.node(_l.Instruction, "Object", [11, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.arr()], [_t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`]]], {
311
+ }, {}), _t.node(_l.Instruction, "Object", [13, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.arr()], [_t.ref`properties[]`, _t.ref`separators[]`, _t.arr(), _t.ref`separators[]`], [_t.ref`properties[]`, _t.ref`separators[]`, _t.ref`properties[]`, _t.ref`separators[]`, _t.ref`closeToken`]]], {
309
312
  openToken: _t.s_node(_l.Instruction, "Punctuator", "{"),
310
313
  properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
311
314
  key: _t.node(_l.Instruction, "Literal", [_t.lit("element")], {}, {}),
@@ -345,14 +348,16 @@ export const grammar = triviaEnhancer({
345
348
  sigilToken: _t.s_node(_l.Instruction, "Keyword", "false")
346
349
  }, {})
347
350
  }, {})],
351
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {})],
348
352
  closeToken: _t.s_node(_l.Instruction, "Punctuator", "}")
349
353
  }, {})],
354
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
350
355
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
351
356
  }, {})
352
357
  }, {});
353
358
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
354
359
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
355
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
360
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
356
361
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
357
362
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
358
363
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [12, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -377,6 +382,7 @@ export const grammar = triviaEnhancer({
377
382
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
378
383
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
379
384
  }, {})],
385
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
380
386
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
381
387
  }, {})
382
388
  }, {});
@@ -384,7 +390,7 @@ export const grammar = triviaEnhancer({
384
390
  *Object() {
385
391
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
386
392
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
387
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
393
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
388
394
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
389
395
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
390
396
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [12, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -415,12 +421,13 @@ export const grammar = triviaEnhancer({
415
421
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
416
422
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
417
423
  }, {})],
424
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
418
425
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
419
426
  }, {})
420
427
  }, {});
421
428
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
422
429
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
423
- arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`]]], {
430
+ arguments: _t.node(_l.Instruction, "Tuple", [11, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
424
431
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
425
432
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
426
433
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -434,7 +441,7 @@ export const grammar = triviaEnhancer({
434
441
  openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
435
442
  content: _t.node(_l.CSTML, "Content", [_t.lit("properties[]$")], {}, {}),
436
443
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
437
- }, {}), _t.node(_l.Instruction, "Object", [11, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.arr()], [_t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`]]], {
444
+ }, {}), _t.node(_l.Instruction, "Object", [13, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.arr()], [_t.ref`properties[]`, _t.ref`separators[]`, _t.arr(), _t.ref`separators[]`], [_t.ref`properties[]`, _t.ref`separators[]`, _t.ref`properties[]`, _t.ref`separators[]`, _t.ref`closeToken`]]], {
438
445
  openToken: _t.s_node(_l.Instruction, "Punctuator", "{"),
439
446
  properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
440
447
  key: _t.node(_l.Instruction, "Literal", [_t.lit("element")], {}, {}),
@@ -474,14 +481,16 @@ export const grammar = triviaEnhancer({
474
481
  sigilToken: _t.s_node(_l.Instruction, "Keyword", "false")
475
482
  }, {})
476
483
  }, {})],
484
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {}))], {}, {})],
477
485
  closeToken: _t.s_node(_l.Instruction, "Punctuator", "}")
478
486
  }, {})],
487
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
479
488
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
480
489
  }, {})
481
490
  }, {});
482
491
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
483
492
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
484
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
493
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
485
494
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
486
495
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
487
496
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [12, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -506,6 +515,7 @@ export const grammar = triviaEnhancer({
506
515
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
507
516
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
508
517
  }, {})],
518
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
509
519
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
510
520
  }, {})
511
521
  }, {});
@@ -513,7 +523,7 @@ export const grammar = triviaEnhancer({
513
523
  *Property() {
514
524
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
515
525
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
516
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
526
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
517
527
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
518
528
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
519
529
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -528,12 +538,13 @@ export const grammar = triviaEnhancer({
528
538
  content: _t.node(_l.CSTML, "Content", [_t.lit("key$")], {}, {}),
529
539
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
530
540
  }, {})],
541
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
531
542
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
532
543
  }, {})
533
544
  }, {});
534
545
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
535
546
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
536
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
547
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
537
548
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
538
549
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
539
550
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -555,12 +566,13 @@ export const grammar = triviaEnhancer({
555
566
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
556
567
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
557
568
  }, {})],
569
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
558
570
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
559
571
  }, {})
560
572
  }, {});
561
573
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
562
574
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
563
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
575
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
564
576
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
565
577
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
566
578
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -575,6 +587,7 @@ export const grammar = triviaEnhancer({
575
587
  content: _t.node(_l.CSTML, "Content", [_t.lit("value$")], {}, {}),
576
588
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
577
589
  }, {})],
590
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
578
591
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
579
592
  }, {})
580
593
  }, {});
@@ -582,7 +595,7 @@ export const grammar = triviaEnhancer({
582
595
  *String() {
583
596
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
584
597
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
585
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
598
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
586
599
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
587
600
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
588
601
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [14, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.arr()], [_t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -621,12 +634,13 @@ export const grammar = triviaEnhancer({
621
634
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
622
635
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
623
636
  }, {})],
637
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
624
638
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
625
639
  }, {})
626
640
  }, {});
627
641
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
628
642
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
629
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
643
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
630
644
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
631
645
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
632
646
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -643,12 +657,13 @@ export const grammar = triviaEnhancer({
643
657
  content: _t.node(_l.CSTML, "Content", [_t.lit("content")], {}, {}),
644
658
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
645
659
  }, {})],
660
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
646
661
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
647
662
  }, {})
648
663
  }, {});
649
664
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
650
665
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
651
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
666
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
652
667
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
653
668
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
654
669
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [12, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -673,6 +688,7 @@ export const grammar = triviaEnhancer({
673
688
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
674
689
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
675
690
  }, {})],
691
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
676
692
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
677
693
  }, {})
678
694
  }, {});
@@ -767,7 +783,7 @@ export const grammar = triviaEnhancer({
767
783
  }
768
784
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
769
785
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
770
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
786
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
771
787
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
772
788
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
773
789
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [12, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -800,6 +816,7 @@ export const grammar = triviaEnhancer({
800
816
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
801
817
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
802
818
  }, {})],
819
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
803
820
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
804
821
  }, {})
805
822
  }, {});
@@ -829,7 +846,7 @@ export const grammar = triviaEnhancer({
829
846
  const match_ = ctx.sourceTextFor(match);
830
847
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
831
848
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
832
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
849
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
833
850
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
834
851
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
835
852
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [12, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -856,6 +873,7 @@ export const grammar = triviaEnhancer({
856
873
  content: _t.node(_l.CSTML, "Content", [_t.lit("code")], {}, {}),
857
874
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
858
875
  }, {})],
876
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
859
877
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
860
878
  }, {})
861
879
  }, {});
@@ -873,7 +891,7 @@ export const grammar = triviaEnhancer({
873
891
  }, {})) {
874
892
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
875
893
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
876
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
894
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
877
895
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
878
896
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
879
897
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [10, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -897,6 +915,7 @@ export const grammar = triviaEnhancer({
897
915
  content: _t.node(_l.CSTML, "Content", [_t.lit("code")], {}, {}),
898
916
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
899
917
  }, {})],
918
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
900
919
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
901
920
  }, {})
902
921
  }, {});
@@ -913,7 +932,7 @@ export const grammar = triviaEnhancer({
913
932
  *EscapeCode() {
914
933
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
915
934
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
916
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
935
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
917
936
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
918
937
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
919
938
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -935,12 +954,13 @@ export const grammar = triviaEnhancer({
935
954
  content: _t.node(_l.CSTML, "Content", [_t.lit("typeToken")], {}, {}),
936
955
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
937
956
  }, {})],
957
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
938
958
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
939
959
  }, {})
940
960
  }, {});
941
961
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
942
962
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
943
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
963
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
944
964
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
945
965
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
946
966
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -957,6 +977,7 @@ export const grammar = triviaEnhancer({
957
977
  content: _t.node(_l.CSTML, "Content", [_t.lit("value$")], {}, {}),
958
978
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
959
979
  }, {})],
980
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
960
981
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
961
982
  }, {})
962
983
  }, {});
@@ -964,7 +985,7 @@ export const grammar = triviaEnhancer({
964
985
  *Number() {
965
986
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
966
987
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
967
- arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`]]], {
988
+ arguments: _t.node(_l.Instruction, "Tuple", [11, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
968
989
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
969
990
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
970
991
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -978,7 +999,7 @@ export const grammar = triviaEnhancer({
978
999
  openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
979
1000
  content: _t.node(_l.CSTML, "Content", [_t.lit("wholePart")], {}, {}),
980
1001
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
981
- }, {}), _t.node(_l.Instruction, "Object", [9, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`properties[]`, _t.arr()], [_t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`closeToken`]]], {
1002
+ }, {}), _t.node(_l.Instruction, "Object", [11, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`properties[]`, _t.arr()], [_t.ref`properties[]`, _t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`properties[]`, _t.ref`separators[]`, _t.ref`closeToken`]]], {
982
1003
  openToken: _t.s_node(_l.Instruction, "Punctuator", "{"),
983
1004
  properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
984
1005
  key: _t.node(_l.Instruction, "Literal", [_t.lit("noDoubleZero")], {}, {}),
@@ -995,14 +1016,16 @@ export const grammar = triviaEnhancer({
995
1016
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
996
1017
  }, {})
997
1018
  }, {})],
1019
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
998
1020
  closeToken: _t.s_node(_l.Instruction, "Punctuator", "}")
999
1021
  }, {})],
1022
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1000
1023
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1001
1024
  }, {})
1002
1025
  }, {});
1003
1026
  let fs = yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1004
1027
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
1005
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1028
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1006
1029
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1007
1030
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1008
1031
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -1024,13 +1047,14 @@ export const grammar = triviaEnhancer({
1024
1047
  content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalSeparatorToken")], {}, {}),
1025
1048
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1026
1049
  }, {})],
1050
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1027
1051
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1028
1052
  }, {})
1029
1053
  }, {});
1030
1054
  if (fs) {
1031
1055
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1032
1056
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1033
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1057
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1034
1058
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1035
1059
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1036
1060
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -1045,13 +1069,14 @@ export const grammar = triviaEnhancer({
1045
1069
  content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalPart")], {}, {}),
1046
1070
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1047
1071
  }, {})],
1072
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1048
1073
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1049
1074
  }, {})
1050
1075
  }, {});
1051
1076
  } else {
1052
1077
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1053
1078
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1054
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1079
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1055
1080
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1056
1081
  values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
1057
1082
  sigilToken: _t.s_node(_l.Instruction, "Keyword", "null")
@@ -1060,13 +1085,14 @@ export const grammar = triviaEnhancer({
1060
1085
  content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalPart")], {}, {}),
1061
1086
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1062
1087
  }, {})],
1088
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1063
1089
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1064
1090
  }, {})
1065
1091
  }, {});
1066
1092
  }
1067
1093
  let es = yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1068
1094
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
1069
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1095
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1070
1096
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1071
1097
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1072
1098
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -1096,13 +1122,14 @@ export const grammar = triviaEnhancer({
1096
1122
  content: _t.node(_l.CSTML, "Content", [_t.lit("exponentSeparatorToken")], {}, {}),
1097
1123
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1098
1124
  }, {})],
1125
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1099
1126
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1100
1127
  }, {})
1101
1128
  }, {});
1102
1129
  if (es) {
1103
1130
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1104
1131
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1105
- arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`]]], {
1132
+ arguments: _t.node(_l.Instruction, "Tuple", [11, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1106
1133
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1107
1134
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1108
1135
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -1116,7 +1143,7 @@ export const grammar = triviaEnhancer({
1116
1143
  openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1117
1144
  content: _t.node(_l.CSTML, "Content", [_t.lit("exponentPart")], {}, {}),
1118
1145
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1119
- }, {}), _t.node(_l.Instruction, "Object", [_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`properties[]`, _t.arr(), _t.ref`properties[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`closeToken`], {
1146
+ }, {}), _t.node(_l.Instruction, "Object", [9, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`properties[]`, _t.arr()], [_t.ref`properties[]`, _t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`closeToken`]]], {
1120
1147
  openToken: _t.s_node(_l.Instruction, "Punctuator", "{"),
1121
1148
  properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
1122
1149
  key: _t.node(_l.Instruction, "Literal", [_t.lit("matchSign")], {}, {}),
@@ -1135,15 +1162,17 @@ export const grammar = triviaEnhancer({
1135
1162
  closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
1136
1163
  }, {})
1137
1164
  }, {})],
1165
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1138
1166
  closeToken: _t.s_node(_l.Instruction, "Punctuator", "}")
1139
1167
  }, {})],
1168
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {}), _t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1140
1169
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1141
1170
  }, {})
1142
1171
  }, {});
1143
1172
  } else {
1144
1173
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1145
1174
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1146
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1175
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1147
1176
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1148
1177
  values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
1149
1178
  sigilToken: _t.s_node(_l.Instruction, "Keyword", "null")
@@ -1152,6 +1181,7 @@ export const grammar = triviaEnhancer({
1152
1181
  content: _t.node(_l.CSTML, "Content", [_t.lit("exponentPart")], {}, {}),
1153
1182
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1154
1183
  }, {})],
1184
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1155
1185
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1156
1186
  }, {})
1157
1187
  }, {});
@@ -1168,7 +1198,7 @@ export const grammar = triviaEnhancer({
1168
1198
  if (matchSign) {
1169
1199
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1170
1200
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
1171
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1201
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1172
1202
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1173
1203
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1174
1204
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -1186,13 +1216,14 @@ export const grammar = triviaEnhancer({
1186
1216
  content: _t.node(_l.CSTML, "Content", [_t.lit("signToken")], {}, {}),
1187
1217
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1188
1218
  }, {})],
1219
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1189
1220
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1190
1221
  }, {})
1191
1222
  }, {});
1192
1223
  } else {
1193
1224
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1194
1225
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1195
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1226
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1196
1227
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1197
1228
  values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
1198
1229
  sigilToken: _t.s_node(_l.Instruction, "Keyword", "null")
@@ -1201,13 +1232,14 @@ export const grammar = triviaEnhancer({
1201
1232
  content: _t.node(_l.CSTML, "Content", [_t.lit("signToken")], {}, {}),
1202
1233
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1203
1234
  }, {})],
1235
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1204
1236
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1205
1237
  }, {})
1206
1238
  }, {});
1207
1239
  }
1208
1240
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1209
1241
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1210
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1242
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1211
1243
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1212
1244
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1213
1245
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [10, [[_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {}))], [_t.ref`attributes[]`, _t.arr(), _t.ref`attributes[]`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`]]], {
@@ -1229,6 +1261,7 @@ export const grammar = triviaEnhancer({
1229
1261
  content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}),
1230
1262
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1231
1263
  }, {})],
1264
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1232
1265
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1233
1266
  }, {})
1234
1267
  }, {});
@@ -1287,7 +1320,7 @@ export const grammar = triviaEnhancer({
1287
1320
  *Boolean() {
1288
1321
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1289
1322
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1290
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1323
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1291
1324
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1292
1325
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1293
1326
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -1314,6 +1347,7 @@ export const grammar = triviaEnhancer({
1314
1347
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
1315
1348
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1316
1349
  }, {})],
1350
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1317
1351
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1318
1352
  }, {})
1319
1353
  }, {});
@@ -1321,7 +1355,7 @@ export const grammar = triviaEnhancer({
1321
1355
  *Null() {
1322
1356
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1323
1357
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1324
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1358
+ arguments: _t.node(_l.Instruction, "Tuple", [9, [[_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`values[]`, _t.ref`closeToken`]]], {
1325
1359
  openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1326
1360
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1327
1361
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
@@ -1343,6 +1377,7 @@ export const grammar = triviaEnhancer({
1343
1377
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
1344
1378
  closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1345
1379
  }, {})],
1380
+ separators: [_t.node(_l.Instruction, "Separator", [_t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {}))], {}, {})],
1346
1381
  closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1347
1382
  }, {})
1348
1383
  }, {});
@@ -1,7 +1,7 @@
1
1
  import { i } from '@bablr/boot/shorthand.macro';
2
2
  import { triviaEnhancer } from '@bablr/helpers/trivia';
3
3
  import * as productions from '@bablr/helpers/productions';
4
- import { buildString, buildBoolean } from '@bablr/agast-vm-helpers';
4
+ import { buildString, buildBoolean } from '@bablr/helpers/builders';
5
5
  import {
6
6
  Node,
7
7
  CoveredBy,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bablr/language-en-json",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "A BABLR language for JSON",
5
5
  "engines": {
6
6
  "node": ">=12.0.0"
@@ -10,9 +10,7 @@
10
10
  ".": "./lib/grammar.js",
11
11
  "./package.json": "./package.json"
12
12
  },
13
- "files": [
14
- "lib/**/*.js"
15
- ],
13
+ "files": ["lib/**/*.js"],
16
14
  "scripts": {
17
15
  "build": "macrome build",
18
16
  "watch": "macrome watch",
@@ -21,10 +19,10 @@
21
19
  },
22
20
  "sideEffects": false,
23
21
  "dependencies": {
24
- "@bablr/agast-helpers": "^0.5.0",
22
+ "@bablr/agast-helpers": "^0.5.3",
25
23
  "@bablr/agast-vm-helpers": "^0.5.0",
26
24
  "@bablr/boot": "^0.6.0",
27
- "@bablr/helpers": "^0.20.0",
25
+ "@bablr/helpers": "^0.20.5",
28
26
  "@bablr/language-en-blank-space": "^0.5.0",
29
27
  "@babel/runtime": "^7.22.15"
30
28
  },
@@ -43,12 +41,7 @@
43
41
  "mocha": "^10.4.0",
44
42
  "prettier": "^2.0.5"
45
43
  },
46
- "keywords": [
47
- "bablr-language",
48
- "grammar",
49
- "english",
50
- "json"
51
- ],
44
+ "keywords": ["bablr-language", "grammar", "english", "json"],
52
45
  "repository": "git@github.com:bablr-lang/language-en-json.git",
53
46
  "homepage": "https://github.com/bablr-lang/language-en-json",
54
47
  "author": "Conrad Buck <conartist6@gmail.com>",