@bablr/language-en-bablr-vm-instruction 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/grammar.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /* @macrome
2
2
  * @generatedby @bablr/macrome-generator-bablr
3
- * @generatedfrom ./grammar.macro.js#8daea7848c2d30b23522a8c852bb6def574b1648
3
+ * @generatedfrom ./grammar.macro.js#19ce18f8cc0bb0def947bcdbc1a08a138868bca5
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
  */
@@ -19,16 +19,16 @@ export const dependencies = {
19
19
  export function* eatMatchTrivia() {
20
20
  if (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
21
21
  verb: _t.s_node(_l.Instruction, "Identifier", "match"),
22
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
22
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
23
23
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
24
- values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
24
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
25
25
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
26
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
27
- elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
26
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
27
+ 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`closeToken`], {
28
28
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
29
- elements: [_t.node(_l.Regex, "Character", [_t.lit(" ")], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\t")], {}, {
29
+ elements: [_t.node(_l.Regex, "Character", [_t.lit(" ")], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\t")], {}, {
30
30
  cooked: "\t"
31
- }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\n")], {}, {
31
+ }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.Regex, "Escape", [_t.lit("\\n")], {}, {
32
32
  cooked: "\n"
33
33
  }))], {}, {})],
34
34
  closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
@@ -43,18 +43,21 @@ export function* eatMatchTrivia() {
43
43
  }, {})) {
44
44
  return yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
45
45
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
46
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
46
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
47
47
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
48
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`language`, _t.ref`namespaceSeparatorToken`, _t.ref`type`, _t.ref`closeToken`], {
49
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
50
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`triviaToken`, _t.ref`tokenToken`], {
51
- triviaToken: _t.s_i_node(_l.CSTML, "Punctuator", "#"),
52
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
53
- }, {}),
54
- language: _t.s_node(_l.Spamex, "Identifier", "Space"),
55
- namespaceSeparatorToken: _t.s_i_node(_l.Spamex, "Punctuator", ":"),
56
- type: _t.s_node(_l.Spamex, "Identifier", "Space"),
57
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
48
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
49
+ 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`], {
50
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
51
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`triviaToken`, _t.ref`tokenToken`], {
52
+ triviaToken: _t.s_i_node(_l.CSTML, "Punctuator", "#"),
53
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
54
+ }, {}),
55
+ language: _t.s_node(_l.Spamex, "Identifier", "Space"),
56
+ namespaceSeparatorToken: _t.s_i_node(_l.Spamex, "Punctuator", ":"),
57
+ type: _t.s_node(_l.Spamex, "Identifier", "Space"),
58
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
59
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
60
+ }, {})
58
61
  }, {})],
59
62
  closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
60
63
  }, {})
@@ -72,15 +75,18 @@ export const grammar = class BABLRVMInstructionGrammar {
72
75
  *[(_ArrayDecs = [CoveredBy('Expression'), Node], _ObjectDecs = [CoveredBy('Expression'), Node], _TupleDecs = [CoveredBy('Expression'), Node], _BooleanDecs = [CoveredBy('Expression'), Node], _NullDecs = [CoveredBy('Expression'), Node], _IdentifierDecs = [CoveredBy('Expression'), Node], _IntegerDecs = [CoveredBy('Number'), Node], _InfinityDecs = [CoveredBy('Number'), Node], _PunctuatorDecs = [Node, InjectFrom(productions)], _KeywordDecs = [Node, InjectFrom(productions)], _AnyDecs = InjectFrom(productions), "Call")]() {
73
76
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
74
77
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
75
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
78
+ 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`], {
76
79
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
77
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
78
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
79
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
80
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
81
- }, {}),
82
- type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
83
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
80
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
81
+ 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`], {
82
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
83
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
84
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
85
+ }, {}),
86
+ type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
87
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
88
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
89
+ }, {})
84
90
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
85
91
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
86
92
  content: _t.node(_l.CSTML, "Content", [_t.lit("callee")], {}, {}),
@@ -92,13 +98,16 @@ export const grammar = class BABLRVMInstructionGrammar {
92
98
  yield* eatMatchTrivia();
93
99
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
94
100
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
95
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
101
+ 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`], {
96
102
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
97
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
98
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
99
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
100
- type: _t.s_node(_l.Spamex, "Identifier", "Tuple"),
101
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
103
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
104
+ 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`], {
105
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
106
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
107
+ type: _t.s_node(_l.Spamex, "Identifier", "Tuple"),
108
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
109
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
110
+ }, {})
102
111
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
103
112
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
104
113
  content: _t.node(_l.CSTML, "Content", [_t.lit("arguments")], {}, {}),
@@ -111,148 +120,172 @@ export const grammar = class BABLRVMInstructionGrammar {
111
120
  *Expression() {
112
121
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
113
122
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
114
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
123
+ 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`]]], {
115
124
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
116
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
117
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
118
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
119
- type: _t.s_node(_l.Spamex, "Identifier", "Any"),
120
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
121
- }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
122
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
123
- }, {}), _t.node(_l.Instruction, "Array", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`], {
124
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "["),
125
- elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
125
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
126
+ 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`], {
126
127
  openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
127
128
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
128
- type: _t.s_node(_l.Spamex, "Identifier", "Array"),
129
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
130
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
131
- content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}),
132
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
133
- }, {}),
129
+ type: _t.s_node(_l.Spamex, "Identifier", "Any"),
130
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
134
131
  closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
