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