@bablr/language-en-json 0.5.4 → 0.7.0

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