135
- }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
136
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
137
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
138
- type: _t.s_node(_l.Spamex, "Identifier", "Object"),
139
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
140
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
141
- content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}),
142
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
143
- }, {}),
144
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
145
- }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
146
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
147
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
148
- type: _t.s_node(_l.Spamex, "Identifier", "Tuple"),
149
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
150
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
151
- content: _t.node(_l.CSTML, "Content", [_t.lit("(")], {}, {}),
152
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
153
- }, {}),
154
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
155
- }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
156
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
157
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
158
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
159
- }, {}),
160
- type: _t.s_node(_l.Spamex, "Identifier", "Boolean"),
161
- intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
162
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
163
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
164
- elements: [_t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("r")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("u")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})]
165
- }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
166
- elements: [_t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("l")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("s")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})]
167
- }, {})],
168
- separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
169
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
170
- }, {}),
171
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
172
- }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
173
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
174
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
175
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
176
- }, {}),
177
- type: _t.s_node(_l.Spamex, "Identifier", "Null"),
178
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
179
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
180
- content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}),
181
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
182
- }, {}),
183
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
184
- }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
185
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
186
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
187
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
188
- }, {}),
189
- type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
190
- intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
191
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
192
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
193
- elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
194
- element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
132
+ }, {})
133
+ }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
134
+ sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
135
+ }, {}), _t.node(_l.Instruction, "Array", [19, [[_t.ref`openToken`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.arr()], [_t.ref`elements[]`, _t.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`elements[]`, _t.embedded(_t.node(_l.Instruction, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`]]], {
136
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "["),
137
+ elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
138
+ 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`], {
139
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
140
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
141
+ type: _t.s_node(_l.Spamex, "Identifier", "Array"),
142
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
143
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
144
+ content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}),
145
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
146
+ }, {}),
147
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
148
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
149
+ }, {})
150
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
151
+ 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`], {
152
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
153
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
154
+ type: _t.s_node(_l.Spamex, "Identifier", "Object"),
155
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
156
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
157
+ content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}),
158
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
159
+ }, {}),
160
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
161
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
162
+ }, {})
163
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
164
+ 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`], {
165
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
166
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
167
+ type: _t.s_node(_l.Spamex, "Identifier", "Tuple"),
168
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
169
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
170
+ content: _t.node(_l.CSTML, "Content", [_t.lit("(")], {}, {}),
171
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
172
+ }, {}),
173
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
174
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
175
+ }, {})
176
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
177
+ 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`], {
178
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
179
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
180
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
181
+ }, {}),
182
+ type: _t.s_node(_l.Spamex, "Identifier", "Boolean"),
183
+ 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`]]], {
184
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
185
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
186
+ 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")], {}, {})]
187
+ }, {}), _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[]`], {
188
+ 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")], {}, {})]
189
+ }, {})],
190
+ separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
191
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
192
+ }, {}),
193
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
194
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
195
+ }, {})
196
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
197
+ 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`], {
198
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
199
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
200
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
201
+ }, {}),
202
+ type: _t.s_node(_l.Spamex, "Identifier", "Null"),
203
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
204
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
205
+ content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}),
206
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
207
+ }, {}),
208
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
209
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
210
+ }, {})
211
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
212
+ 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`], {
213
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
214
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
215
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
216
+ }, {}),
217
+ type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
218
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
219
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
220
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
221
+ elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
222
+ element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
223
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
224
+ elements: [_t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
225
+ min: _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}),
226
+ rangeToken: _t.s_i_node(_l.Regex, "Punctuator", "-"),
227
+ max: _t.node(_l.Regex, "Character", [_t.lit("z")], {}, {})
228
+ }, {}), _t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
229
+ min: _t.node(_l.Regex, "Character", [_t.lit("A")], {}, {}),
230
+ rangeToken: _t.s_i_node(_l.Regex, "Punctuator", "-"),
231
+ max: _t.node(_l.Regex, "Character", [_t.lit("Z")], {}, {})
232
+ }, {})],
233
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
234
+ }, {
235
+ negate: false
236
+ }),
237
+ value: _t.s_i_node(_l.Regex, "Keyword", "+")
238
+ }, {
239
+ min: 1,
240
+ max: Infinity,
241
+ greedy: true
242
+ })]
243
+ }, {})],
244
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
245
+ }, {}),
246
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
247
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
248
+ }, {})
249
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
250
+ 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`], {
251
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
252
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
253
+ type: _t.s_node(_l.Spamex, "Identifier", "Number"),
254
+ 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`]]], {
255
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
256
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
257
+ elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`closeToken`], {
195
258
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
196
- elements: [_t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
197
- min: _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}),
198
- rangeToken: _t.s_i_node(_l.Regex, "Punctuator", "-"),
199
- max: _t.node(_l.Regex, "Character", [_t.lit("z")], {}, {})
200
- }, {}), _t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
201
- min: _t.node(_l.Regex, "Character", [_t.lit("A")], {}, {}),
202
- rangeToken: _t.s_i_node(_l.Regex, "Punctuator", "-"),
203
- max: _t.node(_l.Regex, "Character", [_t.lit("Z")], {}, {})
259
+ elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
260
+ escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
261
+ value: _t.s_i_node(_l.Regex, "Keyword", "d")
204
262
  }, {})],
205
263
  closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
206
264
  }, {
207
265
  negate: false
208
- }),
209
- value: _t.s_i_node(_l.Regex, "Keyword", "+")
210
- }, {
211
- min: 1,
212
- max: Infinity,
213
- greedy: true
214
- })]
215
- }, {})],
216
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
217
- }, {}),
218
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
219
- }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
220
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
221
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
222
- type: _t.s_node(_l.Spamex, "Identifier", "Number"),
223
- intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
224
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
225
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
226
- elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`closeToken`], {
227
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
228
- elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
229
- escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
230
- value: _t.s_i_node(_l.Regex, "Keyword", "d")
231
- }, {})],
232
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
233
- }, {
234
- negate: false
235
- })]
236
- }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
237
- elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
238
- element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
239
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
240
- elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
241
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
266
+ })]
267
+ }, {}), _t.node(_l.Regex, "Alternative", [11, [[_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`elements[]`]]], {
268
+ elements: [9, [[_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
269
+ element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
270
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
271
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
272
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
273
+ }, {
274
+ negate: false
275
+ }),
276
+ value: _t.s_i_node(_l.Regex, "Keyword", "?")
242
277
  }, {
243
- negate: false
244
- }),
245
- value: _t.s_i_node(_l.Regex, "Keyword", "?")
246
- }, {
247
- min: 0,
248
- max: 1,
249
- greedy: true
250
- }), _t.node(_l.Regex, "Character", [_t.lit("I")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("n")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("i")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("n")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("i")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("y")], {}, {})]
251
- }, {})],
252
- separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
253
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
254
- }, {}),
255
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
278
+ min: 0,
279
+ max: 1,
280
+ greedy: true
281
+ }), _t.node(_l.Regex, "Character", [_t.lit("I")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("n")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("f")], {}, {})], [_t.node(_l.Regex, "Character", [_t.lit("i")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("n")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("i")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("y")], {}, {})]]]
282
+ }, {})],
283
+ separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
284
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
285
+ }, {}),
286
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
287
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
288
+ }, {})
256
289
  }, {})],
257
290
  closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "]")
258
291
  }, {})],
@@ -263,30 +296,33 @@ export const grammar = class BABLRVMInstructionGrammar {
263
296
  *Array() {
264
297
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
265
298
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
266
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
299
+ 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`], {
267
300
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
268
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
269
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
270
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
271
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
272
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
273
- }, {}),
274
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
275
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
276
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
277
- content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}),
278
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
279
- }, {}),
280
- attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
281
- key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}),
282
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
283
- value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
301
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
302
+ 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`]]], {
303
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
304
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
305
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
306
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
307
+ }, {}),
308
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
309
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
284
310
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
285
- content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}),
311
+ content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}),
286
312
  closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
287
- }, {})
288
- }, {})],
289
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
313
+ }, {}),
314
+ attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
315
+ key: _t.s_node(_l.Spamex, "Identifier", "balanced"),
316
+ mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
317
+ value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
318
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
319
+ content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}),
320
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
321
+ }, {})
322
+ }, {})],
323
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
324
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
325
+ }, {})
290
326
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
291
327
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
292
328
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
@@ -299,17 +335,17 @@ export const grammar = class BABLRVMInstructionGrammar {
299
335
  let first = true;
300
336
  while ((first || sp) && (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
301
337
  verb: _t.s_node(_l.Instruction, "Identifier", "match"),
302
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
338
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
303
339
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
304
- values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
340
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
305
341
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
306
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
342
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
307
343
  elements: [_t.node(_l.Regex, "AnyCharacterSet", [_t.ref`sigilToken`], {
308
344
  sigilToken: _t.s_i_node(_l.Regex, "Keyword", ".")
309
345
  }, {})]
310
346
  }, {})],
311
347
  closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
312
- flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`], {
348
+ flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`, _t.arr(), _t.ref`tokens[]`], {
313
349
  tokens: [_t.s_i_node(_l.Regex, "Keyword", "y")]
314
350
  }, {
315
351
  global: false,
@@ -325,13 +361,16 @@ export const grammar = class BABLRVMInstructionGrammar {
325
361
  }, {}))) {
326
362
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
327
363
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
328
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
364
+ 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`], {
329
365
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
330
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
331
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
332
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
333
- type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
334
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
366
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
367
+ 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`], {
368
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
369
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
370
+ type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
371
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
372
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
373
+ }, {})
335
374
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
336
375
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
337
376
  content: _t.node(_l.CSTML, "Content", [_t.lit("elements[]")], {}, {}),
@@ -345,24 +384,27 @@ export const grammar = class BABLRVMInstructionGrammar {
345
384
  }
346
385
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
347
386
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
348
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
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`], {
349
388
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
350
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
351
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
352
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
353
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
354
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
355
- }, {}),
356
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
357
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
358
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
359
- content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}),
360
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
361
- }, {}),
362
- attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
363
- key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {})
364
- }, {})],
365
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
389
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
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`]]], {
391
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
392
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
393
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
394
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
395
+ }, {}),
396
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
397
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
398
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
399
+ content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}),
400
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
401
+ }, {}),
402
+ attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
403
+ key: _t.s_node(_l.Spamex, "Identifier", "balancer")
404
+ }, {})],
405
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
406
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
407
+ }, {})
366
408
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
367
409
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
368
410
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
@@ -375,30 +417,33 @@ export const grammar = class BABLRVMInstructionGrammar {
375
417
  *Object() {
376
418
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
377
419
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
378
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
420
+ 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`], {
379
421
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
380
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
381
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
382
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
383
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
384
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
385
- }, {}),
386
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
387
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
388
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
389
- content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}),
390
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
391
- }, {}),
392
- attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
393
- key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}),
394
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
395
- value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
422
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
423
+ 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`]]], {
424
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
425
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
426
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
427
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
428
+ }, {}),
429
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
430
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
396
431
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
397
- content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}),
432
+ content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}),
398
433
  closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
399
- }, {})
400
- }, {})],
401
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
434
+ }, {}),
435
+ attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
436
+ key: _t.s_node(_l.Spamex, "Identifier", "balanced"),
437
+ mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
438
+ value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
439
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
440
+ content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}),
441
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
442
+ }, {})
443
+ }, {})],
444
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
445
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
446
+ }, {})
402
447
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
403
448
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
404
449
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
@@ -411,17 +456,17 @@ export const grammar = class BABLRVMInstructionGrammar {
411
456
  let first = true;
412
457
  while ((first || sp) && (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
413
458
  verb: _t.s_node(_l.Instruction, "Identifier", "match"),
414
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
459
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
415
460
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
416
- values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
461
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
417
462
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
418
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
463
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
419
464
  elements: [_t.node(_l.Regex, "AnyCharacterSet", [_t.ref`sigilToken`], {
420
465
  sigilToken: _t.s_i_node(_l.Regex, "Keyword", ".")
421
466
  }, {})]
422
467
  }, {})],
423
468
  closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
424
- flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`], {
469
+ flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`, _t.arr(), _t.ref`tokens[]`], {
425
470
  tokens: [_t.s_i_node(_l.Regex, "Keyword", "y")]
426
471
  }, {
427
472
  global: false,
@@ -437,13 +482,16 @@ export const grammar = class BABLRVMInstructionGrammar {
437
482
  }, {}))) {
438
483
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
439
484
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
440
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
485
+ 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`], {
441
486
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
442
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
443
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
444
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
445
- type: _t.s_node(_l.Spamex, "Identifier", "Property"),
446
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
487
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
488
+ 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`], {
489
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
490
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
491
+ type: _t.s_node(_l.Spamex, "Identifier", "Property"),
492
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
493
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
494
+ }, {})
447
495
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
448
496
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
449
497
  content: _t.node(_l.CSTML, "Content", [_t.lit("properties[]")], {}, {}),
@@ -457,24 +505,27 @@ export const grammar = class BABLRVMInstructionGrammar {
457
505
  }
458
506
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
459
507
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
460
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
508
+ 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`], {
461
509
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
462
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
463
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
464
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
465
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
466
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
467
- }, {}),
468
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
469
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
470
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
471
- content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}),
472
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
473
- }, {}),
474
- attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
475
- key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {})
476
- }, {})],
477
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
510
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
511
+ 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`]]], {
512
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
513
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
514
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
515
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
516
+ }, {}),
517
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
518
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
519
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
520
+ content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}),
521
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
522
+ }, {}),
523
+ attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
524
+ key: _t.s_node(_l.Spamex, "Identifier", "balancer")
525
+ }, {})],
526
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
527
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
528
+ }, {})
478
529
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
479
530
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
480
531
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
@@ -487,15 +538,18 @@ export const grammar = class BABLRVMInstructionGrammar {
487
538
  *Property() {
488
539
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
489
540
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
490
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
541
+ 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`], {
491
542
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
492
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
493
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
494
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
495
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
496
- }, {}),
497
- type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
498
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
543
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
544
+ 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`], {
545
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
546
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
547
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
548
+ }, {}),
549
+ type: _t.s_node(_l.Spamex, "Identifier", "Identifier"),
550
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
551
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
552
+ }, {})
499
553
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
500
554
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
501
555
  content: _t.node(_l.CSTML, "Content", [_t.lit("key")], {}, {}),
@@ -507,21 +561,24 @@ export const grammar = class BABLRVMInstructionGrammar {
507
561
  yield* eatMatchTrivia();
508
562
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
509
563
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
510
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
564
+ 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`], {
511
565
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
512
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
513
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
514
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
515
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
516
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
517
- }, {}),
518
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
519
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
520
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
521
- content: _t.node(_l.CSTML, "Content", [_t.lit(":")], {}, {}),
522
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
523
- }, {}),
524
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
566
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
567
+ 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`], {
568
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
569
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
570
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
571
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
572
+ }, {}),
573
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
574
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
575
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
576
+ content: _t.node(_l.CSTML, "Content", [_t.lit(":")], {}, {}),
577
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
578
+ }, {}),
579
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
580
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
581
+ }, {})
525
582
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
526
583
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
527
584
  content: _t.node(_l.CSTML, "Content", [_t.lit("mapToken")], {}, {}),
@@ -533,13 +590,16 @@ export const grammar = class BABLRVMInstructionGrammar {
533
590
  yield* eatMatchTrivia();
534
591
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
535
592
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
536
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
593
+ 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`], {
537
594
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
538
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
539
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
540
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
541
- type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
542
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
595
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
596
+ 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`], {
597
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
598
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
599
+ type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
600
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
601
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
602
+ }, {})
543
603
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
544
604
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
545
605
  content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}),
@@ -552,30 +612,33 @@ export const grammar = class BABLRVMInstructionGrammar {
552
612
  *Tuple() {
553
613
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
554
614
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
555
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
615
+ 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`], {
556
616
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
557
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
558
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
559
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
560
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
561
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
562
- }, {}),
563
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
564
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
565
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
566
- content: _t.node(_l.CSTML, "Content", [_t.lit("(")], {}, {}),
567
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
568
- }, {}),
569
- attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
570
- key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}),
571
- mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
572
- value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
617
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
618
+ 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`]]], {
619
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
620
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
621
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
622
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
623
+ }, {}),
624
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
625
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
573
626
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
574
- content: _t.node(_l.CSTML, "Content", [_t.lit(")")], {}, {}),
627
+ content: _t.node(_l.CSTML, "Content", [_t.lit("(")], {}, {}),
575
628
  closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
576
- }, {})
577
- }, {})],
578
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
629
+ }, {}),
630
+ attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], {
631
+ key: _t.s_node(_l.Spamex, "Identifier", "balanced"),
632
+ mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="),
633
+ value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
634
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
635
+ content: _t.node(_l.CSTML, "Content", [_t.lit(")")], {}, {}),
636
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
637
+ }, {})
638
+ }, {})],
639
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
640
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
641
+ }, {})
579
642
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
580
643
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
581
644
  content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}),
@@ -588,17 +651,17 @@ export const grammar = class BABLRVMInstructionGrammar {
588
651
  let first = true;
589
652
  while ((first || sp) && (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
590
653
  verb: _t.s_node(_l.Instruction, "Identifier", "match"),
591
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
654
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
592
655
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
593
- values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
656
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`, _t.ref`flags`], {
594
657
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
595
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
658
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
596
659
  elements: [_t.node(_l.Regex, "AnyCharacterSet", [_t.ref`sigilToken`], {
597
660
  sigilToken: _t.s_i_node(_l.Regex, "Keyword", ".")
598
661
  }, {})]
599
662
  }, {})],
