@bablr/language-en-json 0.6.0 → 0.7.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,18 +1,18 @@
1
1
  /* @macrome
2
2
  * @generatedby @bablr/macrome-generator-bablr
3
- * @generatedfrom ./grammar.macro.js#8be8b067a85ba5775a1c97e706916b8eab307cfd
3
+ * @generatedfrom ./grammar.macro.js#63569b27c5367a178be1443ecb737ade03f8e418
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
7
  import _applyDecs from "@babel/runtime/helpers/applyDecs2305";
8
- import { interpolateArray as _interpolateArray, interpolateArrayChildren as _interpolateArrayChildren, interpolateString as _interpolateString } from "@bablr/agast-helpers/template";
8
+ import { interpolateArray as _interpolateArray, interpolateFragmentChildren as _interpolateFragmentChildren, interpolateString as _interpolateString } from "@bablr/agast-helpers/template";
9
9
  import * as _l from "@bablr/agast-vm-helpers/languages";
10
10
  import * as _t from "@bablr/agast-helpers/shorthand";
11
- let _initProto, _ExpressionDecs, _ArrayDecs, _ObjectDecs, _StringDecs, _EscapeSequenceDecs, _NumberDecs, _BooleanDecs, _NullDecs, _KeywordDecs, _PunctuatorDecs, _ListDecs, _AnyDecs;
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
14
  import { buildString, buildBoolean } from '@bablr/agast-vm-helpers';
15
- import { Node, CoveredBy, AllowEmpty, InjectFrom, Attributes } from '@bablr/helpers/decorators';
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 = {
18
18
  Space
@@ -27,18 +27,36 @@ export const escapables = new Map(Object.entries({
27
27
  '\\': '\\',
28
28
  '/': '/'
29
29
  }));
30
+ export const getCooked = (escapeNode, span, ctx) => {
31
+ let cooked;
32
+ const codeNode = escapeNode.get('code');
33
+ const type = ctx.sourceTextFor(codeNode.get('typeToken'));
34
+ const value = ctx.sourceTextFor(codeNode.get('value'));
35
+ if (!span.startsWith('String')) {
36
+ throw new Error('not implemented');
37
+ }
38
+ if (!type) {
39
+ const match_ = ctx.sourceTextFor(codeNode);
40
+ cooked = escapables.get(match_) || match_;
41
+ } else if (type === 'u') {
42
+ cooked = parseInt(value, 16);
43
+ } else {
44
+ throw new Error();
45
+ }
46
+ return cooked.toString(10);
47
+ };
30
48
  export const grammar = triviaEnhancer({
31
49
  triviaIsAllowed: s => s.span === 'Bare',
32
50
  *eatMatchTrivia() {
33
51
  if (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
34
52
  verb: _t.s_node(_l.Instruction, "Identifier", "match"),
35
53
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
36
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
54
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
37
55
  values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
38
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
56
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
39
57
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
40
58
  elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
41
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
59
+ openToken: _t.s_node(_l.Regex, "Punctuator", "["),
42
60
  elements: [_t.node(_l.Regex, "Character", [_t.lit(" ")], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\n")], {}, {
43
61
  cooked: "\n"
44
62
  }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\r")], {}, {
@@ -46,64 +64,63 @@ export const grammar = triviaEnhancer({
46
64
  }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\t")], {}, {
47
65
  cooked: "\t"
48
66
  }))], {}, {})],
49
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
67
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "]")
50
68
  }, {
51
69
  negate: false
52
70
  })]
53
71
  }, {})],
54
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
72
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
55
73
  }, {})],
56
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
74
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
57
75
  }, {})
58
76
  }, {})) {
59
77
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
60
78
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
61
79
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
62
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
80
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
63
81
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
64
82
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`language`, _t.ref`namespaceSeparatorToken`, _t.ref`type`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
65
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
83
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
66
84
  flags: _t.node(_l.CSTML, "Flags", [_t.ref`triviaToken`, _t.ref`tokenToken`], {
67
- triviaToken: _t.s_i_node(_l.CSTML, "Punctuator", "#"),
68
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
85
+ triviaToken: _t.s_node(_l.CSTML, "Punctuator", "#"),
86
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
87
+ }, {}),
88
+ language: _t.node(_l.CSTML, "IdentifierPath", [_t.ref`segments[]`, _t.arr(), _t.ref`segments[]`], {
89
+ segments: [_t.s_node(_l.CSTML, "Identifier", "Space")]
69
90
  }, {}),
70
- language: _t.s_node(_l.Spamex, "Identifier", "Space"),
71
- namespaceSeparatorToken: _t.s_i_node(_l.Spamex, "Punctuator", ":"),
72
- type: _t.s_node(_l.Spamex, "Identifier", "Space"),
73
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
74
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
91
+ namespaceSeparatorToken: _t.s_node(_l.CSTML, "Punctuator", ":"),
92
+ type: _t.s_node(_l.CSTML, "Identifier", "Space"),
93
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
94
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
75
95
  }, {})
76
96
  }, {})],
77
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
97
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
78
98
  }, {})
79
99
  }, {});
80
100
  }
81
101
  }
82
102
  }, class JSONGrammar {
83
103
  static {
84
- [_initProto] = _applyDecs(this, [[_ExpressionDecs, 2, "Expression"], [_ArrayDecs, 2, "Array"], [_ObjectDecs, 2, "Object"], [Node, 2, "Property"], [_StringDecs, 2, "String"], [[AllowEmpty, Node], 2, "StringContent"], [_EscapeSequenceDecs, 2, "EscapeSequence"], [Node, 2, "EscapeCode"], [_NumberDecs, 2, "Number"], [Node, 2, "Integer"], [Node, 2, "UnsignedInteger"], [_BooleanDecs, 2, "Boolean"], [_NullDecs, 2, "Null"], [_KeywordDecs, 2, "Keyword"], [_PunctuatorDecs, 2, "Punctuator"], [_ListDecs, 2, "List"], [_AnyDecs, 2, "Any"]], []).e;
104
+ [_initProto] = _applyDecs(this, [[_ExpressionDecs, 2, "Expression"], [_ArrayDecs, 2, "Array"], [_ObjectDecs, 2, "Object"], [Node, 2, "Property"], [_StringDecs, 2, "String"], [[AllowEmpty, Node], 2, "StringContent"], [Node, 2, "EscapeSequence"], [Node, 2, "EscapeCode"], [_NumberDecs, 2, "Number"], [Node, 2, "Integer"], [Node, 2, "UnsignedInteger"], [_BooleanDecs, 2, "Boolean"], [_NullDecs, 2, "Null"], [_KeywordDecs, 2, "Keyword"], [_PunctuatorDecs, 2, "Punctuator"], [_ListDecs, 2, "List"], [_AnyDecs, 2, "Any"]], []).e;
85
105
  }
86
106
  constructor() {
87
107
  _initProto(this);
88
108
  }
89
- *[(_ExpressionDecs = CoveredBy('Element'), _ArrayDecs = [CoveredBy('Expression'), Node], _ObjectDecs = [CoveredBy('Expression'), Node], _StringDecs = [CoveredBy('Language'), Node], _EscapeSequenceDecs = [Attributes(['cooked']), Node], _NumberDecs = [CoveredBy('Expression'), Node], _BooleanDecs = [CoveredBy('Expression'), Node], _NullDecs = [CoveredBy('Expression'), Node], _KeywordDecs = [Node, InjectFrom(productions)], _PunctuatorDecs = [Node, InjectFrom(productions)], _ListDecs = [AllowEmpty, InjectFrom(productions)], _AnyDecs = InjectFrom(productions), Symbol.for('@bablr/fragment'))]() {
109
+ *[(_ExpressionDecs = CoveredBy('Element'), _ArrayDecs = [CoveredBy('Expression'), Node], _ObjectDecs = [CoveredBy('Expression'), Node], _StringDecs = [CoveredBy('Language'), Node], _NumberDecs = [CoveredBy('Expression'), Node], _BooleanDecs = [CoveredBy('Expression'), Node], _NullDecs = [CoveredBy('Expression'), Node], _KeywordDecs = [Node, InjectFrom(productions)], _PunctuatorDecs = [Node, InjectFrom(productions)], _ListDecs = [AllowEmpty, InjectFrom(productions)], _AnyDecs = InjectFrom(productions), Symbol.for('@bablr/fragment'))]() {
110
+ // needed for the trivia plugin
90
111
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
91
112
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
92
- 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`], {
93
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
113
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
114
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
94
115
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
95
116
  open: _t.node(_l.Spamex, "OpenNodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.embedded(_t.node(_l.Spamex, "Space", [_t.lit(" ")], {}, {})), _t.ref`selfClosingTagToken`, _t.ref`closeToken`], {
96
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
117
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
97
118
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
98
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
99
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
119
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
120
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
100
121
  }, {})
101
- }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
102
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
103
- content: _t.node(_l.CSTML, "Content", [_t.lit("root")], {}, {}),
104
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
105
122
  }, {})],
106
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
123
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
107
124
  }, {})
108
125
  }, {});
109
126
  }
@@ -111,127 +128,127 @@ export const grammar = triviaEnhancer({
111
128
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
112
129
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
113
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`]]], {
114
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
131
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
115
132
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
116
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`], {
117
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
134
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
118
135
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
119
136
  type: _t.s_node(_l.Spamex, "Identifier", "Any"),
120
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
121
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
137
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
138
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
122
139
  }, {})
123
140
  }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
124
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
141
+ sigilToken: _t.s_node(_l.Instruction, "Keyword", "null")
125
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`]]], {
126
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "["),
143
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "["),
127
144
  elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
128
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`], {
129
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
146
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
130
147
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
131
148
  type: _t.s_node(_l.Spamex, "Identifier", "Array"),
132
149
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
133
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
150
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
134
151
  content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}),
135
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
152
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
136
153
  }, {}),
137
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
138
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
154
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
155
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
139
156
  }, {})
140
157
  }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
141
158
  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`], {
142
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
159
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
143
160
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
144
161
  type: _t.s_node(_l.Spamex, "Identifier", "Object"),
145
162
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
146
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
163
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
147
164
  content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}),
148
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
165
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
149
166
  }, {}),
150
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
151
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
167
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
168
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
152
169
  }, {})
153
170
  }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
154
171
  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`], {
155
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
172
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
156
173
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
157
174
  type: _t.s_node(_l.Spamex, "Identifier", "String"),
158
175
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
159
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
176
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
160
177
  content: _t.node(_l.CSTML, "Content", [_t.lit("\"")], {}, {}),
161
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
178
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
162
179
  }, {}),
163
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
164
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
180
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
181
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
165
182
  }, {})
166
183
  }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
167
184
  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`]]], {
168
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
185
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
169
186
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
170
187
  type: _t.s_node(_l.Spamex, "Identifier", "Number"),
171
188
  intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
172
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
189
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
173
190
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`], {
174
191
  elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
175
192
  element: _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {}),
176
- value: _t.s_i_node(_l.Regex, "Keyword", "?")
193
+ value: _t.s_node(_l.Regex, "Keyword", "?")
177
194
  }, {
178
195
  min: 0,
179
196
  max: 1,
180
197
  greedy: true
181
198
  }), _t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
182
- escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
183
- value: _t.s_i_node(_l.Regex, "Keyword", "d")
199
+ escapeToken: _t.s_node(_l.Regex, "Punctuator", "\\"),
200
+ value: _t.s_node(_l.Regex, "Keyword", "d")
184
201
  }, {})]
185
202
  }, {})],
186
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
203
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
187
204
  }, {}),
188
205
  attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
189
206
  key: _t.s_node(_l.Spamex, "Identifier", "span"),
190
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
207
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
191
208
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
192
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
209
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
193
210
  content: _t.node(_l.CSTML, "Content", [_t.lit("Number")], {}, {}),
194
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
211
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
195
212
  }, {})
196
213
  }, {})],
197
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
198
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
214
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
215
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
199
216
  }, {})
200
217
  }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
201
218
  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`], {
202
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
219
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
203
220
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
204
221
  type: _t.s_node(_l.Spamex, "Identifier", "Null"),
205
222
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
206
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
223
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
207
224
  content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}),
208
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
225
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
209
226
  }, {}),
210
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
211
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
227
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
228
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
212
229
  }, {})
213
230
  }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
214
231
  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`], {
215
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
232
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
216
233
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
217
234
  type: _t.s_node(_l.Spamex, "Identifier", "Boolean"),
218
235
  intrinsicValue: _t.node(_l.Regex, "Pattern", [9, [[_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`]]], {
219
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
236
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
220
237
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
221
238
  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")], {}, {})]
222
239
  }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
223
240
  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")], {}, {})]
224
241
  }, {})],
225
- separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
226
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
242
+ separators: [_t.s_node(_l.Regex, "Punctuator", "|")],
243
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
227
244
  }, {}),
228
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
229
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
245
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
246
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
230
247
  }, {})
231
248
  }, {})],
232
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "]")
249
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", "]")
233
250
  }, {})],
234
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
251
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
235
252
  }, {})
236
253
  }, {});
237
254
  }
@@ -239,131 +256,128 @@ export const grammar = triviaEnhancer({
239
256
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
240
257
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
241
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`], {
242
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
259
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
243
260
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
244
261
  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`]]], {
245
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
246
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
247
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
248
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
262
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
263
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
264
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
249
265
  }, {}),
250
266
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
251
267
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
252
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
268
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
253
269
  content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}),
254
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
270
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
255
271
  }, {}),
256
272
  attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
257
273
  key: _t.s_node(_l.Spamex, "Identifier", "balanced"),
258
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
274
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
259
275
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
260
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
276
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
261
277
  content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}),
262
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
278
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
263
279
  }, {})
264
280
  }, {})],
265
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
266
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
281
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
282
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
267
283
  }, {})
268
284
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
269
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
285
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
270
286
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
271
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
287
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
272
288
  }, {})],
273
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
289
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
274
290
  }, {})
275
291
  }, {});
276
292
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
277
293
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
278
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`]]], {
279
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
295
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
280
296
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
281
297
  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`], {
282
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
298
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
283
299
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
284
300
  type: _t.s_node(_l.Spamex, "Identifier", "List"),
285
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
286
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
301
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
302
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
287
303
  }, {})
288
304
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
289
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
290
- content: _t.node(_l.CSTML, "Content", [_t.lit("elements[]")], {}, {}),
291
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
305
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
306
+ content: _t.node(_l.CSTML, "Content", [_t.lit("elements[]$")], {}, {}),
307
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
292
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`]]], {
293
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "{"),
309
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "{"),
294
310
  properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
295
311
  key: _t.node(_l.Instruction, "Literal", [_t.lit("element")], {}, {}),
296
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
312
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
297
313
  value: _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
298
314
  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`], {
299
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
315
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
300
316
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
301
317
  type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
302
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
303
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
318
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
319
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
304
320
  }, {})
305
321
  }, {})
306
322
  }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
307
323
  key: _t.node(_l.Instruction, "Literal", [_t.lit("separator")], {}, {}),
308
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
324
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
309
325
  value: _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
310
326
  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`], {
311
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
312
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
313
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
314
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
327
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
328
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
329
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
315
330
  }, {}),
316
331
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
317
332
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
318
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
333
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
319
334
  content: _t.node(_l.CSTML, "Content", [_t.lit(",")], {}, {}),
320
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
335
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
321
336
  }, {}),
322
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
323
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
337
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
338
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
324
339
  }, {})
325
340
  }, {})
326
341
  }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
327
342
  key: _t.node(_l.Instruction, "Literal", [_t.lit("allowTrailingSeparator")], {}, {}),
328
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
343
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
329
344
  value: _t.node(_l.Instruction, "Boolean", [_t.ref`sigilToken`], {
330
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "false")
345
+ sigilToken: _t.s_node(_l.Instruction, "Keyword", "false")
331
346
  }, {})
332
347
  }, {})],
333
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "}")
348
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", "}")
334
349
  }, {})],
335
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
350
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
336
351
  }, {})
337
352
  }, {});
338
353
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
339
354
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
340
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`], {
341
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
356
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
342
357
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
343
358
  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`]]], {
344
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
345
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
346
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
347
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
359
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
360
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
361
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
348
362
  }, {}),
349
363
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
350
364
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
351
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
365
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
352
366
  content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}),
353
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
367
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
354
368
  }, {}),
355
369
  attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
356
370
  key: _t.s_node(_l.Spamex, "Identifier", "balancer")
357
371
  }, {})],
358
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
359
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
372
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
373
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
360
374
  }, {})
361
375
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
362
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
376
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
363
377
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
364
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
378
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
365
379
  }, {})],
366
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
380
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
367
381
  }, {})
368
382
  }, {});
369
383
  }
@@ -371,131 +385,128 @@ export const grammar = triviaEnhancer({
371
385
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
372
386
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
373
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`], {
374
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
388
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
375
389
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
376
390
  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
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
378
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
379
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
380
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
391
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
392
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
393
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
381
394
  }, {}),
382
395
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
383
396
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
384
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
397
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
385
398
  content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}),
386
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
399
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
387
400
  }, {}),
388
401
  attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
389
402
  key: _t.s_node(_l.Spamex, "Identifier", "balanced"),
390
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
403
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
391
404
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
392
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
405
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
393
406
  content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}),
394
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
407
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
395
408
  }, {})
396
409
  }, {})],
397
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
398
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
410
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
411
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
399
412
  }, {})
400
413
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
401
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
414
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
402
415
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
403
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
416
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
404
417
  }, {})],
405
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
418
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
406
419
  }, {})
407
420
  }, {});
408
421
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
409
422
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
410
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`]]], {
411
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
424
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
412
425
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
413
426
  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`], {
414
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
427
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
415
428
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
416
429
  type: _t.s_node(_l.Spamex, "Identifier", "List"),
417
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
418
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
430
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
431
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
419
432
  }, {})
420
433
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
421
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
422
- content: _t.node(_l.CSTML, "Content", [_t.lit("properties[]")], {}, {}),
423
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
434
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
435
+ content: _t.node(_l.CSTML, "Content", [_t.lit("properties[]$")], {}, {}),
436
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
424
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`]]], {
425
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "{"),
438
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "{"),
426
439
  properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
427
440
  key: _t.node(_l.Instruction, "Literal", [_t.lit("element")], {}, {}),
428
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
441
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
429
442
  value: _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
430
443
  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`], {
431
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
444
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
432
445
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
433
446
  type: _t.s_node(_l.Spamex, "Identifier", "Property"),
434
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
435
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
447
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
448
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
436
449
  }, {})
437
450
  }, {})
438
451
  }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
439
452
  key: _t.node(_l.Instruction, "Literal", [_t.lit("separator")], {}, {}),
440
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
453
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
441
454
  value: _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
442
455
  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`], {
443
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
444
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
445
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
446
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
456
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
457
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
458
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
447
459
  }, {}),
448
460
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
449
461
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
450
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
462
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
451
463
  content: _t.node(_l.CSTML, "Content", [_t.lit(",")], {}, {}),
452
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
464
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
453
465
  }, {}),
454
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
455
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
466
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
467
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
456
468
  }, {})
457
469
  }, {})
458
470
  }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
459
471
  key: _t.node(_l.Instruction, "Literal", [_t.lit("allowTrailingSeparator")], {}, {}),
460
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
472
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
461
473
  value: _t.node(_l.Instruction, "Boolean", [_t.ref`sigilToken`], {
462
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "false")
474
+ sigilToken: _t.s_node(_l.Instruction, "Keyword", "false")
463
475
  }, {})
464
476
  }, {})],
465
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "}")
477
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", "}")
466
478
  }, {})],
467
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
479
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
468
480
  }, {})
469
481
  }, {});
470
482
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
471
483
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
472
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`], {
473
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
485
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
474
486
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
475
487
  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`]]], {
476
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
477
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
478
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
479
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
488
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
489
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
490
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
480
491
  }, {}),
481
492
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
482
493
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
483
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
494
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
484
495
  content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}),
485
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
496
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
486
497
  }, {}),
487
498
  attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
488
499
  key: _t.s_node(_l.Spamex, "Identifier", "balancer")
489
500
  }, {})],
490
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
491
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
501
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
502
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
492
503
  }, {})
493
504
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
494
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
505
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
495
506
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
496
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
507
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
497
508
  }, {})],
498
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
509
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
499
510
  }, {})
500
511
  }, {});
501
512
  }
@@ -503,69 +514,68 @@ export const grammar = triviaEnhancer({
503
514
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
504
515
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
505
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`], {
506
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
517
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
507
518
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
508
519
  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`], {
509
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
520
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
510
521
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
511
522
  type: _t.s_node(_l.Spamex, "Identifier", "String"),
512
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
513
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
523
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
524
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
514
525
  }, {})
515
526
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
516
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
517
- content: _t.node(_l.CSTML, "Content", [_t.lit("key")], {}, {}),
518
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
527
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
528
+ content: _t.node(_l.CSTML, "Content", [_t.lit("key$")], {}, {}),
529
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
519
530
  }, {})],
520
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
531
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
521
532
  }, {})
522
533
  }, {});
523
534
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
524
535
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
525
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`], {
526
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
537
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
527
538
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
528
539
  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`], {
529
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
530
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
531
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
532
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
540
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
541
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
542
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
533
543
  }, {}),
534
544
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
535
545
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
536
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
546
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
537
547
  content: _t.node(_l.CSTML, "Content", [_t.lit(":")], {}, {}),
538
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
548
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
539
549
  }, {}),
540
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
541
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
550
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
551
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
542
552
  }, {})
543
553
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
544
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
554
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
545
555
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
546
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
556
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
547
557
  }, {})],
548
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
558
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
549
559
  }, {})
550
560
  }, {});
551
561
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
552
562
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
553
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`], {
554
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
564
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
555
565
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
556
566
  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`], {
557
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
567
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
558
568
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
559
569
  type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
560
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
561
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
570
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
571
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
562
572
  }, {})
563
573
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
564
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
565
- content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}),
566
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
574
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
575
+ content: _t.node(_l.CSTML, "Content", [_t.lit("value$")], {}, {}),
576
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
567
577
  }, {})],
568
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
578
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
569
579
  }, {})
570
580
  }, {});
571
581
  }
@@ -573,99 +583,97 @@ export const grammar = triviaEnhancer({
573
583
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
574
584
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
575
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`], {
576
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
586
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
577
587
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
578
588
  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`]]], {
579
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
580
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
581
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
582
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
589
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
590
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
591
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
583
592
  }, {}),
584
593
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
585
594
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
586
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
595
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
587
596
  content: _t.node(_l.CSTML, "Content", [_t.lit("\"")], {}, {}),
588
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
597
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
589
598
  }, {}),
590
599
  attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
591
600
  key: _t.s_node(_l.Spamex, "Identifier", "balanced"),
592
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
601
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
593
602
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
594
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
603
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
595
604
  content: _t.node(_l.CSTML, "Content", [_t.lit("\"")], {}, {}),
596
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
605
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
597
606
  }, {})
598
607
  }, {}), _t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
599
608
  key: _t.s_node(_l.Spamex, "Identifier", "balancedSpan"),
600
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
609
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
601
610
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
602
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
611
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
603
612
  content: _t.node(_l.CSTML, "Content", [_t.lit("String")], {}, {}),
604
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
613
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
605
614
  }, {})
606
615
  }, {})],
607
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
608
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
616
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
617
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
609
618
  }, {})
610
619
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
611
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
620
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
612
621
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
613
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
622
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
614
623
  }, {})],
615
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
624
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
616
625
  }, {})
617
626
  }, {});
618
627
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
619
628
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
620
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`], {
621
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
630
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
622
631
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
623
632
  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`], {
624
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
633
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
625
634
  flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
626
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
635
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
627
636
  }, {}),
628
637
  type: _t.s_node(_l.Spamex, "Identifier", "StringContent"),
629
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
630
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
638
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
639
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
631
640
  }, {})
632
641
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
633
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
642
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
634
643
  content: _t.node(_l.CSTML, "Content", [_t.lit("content")], {}, {}),
635
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
644
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
636
645
  }, {})],
637
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
646
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
638
647
  }, {})
639
648
  }, {});
640
649
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
641
650
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
642
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`], {
643
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
652
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
644
653
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
645
654
  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`]]], {
646
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
647
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
648
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
649
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
655
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
656
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
657
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
650
658
  }, {}),
651
659
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
652
660
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
653
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
661
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
654
662
  content: _t.node(_l.CSTML, "Content", [_t.lit("\"")], {}, {}),
655
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
663
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
656
664
  }, {}),
657
665
  attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
658
666
  key: _t.s_node(_l.Spamex, "Identifier", "balancer")
659
667
  }, {})],
660
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
661
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
668
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
669
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
662
670
  }, {})
663
671
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
664
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
672
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
665
673
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
666
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
674
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
667
675
  }, {})],
668
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
676
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
669
677
  }, {})
670
678
  }, {});
671
679
  }
@@ -675,66 +683,69 @@ export const grammar = triviaEnhancer({
675
683
  esc = (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
676
684
  verb: _t.s_node(_l.Instruction, "Identifier", "match"),
677
685
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
678
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
686
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
679
687
  values: [_t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
680
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
688
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
681
689
  content: _t.node(_l.CSTML, "Content", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\\\")], {}, {
682
690
  cooked: "\\"
683
691
  }))], {}, {}),
684
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
692
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
685
693
  }, {})],
686
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
694
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
687
695
  }, {})
688
696
  }, {})) && (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
689
697
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
690
698
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
691
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
699
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
692
700
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
693
701
  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`], {
694
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
702
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
695
703
  flags: _t.node(_l.CSTML, "Flags", [_t.ref`escapeToken`], {
696
- escapeToken: _t.s_i_node(_l.CSTML, "Punctuator", "@")
704
+ escapeToken: _t.s_node(_l.CSTML, "Punctuator", "@")
697
705
  }, {}),
698
706
  type: _t.s_node(_l.Spamex, "Identifier", "EscapeSequence"),
699
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
700
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
707
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
708
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
701
709
  }, {})
702
710
  }, {})],
703
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
711
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
704
712
  }, {})
705
713
  }, {}));
706
714
  lit = yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
707
715
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
708
716
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
709
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
717
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
710
718
  values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
711
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
719
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
712
720
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
713
721
  elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
714
- element: _t.node(_l.Regex, "CharacterClass", [9, [[_t.ref`openToken`, _t.ref`negateToken`, _t.ref`elements[]`, _t.arr()], [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`]]], {
715
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
716
- negateToken: _t.s_i_node(_l.Regex, "Keyword", "^"),
722
+ element: _t.node(_l.Regex, "CharacterClass", [10, [[_t.ref`openToken`, _t.ref`negateToken`, _t.ref`elements[]`, _t.arr()], [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`]]], {
723
+ openToken: _t.s_node(_l.Regex, "Punctuator", "["),
724
+ negateToken: _t.s_node(_l.Regex, "Keyword", "^"),
717
725
  elements: [_t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\r")], {}, {
718
726
  cooked: "\r"
719
727
  }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\n")], {}, {
720
728
  cooked: "\n"
721
729
  }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\\\")], {}, {
722
730
  cooked: "\\"
723
- }))], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("\"")], {}, {})],
724
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
731
+ }))], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("\"")], {}, {}), _t.node(_l.Regex, "Gap", [_t.ref`escapeToken`, _t.ref`value`], {
732
+ escapeToken: _t.s_node(_l.Regex, "Punctuator", "\\"),
733
+ value: _t.s_node(_l.Regex, "Keyword", "g")
734
+ }, {})],
735
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "]")
725
736
  }, {
726
737
  negate: true
727
738
  }),
728
- value: _t.s_i_node(_l.Regex, "Keyword", "+")
739
+ value: _t.s_node(_l.Regex, "Keyword", "+")
729
740
  }, {
730
741
  min: 1,
731
742
  max: Infinity,
732
743
  greedy: true
733
744
  })]
734
745
  }, {})],
735
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
746
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
736
747
  }, {})],
737
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
748
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
738
749
  }, {})
739
750
  }, {});
740
751
  } while (esc || lit);
@@ -749,215 +760,204 @@ export const grammar = triviaEnhancer({
749
760
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
750
761
  verb: _t.s_node(_l.Instruction, "Identifier", "fail"),
751
762
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`closeToken`], {
752
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
753
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
763
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
764
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
754
765
  }, {})
755
766
  }, {});
756
767
  }
757
768
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
758
769
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
759
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`], {
760
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
771
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
761
772
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
762
773
  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`]]], {
763
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
764
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
765
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
766
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
774
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
775
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
776
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
767
777
  }, {}),
768
778
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
769
779
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
770
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
780
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
771
781
  content: _t.node(_l.CSTML, "Content", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\\\")], {}, {
772
782
  cooked: "\\"
773
783
  }))], {}, {}),
774
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
784
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
775
785
  }, {}),
776
786
  attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
777
787
  key: _t.s_node(_l.Spamex, "Identifier", "openSpan"),
778
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
788
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
779
789
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
780
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
790
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
781
791
  content: _t.node(_l.CSTML, "Content", [_t.lit("Escape")], {}, {}),
782
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
792
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
783
793
  }, {})
784
794
  }, {})],
785
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
786
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
795
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
796
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
787
797
  }, {})
788
798
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
789
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
799
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
790
800
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
791
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
801
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
792
802
  }, {})],
793
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
803
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
794
804
  }, {})
795
805
  }, {});
796
- let match, cooked;
806
+ let match;
797
807
  if (match = yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
798
808
  verb: _t.s_node(_l.Instruction, "Identifier", "match"),
799
809
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
800
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
810
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
801
811
  values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
802
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
812
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
803
813
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
804
814
  elements: [_t.node(_l.Regex, "CharacterClass", [12, [[_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _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`closeToken`]]], {
805
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
815
+ openToken: _t.s_node(_l.Regex, "Punctuator", "["),
806
816
  elements: [_t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\\\")], {}, {
807
817
  cooked: "\\"
808
818
  }))], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("/")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("b")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("n")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("r")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("\"")], {}, {})],
809
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
819
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "]")
810
820
  }, {
811
821
  negate: false
812
822
  })]
813
823
  }, {})],
814
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
824
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
815
825
  }, {})],
816
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
826
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
817
827
  }, {})
818
828
  }, {})) {
819
829
  const match_ = ctx.sourceTextFor(match);
820
830
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
821
831
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
822
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`], {
823
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
833
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
824
834
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
825
835
  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`]]], {
826
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
827
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
828
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
829
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
836
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
837
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
838
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
830
839
  }, {}),
831
840
  type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
832
841
  intrinsicValue: buildString(match_),
833
842
  attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
834
843
  key: _t.s_node(_l.Spamex, "Identifier", "closeSpan"),
835
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
844
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
836
845
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
837
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
846
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
838
847
  content: _t.node(_l.CSTML, "Content", [_t.lit("Escape")], {}, {}),
839
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
848
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
840
849
  }, {})
841
850
  }, {})],
842
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
843
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
851
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
852
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
844
853
  }, {})
845
854
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
846
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
847
- content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}),
848
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
855
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
856
+ content: _t.node(_l.CSTML, "Content", [_t.lit("code")], {}, {}),
857
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
849
858
  }, {})],
850
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
859
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
851
860
  }, {})
852
861
  }, {});
853
- cooked = escapables.get(match_) || match_;
854
862
  } else if (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
855
863
  verb: _t.s_node(_l.Instruction, "Identifier", "match"),
856
864
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
857
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
865
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
858
866
  values: [_t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
859
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
867
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
860
868
  content: _t.node(_l.CSTML, "Content", [_t.lit("u")], {}, {}),
861
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
869
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
862
870
  }, {})],
863
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
871
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
864
872
  }, {})
865
873
  }, {})) {
866
- const codeNode = yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
874
+ yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
867
875
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
868
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`], {
869
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
877
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
870
878
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
871
879
  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`]]], {
872
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
880
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
873
881
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
874
882
  type: _t.s_node(_l.Spamex, "Identifier", "EscapeCode"),
875
883
  attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
876
884
  key: _t.s_node(_l.Spamex, "Identifier", "closeSpan"),
877
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
885
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
878
886
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
879
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
887
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
880
888
  content: _t.node(_l.CSTML, "Content", [_t.lit("Escape")], {}, {}),
881
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
889
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
882
890
  }, {})
883
891
  }, {})],
884
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
885
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
892
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
893
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
886
894
  }, {})
887
895
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
888
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
889
- content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}),
890
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
896
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
897
+ content: _t.node(_l.CSTML, "Content", [_t.lit("code")], {}, {}),
898
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
891
899
  }, {})],
892
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
900
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
893
901
  }, {})
894
902
  }, {});
895
- cooked = parseInt(codeNode.properties.digits.map(digit => ctx.sourceTextFor(digit)).join(''), 16);
896
903
  } else {
897
904
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
898
905
  verb: _t.s_node(_l.Instruction, "Identifier", "fail"),
899
906
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`closeToken`], {
900
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
901
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
907
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
908
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
902
909
  }, {})
903
910
  }, {});
904
911
  }
905
- yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
906
- verb: _t.s_node(_l.Instruction, "Identifier", "bindAttribute"),
907
- 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(" ")], {}, {})), ..._interpolateArrayChildren(buildString(cooked.toString(10)), _t.ref`values[]`, _t.embedded(_t.t_node(_l.Comment, null, [_t.embedded(_t.t_node('Space', 'Space', [_t.lit(' ')]))]))), _t.ref`closeToken`], {
908
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
909
- values: [_t.s_node(_l.Instruction, "Identifier", "cooked"), ..._interpolateArray(buildString(cooked.toString(10)))],
910
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
911
- }, {})
912
- }, {});
913
912
  }
914
913
  *EscapeCode() {
915
914
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
916
915
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
917
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`], {
918
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
917
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
919
918
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
920
919
  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`], {
921
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
922
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
923
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
924
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
920
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
921
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
922
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
925
923
  }, {}),
926
924
  type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
927
925
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
928
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
926
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
929
927
  content: _t.node(_l.CSTML, "Content", [_t.lit("u")], {}, {}),
930
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
928
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
931
929
  }, {}),
932
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
933
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
930
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
931
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
934
932
  }, {})
935
933
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
936
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
934
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
937
935
  content: _t.node(_l.CSTML, "Content", [_t.lit("typeToken")], {}, {}),
938
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
936
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
939
937
  }, {})],
940
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
938
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
941
939
  }, {})
942
940
  }, {});
943
941
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
944
942
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
945
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`], {
946
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
944
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
947
945
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
948
946
  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`], {
949
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
950
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
951
- type: _t.s_node(_l.Spamex, "Identifier", "Digits"),
952
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
953
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
947
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
948
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
949
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
950
+ }, {}),
951
+ type: _t.s_node(_l.Spamex, "Identifier", "UnsignedInteger"),
952
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
953
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
954
954
  }, {})
955
955
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
956
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
957
- content: _t.node(_l.CSTML, "Content", [_t.lit("digits[]")], {}, {}),
958
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
956
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
957
+ content: _t.node(_l.CSTML, "Content", [_t.lit("value$")], {}, {}),
958
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
959
959
  }, {})],
960
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
960
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
961
961
  }, {})
962
962
  }, {});
963
963
  }
@@ -965,196 +965,194 @@ export const grammar = triviaEnhancer({
965
965
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
966
966
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
967
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`]]], {
968
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
968
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
969
969
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
970
970
  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`], {
971
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
971
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
972
972
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
973
973
  type: _t.s_node(_l.Spamex, "Identifier", "Integer"),
974
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
975
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
974
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
975
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
976
976
  }, {})
977
977
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
978
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
978
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
979
979
  content: _t.node(_l.CSTML, "Content", [_t.lit("wholePart")], {}, {}),
980
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
980
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
981
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`]]], {
982
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "{"),
982
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "{"),
983
983
  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
984
  key: _t.node(_l.Instruction, "Literal", [_t.lit("noDoubleZero")], {}, {}),
985
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
985
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
986
986
  value: _t.node(_l.Instruction, "Boolean", [_t.ref`sigilToken`], {
987
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "true")
987
+ sigilToken: _t.s_node(_l.Instruction, "Keyword", "true")
988
988
  }, {})
989
989
  }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
990
990
  key: _t.node(_l.Instruction, "Literal", [_t.lit("matchSign")], {}, {}),
991
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
991
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
992
992
  value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
993
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
993
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
994
994
  content: _t.node(_l.CSTML, "Content", [_t.lit("-")], {}, {}),
995
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
995
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
996
996
  }, {})
997
997
  }, {})],
998
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "}")
998
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", "}")
999
999
  }, {})],
1000
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1000
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1001
1001
  }, {})
1002
1002
  }, {});
1003
1003
  let fs = yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1004
1004
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
1005
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`], {
1006
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1006
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1007
1007
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1008
1008
  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`], {
1009
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1010
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
1011
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
1012
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
1009
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
1010
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
1011
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
1013
1012
  }, {}),
1014
1013
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
1015
1014
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1016
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1015
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1017
1016
  content: _t.node(_l.CSTML, "Content", [_t.lit(".")], {}, {}),
1018
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1017
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1019
1018
  }, {}),
1020
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1021
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1019
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
1020
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
1022
1021
  }, {})
1023
1022
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1024
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1023
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1025
1024
  content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalSeparatorToken")], {}, {}),
1026
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1025
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1027
1026
  }, {})],
1028
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1027
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1029
1028
  }, {})
1030
1029
  }, {});
1031
1030
  if (fs) {
1032
1031
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1033
1032
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1034
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`], {
1035
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1034
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1036
1035
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1037
1036
  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`], {
1038
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1037
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
1039
1038
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
1040
1039
  type: _t.s_node(_l.Spamex, "Identifier", "Integer"),
1041
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1042
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1040
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
1041
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
1043
1042
  }, {})
1044
1043
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1045
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1044
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1046
1045
  content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalPart")], {}, {}),
1047
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1046
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1048
1047
  }, {})],
1049
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1048
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1050
1049
  }, {})
1051
1050
  }, {});
1052
1051
  } else {
1053
1052
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1054
1053
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1055
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`], {
1056
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1055
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1057
1056
  values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
1058
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
1057
+ sigilToken: _t.s_node(_l.Instruction, "Keyword", "null")
1059
1058
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1060
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1059
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1061
1060
  content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalPart")], {}, {}),
1062
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1061
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1063
1062
  }, {})],
1064
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1063
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1065
1064
  }, {})
1066
1065
  }, {});
1067
1066
  }
1068
1067
  let es = yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1069
1068
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
1070
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`], {
1071
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1070
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1072
1071
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1073
1072
  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`], {
1074
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1075
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
1076
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
1077
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
1073
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
1074
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
1075
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
1078
1076
  }, {}),
1079
1077
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
1080
1078
  intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
1081
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
1079
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
1082
1080
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
1083
1081
  elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
1084
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
1082
+ openToken: _t.s_node(_l.Regex, "Punctuator", "["),
1085
1083
  elements: [_t.node(_l.Regex, "Character", [_t.lit("e")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("E")], {}, {})],
1086
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
1084
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "]")
1087
1085
  }, {
1088
1086
  negate: false
1089
1087
  })]
1090
1088
  }, {})],
1091
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
1089
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
1092
1090
  }, {}),
1093
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1094
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1091
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
1092
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
1095
1093
  }, {})
1096
1094
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1097
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1095
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1098
1096
  content: _t.node(_l.CSTML, "Content", [_t.lit("exponentSeparatorToken")], {}, {}),
1099
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1097
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1100
1098
  }, {})],
1101
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1099
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1102
1100
  }, {})
1103
1101
  }, {});
1104
1102
  if (es) {
1105
1103
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1106
1104
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1107
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`]]], {
1108
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1106
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1109
1107
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1110
1108
  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`], {
1111
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1109
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
1112
1110
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
1113
1111
  type: _t.s_node(_l.Spamex, "Identifier", "Integer"),
1114
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1115
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1112
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
1113
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
1116
1114
  }, {})
1117
1115
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1118
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1116
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1119
1117
  content: _t.node(_l.CSTML, "Content", [_t.lit("exponentPart")], {}, {}),
1120
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1118
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1121
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`], {
1122
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "{"),
1120
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "{"),
1123
1121
  properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], {
1124
1122
  key: _t.node(_l.Instruction, "Literal", [_t.lit("matchSign")], {}, {}),
1125
- mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"),
1123
+ mapToken: _t.s_node(_l.Instruction, "Punctuator", ":"),
1126
1124
  value: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
1127
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
1125
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
1128
1126
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
1129
1127
  elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
1130
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
1128
+ openToken: _t.s_node(_l.Regex, "Punctuator", "["),
1131
1129
  elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
1132
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
1130
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "]")
1133
1131
  }, {
1134
1132
  negate: false
1135
1133
  })]
1136
1134
  }, {})],
1137
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
1135
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
1138
1136
  }, {})
1139
1137
  }, {})],
1140
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "}")
1138
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", "}")
1141
1139
  }, {})],
1142
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1140
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1143
1141
  }, {})
1144
1142
  }, {});
1145
1143
  } else {
1146
1144
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1147
1145
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1148
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`], {
1149
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1147
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1150
1148
  values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
1151
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
1149
+ sigilToken: _t.s_node(_l.Instruction, "Keyword", "null")
1152
1150
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1153
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1151
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1154
1152
  content: _t.node(_l.CSTML, "Content", [_t.lit("exponentPart")], {}, {}),
1155
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1153
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1156
1154
  }, {})],
1157
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1155
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1158
1156
  }, {})
1159
1157
  }, {});
1160
1158
  }
@@ -1171,68 +1169,67 @@ export const grammar = triviaEnhancer({
1171
1169
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1172
1170
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
1173
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`], {
1174
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1172
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1175
1173
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1176
1174
  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`], {
1177
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1178
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
1179
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
1180
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
1175
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
1176
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
1177
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
1181
1178
  }, {}),
1182
1179
  type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
1183
1180
  intrinsicValue: matchSign,
1184
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1185
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1181
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
1182
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
1186
1183
  }, {})
1187
1184
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1188
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1185
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1189
1186
  content: _t.node(_l.CSTML, "Content", [_t.lit("signToken")], {}, {}),
1190
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1187
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1191
1188
  }, {})],
1192
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1189
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1193
1190
  }, {})
1194
1191
  }, {});
1195
1192
  } else {
1196
1193
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1197
1194
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1198
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`], {
1199
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1196
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1200
1197
  values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
1201
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
1198
+ sigilToken: _t.s_node(_l.Instruction, "Keyword", "null")
1202
1199
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1203
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1200
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1204
1201
  content: _t.node(_l.CSTML, "Content", [_t.lit("signToken")], {}, {}),
1205
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1202
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1206
1203
  }, {})],
1207
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1204
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1208
1205
  }, {})
1209
1206
  }, {});
1210
1207
  }
1211
1208
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1212
1209
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1213
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`], {
1214
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1211
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1215
1212
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1216
1213
  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`]]], {
1217
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1214
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
1218
1215
  flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
1219
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
1216
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
1220
1217
  }, {}),
1221
1218
  type: _t.s_node(_l.Spamex, "Identifier", "UnsignedInteger"),
1222
1219
  attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
1223
1220
  key: _t.s_node(_l.Spamex, "Identifier", "noDoubleZero"),
1224
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
1221
+ mapToken: _t.s_node(_l.Spamex, "Punctuator", "="),
1225
1222
  value: buildBoolean(noDoubleZero)
1226
1223
  }, {})],
1227
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1228
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1224
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
1225
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
1229
1226
  }, {})
1230
1227
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1231
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1228
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1232
1229
  content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}),
1233
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1230
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1234
1231
  }, {})],
1235
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1232
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1236
1233
  }, {})
1237
1234
  }, {});
1238
1235
  }
@@ -1246,43 +1243,43 @@ export const grammar = triviaEnhancer({
1246
1243
  let [firstDigit] = ctx.allTagsFor(yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1247
1244
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1248
1245
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
1249
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1246
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1250
1247
  values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
1251
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
1248
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
1252
1249
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
1253
1250
  elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
1254
- escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
1255
- value: _t.s_i_node(_l.Regex, "Keyword", "d")
1251
+ escapeToken: _t.s_node(_l.Regex, "Punctuator", "\\"),
1252
+ value: _t.s_node(_l.Regex, "Keyword", "d")
1256
1253
  }, {})]
1257
1254
  }, {})],
1258
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
1255
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
1259
1256
  }, {})],
1260
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1257
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1261
1258
  }, {})
1262
1259
  }, {}));
1263
1260
  if (!noDoubleZero || firstDigit.value !== '0') {
1264
1261
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1265
1262
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
1266
1263
  arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
1267
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1264
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1268
1265
  values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
1269
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
1266
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
1270
1267
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
1271
1268
  elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
1272
1269
  element: _t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
1273
- escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
1274
- value: _t.s_i_node(_l.Regex, "Keyword", "d")
1270
+ escapeToken: _t.s_node(_l.Regex, "Punctuator", "\\"),
1271
+ value: _t.s_node(_l.Regex, "Keyword", "d")
1275
1272
  }, {}),
1276
- value: _t.s_i_node(_l.Regex, "Keyword", "+")
1273
+ value: _t.s_node(_l.Regex, "Keyword", "+")
1277
1274
  }, {
1278
1275
  min: 1,
1279
1276
  max: Infinity,
1280
1277
  greedy: true
1281
1278
  })]
1282
1279
  }, {})],
1283
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
1280
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
1284
1281
  }, {})],
1285
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1282
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1286
1283
  }, {})
1287
1284
  }, {});
1288
1285
  }
@@ -1291,34 +1288,33 @@ export const grammar = triviaEnhancer({
1291
1288
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1292
1289
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1293
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`], {
1294
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1291
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1295
1292
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1296
1293
  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`], {
1297
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1298
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
1299
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
1300
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
1294
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
1295
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
1296
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
1301
1297
  }, {}),
1302
1298
  type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
1303
1299
  intrinsicValue: _t.node(_l.Regex, "Pattern", [9, [[_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`], [_t.ref`separators[]`, _t.arr(), _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`]]], {
1304
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
1300
+ openToken: _t.s_node(_l.Regex, "Punctuator", "/"),
1305
1301
  alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
1306
1302
  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")], {}, {})]
1307
1303
  }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
1308
1304
  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")], {}, {})]
1309
1305
  }, {})],
1310
- separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
1311
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
1306
+ separators: [_t.s_node(_l.Regex, "Punctuator", "|")],
1307
+ closeToken: _t.s_node(_l.Regex, "Punctuator", "/")
1312
1308
  }, {}),
1313
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1314
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1309
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
1310
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
1315
1311
  }, {})
1316
1312
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1317
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1313
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1318
1314
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
1319
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1315
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1320
1316
  }, {})],
1321
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1317
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1322
1318
  }, {})
1323
1319
  }, {});
1324
1320
  }
@@ -1326,29 +1322,28 @@ export const grammar = triviaEnhancer({
1326
1322
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
1327
1323
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
1328
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`], {
1329
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
1325
+ openToken: _t.s_node(_l.Instruction, "Punctuator", "("),
1330
1326
  values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1331
1327
  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`], {
1332
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1333
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
1334
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
1335
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
1328
+ openToken: _t.s_node(_l.Spamex, "Punctuator", "<"),
1329
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
1330
+ tokenToken: _t.s_node(_l.CSTML, "Punctuator", "*")
1336
1331
  }, {}),
1337
1332
  type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
1338
1333
  intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1339
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1334
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1340
1335
  content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}),
1341
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1336
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1342
1337
  }, {}),
1343
- selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1344
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1338
+ selfClosingTagToken: _t.s_node(_l.Spamex, "Punctuator", "/"),
1339
+ closeToken: _t.s_node(_l.Spamex, "Punctuator", ">")
1345
1340
  }, {})
1346
1341
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1347
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1342
+ openToken: _t.s_node(_l.CSTML, "Punctuator", "'"),
1348
1343
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
1349
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1344
+ closeToken: _t.s_node(_l.CSTML, "Punctuator", "'")
1350
1345
  }, {})],
1351
- closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
1346
+ closeToken: _t.s_node(_l.Instruction, "Punctuator", ")")
1352
1347
  }, {})
1353
1348
  }, {});
1354
1349
  }