astn-core 0.5.87 → 0.5.89
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/dist/implementation/manual/refiners/annotated_characters/text.js +1 -37
- package/dist/implementation/manual/refiners/parse_tree/list_of_characters.js +3 -28
- package/dist/implementation/manual/refiners/parse_tree/token.d.ts +8 -8
- package/dist/implementation/manual/refiners/parse_tree/token.js +184 -139
- package/dist/implementation/manual/refiners/parse_tree/tokenizer_result.js +2 -18
- package/dist/implementation/manual/refiners/token/annotated_character.d.ts +4 -14
- package/dist/implementation/manual/refiners/token/annotated_character.js +311 -304
- package/dist/implementation/manual/transformers/location/fountain_pen.d.ts +3 -3
- package/dist/implementation/manual/transformers/location/fountain_pen.js +2 -9
- package/dist/interface/to_be_generated/location_to_fountain_pen.d.ts +1 -2
- package/dist/temp_core/new_interface_signatures.d.ts +22 -6
- package/dist/temp_core/temp.d.ts +4 -5
- package/dist/temp_core/temp.js +45 -16
- package/package.json +2 -2
|
@@ -36,47 +36,36 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.Tokenizer_Result = exports.Delimited_Text = exports.
|
|
39
|
+
exports.Tokenizer_Result = exports.Delimited_Text = exports.Trivia = exports.Whitespace = exports.is_control_character = void 0;
|
|
40
40
|
const _p = __importStar(require("pareto-core/dist/assign"));
|
|
41
41
|
const _p_unreachable_code_path_1 = __importDefault(require("pareto-core/dist/_p_unreachable_code_path"));
|
|
42
42
|
const _p_list_build_deprecated_1 = __importDefault(require("pareto-core/dist/_p_list_build_deprecated"));
|
|
43
43
|
const _p_text_from_list_1 = __importDefault(require("pareto-core/dist/_p_text_from_list"));
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
};
|
|
44
|
+
//dependencies
|
|
45
|
+
const create_error = (element, expected) => element.__decide(($) => ({
|
|
46
|
+
'range': {
|
|
47
|
+
'start': $.location,
|
|
48
|
+
'end': {
|
|
49
|
+
'absolute': $.location.absolute + 1,
|
|
50
|
+
'relative': {
|
|
51
|
+
'line': $.location.relative.line,
|
|
52
|
+
'column': $.location.relative.column + 1,
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
'type': ['unexpected', {
|
|
57
|
+
'expected': expected
|
|
58
|
+
}]
|
|
59
|
+
}), () => (0, _p_unreachable_code_path_1.default)("implement me"));
|
|
60
60
|
const is_control_character = ($) => $.code < 0x20
|
|
61
|
-
&& $.code !==
|
|
62
|
-
&& $.code !==
|
|
63
|
-
&& $.code !==
|
|
61
|
+
&& $.code !== 0x09 // \t
|
|
62
|
+
&& $.code !== 0x0A // \n
|
|
63
|
+
&& $.code !== 0x0D; // \r
|
|
64
64
|
exports.is_control_character = is_control_character;
|
|
65
|
-
const create_range = (iterator, $p) => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
'start': $p['start character'].location,
|
|
70
|
-
'end': iterator.new.get_end_info()
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
return {
|
|
75
|
-
'start': $p['start character'].location,
|
|
76
|
-
'end': next[0].location,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
};
|
|
65
|
+
const create_range = (iterator, $p) => ({
|
|
66
|
+
'start': $p['start character'].location,
|
|
67
|
+
'end': iterator.look((next) => next.location, (end_info) => end_info)
|
|
68
|
+
});
|
|
80
69
|
const Whitespace = (iterator, abort) => {
|
|
81
70
|
const is_whitespace_character = ($) => {
|
|
82
71
|
switch ($.code) {
|
|
@@ -94,254 +83,119 @@ const Whitespace = (iterator, abort) => {
|
|
|
94
83
|
return false;
|
|
95
84
|
}
|
|
96
85
|
};
|
|
97
|
-
const next = iterator.
|
|
86
|
+
const next = iterator.look_raw();
|
|
98
87
|
if (next === null) {
|
|
99
88
|
return _p.optional.literal.not_set();
|
|
100
89
|
}
|
|
101
|
-
|
|
102
|
-
|
|
90
|
+
else {
|
|
91
|
+
if (!is_whitespace_character(next[0])) {
|
|
92
|
+
return _p.optional.literal.not_set();
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const start_character = next[0];
|
|
96
|
+
return _p.optional.literal.set({
|
|
97
|
+
'value': (0, _p_text_from_list_1.default)(iterator.list({
|
|
98
|
+
has_more_items: ($) => is_whitespace_character($),
|
|
99
|
+
handle: ($) => {
|
|
100
|
+
if ((0, exports.is_control_character)($)) {
|
|
101
|
+
iterator.discard(() => null);
|
|
102
|
+
return abort({
|
|
103
|
+
'range': create_range(iterator, { 'start character': $ }),
|
|
104
|
+
'type': ['unexpected control character', {
|
|
105
|
+
'character': $.code,
|
|
106
|
+
}]
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
iterator.discard(() => null); // discard the character
|
|
111
|
+
return $.code;
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
}), ($) => $),
|
|
115
|
+
'range': create_range(iterator, { 'start character': start_character }),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
103
118
|
}
|
|
104
|
-
const start_character = next[0];
|
|
105
|
-
return _p.optional.literal.set({
|
|
106
|
-
'value': (0, _p_text_from_list_1.default)(iterator.new.list(($) => is_whitespace_character($), ($) => {
|
|
107
|
-
if ((0, exports.is_control_character)($)) {
|
|
108
|
-
iterator.old.discard(() => null);
|
|
109
|
-
return abort({
|
|
110
|
-
'range': create_range(iterator, { 'start character': $ }),
|
|
111
|
-
'type': ['unexpected control character', {
|
|
112
|
-
'character': $.code,
|
|
113
|
-
}]
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
iterator.old.discard(() => null); // discard the character
|
|
117
|
-
return $.code;
|
|
118
|
-
}, ($) => $), ($) => $),
|
|
119
|
-
'range': create_range(iterator, { 'start character': start_character }),
|
|
120
|
-
});
|
|
121
119
|
};
|
|
122
120
|
exports.Whitespace = Whitespace;
|
|
123
121
|
const Trivia = (iterator, abort) => ({
|
|
124
122
|
'leading whitespace': (0, exports.Whitespace)(iterator, abort),
|
|
125
|
-
'comments': iterator.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
switch (next_char[0].code) {
|
|
137
|
-
case 0x2F: // /
|
|
138
|
-
iterator.old.discard(() => null); // discard the second /
|
|
139
|
-
const Character = {
|
|
140
|
-
line_feed: 0x0A, // \n
|
|
141
|
-
carriage_return: 0x0D, // \r
|
|
142
|
-
// solidus: 0x2F, // /
|
|
143
|
-
};
|
|
144
|
-
return ({
|
|
145
|
-
'type': ['line', null],
|
|
146
|
-
'content': (0, _p_text_from_list_1.default)(iterator.new.list(($) => $.code !== Character.line_feed && $.code !== Character.carriage_return, ($) => {
|
|
147
|
-
iterator.old.discard(() => null); // discard the character
|
|
148
|
-
return $.code;
|
|
149
|
-
}, ($) => $), ($) => $),
|
|
150
|
-
'range': create_range(iterator, { 'start character': slash_character }),
|
|
151
|
-
'trailing whitespace': (0, exports.Whitespace)(iterator, abort)
|
|
152
|
-
});
|
|
153
|
-
break;
|
|
154
|
-
case 0x2A: { // *
|
|
155
|
-
iterator.old.discard(() => null); // discard the asterisk
|
|
156
|
-
return ({
|
|
157
|
-
'type': ['block', null],
|
|
158
|
-
'content': (0, _p_text_from_list_1.default)(iterator.new.list(($) => {
|
|
159
|
-
const next_char = iterator.old.look_ahead(1);
|
|
160
|
-
return $.code !== 0x2A || (next_char === null || next_char[0].code !== 0x2A); // not a solidus followed by an asterisk (end of block comment)
|
|
161
|
-
}, ($) => {
|
|
162
|
-
iterator.old.discard(() => null); // discard the character
|
|
163
|
-
return $.code;
|
|
164
|
-
}, ($) => {
|
|
165
|
-
const asterisk = iterator.new.expect([
|
|
166
|
-
['end of block comment', null]
|
|
167
|
-
], ($, abort) => $.code === 0x2A
|
|
168
|
-
? $
|
|
169
|
-
: abort());
|
|
170
|
-
const solidus = iterator.new.expect([
|
|
171
|
-
['end of block comment', null]
|
|
172
|
-
], ($, abort) => $.code === 0x2A
|
|
173
|
-
? $
|
|
174
|
-
: abort());
|
|
175
|
-
return $;
|
|
176
|
-
}), ($) => $),
|
|
177
|
-
'range': create_range(iterator, { 'start character': slash_character }),
|
|
178
|
-
'trailing whitespace': (0, exports.Whitespace)(iterator, abort)
|
|
179
|
-
});
|
|
123
|
+
'comments': iterator.list({
|
|
124
|
+
has_more_items: (current) => {
|
|
125
|
+
const next = iterator.look_ahead_raw(1);
|
|
126
|
+
return current.code === 0x2F
|
|
127
|
+
&& next !== null && (next[0].code === 0x2F || next[0].code === 0x2A); // slash followed by either slash or asterisk
|
|
128
|
+
},
|
|
129
|
+
handle: (slash_character) => {
|
|
130
|
+
iterator.discard(() => null); // discard the first slash
|
|
131
|
+
const next_char = iterator.look_ahead_raw(1);
|
|
132
|
+
if (next_char === null) {
|
|
133
|
+
return (0, _p_unreachable_code_path_1.default)("we check for the presence of the next character in has_more_items, so this should never happen");
|
|
180
134
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
});
|
|
191
|
-
exports.Trivia = Trivia;
|
|
192
|
-
const Annotated_Token = (iterator, abort, $p) => {
|
|
193
|
-
const WhitespaceChars = {
|
|
194
|
-
tab: 0x09, // \t
|
|
195
|
-
line_feed: 0x0A, // \n
|
|
196
|
-
carriage_return: 0x0D, // \r
|
|
197
|
-
space: 0x20, //
|
|
198
|
-
comma: 0x2C, // ,
|
|
199
|
-
};
|
|
200
|
-
return {
|
|
201
|
-
'type': _p.state.block(() => {
|
|
202
|
-
const Character = {
|
|
203
|
-
open_angle_bracket: 0x3C, // <
|
|
204
|
-
open_brace: 0x7B, // {
|
|
205
|
-
open_bracket: 0x5B, // [
|
|
206
|
-
open_paren: 0x28, // (
|
|
207
|
-
close_angle_bracket: 0x3E, // >
|
|
208
|
-
close_brace: 0x7D, // }
|
|
209
|
-
close_bracket: 0x5D, // ]
|
|
210
|
-
close_paren: 0x29, // )
|
|
211
|
-
apostrophe: 0x27, // '
|
|
212
|
-
asterisk: 0x2A, // *
|
|
213
|
-
at: 0x40, // @
|
|
214
|
-
backtick: 0x60, // `
|
|
215
|
-
bang: 0x21,
|
|
216
|
-
colon: 0x3A, // :
|
|
217
|
-
pipe: 0x7C, // |
|
|
218
|
-
quotation_mark: 0x22, // "
|
|
219
|
-
slash: 0x2F, // /
|
|
220
|
-
underscore: 0x5F, // _
|
|
221
|
-
tilde: 0x7E, // ~
|
|
222
|
-
hash: 0x23, // #
|
|
223
|
-
space: 0x20, // space
|
|
224
|
-
tab: 0x09, // \t
|
|
225
|
-
};
|
|
226
|
-
switch ($p.character.code) {
|
|
227
|
-
case Character.open_brace:
|
|
228
|
-
iterator.old.discard(() => null);
|
|
229
|
-
return ['{', null];
|
|
230
|
-
case Character.open_bracket:
|
|
231
|
-
iterator.old.discard(() => null);
|
|
232
|
-
return ['[', null];
|
|
233
|
-
case Character.open_angle_bracket:
|
|
234
|
-
iterator.old.discard(() => null);
|
|
235
|
-
return ['<', null];
|
|
236
|
-
case Character.open_paren:
|
|
237
|
-
iterator.old.discard(() => null);
|
|
238
|
-
return ['(', null];
|
|
239
|
-
case Character.close_brace:
|
|
240
|
-
iterator.old.discard(() => null);
|
|
241
|
-
return ['}', null];
|
|
242
|
-
case Character.close_bracket:
|
|
243
|
-
iterator.old.discard(() => null);
|
|
244
|
-
return [']', null];
|
|
245
|
-
case Character.close_angle_bracket:
|
|
246
|
-
iterator.old.discard(() => null);
|
|
247
|
-
return ['>', null];
|
|
248
|
-
case Character.close_paren:
|
|
249
|
-
iterator.old.discard(() => null);
|
|
250
|
-
return [')', null];
|
|
251
|
-
//individuals
|
|
252
|
-
case Character.hash:
|
|
253
|
-
iterator.old.discard(() => null);
|
|
254
|
-
return ['#', null]; // missing data token
|
|
255
|
-
case Character.pipe:
|
|
256
|
-
iterator.old.discard(() => null);
|
|
257
|
-
return ['|', null]; // state value token
|
|
258
|
-
case Character.underscore:
|
|
259
|
-
iterator.old.discard(() => null);
|
|
260
|
-
return ['_', null]; // unset value token
|
|
261
|
-
case Character.tilde:
|
|
262
|
-
iterator.old.discard(() => null);
|
|
263
|
-
return ['~', null]; // unset value token
|
|
264
|
-
case Character.asterisk:
|
|
265
|
-
iterator.old.discard(() => null);
|
|
266
|
-
return ['*', null]; // set value token
|
|
267
|
-
case Character.at:
|
|
268
|
-
iterator.old.discard(() => null);
|
|
269
|
-
return ['@', null]; // include token
|
|
270
|
-
case Character.bang:
|
|
271
|
-
iterator.old.discard(() => null);
|
|
272
|
-
return ['!', null]; // header token
|
|
273
|
-
case Character.colon:
|
|
274
|
-
iterator.old.discard(() => null);
|
|
275
|
-
return [':', null]; // structural token
|
|
276
|
-
case Character.quotation_mark:
|
|
277
|
-
iterator.old.discard(() => null);
|
|
278
|
-
return ['text', {
|
|
279
|
-
'value': (0, exports.Delimited_Text)(($) => $ === Character.quotation_mark, true, iterator, abort, { 'start character': $p.character }),
|
|
280
|
-
'type': ['quoted', null],
|
|
281
|
-
}];
|
|
282
|
-
case Character.backtick:
|
|
283
|
-
iterator.old.discard(() => null);
|
|
284
|
-
return ['text', {
|
|
285
|
-
'value': (0, exports.Delimited_Text)(($) => $ === Character.backtick, false, iterator, abort, { 'start character': $p.character }),
|
|
286
|
-
'type': ['backticked', null],
|
|
287
|
-
}];
|
|
288
|
-
case Character.apostrophe:
|
|
289
|
-
iterator.old.discard(() => null);
|
|
290
|
-
return ['text', {
|
|
291
|
-
'value': (0, exports.Delimited_Text)(($) => $ === Character.apostrophe, false, iterator, abort, { 'start character': $p.character }),
|
|
292
|
-
'type': ['apostrophed', null],
|
|
293
|
-
}];
|
|
294
|
-
default:
|
|
295
|
-
return ['text', {
|
|
296
|
-
'type': ['undelimited', null],
|
|
297
|
-
'value': (0, _p_text_from_list_1.default)(iterator.new.list(($) => {
|
|
298
|
-
return $.code !== Character.open_brace &&
|
|
299
|
-
$.code !== Character.close_brace &&
|
|
300
|
-
$.code !== Character.open_bracket &&
|
|
301
|
-
$.code !== Character.close_bracket &&
|
|
302
|
-
$.code !== Character.open_angle_bracket &&
|
|
303
|
-
$.code !== Character.close_angle_bracket &&
|
|
304
|
-
$.code !== Character.open_paren &&
|
|
305
|
-
$.code !== Character.close_paren &&
|
|
306
|
-
$.code !== Character.apostrophe &&
|
|
307
|
-
$.code !== Character.asterisk &&
|
|
308
|
-
$.code !== Character.at &&
|
|
309
|
-
$.code !== Character.backtick &&
|
|
310
|
-
$.code !== Character.bang &&
|
|
311
|
-
$.code !== Character.colon &&
|
|
312
|
-
$.code !== Character.pipe &&
|
|
313
|
-
$.code !== Character.quotation_mark &&
|
|
314
|
-
$.code !== Character.slash &&
|
|
315
|
-
$.code !== Character.tilde &&
|
|
316
|
-
$.code !== WhitespaceChars.comma &&
|
|
317
|
-
$.code !== WhitespaceChars.space &&
|
|
318
|
-
$.code !== WhitespaceChars.tab &&
|
|
319
|
-
$.code !== WhitespaceChars.line_feed &&
|
|
320
|
-
$.code !== WhitespaceChars.carriage_return;
|
|
321
|
-
}, ($) => {
|
|
322
|
-
if ((0, exports.is_control_character)($)) {
|
|
323
|
-
iterator.old.discard(() => null);
|
|
324
|
-
return abort({
|
|
325
|
-
'range': create_range(iterator, { 'start character': $ }),
|
|
326
|
-
'type': ['unexpected control character in text', {
|
|
327
|
-
'character': $.code,
|
|
328
|
-
}]
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
iterator.old.discard(() => null); // discard the character
|
|
135
|
+
switch (next_char[0].code) {
|
|
136
|
+
case 0x2F: // /
|
|
137
|
+
iterator.discard(() => null); // discard the second /
|
|
138
|
+
return ({
|
|
139
|
+
'type': ['line', null],
|
|
140
|
+
'content': (0, _p_text_from_list_1.default)(iterator.list({
|
|
141
|
+
has_more_items: ($) => $.code !== 0x0A && $.code !== 0x0D, // not a line feed or carriage return
|
|
142
|
+
handle: ($) => {
|
|
143
|
+
iterator.discard(() => null); // discard the character
|
|
332
144
|
return $.code;
|
|
333
|
-
},
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
145
|
+
},
|
|
146
|
+
}), ($) => $),
|
|
147
|
+
'range': create_range(iterator, { 'start character': slash_character }),
|
|
148
|
+
'trailing whitespace': (0, exports.Whitespace)(iterator, abort)
|
|
149
|
+
});
|
|
150
|
+
case 0x2A: { // *
|
|
151
|
+
iterator.discard(() => null); // discard the asterisk
|
|
152
|
+
return ({
|
|
153
|
+
'type': ['block', null],
|
|
154
|
+
'content': iterator.wrap_up(() => (0, _p_text_from_list_1.default)(iterator.list({
|
|
155
|
+
has_more_items: ($) => {
|
|
156
|
+
const next_char = iterator.look_ahead_raw(1);
|
|
157
|
+
return $.code !== 0x2A || (next_char === null || next_char[0].code !== 0x2F); // not an asterisk followed by a solidus (end of block comment)
|
|
158
|
+
},
|
|
159
|
+
handle: ($) => {
|
|
160
|
+
iterator.discard(() => null); // discard the character
|
|
161
|
+
return $.code;
|
|
162
|
+
},
|
|
163
|
+
}), ($) => $), () => ({
|
|
164
|
+
'asterisk': iterator.expect({
|
|
165
|
+
abort: abort,
|
|
166
|
+
get_error: ($) => create_error($, _p.list.literal([
|
|
167
|
+
['end of block comment', null]
|
|
168
|
+
])),
|
|
169
|
+
item: ($, abort) => $.code === 0x2A
|
|
170
|
+
? $
|
|
171
|
+
: abort(),
|
|
172
|
+
}),
|
|
173
|
+
'solidus': iterator.expect({
|
|
174
|
+
abort: abort,
|
|
175
|
+
get_error: ($) => create_error($, _p.list.literal([
|
|
176
|
+
['end of block comment', null]
|
|
177
|
+
])),
|
|
178
|
+
item: ($, abort) => $.code === 0x2F
|
|
179
|
+
? $
|
|
180
|
+
: abort(),
|
|
181
|
+
}),
|
|
182
|
+
})),
|
|
183
|
+
'range': create_range(iterator, { 'start character': slash_character }),
|
|
184
|
+
'trailing whitespace': (0, exports.Whitespace)(iterator, abort)
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
default:
|
|
188
|
+
return abort({
|
|
189
|
+
'range': create_range(iterator, { 'start character': slash_character }),
|
|
190
|
+
'type': ['dangling slash', {
|
|
191
|
+
'at end of input': false,
|
|
192
|
+
}]
|
|
193
|
+
});
|
|
337
194
|
}
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
};
|
|
343
|
-
};
|
|
344
|
-
exports.Annotated_Token = Annotated_Token;
|
|
195
|
+
},
|
|
196
|
+
}),
|
|
197
|
+
});
|
|
198
|
+
exports.Trivia = Trivia;
|
|
345
199
|
const Delimited_Text = (is_end_character, allow_newlines, iterator, abort, $p) => {
|
|
346
200
|
const Character = {
|
|
347
201
|
backspace: 0x08, // \b
|
|
@@ -366,26 +220,26 @@ const Delimited_Text = (is_end_character, allow_newlines, iterator, abort, $p) =
|
|
|
366
220
|
};
|
|
367
221
|
const txt = (0, _p_text_from_list_1.default)((0, _p_list_build_deprecated_1.default)(($i) => {
|
|
368
222
|
while (true) {
|
|
369
|
-
const $ =
|
|
223
|
+
const $ = iterator.look_raw();
|
|
370
224
|
if ($ === null) {
|
|
371
225
|
return abort({
|
|
372
226
|
'range': create_range(iterator, { 'start character': $p['start character'] }),
|
|
373
227
|
'type': ['unterminated text', null]
|
|
374
228
|
});
|
|
375
229
|
}
|
|
376
|
-
if ((0, exports.is_control_character)($)) {
|
|
230
|
+
if ((0, exports.is_control_character)($[0])) {
|
|
377
231
|
return abort({
|
|
378
232
|
'range': create_range(iterator, { 'start character': $p['start character'] }),
|
|
379
233
|
'type': ['unexpected control character in text', {
|
|
380
|
-
'character':
|
|
234
|
+
'character': $[0].code,
|
|
381
235
|
}]
|
|
382
236
|
});
|
|
383
237
|
}
|
|
384
|
-
if (is_end_character(
|
|
385
|
-
iterator.
|
|
238
|
+
if (is_end_character($[0].code)) {
|
|
239
|
+
iterator.discard(() => null); // discard the end character
|
|
386
240
|
return;
|
|
387
241
|
}
|
|
388
|
-
switch (
|
|
242
|
+
switch ($[0].code) {
|
|
389
243
|
case Character.line_feed:
|
|
390
244
|
case Character.carriage_return:
|
|
391
245
|
if (!allow_newlines) {
|
|
@@ -394,62 +248,62 @@ const Delimited_Text = (is_end_character, allow_newlines, iterator, abort, $p) =
|
|
|
394
248
|
'range': create_range(iterator, { 'start character': $p['start character'] }),
|
|
395
249
|
});
|
|
396
250
|
}
|
|
397
|
-
iterator.
|
|
398
|
-
$i['add item'](
|
|
251
|
+
iterator.discard(() => null);
|
|
252
|
+
$i['add item']($[0].code);
|
|
399
253
|
break;
|
|
400
254
|
case Character.reverse_solidus: // \ (escape)
|
|
401
|
-
iterator.
|
|
255
|
+
iterator.discard(() => null);
|
|
402
256
|
{
|
|
403
|
-
const $ =
|
|
257
|
+
const $ = iterator.look_raw();
|
|
404
258
|
if ($ === null) {
|
|
405
259
|
return abort({
|
|
406
260
|
'range': create_range(iterator, { 'start character': $p['start character'] }),
|
|
407
261
|
'type': ['missing character after escape', null]
|
|
408
262
|
});
|
|
409
263
|
}
|
|
410
|
-
switch (
|
|
264
|
+
switch ($[0].code) {
|
|
411
265
|
case Character.quotation_mark:
|
|
412
|
-
iterator.
|
|
266
|
+
iterator.discard(() => null);
|
|
413
267
|
$i['add item'](Character.quotation_mark);
|
|
414
268
|
break;
|
|
415
269
|
case Character.apostrophe:
|
|
416
|
-
iterator.
|
|
270
|
+
iterator.discard(() => null);
|
|
417
271
|
$i['add item'](Character.apostrophe);
|
|
418
272
|
break;
|
|
419
273
|
case Character.backtick:
|
|
420
|
-
iterator.
|
|
274
|
+
iterator.discard(() => null);
|
|
421
275
|
$i['add item'](Character.backtick);
|
|
422
276
|
break;
|
|
423
277
|
case Character.reverse_solidus:
|
|
424
|
-
iterator.
|
|
278
|
+
iterator.discard(() => null);
|
|
425
279
|
$i['add item'](Character.reverse_solidus);
|
|
426
280
|
break;
|
|
427
281
|
case Character.solidus:
|
|
428
|
-
iterator.
|
|
282
|
+
iterator.discard(() => null);
|
|
429
283
|
$i['add item'](Character.solidus);
|
|
430
284
|
break;
|
|
431
285
|
case Character.b:
|
|
432
|
-
iterator.
|
|
286
|
+
iterator.discard(() => null);
|
|
433
287
|
$i['add item'](Character.backspace);
|
|
434
288
|
break;
|
|
435
289
|
case Character.f:
|
|
436
|
-
iterator.
|
|
290
|
+
iterator.discard(() => null);
|
|
437
291
|
$i['add item'](Character.form_feed);
|
|
438
292
|
break;
|
|
439
293
|
case Character.n:
|
|
440
|
-
iterator.
|
|
294
|
+
iterator.discard(() => null);
|
|
441
295
|
$i['add item'](Character.line_feed);
|
|
442
296
|
break;
|
|
443
297
|
case Character.r:
|
|
444
|
-
iterator.
|
|
298
|
+
iterator.discard(() => null);
|
|
445
299
|
$i['add item'](Character.carriage_return);
|
|
446
300
|
break;
|
|
447
301
|
case Character.t:
|
|
448
|
-
iterator.
|
|
302
|
+
iterator.discard(() => null);
|
|
449
303
|
$i['add item'](Character.tab);
|
|
450
304
|
break;
|
|
451
305
|
case Character.u:
|
|
452
|
-
iterator.
|
|
306
|
+
iterator.discard(() => null);
|
|
453
307
|
const ds_hexadecimal = ($, abort) => {
|
|
454
308
|
const characters = $;
|
|
455
309
|
let result = 0;
|
|
@@ -504,21 +358,21 @@ const Delimited_Text = (is_end_character, allow_newlines, iterator, abort, $p) =
|
|
|
504
358
|
};
|
|
505
359
|
$i['add item'](ds_hexadecimal((0, _p_list_build_deprecated_1.default)(($i) => {
|
|
506
360
|
const get_char = () => {
|
|
507
|
-
const char =
|
|
361
|
+
const char = iterator.look_raw();
|
|
508
362
|
if (char === null) {
|
|
509
363
|
return abort({
|
|
510
364
|
'range': create_range(iterator, { 'start character': $p['start character'] }),
|
|
511
365
|
'type': ['unterminated unicode escape sequence', null]
|
|
512
366
|
});
|
|
513
367
|
}
|
|
514
|
-
if (char.code < Character.a || (char.code > Character.f && char.code < Character.A) || char.code > Character.F || char.code < 0x30 || char.code > 0x39) {
|
|
368
|
+
if (char[0].code < Character.a || (char[0].code > Character.f && char[0].code < Character.A) || char[0].code > Character.F || char[0].code < 0x30 || char[0].code > 0x39) {
|
|
515
369
|
return abort({
|
|
516
370
|
'range': create_range(iterator, { 'start character': $p['start character'] }),
|
|
517
371
|
'type': ['invalid unicode escape sequence', null]
|
|
518
372
|
});
|
|
519
373
|
}
|
|
520
|
-
iterator.
|
|
521
|
-
return char.code;
|
|
374
|
+
iterator.discard(() => null);
|
|
375
|
+
return char[0].code;
|
|
522
376
|
};
|
|
523
377
|
$i['add item'](get_char());
|
|
524
378
|
$i['add item'](get_char());
|
|
@@ -530,15 +384,15 @@ const Delimited_Text = (is_end_character, allow_newlines, iterator, abort, $p) =
|
|
|
530
384
|
return abort({
|
|
531
385
|
'range': create_range(iterator, { 'start character': $p['start character'] }),
|
|
532
386
|
'type': ['unknown escape character', {
|
|
533
|
-
'character':
|
|
387
|
+
'character': $[0].code
|
|
534
388
|
}]
|
|
535
389
|
});
|
|
536
390
|
}
|
|
537
391
|
}
|
|
538
392
|
break;
|
|
539
393
|
default:
|
|
540
|
-
iterator.
|
|
541
|
-
$i['add item'](
|
|
394
|
+
iterator.discard(() => null);
|
|
395
|
+
$i['add item']($[0].code);
|
|
542
396
|
}
|
|
543
397
|
}
|
|
544
398
|
}), ($) => $);
|
|
@@ -547,8 +401,161 @@ const Delimited_Text = (is_end_character, allow_newlines, iterator, abort, $p) =
|
|
|
547
401
|
exports.Delimited_Text = Delimited_Text;
|
|
548
402
|
const Tokenizer_Result = (iterator, abort) => ({
|
|
549
403
|
'leading trivia': (0, exports.Trivia)(iterator, abort),
|
|
550
|
-
'tokens': iterator.
|
|
551
|
-
|
|
404
|
+
'tokens': iterator.list({
|
|
405
|
+
has_more_items: ($) => true,
|
|
406
|
+
handle: ($) => ({
|
|
407
|
+
'type': _p.state.block(() => {
|
|
408
|
+
const Character = {
|
|
409
|
+
open_angle_bracket: 0x3C, // <
|
|
410
|
+
open_brace: 0x7B, // {
|
|
411
|
+
open_bracket: 0x5B, // [
|
|
412
|
+
open_paren: 0x28, // (
|
|
413
|
+
close_angle_bracket: 0x3E, // >
|
|
414
|
+
close_brace: 0x7D, // }
|
|
415
|
+
close_bracket: 0x5D, // ]
|
|
416
|
+
close_paren: 0x29, // )
|
|
417
|
+
apostrophe: 0x27, // '
|
|
418
|
+
asterisk: 0x2A, // *
|
|
419
|
+
at: 0x40, // @
|
|
420
|
+
backtick: 0x60, // `
|
|
421
|
+
bang: 0x21,
|
|
422
|
+
colon: 0x3A, // :
|
|
423
|
+
pipe: 0x7C, // |
|
|
424
|
+
quotation_mark: 0x22, // "
|
|
425
|
+
slash: 0x2F, // /
|
|
426
|
+
underscore: 0x5F, // _
|
|
427
|
+
tilde: 0x7E, // ~
|
|
428
|
+
hash: 0x23, // #
|
|
429
|
+
space: 0x20, // space
|
|
430
|
+
tab: 0x09, // \t
|
|
431
|
+
};
|
|
432
|
+
switch ($.code) {
|
|
433
|
+
case Character.open_brace:
|
|
434
|
+
iterator.discard(() => null);
|
|
435
|
+
return ['{', null];
|
|
436
|
+
case Character.open_bracket:
|
|
437
|
+
iterator.discard(() => null);
|
|
438
|
+
return ['[', null];
|
|
439
|
+
case Character.open_angle_bracket:
|
|
440
|
+
iterator.discard(() => null);
|
|
441
|
+
return ['<', null];
|
|
442
|
+
case Character.open_paren:
|
|
443
|
+
iterator.discard(() => null);
|
|
444
|
+
return ['(', null];
|
|
445
|
+
case Character.close_brace:
|
|
446
|
+
iterator.discard(() => null);
|
|
447
|
+
return ['}', null];
|
|
448
|
+
case Character.close_bracket:
|
|
449
|
+
iterator.discard(() => null);
|
|
450
|
+
return [']', null];
|
|
451
|
+
case Character.close_angle_bracket:
|
|
452
|
+
iterator.discard(() => null);
|
|
453
|
+
return ['>', null];
|
|
454
|
+
case Character.close_paren:
|
|
455
|
+
iterator.discard(() => null);
|
|
456
|
+
return [')', null];
|
|
457
|
+
//individuals
|
|
458
|
+
case Character.hash:
|
|
459
|
+
iterator.discard(() => null);
|
|
460
|
+
return ['#', null]; // missing data token
|
|
461
|
+
case Character.pipe:
|
|
462
|
+
iterator.discard(() => null);
|
|
463
|
+
return ['|', null]; // state value token
|
|
464
|
+
case Character.underscore:
|
|
465
|
+
iterator.discard(() => null);
|
|
466
|
+
return ['_', null]; // unset value token
|
|
467
|
+
case Character.tilde:
|
|
468
|
+
iterator.discard(() => null);
|
|
469
|
+
return ['~', null]; // unset value token
|
|
470
|
+
case Character.asterisk:
|
|
471
|
+
iterator.discard(() => null);
|
|
472
|
+
return ['*', null]; // set value token
|
|
473
|
+
case Character.at:
|
|
474
|
+
iterator.discard(() => null);
|
|
475
|
+
return ['@', null]; // include token
|
|
476
|
+
case Character.bang:
|
|
477
|
+
iterator.discard(() => null);
|
|
478
|
+
return ['!', null]; // header token
|
|
479
|
+
case Character.colon:
|
|
480
|
+
iterator.discard(() => null);
|
|
481
|
+
return [':', null]; // structural token
|
|
482
|
+
case Character.quotation_mark:
|
|
483
|
+
iterator.discard(() => null);
|
|
484
|
+
return ['text', {
|
|
485
|
+
'value': (0, exports.Delimited_Text)(($) => $ === Character.quotation_mark, true, iterator, abort, { 'start character': $ }),
|
|
486
|
+
'type': ['quoted', null],
|
|
487
|
+
}];
|
|
488
|
+
case Character.backtick:
|
|
489
|
+
iterator.discard(() => null);
|
|
490
|
+
return ['text', {
|
|
491
|
+
'value': (0, exports.Delimited_Text)(($) => $ === Character.backtick, false, iterator, abort, { 'start character': $ }),
|
|
492
|
+
'type': ['backticked', null],
|
|
493
|
+
}];
|
|
494
|
+
case Character.apostrophe:
|
|
495
|
+
iterator.discard(() => null);
|
|
496
|
+
return ['text', {
|
|
497
|
+
'value': (0, exports.Delimited_Text)(($) => $ === Character.apostrophe, false, iterator, abort, { 'start character': $ }),
|
|
498
|
+
'type': ['apostrophed', null],
|
|
499
|
+
}];
|
|
500
|
+
default:
|
|
501
|
+
return ['text', {
|
|
502
|
+
'type': ['undelimited', null],
|
|
503
|
+
'value': (0, _p_text_from_list_1.default)(iterator.list({
|
|
504
|
+
has_more_items: ($) => {
|
|
505
|
+
const WhitespaceChars = {
|
|
506
|
+
tab: 0x09, // \t
|
|
507
|
+
line_feed: 0x0A, // \n
|
|
508
|
+
carriage_return: 0x0D, // \r
|
|
509
|
+
space: 0x20, //
|
|
510
|
+
comma: 0x2C, // ,
|
|
511
|
+
};
|
|
512
|
+
return $.code !== Character.open_brace &&
|
|
513
|
+
$.code !== Character.close_brace &&
|
|
514
|
+
$.code !== Character.open_bracket &&
|
|
515
|
+
$.code !== Character.close_bracket &&
|
|
516
|
+
$.code !== Character.open_angle_bracket &&
|
|
517
|
+
$.code !== Character.close_angle_bracket &&
|
|
518
|
+
$.code !== Character.open_paren &&
|
|
519
|
+
$.code !== Character.close_paren &&
|
|
520
|
+
$.code !== Character.apostrophe &&
|
|
521
|
+
$.code !== Character.asterisk &&
|
|
522
|
+
$.code !== Character.at &&
|
|
523
|
+
$.code !== Character.backtick &&
|
|
524
|
+
$.code !== Character.bang &&
|
|
525
|
+
$.code !== Character.colon &&
|
|
526
|
+
$.code !== Character.pipe &&
|
|
527
|
+
$.code !== Character.quotation_mark &&
|
|
528
|
+
$.code !== Character.slash &&
|
|
529
|
+
$.code !== Character.tilde &&
|
|
530
|
+
$.code !== WhitespaceChars.comma &&
|
|
531
|
+
$.code !== WhitespaceChars.space &&
|
|
532
|
+
$.code !== WhitespaceChars.tab &&
|
|
533
|
+
$.code !== WhitespaceChars.line_feed &&
|
|
534
|
+
$.code !== WhitespaceChars.carriage_return;
|
|
535
|
+
},
|
|
536
|
+
handle: ($) => {
|
|
537
|
+
if ((0, exports.is_control_character)($)) {
|
|
538
|
+
iterator.discard(() => null);
|
|
539
|
+
return abort({
|
|
540
|
+
'range': create_range(iterator, { 'start character': $ }),
|
|
541
|
+
'type': ['unexpected control character in text', {
|
|
542
|
+
'character': $.code,
|
|
543
|
+
}]
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
iterator.discard(() => null); // discard the character
|
|
547
|
+
return $.code;
|
|
548
|
+
},
|
|
549
|
+
}), ($) => $)
|
|
550
|
+
}];
|
|
551
|
+
}
|
|
552
|
+
}),
|
|
553
|
+
'start': $.location,
|
|
554
|
+
'end': create_range(iterator, { 'start character': $ }).end,
|
|
555
|
+
'trailing trivia': (0, exports.Trivia)(iterator, abort),
|
|
556
|
+
}),
|
|
557
|
+
}),
|
|
558
|
+
'end': iterator.get_end_info()
|
|
552
559
|
});
|
|
553
560
|
exports.Tokenizer_Result = Tokenizer_Result;
|
|
554
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGVkX2NoYXJhY3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcmVmaW5lcnMvdG9rZW4vYW5ub3RhdGVkX2NoYXJhY3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBNkM7QUFHN0MseUdBQWdGO0FBQ2hGLHlHQUFnRjtBQUNoRiwyRkFBa0U7QUFvQmxFLE1BQU0sa0NBQWtDLEdBQUcsQ0FBQyxRQUFzRSxFQUFtQyxFQUFFO0lBQ25KLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEMsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2xCLENBQUM7QUFDTCxDQUFDLENBQUE7QUFFRCxNQUFNLGVBQWUsR0FBRztJQUNwQixHQUFHLEVBQUUsSUFBSSxFQUFtQixLQUFLO0lBQ2pDLFNBQVMsRUFBRSxJQUFJLEVBQWEsS0FBSztJQUNqQyxlQUFlLEVBQUUsSUFBSSxFQUFPLEtBQUs7SUFDakMsS0FBSyxFQUFFLElBQUksRUFBaUIsRUFBRTtJQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFpQixJQUFJO0NBQ25DLENBQUE7QUFFTSxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBMkIsRUFBVyxFQUFFLENBQ3pFLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSTtPQUNWLENBQUMsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLEdBQUc7T0FDOUIsQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsU0FBUztPQUNwQyxDQUFDLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxlQUFlLENBQUE7QUFK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
|
|
561
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGVkX2NoYXJhY3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcmVmaW5lcnMvdG9rZW4vYW5ub3RhdGVkX2NoYXJhY3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBNkM7QUFFN0MseUdBQWdGO0FBQ2hGLHlHQUFnRjtBQUNoRiwyRkFBa0U7QUFVbEUsY0FBYztBQUdkLE1BQU0sWUFBWSxHQUFHLENBQ2pCLE9BQXFELEVBQ3JELFFBQTBELEVBRXBDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUN6QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNKLE9BQU8sRUFBRTtRQUNMLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUTtRQUNuQixLQUFLLEVBQUU7WUFDSCxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQztZQUNuQyxVQUFVLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUk7Z0JBQ2hDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQzthQUMzQztTQUNKO0tBQ0o7SUFDRCxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUU7WUFDbkIsVUFBVSxFQUFFLFFBQVE7U0FDdkIsQ0FBQztDQUNMLENBQUMsRUFDRixHQUFHLEVBQUUsQ0FBQyxJQUFBLGtDQUF3QixFQUFDLGNBQWMsQ0FBQyxDQUNqRCxDQUFBO0FBRU0sTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQTJCLEVBQVcsRUFBRSxDQUN6RSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUk7T0FDVixDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLO09BQ3JCLENBQUMs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
|