600
663
  closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
601
- flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`], {
664
+ flags: _t.node(_l.Regex, "Flags", [_t.ref`tokens[]`, _t.arr(), _t.ref`tokens[]`], {
602
665
  tokens: [_t.s_i_node(_l.Regex, "Keyword", "y")]
603
666
  }, {
604
667
  global: false,
@@ -614,13 +677,16 @@ export const grammar = class BABLRVMInstructionGrammar {
614
677
  }, {}))) {
615
678
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
616
679
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
617
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
680
+ 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`], {
618
681
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
619
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
620
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
621
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
622
- type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
623
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
682
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
683
+ 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`], {
684
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
685
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
686
+ type: _t.s_node(_l.Spamex, "Identifier", "Expression"),
687
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
688
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
689
+ }, {})
624
690
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
625
691
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
626
692
  content: _t.node(_l.CSTML, "Content", [_t.lit("values[]")], {}, {}),
@@ -634,24 +700,27 @@ export const grammar = class BABLRVMInstructionGrammar {
634
700
  }
635
701
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
636
702
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
637
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
703
+ 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`], {
638
704
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
639
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], {
640
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
641
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
642
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
643
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
644
- }, {}),
645
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
646
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
647
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
648
- content: _t.node(_l.CSTML, "Content", [_t.lit(")")], {}, {}),
649
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
650
- }, {}),
651
- attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
652
- key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {})
653
- }, {})],
654
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
705
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
706
+ 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`]]], {
707
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
708
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
709
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
710
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
711
+ }, {}),
712
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
713
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
714
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
715
+ content: _t.node(_l.CSTML, "Content", [_t.lit(")")], {}, {}),
716
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
717
+ }, {}),
718
+ attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], {
719
+ key: _t.s_node(_l.Spamex, "Identifier", "balancer")
720
+ }, {})],
721
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
722
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
723
+ }, {})
655
724
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
656
725
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
657
726
  content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}),
@@ -664,26 +733,29 @@ export const grammar = class BABLRVMInstructionGrammar {
664
733
  *Boolean() {
665
734
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
666
735
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
667
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
736
+ 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`], {
668
737
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
669
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
670
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
671
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
672
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
673
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
674
- }, {}),
675
- type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
676
- intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
677
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
678
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
679
- elements: [_t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("r")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("u")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})]
680
- }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
681
- elements: [_t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("l")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("s")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})]
682
- }, {})],
683
- separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
684
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
685
- }, {}),
686
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
738
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
739
+ 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`], {
740
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
741
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
742
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
743
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
744
+ }, {}),
745
+ type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
746
+ 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`]]], {
747
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
748
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], {
749
+ 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")], {}, {})]
750
+ }, {}), _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[]`], {
751
+ 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")], {}, {})]
752
+ }, {})],
753
+ separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")],
754
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
755
+ }, {}),
756
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
757
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
758
+ }, {})
687
759
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
688
760
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
689
761
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
@@ -696,21 +768,24 @@ export const grammar = class BABLRVMInstructionGrammar {
696
768
  *Null() {
697
769
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
698
770
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
699
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
771
+ 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`], {
700
772
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
701
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
702
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
703
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
704
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
705
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
706
- }, {}),
707
- type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
708
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
709
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
710
- content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}),
711
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
712
- }, {}),
713
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
773
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
774
+ 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`], {
775
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
776
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
777
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
778
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
779
+ }, {}),
780
+ type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
781
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
782
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
783
+ content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}),
784
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
785
+ }, {}),
786
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
787
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
788
+ }, {})
714
789
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
715
790
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
716
791
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),
@@ -723,13 +798,13 @@ export const grammar = class BABLRVMInstructionGrammar {
723
798
  *Identifier() {
724
799
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
725
800
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
726
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
801
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
727
802
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
728
- values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
803
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
729
804
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
730
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
805
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
731
806
  elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
732
- element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
807
+ element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
733
808
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
734
809
  elements: [_t.node(_l.Regex, "CharacterClassRange", [_t.ref`min`, _t.ref`rangeToken`, _t.ref`max`], {
735
810
  min: _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}),
@@ -760,57 +835,66 @@ export const grammar = class BABLRVMInstructionGrammar {
760
835
  *Number() {
761
836
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
762
837
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
763
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
838
+ 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`]]], {
764
839
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
765
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
766
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
767
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
768
- type: _t.s_node(_l.Spamex, "Identifier", "Any"),
769
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
770
- }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
771
- sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
772
- }, {}), _t.node(_l.Instruction, "Array", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`], {
773
- openToken: _t.s_i_node(_l.Instruction, "Punctuator", "["),
774
- elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
840
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
841
+ 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`], {
775
842
  openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
776
843
  flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
777
- type: _t.s_node(_l.Spamex, "Identifier", "Integer"),
778
- intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
779
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
780
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`], {
781
- elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
782
- element: _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {}),
783
- value: _t.s_i_node(_l.Regex, "Keyword", "?")
784
- }, {
785
- min: 0,
786
- max: 1,
787
- greedy: true
788
- }), _t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
789
- escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
790
- value: _t.s_i_node(_l.Regex, "Keyword", "d")
791
- }, {})]
792
- }, {})],
793
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
794
- }, {}),
795
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
796
- }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
797
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
798
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
799
- type: _t.s_node(_l.Spamex, "Identifier", "Infinity"),
800
- intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
801
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
802
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`], {
803
- elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
804
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
805
- elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
806
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
807
- }, {
808
- negate: false
809
- }), _t.node(_l.Regex, "Character", [_t.lit("I")], {}, {})]
810
- }, {})],
811
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
812
- }, {}),
844
+ type: _t.s_node(_l.Spamex, "Identifier", "Any"),
845
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
813
846
  closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
847
+ }, {})
848
+ }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], {
849
+ sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null")
850
+ }, {}), _t.node(_l.Instruction, "Array", [9, [[_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`closeToken`]]], {
851
+ openToken: _t.s_i_node(_l.Instruction, "Punctuator", "["),
852
+ elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
853
+ 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`], {
854
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
855
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
856
+ type: _t.s_node(_l.Spamex, "Identifier", "Integer"),
857
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
858
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
859
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`], {
860
+ elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], {
861
+ element: _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {}),
862
+ value: _t.s_i_node(_l.Regex, "Keyword", "?")
863
+ }, {
864
+ min: 0,
865
+ max: 1,
866
+ greedy: true
867
+ }), _t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
868
+ escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
869
+ value: _t.s_i_node(_l.Regex, "Keyword", "d")
870
+ }, {})]
871
+ }, {})],
872
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
873
+ }, {}),
874
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
875
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
876
+ }, {})
877
+ }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
878
+ 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`], {
879
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
880
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
881
+ type: _t.s_node(_l.Spamex, "Identifier", "Infinity"),
882
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
883
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
884
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`], {
885
+ elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
886
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
887
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
888
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
889
+ }, {
890
+ negate: false
891
+ }), _t.node(_l.Regex, "Character", [_t.lit("I")], {}, {})]
892
+ }, {})],
893
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
894
+ }, {}),
895
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
896
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
897
+ }, {})
814
898
  }, {})],
815
899
  closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "]")
816
900
  }, {})],
@@ -821,13 +905,16 @@ export const grammar = class BABLRVMInstructionGrammar {
821
905
  *UnsignedInteger() {
822
906
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
823
907
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
824
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
908
+ 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`], {
825
909
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
826
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
827
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
828
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
829
- type: _t.s_node(_l.Spamex, "Identifier", "Digits"),
830
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
910
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
911
+ 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`], {
912
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
913
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
914
+ type: _t.s_node(_l.Spamex, "Identifier", "Digits"),
915
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
916
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
917
+ }, {})
831
918
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
832
919
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
833
920
  content: _t.node(_l.CSTML, "Content", [_t.lit("digits[]")], {}, {}),
@@ -840,21 +927,24 @@ export const grammar = class BABLRVMInstructionGrammar {
840
927
  *Integer() {
841
928
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
842
929
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
843
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
930
+ 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`], {
844
931
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
845
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
846
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
847
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
848
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
849
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
850
- }, {}),
851
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
852
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
853
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
854
- content: _t.node(_l.CSTML, "Content", [_t.lit("-")], {}, {}),
855
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
856
- }, {}),
857
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
932
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
933
+ 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`], {
934
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
935
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
936
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
937
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
938
+ }, {}),
939
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
940
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
941
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
942
+ content: _t.node(_l.CSTML, "Content", [_t.lit("-")], {}, {}),
943
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
944
+ }, {}),
945
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
946
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
947
+ }, {})
858
948
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
859
949
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
860
950
  content: _t.node(_l.CSTML, "Content", [_t.lit("negativeToken")], {}, {}),
@@ -865,13 +955,16 @@ export const grammar = class BABLRVMInstructionGrammar {
865
955
  }, {});
866
956
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
867
957
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
868
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
958
+ 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
959
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
870
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], {
871
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
872
- flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
873
- type: _t.s_node(_l.Spamex, "Identifier", "Digits"),
874
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
960
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
961
+ 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`], {
962
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
963
+ flags: _t.node(_l.CSTML, "Flags", [], {}, {}),
964
+ type: _t.s_node(_l.Spamex, "Identifier", "Digits"),
965
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
966
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
967
+ }, {})
875
968
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
876
969
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
877
970
  content: _t.node(_l.CSTML, "Content", [_t.lit("digits[]")], {}, {}),
@@ -884,25 +977,28 @@ export const grammar = class BABLRVMInstructionGrammar {
884
977
  *Digits() {
885
978
  while (yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
886
979
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
887
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
980
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
888
981
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
889
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
890
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
891
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
892
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
893
- }, {}),
894
- type: _t.s_node(_l.Spamex, "Identifier", "Digit"),
895
- intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
896
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
897
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
898
- elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
899
- escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
900
- value: _t.s_i_node(_l.Regex, "Keyword", "d")
901
- }, {})]
902
- }, {})],
903
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
904
- }, {}),
905
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
982
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
983
+ 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`], {
984
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
985
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], {
986
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
987
+ }, {}),
988
+ type: _t.s_node(_l.Spamex, "Identifier", "Digit"),
989
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
990
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
991
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
992
+ elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
993
+ escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
994
+ value: _t.s_i_node(_l.Regex, "Keyword", "d")
995
+ }, {})]
996
+ }, {})],
997
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
998
+ }, {}),
999
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1000
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1001
+ }, {})
906
1002
  }, {})],
907
1003
  closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")")
908
1004
  }, {})
@@ -911,11 +1007,11 @@ export const grammar = class BABLRVMInstructionGrammar {
911
1007
  *Digit() {
912
1008
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
913
1009
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
914
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], {
1010
+ arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.arr(), _t.ref`values[]`, _t.ref`closeToken`], {
915
1011
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
916
- values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
1012
+ values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
917
1013
  openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
918
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
1014
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
919
1015
  elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], {
920
1016
  escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"),
921
1017
  value: _t.s_i_node(_l.Regex, "Keyword", "d")
@@ -930,29 +1026,32 @@ export const grammar = class BABLRVMInstructionGrammar {
930
1026
  *Infinity() {
931
1027
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
932
1028
  verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"),
933
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1029
+ 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`], {
934
1030
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
935
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
936
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
937
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
938
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
939
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
940
- }, {}),
941
- type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
942
- intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], {
943
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
944
- alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], {
945
- elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
946
- openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
947
- elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
948
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
949
- }, {
950
- negate: false
951
- })]
952
- }, {})],
953
- closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
954
- }, {}),
955
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1031
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1032
+ 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`], {
1033
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1034
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
1035
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
1036
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
1037
+ }, {}),
1038
+ type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"),
1039
+ intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.arr(), _t.ref`alternatives[]`, _t.ref`closeToken`], {
1040
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"),
1041
+ alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.arr(), _t.ref`elements[]`], {
1042
+ elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.arr(), _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], {
1043
+ openToken: _t.s_i_node(_l.Regex, "Punctuator", "["),
1044
+ elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})],
1045
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]")
1046
+ }, {
1047
+ negate: false
1048
+ })]
1049
+ }, {})],
1050
+ closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/")
1051
+ }, {}),
1052
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1053
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1054
+ }, {})
956
1055
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
957
1056
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
958
1057
  content: _t.node(_l.CSTML, "Content", [_t.lit("signToken")], {}, {}),
@@ -963,21 +1062,24 @@ export const grammar = class BABLRVMInstructionGrammar {
963
1062
  }, {});
964
1063
  yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], {
965
1064
  verb: _t.s_node(_l.Instruction, "Identifier", "eat"),
966
- arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], {
1065
+ 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`], {
967
1066
  openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("),
968
- values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], {
969
- openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
970
- flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
971
- intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
972
- tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
973
- }, {}),
974
- type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
975
- intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
976
- openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
977
- content: _t.node(_l.CSTML, "Content", [_t.lit("Infinity")], {}, {}),
978
- closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
979
- }, {}),
980
- closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1067
+ values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`open`], {
1068
+ 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`], {
1069
+ openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"),
1070
+ flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], {
1071
+ intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"),
1072
+ tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*")
1073
+ }, {}),
1074
+ type: _t.s_node(_l.Spamex, "Identifier", "Keyword"),
1075
+ intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
1076
+ openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
1077
+ content: _t.node(_l.CSTML, "Content", [_t.lit("Infinity")], {}, {}),
1078
+ closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'")
1079
+ }, {}),
1080
+ selfClosingTagToken: _t.s_i_node(_l.Spamex, "Punctuator", "/"),
1081
+ closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">")
1082
+ }, {})
981
1083
  }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], {
982
1084
  openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"),
983
1085
  content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}),