@danielx/civet 0.6.90 → 0.6.91
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/README.md +1 -2
- package/dist/astro.d.mts +15 -0
- package/dist/astro.d.ts +15 -0
- package/dist/astro.js +452 -0
- package/dist/astro.mjs +22 -0
- package/dist/browser.js +858 -736
- package/dist/main.js +858 -736
- package/dist/main.mjs +858 -736
- package/package.json +5 -1
package/dist/browser.js
CHANGED
|
@@ -41,6 +41,389 @@ var Civet = (() => {
|
|
|
41
41
|
));
|
|
42
42
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
43
43
|
|
|
44
|
+
// source/parser/op.civet
|
|
45
|
+
function getPrecedence(op) {
|
|
46
|
+
if (typeof op === "string") {
|
|
47
|
+
return precedenceMap.get(op) ?? (() => {
|
|
48
|
+
throw new Error(`Unknown operator: ${op}`);
|
|
49
|
+
})();
|
|
50
|
+
} else if (typeof op.prec === "number") {
|
|
51
|
+
return op.prec;
|
|
52
|
+
} else {
|
|
53
|
+
return precedenceMap.get(op.prec ?? op.token) ?? (op.relational ? precedenceRelational : precedenceCustomDefault);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function processBinaryOpExpression($0) {
|
|
57
|
+
return recurse(expandChainedComparisons($0));
|
|
58
|
+
function recurse(expandedOps) {
|
|
59
|
+
let i = 2;
|
|
60
|
+
while (i < expandedOps.length) {
|
|
61
|
+
let op = expandedOps[i];
|
|
62
|
+
if (op.special) {
|
|
63
|
+
let advanceLeft2 = function(allowEqual) {
|
|
64
|
+
while (start >= 4) {
|
|
65
|
+
const prevPrec = getPrecedence(expandedOps[start - 2]);
|
|
66
|
+
if (!(prevPrec > prec || allowEqual && prevPrec === prec)) {
|
|
67
|
+
return prevPrec === prec;
|
|
68
|
+
}
|
|
69
|
+
start -= 4;
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
}, advanceRight2 = function(allowEqual) {
|
|
73
|
+
while (end + 4 < expandedOps.length) {
|
|
74
|
+
const nextPrec = getPrecedence(expandedOps[end + 2]);
|
|
75
|
+
if (!(nextPrec > prec || allowEqual && nextPrec === prec)) {
|
|
76
|
+
return nextPrec === prec;
|
|
77
|
+
}
|
|
78
|
+
end += 4;
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
};
|
|
82
|
+
var advanceLeft = advanceLeft2, advanceRight = advanceRight2;
|
|
83
|
+
let start = i - 2, end = i + 2;
|
|
84
|
+
const prec = getPrecedence(op);
|
|
85
|
+
let error;
|
|
86
|
+
switch (op.assoc) {
|
|
87
|
+
case "left":
|
|
88
|
+
case void 0: {
|
|
89
|
+
advanceLeft2(true);
|
|
90
|
+
advanceRight2(false);
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
case "right": {
|
|
94
|
+
advanceLeft2(false);
|
|
95
|
+
advanceRight2(true);
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
case "non": {
|
|
99
|
+
if (advanceLeft2(false) || advanceRight2(false)) {
|
|
100
|
+
error = {
|
|
101
|
+
type: "Error",
|
|
102
|
+
message: `non-associative operator ${op.token} used at same precedence level without parenthesization`
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case "arguments": {
|
|
109
|
+
if (advanceLeft2(false)) {
|
|
110
|
+
error = {
|
|
111
|
+
type: "Error",
|
|
112
|
+
message: `arguments operator ${op.token} used at same precedence level as ${expandedOps[start - 2].token} to the left`
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
advanceRight2(true);
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
default: {
|
|
119
|
+
throw new Error(`Unsupported associativity: ${op.assoc}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
let a = start === i - 2 ? expandedOps[start] : expandedOps.slice(start, i - 1);
|
|
123
|
+
let wsOp = expandedOps[i - 1];
|
|
124
|
+
let wsB = expandedOps[i + 1];
|
|
125
|
+
let b = end === i + 2 ? expandedOps[i + 2] : expandedOps.slice(i + 2, end + 1);
|
|
126
|
+
if (op.assoc === "arguments") {
|
|
127
|
+
let i2 = 2;
|
|
128
|
+
while (i2 < b.length) {
|
|
129
|
+
if (prec === getPrecedence(b[i2])) {
|
|
130
|
+
if (!(b[i2].token === op.token)) {
|
|
131
|
+
error ??= {
|
|
132
|
+
type: "Error",
|
|
133
|
+
message: `arguments operator ${op.token} used at same precedence level as ${b[i2].token} to the right`
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
b[i2] = ",";
|
|
137
|
+
}
|
|
138
|
+
i2 += 4;
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
b = recurse(b);
|
|
142
|
+
}
|
|
143
|
+
if (op.token === "instanceof" && b.type === "Literal" && b.children?.[0]?.type === "StringLiteral") {
|
|
144
|
+
a = ["typeof ", makeLeftHandSideExpression(a)];
|
|
145
|
+
if (op.negated) {
|
|
146
|
+
op = { ...op, token: "!==", negated: false };
|
|
147
|
+
} else {
|
|
148
|
+
op = { ...op, token: "===" };
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (op.asConst) {
|
|
152
|
+
a = makeAsConst(a);
|
|
153
|
+
b = makeAsConst(b);
|
|
154
|
+
}
|
|
155
|
+
let children;
|
|
156
|
+
if (op.call) {
|
|
157
|
+
wsOp = insertTrimmingSpace(wsOp, "");
|
|
158
|
+
if (op.reversed) {
|
|
159
|
+
wsB = insertTrimmingSpace(wsB, "");
|
|
160
|
+
children = [wsOp, op.call, "(", wsB, b, ", ", a, ")", op.suffix];
|
|
161
|
+
} else {
|
|
162
|
+
children = [wsOp, op.call, "(", a, ",", wsB, b, ")", op.suffix];
|
|
163
|
+
}
|
|
164
|
+
} else if (op.method) {
|
|
165
|
+
wsOp = insertTrimmingSpace(wsOp, "");
|
|
166
|
+
wsB = insertTrimmingSpace(wsB, "");
|
|
167
|
+
if (op.reversed) {
|
|
168
|
+
if (end !== i + 2)
|
|
169
|
+
b = makeLeftHandSideExpression(b);
|
|
170
|
+
b = dotNumericLiteral(b);
|
|
171
|
+
children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
|
|
172
|
+
} else {
|
|
173
|
+
if (start !== i - 2 || a.type === "NumericLiteral") {
|
|
174
|
+
a = makeLeftHandSideExpression(a);
|
|
175
|
+
}
|
|
176
|
+
a = dotNumericLiteral(a);
|
|
177
|
+
children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
|
|
178
|
+
}
|
|
179
|
+
} else if (op.token) {
|
|
180
|
+
children = [a, wsOp, op, wsB, b];
|
|
181
|
+
if (op.negated)
|
|
182
|
+
children = ["(", ...children, ")"];
|
|
183
|
+
} else {
|
|
184
|
+
throw new Error("Unknown operator: " + JSON.stringify(op));
|
|
185
|
+
}
|
|
186
|
+
if (op.negated)
|
|
187
|
+
children.unshift("!");
|
|
188
|
+
if (error != null) {
|
|
189
|
+
children.push(error);
|
|
190
|
+
}
|
|
191
|
+
expandedOps.splice(start, end - start + 1, {
|
|
192
|
+
children
|
|
193
|
+
});
|
|
194
|
+
i = start + 2;
|
|
195
|
+
} else {
|
|
196
|
+
i += 4;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return expandedOps;
|
|
200
|
+
}
|
|
201
|
+
;
|
|
202
|
+
return recurse;
|
|
203
|
+
}
|
|
204
|
+
function dotNumericLiteral(literal) {
|
|
205
|
+
if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
|
|
206
|
+
literal.children.push(".");
|
|
207
|
+
literal.raw += ".";
|
|
208
|
+
}
|
|
209
|
+
return literal;
|
|
210
|
+
}
|
|
211
|
+
function makeAsConst(node) {
|
|
212
|
+
if (Array.isArray(node) && node.length === 1) {
|
|
213
|
+
node = node[0];
|
|
214
|
+
}
|
|
215
|
+
if (node.type === "Literal" && node.raw !== "null" || node.type === "ArrayExpression" || node.type === "ObjectExpression") {
|
|
216
|
+
return { ...node, children: [...node.children, asConst] };
|
|
217
|
+
} else {
|
|
218
|
+
return node;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function isExistence(exp) {
|
|
222
|
+
if (exp?.type === "ParenthesizedExpression" && exp.implicit) {
|
|
223
|
+
exp = exp.expression;
|
|
224
|
+
}
|
|
225
|
+
if (exp?.type === "Existence") {
|
|
226
|
+
return exp;
|
|
227
|
+
}
|
|
228
|
+
;
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
function isRelationalOp(op) {
|
|
232
|
+
return op.relational || getPrecedence(op) === precedenceRelational;
|
|
233
|
+
}
|
|
234
|
+
function expandChainedComparisons([first, binops]) {
|
|
235
|
+
if (!binops.length) {
|
|
236
|
+
return [first];
|
|
237
|
+
}
|
|
238
|
+
const results = [];
|
|
239
|
+
let start = 0;
|
|
240
|
+
const chains = [];
|
|
241
|
+
var i = 0;
|
|
242
|
+
for (let i3 = 0, len2 = binops.length; i3 < len2; i3++) {
|
|
243
|
+
var i = i3;
|
|
244
|
+
var [, op] = binops[i3];
|
|
245
|
+
if (isRelationalOp(op)) {
|
|
246
|
+
chains.push(i);
|
|
247
|
+
} else if (getPrecedence(op) < precedenceRelational) {
|
|
248
|
+
processChains();
|
|
249
|
+
first = results.pop();
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
processChains();
|
|
253
|
+
return results;
|
|
254
|
+
function processChains() {
|
|
255
|
+
if (chains.length > 0) {
|
|
256
|
+
first = expandExistence(first);
|
|
257
|
+
for (let i4 = 0, len3 = chains.length; i4 < len3; i4++) {
|
|
258
|
+
const k = i4;
|
|
259
|
+
const index = chains[i4];
|
|
260
|
+
if (k > 0) {
|
|
261
|
+
results.push(" ", "&&", " ");
|
|
262
|
+
}
|
|
263
|
+
const binop = binops[index];
|
|
264
|
+
const exp = binop[3] = expandExistence(binop[3]);
|
|
265
|
+
results.push(first);
|
|
266
|
+
const endIndex = chains[k + 1] ?? i + 1;
|
|
267
|
+
results.push(...binops.slice(start, endIndex).flat());
|
|
268
|
+
first = [exp].concat(binops.slice(index + 1, endIndex));
|
|
269
|
+
start = endIndex;
|
|
270
|
+
}
|
|
271
|
+
} else {
|
|
272
|
+
results.push(first);
|
|
273
|
+
results.push(...binops.slice(start, i + 1).flat());
|
|
274
|
+
start = i + 1;
|
|
275
|
+
}
|
|
276
|
+
chains.length = 0;
|
|
277
|
+
}
|
|
278
|
+
function expandExistence(exp) {
|
|
279
|
+
let ref;
|
|
280
|
+
if (ref = isExistence(exp)) {
|
|
281
|
+
const existence = ref;
|
|
282
|
+
results.push(existence, " ", "&&", " ");
|
|
283
|
+
return existence.expression;
|
|
284
|
+
} else {
|
|
285
|
+
return exp;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
;
|
|
289
|
+
}
|
|
290
|
+
var precedenceOrder, precedenceMap, precedenceStep, precedenceRelational, precedenceCustomDefault, asConst;
|
|
291
|
+
var init_op = __esm({
|
|
292
|
+
"source/parser/op.civet"() {
|
|
293
|
+
"use strict";
|
|
294
|
+
init_util();
|
|
295
|
+
precedenceOrder = [
|
|
296
|
+
["||", "??"],
|
|
297
|
+
["^^"],
|
|
298
|
+
["&&"],
|
|
299
|
+
["|"],
|
|
300
|
+
["^"],
|
|
301
|
+
["&"],
|
|
302
|
+
// NOTE: Equality and inequality merged because of relational chaining
|
|
303
|
+
[
|
|
304
|
+
"==",
|
|
305
|
+
"!=",
|
|
306
|
+
"===",
|
|
307
|
+
"!==",
|
|
308
|
+
"<",
|
|
309
|
+
"<=",
|
|
310
|
+
">",
|
|
311
|
+
">=",
|
|
312
|
+
"in",
|
|
313
|
+
"instanceof"
|
|
314
|
+
],
|
|
315
|
+
// NOTE: Extra in-between level for default custom operators
|
|
316
|
+
["custom"],
|
|
317
|
+
["<<", ">>", ">>>"],
|
|
318
|
+
["+", "-"],
|
|
319
|
+
["*", "/", "%"],
|
|
320
|
+
["**"]
|
|
321
|
+
];
|
|
322
|
+
precedenceMap = /* @__PURE__ */ new Map();
|
|
323
|
+
for (let i1 = 0, len = precedenceOrder.length; i1 < len; i1++) {
|
|
324
|
+
const prec = i1;
|
|
325
|
+
const ops = precedenceOrder[i1];
|
|
326
|
+
for (let i2 = 0, len1 = ops.length; i2 < len1; i2++) {
|
|
327
|
+
const op = ops[i2];
|
|
328
|
+
precedenceMap.set(op, prec);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
precedenceStep = 1 / 64;
|
|
332
|
+
precedenceRelational = precedenceMap.get("==");
|
|
333
|
+
precedenceCustomDefault = precedenceMap.get("custom");
|
|
334
|
+
asConst = {
|
|
335
|
+
ts: true,
|
|
336
|
+
children: [" as const"]
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
// source/parser/unary.civet
|
|
342
|
+
function processUnaryExpression(pre, exp, post) {
|
|
343
|
+
if (!(pre.length || post))
|
|
344
|
+
return exp;
|
|
345
|
+
if (post?.token === "?") {
|
|
346
|
+
post = {
|
|
347
|
+
$loc: post.$loc,
|
|
348
|
+
token: " != null"
|
|
349
|
+
};
|
|
350
|
+
if (pre.length) {
|
|
351
|
+
const lastPre = pre.at(-1);
|
|
352
|
+
if (lastPre.token === "!") {
|
|
353
|
+
post.token = " == null";
|
|
354
|
+
pre = pre.slice(0, -1);
|
|
355
|
+
} else if (lastPre.length === 2 && lastPre[0].token === "!") {
|
|
356
|
+
post.token = " == null";
|
|
357
|
+
pre = pre.slice(0, -1);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
const existence = {
|
|
361
|
+
type: "Existence",
|
|
362
|
+
expression: exp,
|
|
363
|
+
children: [exp, post],
|
|
364
|
+
parent: void 0
|
|
365
|
+
};
|
|
366
|
+
exp = makeLeftHandSideExpression(existence);
|
|
367
|
+
if (pre.length) {
|
|
368
|
+
return {
|
|
369
|
+
type: "UnaryExpression",
|
|
370
|
+
children: [...pre, exp]
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
return exp;
|
|
374
|
+
}
|
|
375
|
+
if (exp.type === "Literal") {
|
|
376
|
+
if (pre.length === 1) {
|
|
377
|
+
const { token } = pre[0];
|
|
378
|
+
if (token === "-" || token === "+") {
|
|
379
|
+
const children = [pre[0], ...exp.children];
|
|
380
|
+
if (post)
|
|
381
|
+
exp.children.push(post);
|
|
382
|
+
return {
|
|
383
|
+
type: "Literal",
|
|
384
|
+
children,
|
|
385
|
+
raw: `${token}${exp.raw}`
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
let ref;
|
|
391
|
+
while (ref = pre.length) {
|
|
392
|
+
const l = ref;
|
|
393
|
+
const last = pre[l - 1];
|
|
394
|
+
if (last.type === "Await") {
|
|
395
|
+
if (last.op) {
|
|
396
|
+
if (exp.type !== "ParenthesizedExpression") {
|
|
397
|
+
exp = ["(", exp, ")"];
|
|
398
|
+
}
|
|
399
|
+
exp = {
|
|
400
|
+
type: "CallExpression",
|
|
401
|
+
children: [...last.children, "Promise", last.op, exp]
|
|
402
|
+
};
|
|
403
|
+
pre = pre.slice(0, -1);
|
|
404
|
+
} else {
|
|
405
|
+
exp = {
|
|
406
|
+
type: "AwaitExpression",
|
|
407
|
+
children: [...last.children, exp]
|
|
408
|
+
};
|
|
409
|
+
pre = pre.slice(0, -1);
|
|
410
|
+
}
|
|
411
|
+
} else {
|
|
412
|
+
break;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
return {
|
|
416
|
+
type: "UnaryExpression",
|
|
417
|
+
children: [...pre, exp, post]
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
var init_unary = __esm({
|
|
421
|
+
"source/parser/unary.civet"() {
|
|
422
|
+
"use strict";
|
|
423
|
+
init_util();
|
|
424
|
+
}
|
|
425
|
+
});
|
|
426
|
+
|
|
44
427
|
// source/parser/util.civet
|
|
45
428
|
function addParentPointers(node, parent) {
|
|
46
429
|
if (node == null)
|
|
@@ -276,6 +659,92 @@ var Civet = (() => {
|
|
|
276
659
|
parameters
|
|
277
660
|
};
|
|
278
661
|
}
|
|
662
|
+
function makeAmpersandFunctionExpression(prefix, rhs) {
|
|
663
|
+
let ref, body, typeSuffix;
|
|
664
|
+
if (!rhs) {
|
|
665
|
+
body = ref = makeRef("$");
|
|
666
|
+
} else {
|
|
667
|
+
({ ref, typeSuffix } = rhs);
|
|
668
|
+
if (!ref) {
|
|
669
|
+
throw new Error("Could not find ref in ampersand shorthand block");
|
|
670
|
+
}
|
|
671
|
+
body = rhs;
|
|
672
|
+
}
|
|
673
|
+
if (prefix.length) {
|
|
674
|
+
body = {
|
|
675
|
+
type: "UnaryExpression",
|
|
676
|
+
children: [processUnaryExpression(prefix, body, void 0)]
|
|
677
|
+
};
|
|
678
|
+
}
|
|
679
|
+
const parameters = {
|
|
680
|
+
type: "Parameters",
|
|
681
|
+
children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
|
|
682
|
+
names: []
|
|
683
|
+
};
|
|
684
|
+
const expressions = [body];
|
|
685
|
+
const block = {
|
|
686
|
+
bare: true,
|
|
687
|
+
expressions,
|
|
688
|
+
children: [expressions]
|
|
689
|
+
};
|
|
690
|
+
const children = [parameters, " => ", block];
|
|
691
|
+
const async = hasAwait(body);
|
|
692
|
+
if (async) {
|
|
693
|
+
children.unshift("async ");
|
|
694
|
+
}
|
|
695
|
+
return {
|
|
696
|
+
type: "ArrowFunction",
|
|
697
|
+
signature: {
|
|
698
|
+
modifier: {
|
|
699
|
+
async
|
|
700
|
+
}
|
|
701
|
+
},
|
|
702
|
+
children,
|
|
703
|
+
ref,
|
|
704
|
+
body,
|
|
705
|
+
ampersandBlock: true,
|
|
706
|
+
block,
|
|
707
|
+
parameters
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
function makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS) {
|
|
711
|
+
const ref = makeRef("$");
|
|
712
|
+
let exp = {
|
|
713
|
+
type: "AmpersandRef",
|
|
714
|
+
children: [ref],
|
|
715
|
+
names: [],
|
|
716
|
+
ref
|
|
717
|
+
};
|
|
718
|
+
if (callExpRest) {
|
|
719
|
+
exp.children.push(...callExpRest[1]);
|
|
720
|
+
}
|
|
721
|
+
if (unaryPostfix) {
|
|
722
|
+
exp = processUnaryExpression([], exp, unaryPostfix);
|
|
723
|
+
}
|
|
724
|
+
if (assign) {
|
|
725
|
+
const [op1, more, rhs] = assign;
|
|
726
|
+
const lhs = [
|
|
727
|
+
[void 0, exp, ...op1],
|
|
728
|
+
...more.map((x) => [x[0], x[1], ...x[2]])
|
|
729
|
+
];
|
|
730
|
+
exp = {
|
|
731
|
+
type: "AssignmentExpression",
|
|
732
|
+
children: [lhs, rhs],
|
|
733
|
+
names: null,
|
|
734
|
+
lhs,
|
|
735
|
+
assigned: exp,
|
|
736
|
+
exp: rhs
|
|
737
|
+
};
|
|
738
|
+
}
|
|
739
|
+
if (binopRHS) {
|
|
740
|
+
exp = {
|
|
741
|
+
children: processBinaryOpExpression([exp, binopRHS[1]])
|
|
742
|
+
};
|
|
743
|
+
}
|
|
744
|
+
exp.ref = ref;
|
|
745
|
+
exp.typeSuffix = typeSuffix;
|
|
746
|
+
return exp;
|
|
747
|
+
}
|
|
279
748
|
function makeLeftHandSideExpression(expression) {
|
|
280
749
|
if (expression.parenthesized) {
|
|
281
750
|
return expression;
|
|
@@ -453,7 +922,9 @@ var Civet = (() => {
|
|
|
453
922
|
const children = expression ? ["return ", expression] : ["return"];
|
|
454
923
|
return makeNode({
|
|
455
924
|
type: "ReturnStatement",
|
|
456
|
-
children
|
|
925
|
+
children,
|
|
926
|
+
expression,
|
|
927
|
+
parent: expression?.parent
|
|
457
928
|
});
|
|
458
929
|
}
|
|
459
930
|
var assert, typeNeedsNoParens;
|
|
@@ -461,6 +932,8 @@ var Civet = (() => {
|
|
|
461
932
|
"source/parser/util.civet"() {
|
|
462
933
|
"use strict";
|
|
463
934
|
init_traversal();
|
|
935
|
+
init_op();
|
|
936
|
+
init_unary();
|
|
464
937
|
assert = {
|
|
465
938
|
equal(a, b, msg) {
|
|
466
939
|
if (a !== b) {
|
|
@@ -872,325 +1345,22 @@ var Civet = (() => {
|
|
|
872
1345
|
return;
|
|
873
1346
|
}
|
|
874
1347
|
const { blockPrefix } = n;
|
|
875
|
-
p.push(blockPrefix);
|
|
876
|
-
return insertRestSplices(blockPrefix, p, thisAssignments2);
|
|
877
|
-
});
|
|
878
|
-
}
|
|
879
|
-
insertRestSplices(statements, splices, thisAssignments);
|
|
880
|
-
return [splices, thisAssignments];
|
|
881
|
-
}
|
|
882
|
-
function arrayElementHasTrailingComma(elementNode) {
|
|
883
|
-
const lastChild = elementNode.children.at(-1);
|
|
884
|
-
return lastChild && lastChild[lastChild.length - 1]?.token === ",";
|
|
885
|
-
}
|
|
886
|
-
var init_binding = __esm({
|
|
887
|
-
"source/parser/binding.civet"() {
|
|
888
|
-
"use strict";
|
|
889
|
-
init_traversal();
|
|
890
|
-
init_util();
|
|
891
|
-
}
|
|
892
|
-
});
|
|
893
|
-
|
|
894
|
-
// source/parser/op.civet
|
|
895
|
-
function getPrecedence(op) {
|
|
896
|
-
if (typeof op === "string") {
|
|
897
|
-
return precedenceMap.get(op) ?? (() => {
|
|
898
|
-
throw new Error(`Unknown operator: ${op}`);
|
|
899
|
-
})();
|
|
900
|
-
} else if (typeof op.prec === "number") {
|
|
901
|
-
return op.prec;
|
|
902
|
-
} else {
|
|
903
|
-
return precedenceMap.get(op.prec ?? op.token) ?? (op.relational ? precedenceRelational : precedenceCustomDefault);
|
|
904
|
-
}
|
|
905
|
-
}
|
|
906
|
-
function processBinaryOpExpression($0) {
|
|
907
|
-
return recurse(expandChainedComparisons($0));
|
|
908
|
-
function recurse(expandedOps) {
|
|
909
|
-
let i = 2;
|
|
910
|
-
while (i < expandedOps.length) {
|
|
911
|
-
let op = expandedOps[i];
|
|
912
|
-
if (op.special) {
|
|
913
|
-
let advanceLeft2 = function(allowEqual) {
|
|
914
|
-
while (start >= 4) {
|
|
915
|
-
const prevPrec = getPrecedence(expandedOps[start - 2]);
|
|
916
|
-
if (!(prevPrec > prec || allowEqual && prevPrec === prec)) {
|
|
917
|
-
return prevPrec === prec;
|
|
918
|
-
}
|
|
919
|
-
start -= 4;
|
|
920
|
-
}
|
|
921
|
-
return false;
|
|
922
|
-
}, advanceRight2 = function(allowEqual) {
|
|
923
|
-
while (end + 4 < expandedOps.length) {
|
|
924
|
-
const nextPrec = getPrecedence(expandedOps[end + 2]);
|
|
925
|
-
if (!(nextPrec > prec || allowEqual && nextPrec === prec)) {
|
|
926
|
-
return nextPrec === prec;
|
|
927
|
-
}
|
|
928
|
-
end += 4;
|
|
929
|
-
}
|
|
930
|
-
return false;
|
|
931
|
-
};
|
|
932
|
-
var advanceLeft = advanceLeft2, advanceRight = advanceRight2;
|
|
933
|
-
let start = i - 2, end = i + 2;
|
|
934
|
-
const prec = getPrecedence(op);
|
|
935
|
-
let error;
|
|
936
|
-
switch (op.assoc) {
|
|
937
|
-
case "left":
|
|
938
|
-
case void 0: {
|
|
939
|
-
advanceLeft2(true);
|
|
940
|
-
advanceRight2(false);
|
|
941
|
-
break;
|
|
942
|
-
}
|
|
943
|
-
case "right": {
|
|
944
|
-
advanceLeft2(false);
|
|
945
|
-
advanceRight2(true);
|
|
946
|
-
break;
|
|
947
|
-
}
|
|
948
|
-
case "non": {
|
|
949
|
-
if (advanceLeft2(false) || advanceRight2(false)) {
|
|
950
|
-
error = {
|
|
951
|
-
type: "Error",
|
|
952
|
-
message: `non-associative operator ${op.token} used at same precedence level without parenthesization`
|
|
953
|
-
};
|
|
954
|
-
}
|
|
955
|
-
;
|
|
956
|
-
break;
|
|
957
|
-
}
|
|
958
|
-
case "arguments": {
|
|
959
|
-
if (advanceLeft2(false)) {
|
|
960
|
-
error = {
|
|
961
|
-
type: "Error",
|
|
962
|
-
message: `arguments operator ${op.token} used at same precedence level as ${expandedOps[start - 2].token} to the left`
|
|
963
|
-
};
|
|
964
|
-
}
|
|
965
|
-
advanceRight2(true);
|
|
966
|
-
break;
|
|
967
|
-
}
|
|
968
|
-
default: {
|
|
969
|
-
throw new Error(`Unsupported associativity: ${op.assoc}`);
|
|
970
|
-
}
|
|
971
|
-
}
|
|
972
|
-
let a = start === i - 2 ? expandedOps[start] : expandedOps.slice(start, i - 1);
|
|
973
|
-
let wsOp = expandedOps[i - 1];
|
|
974
|
-
let wsB = expandedOps[i + 1];
|
|
975
|
-
let b = end === i + 2 ? expandedOps[i + 2] : expandedOps.slice(i + 2, end + 1);
|
|
976
|
-
if (op.assoc === "arguments") {
|
|
977
|
-
let i2 = 2;
|
|
978
|
-
while (i2 < b.length) {
|
|
979
|
-
if (prec === getPrecedence(b[i2])) {
|
|
980
|
-
if (!(b[i2].token === op.token)) {
|
|
981
|
-
error ??= {
|
|
982
|
-
type: "Error",
|
|
983
|
-
message: `arguments operator ${op.token} used at same precedence level as ${b[i2].token} to the right`
|
|
984
|
-
};
|
|
985
|
-
}
|
|
986
|
-
b[i2] = ",";
|
|
987
|
-
}
|
|
988
|
-
i2 += 4;
|
|
989
|
-
}
|
|
990
|
-
} else {
|
|
991
|
-
b = recurse(b);
|
|
992
|
-
}
|
|
993
|
-
if (op.token === "instanceof" && b.type === "Literal" && b.children?.[0]?.type === "StringLiteral") {
|
|
994
|
-
a = ["typeof ", makeLeftHandSideExpression(a)];
|
|
995
|
-
if (op.negated) {
|
|
996
|
-
op = { ...op, token: "!==", negated: false };
|
|
997
|
-
} else {
|
|
998
|
-
op = { ...op, token: "===" };
|
|
999
|
-
}
|
|
1000
|
-
}
|
|
1001
|
-
if (op.asConst) {
|
|
1002
|
-
a = makeAsConst(a);
|
|
1003
|
-
b = makeAsConst(b);
|
|
1004
|
-
}
|
|
1005
|
-
let children;
|
|
1006
|
-
if (op.call) {
|
|
1007
|
-
wsOp = insertTrimmingSpace(wsOp, "");
|
|
1008
|
-
if (op.reversed) {
|
|
1009
|
-
wsB = insertTrimmingSpace(wsB, "");
|
|
1010
|
-
children = [wsOp, op.call, "(", wsB, b, ", ", a, ")", op.suffix];
|
|
1011
|
-
} else {
|
|
1012
|
-
children = [wsOp, op.call, "(", a, ",", wsB, b, ")", op.suffix];
|
|
1013
|
-
}
|
|
1014
|
-
} else if (op.method) {
|
|
1015
|
-
wsOp = insertTrimmingSpace(wsOp, "");
|
|
1016
|
-
wsB = insertTrimmingSpace(wsB, "");
|
|
1017
|
-
if (op.reversed) {
|
|
1018
|
-
if (end !== i + 2)
|
|
1019
|
-
b = makeLeftHandSideExpression(b);
|
|
1020
|
-
b = dotNumericLiteral(b);
|
|
1021
|
-
children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
|
|
1022
|
-
} else {
|
|
1023
|
-
if (start !== i - 2 || a.type === "NumericLiteral") {
|
|
1024
|
-
a = makeLeftHandSideExpression(a);
|
|
1025
|
-
}
|
|
1026
|
-
a = dotNumericLiteral(a);
|
|
1027
|
-
children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
|
|
1028
|
-
}
|
|
1029
|
-
} else if (op.token) {
|
|
1030
|
-
children = [a, wsOp, op, wsB, b];
|
|
1031
|
-
if (op.negated)
|
|
1032
|
-
children = ["(", ...children, ")"];
|
|
1033
|
-
} else {
|
|
1034
|
-
throw new Error("Unknown operator: " + JSON.stringify(op));
|
|
1035
|
-
}
|
|
1036
|
-
if (op.negated)
|
|
1037
|
-
children.unshift("!");
|
|
1038
|
-
if (error != null) {
|
|
1039
|
-
children.push(error);
|
|
1040
|
-
}
|
|
1041
|
-
expandedOps.splice(start, end - start + 1, {
|
|
1042
|
-
children
|
|
1043
|
-
});
|
|
1044
|
-
i = start + 2;
|
|
1045
|
-
} else {
|
|
1046
|
-
i += 4;
|
|
1047
|
-
}
|
|
1048
|
-
}
|
|
1049
|
-
return expandedOps;
|
|
1050
|
-
}
|
|
1051
|
-
;
|
|
1052
|
-
return recurse;
|
|
1053
|
-
}
|
|
1054
|
-
function dotNumericLiteral(literal) {
|
|
1055
|
-
if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
|
|
1056
|
-
literal.children.push(".");
|
|
1057
|
-
literal.raw += ".";
|
|
1058
|
-
}
|
|
1059
|
-
return literal;
|
|
1060
|
-
}
|
|
1061
|
-
function makeAsConst(node) {
|
|
1062
|
-
if (Array.isArray(node) && node.length === 1) {
|
|
1063
|
-
node = node[0];
|
|
1064
|
-
}
|
|
1065
|
-
if (node.type === "Literal" && node.raw !== "null" || node.type === "ArrayExpression" || node.type === "ObjectExpression") {
|
|
1066
|
-
return { ...node, children: [...node.children, asConst] };
|
|
1067
|
-
} else {
|
|
1068
|
-
return node;
|
|
1069
|
-
}
|
|
1070
|
-
}
|
|
1071
|
-
function isExistence(exp) {
|
|
1072
|
-
if (exp.type === "ParenthesizedExpression" && exp.implicit) {
|
|
1073
|
-
exp = exp.expression;
|
|
1074
|
-
}
|
|
1075
|
-
if (exp.type === "Existence") {
|
|
1076
|
-
return exp;
|
|
1077
|
-
}
|
|
1078
|
-
;
|
|
1079
|
-
return;
|
|
1080
|
-
}
|
|
1081
|
-
function isRelationalOp(op) {
|
|
1082
|
-
return op.relational || getPrecedence(op) === precedenceRelational;
|
|
1083
|
-
}
|
|
1084
|
-
function expandChainedComparisons([first, binops]) {
|
|
1085
|
-
const results = [];
|
|
1086
|
-
let i = 0;
|
|
1087
|
-
const l = binops.length;
|
|
1088
|
-
let start = 0;
|
|
1089
|
-
let chains = [];
|
|
1090
|
-
let op;
|
|
1091
|
-
while (i < l) {
|
|
1092
|
-
[, op] = binops[i];
|
|
1093
|
-
if (isRelationalOp(op)) {
|
|
1094
|
-
chains.push(i);
|
|
1095
|
-
} else if (getPrecedence(op) < precedenceRelational) {
|
|
1096
|
-
processChains(op);
|
|
1097
|
-
first = void 0;
|
|
1098
|
-
}
|
|
1099
|
-
i++;
|
|
1100
|
-
}
|
|
1101
|
-
if (op != null) {
|
|
1102
|
-
processChains(op);
|
|
1103
|
-
}
|
|
1104
|
-
return results;
|
|
1105
|
-
function processChains(op2) {
|
|
1106
|
-
if (first && isRelationalOp(op2)) {
|
|
1107
|
-
first = expandExistence(first);
|
|
1108
|
-
}
|
|
1109
|
-
if (chains.length > 1) {
|
|
1110
|
-
chains.forEach((index, k) => {
|
|
1111
|
-
if (k > 0) {
|
|
1112
|
-
results.push(" ", "&&", " ");
|
|
1113
|
-
}
|
|
1114
|
-
const binop = binops[index];
|
|
1115
|
-
let [, , , exp] = binop;
|
|
1116
|
-
exp = binop[3] = expandExistence(exp);
|
|
1117
|
-
let endIndex;
|
|
1118
|
-
if (k < chains.length - 1) {
|
|
1119
|
-
endIndex = chains[k + 1];
|
|
1120
|
-
} else {
|
|
1121
|
-
endIndex = i + 1;
|
|
1122
|
-
}
|
|
1123
|
-
results.push(first, ...binops.slice(start, endIndex).flat());
|
|
1124
|
-
first = [exp].concat(binops.slice(index + 1, endIndex));
|
|
1125
|
-
return start = endIndex;
|
|
1126
|
-
});
|
|
1127
|
-
} else {
|
|
1128
|
-
if (first) {
|
|
1129
|
-
results.push(first);
|
|
1130
|
-
}
|
|
1131
|
-
results.push(...binops.slice(start, i + 1).flat());
|
|
1132
|
-
start = i + 1;
|
|
1133
|
-
}
|
|
1134
|
-
chains.length = 0;
|
|
1135
|
-
}
|
|
1136
|
-
function expandExistence(exp) {
|
|
1137
|
-
const existence = isExistence(exp);
|
|
1138
|
-
if (existence) {
|
|
1139
|
-
results.push(existence, " ", "&&", " ");
|
|
1140
|
-
return existence.expression;
|
|
1141
|
-
}
|
|
1142
|
-
return exp;
|
|
1348
|
+
p.push(blockPrefix);
|
|
1349
|
+
return insertRestSplices(blockPrefix, p, thisAssignments2);
|
|
1350
|
+
});
|
|
1143
1351
|
}
|
|
1144
|
-
;
|
|
1352
|
+
insertRestSplices(statements, splices, thisAssignments);
|
|
1353
|
+
return [splices, thisAssignments];
|
|
1145
1354
|
}
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1355
|
+
function arrayElementHasTrailingComma(elementNode) {
|
|
1356
|
+
const lastChild = elementNode.children.at(-1);
|
|
1357
|
+
return lastChild && lastChild[lastChild.length - 1]?.token === ",";
|
|
1358
|
+
}
|
|
1359
|
+
var init_binding = __esm({
|
|
1360
|
+
"source/parser/binding.civet"() {
|
|
1149
1361
|
"use strict";
|
|
1362
|
+
init_traversal();
|
|
1150
1363
|
init_util();
|
|
1151
|
-
precedenceOrder = [
|
|
1152
|
-
["||", "??"],
|
|
1153
|
-
["^^"],
|
|
1154
|
-
["&&"],
|
|
1155
|
-
["|"],
|
|
1156
|
-
["^"],
|
|
1157
|
-
["&"],
|
|
1158
|
-
// NOTE: Equality and inequality merged because of relational chaining
|
|
1159
|
-
[
|
|
1160
|
-
"==",
|
|
1161
|
-
"!=",
|
|
1162
|
-
"===",
|
|
1163
|
-
"!==",
|
|
1164
|
-
"<",
|
|
1165
|
-
"<=",
|
|
1166
|
-
">",
|
|
1167
|
-
">=",
|
|
1168
|
-
"in",
|
|
1169
|
-
"instanceof"
|
|
1170
|
-
],
|
|
1171
|
-
// NOTE: Extra in-between level for default custom operators
|
|
1172
|
-
["custom"],
|
|
1173
|
-
["<<", ">>", ">>>"],
|
|
1174
|
-
["+", "-"],
|
|
1175
|
-
["*", "/", "%"],
|
|
1176
|
-
["**"]
|
|
1177
|
-
];
|
|
1178
|
-
precedenceMap = /* @__PURE__ */ new Map();
|
|
1179
|
-
for (let i1 = 0, len = precedenceOrder.length; i1 < len; i1++) {
|
|
1180
|
-
const prec = i1;
|
|
1181
|
-
const ops = precedenceOrder[i1];
|
|
1182
|
-
for (let i2 = 0, len1 = ops.length; i2 < len1; i2++) {
|
|
1183
|
-
const op = ops[i2];
|
|
1184
|
-
precedenceMap.set(op, prec);
|
|
1185
|
-
}
|
|
1186
|
-
}
|
|
1187
|
-
precedenceStep = 1 / 64;
|
|
1188
|
-
precedenceRelational = precedenceMap.get("==");
|
|
1189
|
-
precedenceCustomDefault = precedenceMap.get("custom");
|
|
1190
|
-
asConst = {
|
|
1191
|
-
ts: true,
|
|
1192
|
-
children: [" as const"]
|
|
1193
|
-
};
|
|
1194
1364
|
}
|
|
1195
1365
|
});
|
|
1196
1366
|
|
|
@@ -2456,91 +2626,6 @@ var Civet = (() => {
|
|
|
2456
2626
|
}
|
|
2457
2627
|
});
|
|
2458
2628
|
|
|
2459
|
-
// source/parser/unary.civet
|
|
2460
|
-
function processUnaryExpression(pre, exp, post) {
|
|
2461
|
-
if (!(pre.length || post))
|
|
2462
|
-
return exp;
|
|
2463
|
-
if (post?.token === "?") {
|
|
2464
|
-
post = {
|
|
2465
|
-
$loc: post.$loc,
|
|
2466
|
-
token: " != null"
|
|
2467
|
-
};
|
|
2468
|
-
if (pre.length) {
|
|
2469
|
-
const lastPre = pre[pre.length - 1];
|
|
2470
|
-
if (lastPre.token === "!") {
|
|
2471
|
-
post.token = " == null";
|
|
2472
|
-
pre = pre.slice(0, -1);
|
|
2473
|
-
} else if (lastPre.length === 2 && lastPre[0].token === "!") {
|
|
2474
|
-
post.token = " == null";
|
|
2475
|
-
pre = pre.slice(0, -1);
|
|
2476
|
-
}
|
|
2477
|
-
}
|
|
2478
|
-
const existence = {
|
|
2479
|
-
type: "Existence",
|
|
2480
|
-
expression: exp,
|
|
2481
|
-
children: [exp, post]
|
|
2482
|
-
};
|
|
2483
|
-
exp = makeLeftHandSideExpression(existence);
|
|
2484
|
-
if (pre.length) {
|
|
2485
|
-
return {
|
|
2486
|
-
type: "UnaryExpression",
|
|
2487
|
-
children: [...pre, exp]
|
|
2488
|
-
};
|
|
2489
|
-
}
|
|
2490
|
-
return exp;
|
|
2491
|
-
}
|
|
2492
|
-
if (exp.type === "Literal") {
|
|
2493
|
-
if (pre.length === 1) {
|
|
2494
|
-
const { token } = pre[0];
|
|
2495
|
-
if (token === "-" || token === "+") {
|
|
2496
|
-
const children = [pre[0], ...exp.children];
|
|
2497
|
-
if (post)
|
|
2498
|
-
exp.children.push(post);
|
|
2499
|
-
return {
|
|
2500
|
-
type: "Literal",
|
|
2501
|
-
children,
|
|
2502
|
-
raw: `${token}${exp.raw}`
|
|
2503
|
-
};
|
|
2504
|
-
}
|
|
2505
|
-
}
|
|
2506
|
-
}
|
|
2507
|
-
let ref;
|
|
2508
|
-
while (ref = pre.length) {
|
|
2509
|
-
const l = ref;
|
|
2510
|
-
const last = pre[l - 1];
|
|
2511
|
-
if (last.type === "Await") {
|
|
2512
|
-
if (last.op) {
|
|
2513
|
-
if (exp.type !== "ParenthesizedExpression") {
|
|
2514
|
-
exp = ["(", exp, ")"];
|
|
2515
|
-
}
|
|
2516
|
-
exp = {
|
|
2517
|
-
type: "CallExpression",
|
|
2518
|
-
children: [...last.children, "Promise", last.op, exp]
|
|
2519
|
-
};
|
|
2520
|
-
pre = pre.slice(0, -1);
|
|
2521
|
-
} else {
|
|
2522
|
-
exp = {
|
|
2523
|
-
type: "AwaitExpression",
|
|
2524
|
-
children: [...last.children, exp]
|
|
2525
|
-
};
|
|
2526
|
-
pre = pre.slice(0, -1);
|
|
2527
|
-
}
|
|
2528
|
-
} else {
|
|
2529
|
-
break;
|
|
2530
|
-
}
|
|
2531
|
-
}
|
|
2532
|
-
return {
|
|
2533
|
-
type: "UnaryExpression",
|
|
2534
|
-
children: [...pre, exp, post]
|
|
2535
|
-
};
|
|
2536
|
-
}
|
|
2537
|
-
var init_unary = __esm({
|
|
2538
|
-
"source/parser/unary.civet"() {
|
|
2539
|
-
"use strict";
|
|
2540
|
-
init_util();
|
|
2541
|
-
}
|
|
2542
|
-
});
|
|
2543
|
-
|
|
2544
2629
|
// source/parser/pipe.civet
|
|
2545
2630
|
function constructInvocation(fn, arg) {
|
|
2546
2631
|
const fnArr = [fn.leadingComment, fn.expr, fn.trailingComment];
|
|
@@ -2757,10 +2842,13 @@ var Civet = (() => {
|
|
|
2757
2842
|
function forRange(open, forDeclaration, range, stepExp, close) {
|
|
2758
2843
|
const { start, end, inclusive } = range;
|
|
2759
2844
|
const counterRef = makeRef("i");
|
|
2845
|
+
const infinite = end.type === "Identifier" && end.name === "Infinity";
|
|
2760
2846
|
let stepRef;
|
|
2761
2847
|
if (stepExp) {
|
|
2762
2848
|
stepExp = insertTrimmingSpace(stepExp, "");
|
|
2763
2849
|
stepRef = maybeRef(stepExp, "step");
|
|
2850
|
+
} else if (infinite) {
|
|
2851
|
+
stepExp = stepRef = "1";
|
|
2764
2852
|
}
|
|
2765
2853
|
let startRef = maybeRef(start, "start");
|
|
2766
2854
|
let endRef = maybeRef(end, "end");
|
|
@@ -2790,7 +2878,7 @@ var Civet = (() => {
|
|
|
2790
2878
|
} else {
|
|
2791
2879
|
const value = "StringLiteral" === start.subtype ? ["String.fromCharCode(", counterRef, ")"] : counterRef;
|
|
2792
2880
|
blockPrefix = [
|
|
2793
|
-
["", forDeclaration, " = ", value, ";"]
|
|
2881
|
+
["", [forDeclaration, " = ", value], ";"]
|
|
2794
2882
|
];
|
|
2795
2883
|
}
|
|
2796
2884
|
} else if (forDeclaration) {
|
|
@@ -2802,8 +2890,8 @@ var Civet = (() => {
|
|
|
2802
2890
|
names: forDeclaration?.names
|
|
2803
2891
|
};
|
|
2804
2892
|
const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
|
|
2805
|
-
const condition = stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ascRef ? [ascRef, " ? ", ...counterPart] : asc ? counterPart.slice(0, 3) : counterPart.slice(4);
|
|
2806
|
-
const increment = stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
|
|
2893
|
+
const condition = infinite ? [] : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ascRef ? [ascRef, " ? ", ...counterPart] : asc ? counterPart.slice(0, 3) : counterPart.slice(4);
|
|
2894
|
+
const increment = infinite ? [...varAssign, "++", counterRef] : stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
|
|
2807
2895
|
return {
|
|
2808
2896
|
declaration,
|
|
2809
2897
|
children: [open, declaration, "; ", ...condition, "; ", ...increment, close],
|
|
@@ -3294,7 +3382,9 @@ var Civet = (() => {
|
|
|
3294
3382
|
isWhitespaceOrEmpty: () => isWhitespaceOrEmpty,
|
|
3295
3383
|
lastAccessInCallExpression: () => lastAccessInCallExpression,
|
|
3296
3384
|
literalValue: () => literalValue,
|
|
3385
|
+
makeAmpersandBlockRHSBody: () => makeAmpersandBlockRHSBody,
|
|
3297
3386
|
makeAmpersandFunction: () => makeAmpersandFunction,
|
|
3387
|
+
makeAmpersandFunctionExpression: () => makeAmpersandFunctionExpression,
|
|
3298
3388
|
makeEmptyBlock: () => makeEmptyBlock,
|
|
3299
3389
|
makeExpressionStatement: () => makeExpressionStatement,
|
|
3300
3390
|
makeGetterMethod: () => makeGetterMethod,
|
|
@@ -4257,6 +4347,7 @@ var Civet = (() => {
|
|
|
4257
4347
|
assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
|
|
4258
4348
|
addParentPointers(root);
|
|
4259
4349
|
const { expressions: statements } = root;
|
|
4350
|
+
processPartialPlaceholders(statements);
|
|
4260
4351
|
processNegativeIndexAccess(statements);
|
|
4261
4352
|
processTypes(statements);
|
|
4262
4353
|
processDeclarationConditions(statements, m.getRef);
|
|
@@ -4301,6 +4392,43 @@ var Civet = (() => {
|
|
|
4301
4392
|
});
|
|
4302
4393
|
}
|
|
4303
4394
|
}
|
|
4395
|
+
function processPartialPlaceholders(statements) {
|
|
4396
|
+
const partialMap = /* @__PURE__ */ new Map();
|
|
4397
|
+
gatherRecursiveAll(statements, ($3) => $3.type === "PartialPlaceholder").forEach((_exp) => {
|
|
4398
|
+
const exp = _exp;
|
|
4399
|
+
let { ancestor } = findAncestor(exp, ($4) => $4?.type === "Call");
|
|
4400
|
+
ancestor = ancestor?.parent;
|
|
4401
|
+
while (ancestor?.parent?.type === "UnaryExpression") {
|
|
4402
|
+
ancestor = ancestor.parent;
|
|
4403
|
+
}
|
|
4404
|
+
if (ancestor) {
|
|
4405
|
+
if (partialMap.has(ancestor)) {
|
|
4406
|
+
return partialMap.get(ancestor).push(exp);
|
|
4407
|
+
} else {
|
|
4408
|
+
return partialMap.set(ancestor, [exp]);
|
|
4409
|
+
}
|
|
4410
|
+
} else {
|
|
4411
|
+
return replaceNode(exp, {
|
|
4412
|
+
type: "Error",
|
|
4413
|
+
message: "Partial placeholder outside of call expression",
|
|
4414
|
+
parent: exp.parent
|
|
4415
|
+
});
|
|
4416
|
+
}
|
|
4417
|
+
});
|
|
4418
|
+
for (const [ancestor, placeholders] of partialMap) {
|
|
4419
|
+
let ref = makeRef("$");
|
|
4420
|
+
placeholders.forEach((exp) => {
|
|
4421
|
+
return replaceNode(exp.children.at(-1), ref);
|
|
4422
|
+
});
|
|
4423
|
+
const rhs = {
|
|
4424
|
+
ref,
|
|
4425
|
+
children: [ancestor]
|
|
4426
|
+
};
|
|
4427
|
+
const fnExp = makeAmpersandFunctionExpression([], rhs);
|
|
4428
|
+
replaceNode(ancestor, fnExp);
|
|
4429
|
+
}
|
|
4430
|
+
return;
|
|
4431
|
+
}
|
|
4304
4432
|
function reorderBindingRestProperty(props) {
|
|
4305
4433
|
const names = props.flatMap((p) => p.names);
|
|
4306
4434
|
let restIndex = -1;
|
|
@@ -5011,11 +5139,11 @@ ${input.slice(result.pos)}
|
|
|
5011
5139
|
WRHS,
|
|
5012
5140
|
SingleLineBinaryOpRHS,
|
|
5013
5141
|
RHS,
|
|
5014
|
-
ParenthesizedAssignment,
|
|
5015
5142
|
UnaryExpression,
|
|
5016
5143
|
UnaryWithoutParenthesizedAssignment,
|
|
5017
5144
|
UnaryBody,
|
|
5018
5145
|
UnaryWithoutParenthesizedAssignmentBody,
|
|
5146
|
+
ParenthesizedAssignment,
|
|
5019
5147
|
UnaryPostfix,
|
|
5020
5148
|
TypePostfix,
|
|
5021
5149
|
Tuple,
|
|
@@ -5043,6 +5171,7 @@ ${input.slice(result.pos)}
|
|
|
5043
5171
|
PipelineTailItem,
|
|
5044
5172
|
PrimaryExpression,
|
|
5045
5173
|
ParenthesizedExpression,
|
|
5174
|
+
PartialPlaceholder,
|
|
5046
5175
|
ClassDeclaration,
|
|
5047
5176
|
ClassExpression,
|
|
5048
5177
|
ClassBinding,
|
|
@@ -5503,6 +5632,7 @@ ${input.slice(result.pos)}
|
|
|
5503
5632
|
TripleTick,
|
|
5504
5633
|
Try,
|
|
5505
5634
|
Typeof,
|
|
5635
|
+
Undefined,
|
|
5506
5636
|
Unless,
|
|
5507
5637
|
Until,
|
|
5508
5638
|
Using,
|
|
@@ -5903,124 +6033,126 @@ ${input.slice(result.pos)}
|
|
|
5903
6033
|
var $L199 = $L("```");
|
|
5904
6034
|
var $L200 = $L("try");
|
|
5905
6035
|
var $L201 = $L("typeof");
|
|
5906
|
-
var $L202 = $L("
|
|
5907
|
-
var $L203 = $L("
|
|
5908
|
-
var $L204 = $L("
|
|
5909
|
-
var $L205 = $L("
|
|
5910
|
-
var $L206 = $L("
|
|
5911
|
-
var $L207 = $L("
|
|
5912
|
-
var $L208 = $L("
|
|
5913
|
-
var $L209 = $L("
|
|
5914
|
-
var $L210 = $L("
|
|
5915
|
-
var $L211 = $L("
|
|
5916
|
-
var $L212 = $L("
|
|
5917
|
-
var $L213 = $L("
|
|
5918
|
-
var $L214 = $L("
|
|
5919
|
-
var $L215 = $L("
|
|
5920
|
-
var $L216 = $L("
|
|
5921
|
-
var $L217 = $L("
|
|
5922
|
-
var $L218 = $L("
|
|
5923
|
-
var $L219 = $L("
|
|
5924
|
-
var $L220 = $L("
|
|
5925
|
-
var $L221 = $L("
|
|
5926
|
-
var $L222 = $L("
|
|
5927
|
-
var $L223 = $L("
|
|
5928
|
-
var $L224 = $L("
|
|
5929
|
-
var $L225 = $L("
|
|
5930
|
-
var $L226 = $L("
|
|
6036
|
+
var $L202 = $L("undefined");
|
|
6037
|
+
var $L203 = $L("unless");
|
|
6038
|
+
var $L204 = $L("until");
|
|
6039
|
+
var $L205 = $L("using");
|
|
6040
|
+
var $L206 = $L("var");
|
|
6041
|
+
var $L207 = $L("void");
|
|
6042
|
+
var $L208 = $L("when");
|
|
6043
|
+
var $L209 = $L("while");
|
|
6044
|
+
var $L210 = $L("yield");
|
|
6045
|
+
var $L211 = $L("/>");
|
|
6046
|
+
var $L212 = $L("</");
|
|
6047
|
+
var $L213 = $L("<>");
|
|
6048
|
+
var $L214 = $L("</>");
|
|
6049
|
+
var $L215 = $L("<!--");
|
|
6050
|
+
var $L216 = $L("-->");
|
|
6051
|
+
var $L217 = $L("type");
|
|
6052
|
+
var $L218 = $L("enum");
|
|
6053
|
+
var $L219 = $L("interface");
|
|
6054
|
+
var $L220 = $L("global");
|
|
6055
|
+
var $L221 = $L("module");
|
|
6056
|
+
var $L222 = $L("namespace");
|
|
6057
|
+
var $L223 = $L("asserts");
|
|
6058
|
+
var $L224 = $L("keyof");
|
|
6059
|
+
var $L225 = $L("???");
|
|
6060
|
+
var $L226 = $L("[]");
|
|
6061
|
+
var $L227 = $L("civet");
|
|
5931
6062
|
var $R0 = $R(new RegExp("(?=async|debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
|
|
5932
6063
|
var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
|
|
5933
6064
|
var $R2 = $R(new RegExp("[0-9]", "suy"));
|
|
5934
6065
|
var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
|
|
5935
6066
|
var $R4 = $R(new RegExp("[ \\t]", "suy"));
|
|
5936
|
-
var $R5 = $R(new RegExp("(
|
|
5937
|
-
var $R6 = $R(new RegExp("(?=[
|
|
5938
|
-
var $R7 = $R(new RegExp("(?=[
|
|
5939
|
-
var $R8 = $R(new RegExp("[)
|
|
5940
|
-
var $R9 = $R(new RegExp("
|
|
5941
|
-
var $R10 = $R(new RegExp("[
|
|
5942
|
-
var $R11 = $R(new RegExp(
|
|
5943
|
-
var $R12 = $R(new RegExp("
|
|
5944
|
-
var $R13 = $R(new RegExp(
|
|
5945
|
-
var $R14 = $R(new RegExp("(
|
|
5946
|
-
var $R15 = $R(new RegExp("(?=\\[)", "suy"));
|
|
5947
|
-
var $R16 = $R(new RegExp("[
|
|
5948
|
-
var $R17 = $R(new RegExp("[
|
|
5949
|
-
var $R18 = $R(new RegExp("
|
|
5950
|
-
var $R19 = $R(new RegExp("
|
|
5951
|
-
var $R20 = $R(new RegExp("
|
|
5952
|
-
var $R21 = $R(new RegExp("[
|
|
5953
|
-
var $R22 = $R(new RegExp("
|
|
5954
|
-
var $R23 = $R(new RegExp("(?=loop|
|
|
5955
|
-
var $R24 = $R(new RegExp("(?=
|
|
5956
|
-
var $R25 = $R(new RegExp(
|
|
5957
|
-
var $R26 = $R(new RegExp("
|
|
5958
|
-
var $R27 = $R(new RegExp("(
|
|
5959
|
-
var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)
|
|
5960
|
-
var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(
|
|
5961
|
-
var $R30 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
5962
|
-
var $R31 = $R(new RegExp("(
|
|
5963
|
-
var $R32 = $R(new RegExp("
|
|
5964
|
-
var $R33 = $R(new RegExp("0[
|
|
5965
|
-
var $R34 = $R(new RegExp("0[
|
|
5966
|
-
var $R35 = $R(new RegExp("(
|
|
5967
|
-
var $R36 = $R(new RegExp("(
|
|
5968
|
-
var $R37 = $R(new RegExp(
|
|
5969
|
-
var $R38 = $R(new RegExp(
|
|
5970
|
-
var $R39 = $R(new RegExp(
|
|
5971
|
-
var $R40 = $R(new RegExp(
|
|
5972
|
-
var $R41 = $R(new RegExp('(
|
|
5973
|
-
var $R42 = $R(new RegExp(
|
|
5974
|
-
var $R43 = $R(new RegExp("(
|
|
5975
|
-
var $R44 = $R(new RegExp("
|
|
5976
|
-
var $R45 = $R(new RegExp("
|
|
5977
|
-
var $R46 = $R(new RegExp("
|
|
5978
|
-
var $R47 = $R(new RegExp("[
|
|
5979
|
-
var $R48 = $R(new RegExp("
|
|
5980
|
-
var $R49 = $R(new RegExp("(
|
|
5981
|
-
var $R50 = $R(new RegExp("(
|
|
5982
|
-
var $R51 = $R(new RegExp("(
|
|
5983
|
-
var $R52 = $R(new RegExp("(?:\\$(?!\\{)
|
|
5984
|
-
var $R53 = $R(new RegExp("(
|
|
5985
|
-
var $R54 = $R(new RegExp("(?:
|
|
5986
|
-
var $R55 = $R(new RegExp("(?:
|
|
5987
|
-
var $R56 = $R(new RegExp("(?:
|
|
5988
|
-
var $R57 = $R(new RegExp("(?:
|
|
5989
|
-
var $R58 = $R(new RegExp("(
|
|
5990
|
-
var $R59 = $R(new RegExp("
|
|
5991
|
-
var $R60 = $R(new RegExp("
|
|
5992
|
-
var $R61 = $R(new RegExp("
|
|
5993
|
-
var $R62 = $R(new RegExp("[
|
|
5994
|
-
var $R63 = $R(new RegExp("
|
|
5995
|
-
var $R64 = $R(new RegExp("
|
|
5996
|
-
var $R65 = $R(new RegExp("(
|
|
5997
|
-
var $R66 = $R(new RegExp("[ \\t]
|
|
5998
|
-
var $R67 = $R(new RegExp("
|
|
5999
|
-
var $R68 = $R(new RegExp("(
|
|
6000
|
-
var $R69 = $R(new RegExp("
|
|
6001
|
-
var $R70 = $R(new RegExp("[
|
|
6002
|
-
var $R71 = $R(new RegExp("
|
|
6003
|
-
var $R72 = $R(new RegExp("
|
|
6004
|
-
var $R73 = $R(new RegExp("(
|
|
6005
|
-
var $R74 = $R(new RegExp("[
|
|
6006
|
-
var $R75 = $R(new RegExp("[
|
|
6007
|
-
var $R76 = $R(new RegExp("
|
|
6008
|
-
var $R77 = $R(new RegExp(
|
|
6009
|
-
var $R78 = $R(new RegExp("[
|
|
6010
|
-
var $R79 = $R(new RegExp("[
|
|
6011
|
-
var $R80 = $R(new RegExp("
|
|
6012
|
-
var $R81 = $R(new RegExp("[
|
|
6013
|
-
var $R82 = $R(new RegExp("[
|
|
6014
|
-
var $R83 = $R(new RegExp("
|
|
6015
|
-
var $R84 = $R(new RegExp("
|
|
6016
|
-
var $R85 = $R(new RegExp("[\\
|
|
6017
|
-
var $R86 = $R(new RegExp("[
|
|
6018
|
-
var $R87 = $R(new RegExp("[\\
|
|
6019
|
-
var $R88 = $R(new RegExp("
|
|
6020
|
-
var $R89 = $R(new RegExp("
|
|
6021
|
-
var $R90 = $R(new RegExp("
|
|
6022
|
-
var $R91 = $R(new RegExp("\\r\\n
|
|
6023
|
-
var $R92 = $R(new RegExp("
|
|
6067
|
+
var $R5 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$.])", "suy"));
|
|
6068
|
+
var $R6 = $R(new RegExp("(?=['\"`])", "suy"));
|
|
6069
|
+
var $R7 = $R(new RegExp("(?=[\\/?])", "suy"));
|
|
6070
|
+
var $R8 = $R(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy"));
|
|
6071
|
+
var $R9 = $R(new RegExp("[)}]", "suy"));
|
|
6072
|
+
var $R10 = $R(new RegExp("[+-]", "suy"));
|
|
6073
|
+
var $R11 = $R(new RegExp("\\+\\+|--|[\\+-]\\S", "suy"));
|
|
6074
|
+
var $R12 = $R(new RegExp("[&]", "suy"));
|
|
6075
|
+
var $R13 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
|
|
6076
|
+
var $R14 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
|
|
6077
|
+
var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
|
|
6078
|
+
var $R16 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
6079
|
+
var $R17 = $R(new RegExp("(?=\\[)", "suy"));
|
|
6080
|
+
var $R18 = $R(new RegExp("[!+-]?", "suy"));
|
|
6081
|
+
var $R19 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
|
|
6082
|
+
var $R20 = $R(new RegExp("!\\^\\^?", "suy"));
|
|
6083
|
+
var $R21 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
|
|
6084
|
+
var $R22 = $R(new RegExp("[:.]", "suy"));
|
|
6085
|
+
var $R23 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
|
|
6086
|
+
var $R24 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
|
|
6087
|
+
var $R25 = $R(new RegExp("(?=[\\s\\),])", "suy"));
|
|
6088
|
+
var $R26 = $R(new RegExp('[^;"\\s]+', "suy"));
|
|
6089
|
+
var $R27 = $R(new RegExp("(?=[0-9.])", "suy"));
|
|
6090
|
+
var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
|
|
6091
|
+
var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
|
|
6092
|
+
var $R30 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
|
|
6093
|
+
var $R31 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
6094
|
+
var $R32 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
|
|
6095
|
+
var $R33 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
|
|
6096
|
+
var $R34 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
|
|
6097
|
+
var $R35 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
|
|
6098
|
+
var $R36 = $R(new RegExp("(?=[0-9])", "suy"));
|
|
6099
|
+
var $R37 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
6100
|
+
var $R38 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
|
|
6101
|
+
var $R39 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
|
|
6102
|
+
var $R40 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
|
|
6103
|
+
var $R41 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
|
|
6104
|
+
var $R42 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
|
|
6105
|
+
var $R43 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
|
|
6106
|
+
var $R44 = $R(new RegExp("(?:\\\\.)", "suy"));
|
|
6107
|
+
var $R45 = $R(new RegExp("[\\s]+", "suy"));
|
|
6108
|
+
var $R46 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
|
|
6109
|
+
var $R47 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
|
|
6110
|
+
var $R48 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
|
|
6111
|
+
var $R49 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
|
|
6112
|
+
var $R50 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
6113
|
+
var $R51 = $R(new RegExp("(?=[`'\"])", "suy"));
|
|
6114
|
+
var $R52 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
|
|
6115
|
+
var $R53 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
|
|
6116
|
+
var $R54 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
|
|
6117
|
+
var $R55 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
|
|
6118
|
+
var $R56 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
|
|
6119
|
+
var $R57 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
|
|
6120
|
+
var $R58 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
|
|
6121
|
+
var $R59 = $R(new RegExp("(?=\\/|#)", "suy"));
|
|
6122
|
+
var $R60 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
|
|
6123
|
+
var $R61 = $R(new RegExp(".", "suy"));
|
|
6124
|
+
var $R62 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
|
|
6125
|
+
var $R63 = $R(new RegExp("[^]*?###", "suy"));
|
|
6126
|
+
var $R64 = $R(new RegExp("###(?!#)", "suy"));
|
|
6127
|
+
var $R65 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
|
|
6128
|
+
var $R66 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
|
|
6129
|
+
var $R67 = $R(new RegExp("[ \\t]+", "suy"));
|
|
6130
|
+
var $R68 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
|
|
6131
|
+
var $R69 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
|
|
6132
|
+
var $R70 = $R(new RegExp("[=:]", "suy"));
|
|
6133
|
+
var $R71 = $R(new RegExp("['\u2019]s", "suy"));
|
|
6134
|
+
var $R72 = $R(new RegExp("\\s", "suy"));
|
|
6135
|
+
var $R73 = $R(new RegExp("(?=[<])", "suy"));
|
|
6136
|
+
var $R74 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
6137
|
+
var $R75 = $R(new RegExp("[!+-]", "suy"));
|
|
6138
|
+
var $R76 = $R(new RegExp("[\\s>]|\\/>", "suy"));
|
|
6139
|
+
var $R77 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
|
|
6140
|
+
var $R78 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
|
|
6141
|
+
var $R79 = $R(new RegExp("[<>]", "suy"));
|
|
6142
|
+
var $R80 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
|
|
6143
|
+
var $R81 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
|
|
6144
|
+
var $R82 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
|
|
6145
|
+
var $R83 = $R(new RegExp("[+-]?", "suy"));
|
|
6146
|
+
var $R84 = $R(new RegExp("(?=if|unless)", "suy"));
|
|
6147
|
+
var $R85 = $R(new RegExp("#![^\\r\\n]*", "suy"));
|
|
6148
|
+
var $R86 = $R(new RegExp("[\\t ]*", "suy"));
|
|
6149
|
+
var $R87 = $R(new RegExp("[ \\t]*", "suy"));
|
|
6150
|
+
var $R88 = $R(new RegExp("[\\s]*", "suy"));
|
|
6151
|
+
var $R89 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
|
|
6152
|
+
var $R90 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
|
|
6153
|
+
var $R91 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
|
|
6154
|
+
var $R92 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
|
|
6155
|
+
var $R93 = $R(new RegExp("[^]*", "suy"));
|
|
6024
6156
|
var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
6025
6157
|
var statements = $4;
|
|
6026
6158
|
processProgram({
|
|
@@ -6433,17 +6565,12 @@ ${input.slice(result.pos)}
|
|
|
6433
6565
|
function SingleLineBinaryOpRHS(ctx, state) {
|
|
6434
6566
|
return $EVENT(ctx, state, "SingleLineBinaryOpRHS", SingleLineBinaryOpRHS$0);
|
|
6435
6567
|
}
|
|
6436
|
-
var RHS$0 =
|
|
6437
|
-
var RHS$1 =
|
|
6438
|
-
var RHS
|
|
6439
|
-
var RHS$$ = [RHS$0, RHS$1, RHS$2];
|
|
6568
|
+
var RHS$0 = UnaryExpression;
|
|
6569
|
+
var RHS$1 = ExpressionizedStatementWithTrailingCallExpressions;
|
|
6570
|
+
var RHS$$ = [RHS$0, RHS$1];
|
|
6440
6571
|
function RHS(ctx, state) {
|
|
6441
6572
|
return $EVENT_C(ctx, state, "RHS", RHS$$);
|
|
6442
6573
|
}
|
|
6443
|
-
var ParenthesizedAssignment$0 = $S(InsertOpenParen, ActualAssignment, InsertCloseParen);
|
|
6444
|
-
function ParenthesizedAssignment(ctx, state) {
|
|
6445
|
-
return $EVENT(ctx, state, "ParenthesizedAssignment", ParenthesizedAssignment$0);
|
|
6446
|
-
}
|
|
6447
6574
|
var UnaryExpression$0 = AmpersandFunctionExpression;
|
|
6448
6575
|
var UnaryExpression$1 = $TS($S($Q(UnaryOp), UnaryBody, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
|
|
6449
6576
|
var pre = $1;
|
|
@@ -6485,6 +6612,10 @@ ${input.slice(result.pos)}
|
|
|
6485
6612
|
function UnaryWithoutParenthesizedAssignmentBody(ctx, state) {
|
|
6486
6613
|
return $EVENT_C(ctx, state, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
|
|
6487
6614
|
}
|
|
6615
|
+
var ParenthesizedAssignment$0 = $S(InsertOpenParen, $C(ActualAssignment, ArrowFunction), InsertCloseParen);
|
|
6616
|
+
function ParenthesizedAssignment(ctx, state) {
|
|
6617
|
+
return $EVENT(ctx, state, "ParenthesizedAssignment", ParenthesizedAssignment$0);
|
|
6618
|
+
}
|
|
6488
6619
|
var UnaryPostfix$0 = QuestionMark;
|
|
6489
6620
|
var UnaryPostfix$1 = $P(TypePostfix);
|
|
6490
6621
|
var UnaryPostfix$$ = [UnaryPostfix$0, UnaryPostfix$1];
|
|
@@ -6797,8 +6928,9 @@ ${input.slice(result.pos)}
|
|
|
6797
6928
|
var PrimaryExpression$7 = ClassExpression;
|
|
6798
6929
|
var PrimaryExpression$8 = RegularExpressionLiteral;
|
|
6799
6930
|
var PrimaryExpression$9 = ParenthesizedExpression;
|
|
6800
|
-
var PrimaryExpression$10 =
|
|
6801
|
-
var PrimaryExpression
|
|
6931
|
+
var PrimaryExpression$10 = PartialPlaceholder;
|
|
6932
|
+
var PrimaryExpression$11 = JSXImplicitFragment;
|
|
6933
|
+
var PrimaryExpression$$ = [PrimaryExpression$0, PrimaryExpression$1, PrimaryExpression$2, PrimaryExpression$3, PrimaryExpression$4, PrimaryExpression$5, PrimaryExpression$6, PrimaryExpression$7, PrimaryExpression$8, PrimaryExpression$9, PrimaryExpression$10, PrimaryExpression$11];
|
|
6802
6934
|
function PrimaryExpression(ctx, state) {
|
|
6803
6935
|
return $EVENT_C(ctx, state, "PrimaryExpression", PrimaryExpression$$);
|
|
6804
6936
|
}
|
|
@@ -6832,6 +6964,16 @@ ${input.slice(result.pos)}
|
|
|
6832
6964
|
function ParenthesizedExpression(ctx, state) {
|
|
6833
6965
|
return $EVENT(ctx, state, "ParenthesizedExpression", ParenthesizedExpression$0);
|
|
6834
6966
|
}
|
|
6967
|
+
var PartialPlaceholder$0 = $TS($S(Dot, $N($EXPECT($R5, "PartialPlaceholder /(?:\\p{ID_Continue}|[\\u200C\\u200D$.])/"))), function($skip, $loc, $0, $1, $2) {
|
|
6968
|
+
var dot = $1;
|
|
6969
|
+
return {
|
|
6970
|
+
type: "PartialPlaceholder",
|
|
6971
|
+
children: [dot]
|
|
6972
|
+
};
|
|
6973
|
+
});
|
|
6974
|
+
function PartialPlaceholder(ctx, state) {
|
|
6975
|
+
return $EVENT(ctx, state, "PartialPlaceholder", PartialPlaceholder$0);
|
|
6976
|
+
}
|
|
6835
6977
|
var ClassDeclaration$0 = $TS($S(ClassExpression), function($skip, $loc, $0, $1) {
|
|
6836
6978
|
if ($1.id)
|
|
6837
6979
|
return $1;
|
|
@@ -7265,7 +7407,7 @@ ${input.slice(result.pos)}
|
|
|
7265
7407
|
var CallExpressionRest$1 = $T($S(TypeArguments, $N($C(IdentifierName, NumericLiteral))), function(value) {
|
|
7266
7408
|
return value[0];
|
|
7267
7409
|
});
|
|
7268
|
-
var CallExpressionRest$2 = $TS($S($EXPECT($
|
|
7410
|
+
var CallExpressionRest$2 = $TS($S($EXPECT($R6, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
|
|
7269
7411
|
var literal = $2;
|
|
7270
7412
|
if (literal.type === "StringLiteral") {
|
|
7271
7413
|
literal = "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`";
|
|
@@ -7288,7 +7430,7 @@ ${input.slice(result.pos)}
|
|
|
7288
7430
|
function CallExpressionRest(ctx, state) {
|
|
7289
7431
|
return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
|
|
7290
7432
|
}
|
|
7291
|
-
var OptionalShorthand$0 = $TS($S($EXPECT($
|
|
7433
|
+
var OptionalShorthand$0 = $TS($S($EXPECT($R7, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
7292
7434
|
var comments = $2;
|
|
7293
7435
|
var q = $3;
|
|
7294
7436
|
var d = $4;
|
|
@@ -7342,7 +7484,7 @@ ${input.slice(result.pos)}
|
|
|
7342
7484
|
function MemberBase(ctx, state) {
|
|
7343
7485
|
return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
|
|
7344
7486
|
}
|
|
7345
|
-
var MemberExpressionRest$0 = $TS($S($EXPECT($
|
|
7487
|
+
var MemberExpressionRest$0 = $TS($S($EXPECT($R8, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
|
|
7346
7488
|
var comments = $2;
|
|
7347
7489
|
var body = $3;
|
|
7348
7490
|
if (Array.isArray(body))
|
|
@@ -7826,7 +7968,7 @@ ${input.slice(result.pos)}
|
|
|
7826
7968
|
return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
|
|
7827
7969
|
}
|
|
7828
7970
|
var ParameterElementDelimiter$0 = $S($E(_), Comma);
|
|
7829
|
-
var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($
|
|
7971
|
+
var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R9, "ParameterElementDelimiter /[)}]/"))));
|
|
7830
7972
|
var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
|
|
7831
7973
|
return value[1];
|
|
7832
7974
|
});
|
|
@@ -7895,7 +8037,23 @@ ${input.slice(result.pos)}
|
|
|
7895
8037
|
expression
|
|
7896
8038
|
};
|
|
7897
8039
|
});
|
|
7898
|
-
var PinPattern
|
|
8040
|
+
var PinPattern$2 = $TV($S($EXPECT($R10, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
|
|
8041
|
+
var expression = $0;
|
|
8042
|
+
return {
|
|
8043
|
+
type: "PinPattern",
|
|
8044
|
+
children: [expression],
|
|
8045
|
+
expression
|
|
8046
|
+
};
|
|
8047
|
+
});
|
|
8048
|
+
var PinPattern$3 = $TV(Undefined, function($skip, $loc, $0, $1) {
|
|
8049
|
+
var expression = $0;
|
|
8050
|
+
return {
|
|
8051
|
+
type: "PinPattern",
|
|
8052
|
+
children: [expression],
|
|
8053
|
+
expression
|
|
8054
|
+
};
|
|
8055
|
+
});
|
|
8056
|
+
var PinPattern$$ = [PinPattern$0, PinPattern$1, PinPattern$2, PinPattern$3];
|
|
7899
8057
|
function PinPattern(ctx, state) {
|
|
7900
8058
|
return $EVENT_C(ctx, state, "PinPattern", PinPattern$$);
|
|
7901
8059
|
}
|
|
@@ -8330,7 +8488,7 @@ ${input.slice(result.pos)}
|
|
|
8330
8488
|
parameters
|
|
8331
8489
|
};
|
|
8332
8490
|
});
|
|
8333
|
-
var FunctionExpression$4 = $TS($S(OpenParen, __, $N($EXPECT($
|
|
8491
|
+
var FunctionExpression$4 = $TS($S(OpenParen, __, $N($EXPECT($R11, "FunctionExpression /\\+\\+|--|[\\+-]\\S/")), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
8334
8492
|
var open = $1;
|
|
8335
8493
|
var ws1 = $2;
|
|
8336
8494
|
var op = $4;
|
|
@@ -8373,52 +8531,7 @@ ${input.slice(result.pos)}
|
|
|
8373
8531
|
var rhs = $3;
|
|
8374
8532
|
if (!prefix.length && !rhs)
|
|
8375
8533
|
return $skip;
|
|
8376
|
-
|
|
8377
|
-
if (!rhs) {
|
|
8378
|
-
body = ref = makeRef("$");
|
|
8379
|
-
} else {
|
|
8380
|
-
({ ref, typeSuffix } = rhs);
|
|
8381
|
-
if (!ref) {
|
|
8382
|
-
throw new Error("Could not find ref in ampersand shorthand block");
|
|
8383
|
-
}
|
|
8384
|
-
body = rhs;
|
|
8385
|
-
}
|
|
8386
|
-
if (prefix.length) {
|
|
8387
|
-
body = {
|
|
8388
|
-
type: "UnaryExpression",
|
|
8389
|
-
children: [processUnaryExpression(prefix, body, void 0)]
|
|
8390
|
-
};
|
|
8391
|
-
}
|
|
8392
|
-
const parameters = {
|
|
8393
|
-
type: "Parameters",
|
|
8394
|
-
children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
|
|
8395
|
-
names: []
|
|
8396
|
-
};
|
|
8397
|
-
const expressions = [body];
|
|
8398
|
-
const block = {
|
|
8399
|
-
bare: true,
|
|
8400
|
-
expressions,
|
|
8401
|
-
children: [expressions]
|
|
8402
|
-
};
|
|
8403
|
-
const children = [parameters, " => ", block];
|
|
8404
|
-
const async = hasAwait(body);
|
|
8405
|
-
if (async) {
|
|
8406
|
-
children.unshift("async ");
|
|
8407
|
-
}
|
|
8408
|
-
return {
|
|
8409
|
-
type: "ArrowFunction",
|
|
8410
|
-
signature: {
|
|
8411
|
-
modifier: {
|
|
8412
|
-
async
|
|
8413
|
-
}
|
|
8414
|
-
},
|
|
8415
|
-
children,
|
|
8416
|
-
ref,
|
|
8417
|
-
body,
|
|
8418
|
-
ampersandBlock: true,
|
|
8419
|
-
block,
|
|
8420
|
-
parameters
|
|
8421
|
-
};
|
|
8534
|
+
return makeAmpersandFunctionExpression(prefix, rhs);
|
|
8422
8535
|
});
|
|
8423
8536
|
function AmpersandFunctionExpression(ctx, state) {
|
|
8424
8537
|
return $EVENT(ctx, state, "AmpersandFunctionExpression", AmpersandFunctionExpression$0);
|
|
@@ -8544,7 +8657,7 @@ ${input.slice(result.pos)}
|
|
|
8544
8657
|
function AmpersandTypeSuffix(ctx, state) {
|
|
8545
8658
|
return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
|
|
8546
8659
|
}
|
|
8547
|
-
var AmpersandBlockRHSBody$0 = $TS($S($E(AmpersandTypeSuffix), $E($S($N(_), $P(CallExpressionRest))), $E(UnaryPostfix), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($
|
|
8660
|
+
var AmpersandBlockRHSBody$0 = $TS($S($E(AmpersandTypeSuffix), $E($S($N(_), $P(CallExpressionRest))), $E(UnaryPostfix), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R12, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
8548
8661
|
var typeSuffix = $1;
|
|
8549
8662
|
var callExpRest = $2;
|
|
8550
8663
|
var unaryPostfix = $3;
|
|
@@ -8552,42 +8665,7 @@ ${input.slice(result.pos)}
|
|
|
8552
8665
|
var binopRHS = $5;
|
|
8553
8666
|
if (!typeSuffix && !callExpRest && !binopRHS && !unaryPostfix)
|
|
8554
8667
|
return $skip;
|
|
8555
|
-
|
|
8556
|
-
let exp = {
|
|
8557
|
-
type: "AmpersandRef",
|
|
8558
|
-
children: [ref],
|
|
8559
|
-
names: [],
|
|
8560
|
-
ref
|
|
8561
|
-
};
|
|
8562
|
-
if (callExpRest) {
|
|
8563
|
-
exp.children.push(...callExpRest[1]);
|
|
8564
|
-
}
|
|
8565
|
-
if (unaryPostfix) {
|
|
8566
|
-
exp = processUnaryExpression([], exp, unaryPostfix);
|
|
8567
|
-
}
|
|
8568
|
-
if (assign) {
|
|
8569
|
-
const [op1, more, rhs] = assign;
|
|
8570
|
-
const lhs = [
|
|
8571
|
-
[void 0, exp, ...op1],
|
|
8572
|
-
...more.map((x) => [x[0], x[1], ...x[2]])
|
|
8573
|
-
];
|
|
8574
|
-
exp = {
|
|
8575
|
-
type: "AssignmentExpression",
|
|
8576
|
-
children: [lhs, rhs],
|
|
8577
|
-
names: null,
|
|
8578
|
-
lhs,
|
|
8579
|
-
assigned: exp,
|
|
8580
|
-
exp: rhs
|
|
8581
|
-
};
|
|
8582
|
-
}
|
|
8583
|
-
if (binopRHS) {
|
|
8584
|
-
exp = {
|
|
8585
|
-
children: processBinaryOpExpression([exp, binopRHS[1]])
|
|
8586
|
-
};
|
|
8587
|
-
}
|
|
8588
|
-
exp.ref = ref;
|
|
8589
|
-
exp.typeSuffix = typeSuffix;
|
|
8590
|
-
return exp;
|
|
8668
|
+
return makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS);
|
|
8591
8669
|
});
|
|
8592
8670
|
function AmpersandBlockRHSBody(ctx, state) {
|
|
8593
8671
|
return $EVENT(ctx, state, "AmpersandBlockRHSBody", AmpersandBlockRHSBody$0);
|
|
@@ -8988,7 +9066,7 @@ ${input.slice(result.pos)}
|
|
|
8988
9066
|
function BlockStatementPart(ctx, state) {
|
|
8989
9067
|
return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
|
|
8990
9068
|
}
|
|
8991
|
-
var Literal$0 = $TS($S($EXPECT($
|
|
9069
|
+
var Literal$0 = $TS($S($EXPECT($R13, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
|
|
8992
9070
|
var literal = $2;
|
|
8993
9071
|
return {
|
|
8994
9072
|
type: "Literal",
|
|
@@ -9014,7 +9092,7 @@ ${input.slice(result.pos)}
|
|
|
9014
9092
|
function NullLiteral(ctx, state) {
|
|
9015
9093
|
return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
|
|
9016
9094
|
}
|
|
9017
|
-
var BooleanLiteral$0 = $T($S($EXPECT($
|
|
9095
|
+
var BooleanLiteral$0 = $T($S($EXPECT($R14, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
|
|
9018
9096
|
return value[1];
|
|
9019
9097
|
});
|
|
9020
9098
|
function BooleanLiteral(ctx, state) {
|
|
@@ -9040,14 +9118,14 @@ ${input.slice(result.pos)}
|
|
|
9040
9118
|
function CoffeeScriptBooleanLiteral(ctx, state) {
|
|
9041
9119
|
return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
|
|
9042
9120
|
}
|
|
9043
|
-
var Identifier$0 = $T($S($EXPECT($
|
|
9121
|
+
var Identifier$0 = $T($S($EXPECT($R15, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
|
|
9044
9122
|
var id = value[2];
|
|
9045
9123
|
return id;
|
|
9046
9124
|
});
|
|
9047
9125
|
function Identifier(ctx, state) {
|
|
9048
9126
|
return $EVENT(ctx, state, "Identifier", Identifier$0);
|
|
9049
9127
|
}
|
|
9050
|
-
var IdentifierName$0 = $TR($EXPECT($
|
|
9128
|
+
var IdentifierName$0 = $TR($EXPECT($R16, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
9051
9129
|
return {
|
|
9052
9130
|
type: "Identifier",
|
|
9053
9131
|
name: $0,
|
|
@@ -9069,7 +9147,7 @@ ${input.slice(result.pos)}
|
|
|
9069
9147
|
function UpcomingAssignment(ctx, state) {
|
|
9070
9148
|
return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
|
|
9071
9149
|
}
|
|
9072
|
-
var ArrayLiteral$0 = $T($S($EXPECT($
|
|
9150
|
+
var ArrayLiteral$0 = $T($S($EXPECT($R17, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
|
|
9073
9151
|
return value[1];
|
|
9074
9152
|
});
|
|
9075
9153
|
function ArrayLiteral(ctx, state) {
|
|
@@ -9170,8 +9248,26 @@ ${input.slice(result.pos)}
|
|
|
9170
9248
|
end: e
|
|
9171
9249
|
};
|
|
9172
9250
|
});
|
|
9251
|
+
var RangeExpression$1 = $TS($S(ExtendedExpression, __, DotDot, $Y($S(__, CloseBracket))), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9252
|
+
var s = $1;
|
|
9253
|
+
var ws = $2;
|
|
9254
|
+
return {
|
|
9255
|
+
type: "RangeExpression",
|
|
9256
|
+
children: ["[]", {
|
|
9257
|
+
type: "Error",
|
|
9258
|
+
message: "Infinite range [x..] is only valid in for loops"
|
|
9259
|
+
}],
|
|
9260
|
+
start: s,
|
|
9261
|
+
end: {
|
|
9262
|
+
type: "Identifier",
|
|
9263
|
+
name: "Infinity",
|
|
9264
|
+
children: ["Infinity"]
|
|
9265
|
+
}
|
|
9266
|
+
};
|
|
9267
|
+
});
|
|
9268
|
+
var RangeExpression$$ = [RangeExpression$0, RangeExpression$1];
|
|
9173
9269
|
function RangeExpression(ctx, state) {
|
|
9174
|
-
return $
|
|
9270
|
+
return $EVENT_C(ctx, state, "RangeExpression", RangeExpression$$);
|
|
9175
9271
|
}
|
|
9176
9272
|
var ArrayLiteralContent$0 = RangeExpression;
|
|
9177
9273
|
var ArrayLiteralContent$1 = $S(NestedElementList, $Y($S(__, CloseBracket)));
|
|
@@ -9493,7 +9589,7 @@ ${input.slice(result.pos)}
|
|
|
9493
9589
|
children: [ws, ...prop.children]
|
|
9494
9590
|
};
|
|
9495
9591
|
});
|
|
9496
|
-
var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($
|
|
9592
|
+
var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R18, "PropertyDefinition /[!+-]?/")), PropertyName, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9497
9593
|
var ws = $1;
|
|
9498
9594
|
var toggle = $2;
|
|
9499
9595
|
var id = $3;
|
|
@@ -9678,7 +9774,7 @@ ${input.slice(result.pos)}
|
|
|
9678
9774
|
implicit: true
|
|
9679
9775
|
};
|
|
9680
9776
|
});
|
|
9681
|
-
var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($
|
|
9777
|
+
var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R10, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9682
9778
|
const expression = [$2, $3];
|
|
9683
9779
|
return {
|
|
9684
9780
|
type: "ComputedPropertyName",
|
|
@@ -9687,7 +9783,18 @@ ${input.slice(result.pos)}
|
|
|
9687
9783
|
implicit: true
|
|
9688
9784
|
};
|
|
9689
9785
|
});
|
|
9690
|
-
var ComputedPropertyName
|
|
9786
|
+
var ComputedPropertyName$3 = $TS($S(InsertOpenBracket, PartialPlaceholder, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3) {
|
|
9787
|
+
var open = $1;
|
|
9788
|
+
var expression = $2;
|
|
9789
|
+
var close = $3;
|
|
9790
|
+
return {
|
|
9791
|
+
type: "ComputedPropertyName",
|
|
9792
|
+
expression,
|
|
9793
|
+
children: [open, expression, close],
|
|
9794
|
+
implicit: true
|
|
9795
|
+
};
|
|
9796
|
+
});
|
|
9797
|
+
var ComputedPropertyName$$ = [ComputedPropertyName$0, ComputedPropertyName$1, ComputedPropertyName$2, ComputedPropertyName$3];
|
|
9691
9798
|
function ComputedPropertyName(ctx, state) {
|
|
9692
9799
|
return $EVENT_C(ctx, state, "ComputedPropertyName", ComputedPropertyName$$);
|
|
9693
9800
|
}
|
|
@@ -10057,7 +10164,7 @@ ${input.slice(result.pos)}
|
|
|
10057
10164
|
function IdentifierBinaryOp(ctx, state) {
|
|
10058
10165
|
return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
|
|
10059
10166
|
}
|
|
10060
|
-
var BinaryOp$0 = $T($S($EXPECT($
|
|
10167
|
+
var BinaryOp$0 = $T($S($EXPECT($R19, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
|
|
10061
10168
|
var op = value[1];
|
|
10062
10169
|
return op;
|
|
10063
10170
|
});
|
|
@@ -10192,7 +10299,7 @@ ${input.slice(result.pos)}
|
|
|
10192
10299
|
prec: "^^"
|
|
10193
10300
|
};
|
|
10194
10301
|
});
|
|
10195
|
-
var BinaryOpSymbol$35 = $TV($C($EXPECT($
|
|
10302
|
+
var BinaryOpSymbol$35 = $TV($C($EXPECT($R20, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L101, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
|
|
10196
10303
|
return {
|
|
10197
10304
|
call: module.getRef("xnor"),
|
|
10198
10305
|
special: true,
|
|
@@ -10356,24 +10463,24 @@ ${input.slice(result.pos)}
|
|
|
10356
10463
|
function Xor(ctx, state) {
|
|
10357
10464
|
return $EVENT_C(ctx, state, "Xor", Xor$$);
|
|
10358
10465
|
}
|
|
10359
|
-
var Xnor$0 = $R$0($EXPECT($
|
|
10466
|
+
var Xnor$0 = $R$0($EXPECT($R20, "Xnor /!\\^\\^?/"));
|
|
10360
10467
|
var Xnor$1 = $EXPECT($L101, 'Xnor "xnor"');
|
|
10361
10468
|
var Xnor$$ = [Xnor$0, Xnor$1];
|
|
10362
10469
|
function Xnor(ctx, state) {
|
|
10363
10470
|
return $EVENT_C(ctx, state, "Xnor", Xnor$$);
|
|
10364
10471
|
}
|
|
10365
|
-
var UnaryOp$0 = $TR($EXPECT($
|
|
10472
|
+
var UnaryOp$0 = $TR($EXPECT($R21, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
10366
10473
|
return { $loc, token: $0 };
|
|
10367
10474
|
});
|
|
10368
10475
|
var UnaryOp$1 = AwaitOp;
|
|
10369
|
-
var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($
|
|
10476
|
+
var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($R22, "UnaryOp /[:.]/")), $E(_)), function($skip, $loc, $0, $1, $2, $3) {
|
|
10370
10477
|
var op = $1;
|
|
10371
10478
|
var ws = $3;
|
|
10372
10479
|
if (!ws)
|
|
10373
10480
|
return [op, [" "]];
|
|
10374
10481
|
return [op, ws];
|
|
10375
10482
|
});
|
|
10376
|
-
var UnaryOp$3 = $T($S(Not, $N($EXPECT($
|
|
10483
|
+
var UnaryOp$3 = $T($S(Not, $N($EXPECT($R22, "UnaryOp /[:.]/")), $E($EXPECT($L16, 'UnaryOp " "')), $E(_)), function(value) {
|
|
10377
10484
|
return [value[0], value[3]];
|
|
10378
10485
|
});
|
|
10379
10486
|
var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
|
|
@@ -10468,7 +10575,7 @@ ${input.slice(result.pos)}
|
|
|
10468
10575
|
function NonPipelinePostfixedExpression(ctx, state) {
|
|
10469
10576
|
return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
|
|
10470
10577
|
}
|
|
10471
|
-
var PostfixStatement$0 = $T($S($EXPECT($
|
|
10578
|
+
var PostfixStatement$0 = $T($S($EXPECT($R23, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
|
|
10472
10579
|
return value[1];
|
|
10473
10580
|
});
|
|
10474
10581
|
function PostfixStatement(ctx, state) {
|
|
@@ -10601,7 +10708,7 @@ ${input.slice(result.pos)}
|
|
|
10601
10708
|
function UnlessClause(ctx, state) {
|
|
10602
10709
|
return $EVENT(ctx, state, "UnlessClause", UnlessClause$0);
|
|
10603
10710
|
}
|
|
10604
|
-
var IterationStatement$0 = $T($S($EXPECT($
|
|
10711
|
+
var IterationStatement$0 = $T($S($EXPECT($R24, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
|
|
10605
10712
|
return value[1];
|
|
10606
10713
|
});
|
|
10607
10714
|
function IterationStatement(ctx, state) {
|
|
@@ -10954,7 +11061,7 @@ ${input.slice(result.pos)}
|
|
|
10954
11061
|
names: binding.names
|
|
10955
11062
|
};
|
|
10956
11063
|
});
|
|
10957
|
-
var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($
|
|
11064
|
+
var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R25, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
|
|
10958
11065
|
var c = $1;
|
|
10959
11066
|
var binding = $2;
|
|
10960
11067
|
return {
|
|
@@ -11783,7 +11890,7 @@ ${input.slice(result.pos)}
|
|
|
11783
11890
|
function UnprocessedModuleSpecifier(ctx, state) {
|
|
11784
11891
|
return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
|
|
11785
11892
|
}
|
|
11786
|
-
var UnquotedSpecifier$0 = $TV($EXPECT($
|
|
11893
|
+
var UnquotedSpecifier$0 = $TV($EXPECT($R26, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
|
|
11787
11894
|
var spec = $0;
|
|
11788
11895
|
return { $loc, token: `"${spec}"` };
|
|
11789
11896
|
});
|
|
@@ -12036,7 +12143,7 @@ ${input.slice(result.pos)}
|
|
|
12036
12143
|
function VariableDeclarationList(ctx, state) {
|
|
12037
12144
|
return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
|
|
12038
12145
|
}
|
|
12039
|
-
var NumericLiteral$0 = $TS($S($EXPECT($
|
|
12146
|
+
var NumericLiteral$0 = $TS($S($EXPECT($R27, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
|
|
12040
12147
|
var token = $2;
|
|
12041
12148
|
return { type: "NumericLiteral", $loc, token };
|
|
12042
12149
|
});
|
|
@@ -12052,36 +12159,36 @@ ${input.slice(result.pos)}
|
|
|
12052
12159
|
function NumericLiteralKind(ctx, state) {
|
|
12053
12160
|
return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
|
|
12054
12161
|
}
|
|
12055
|
-
var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($
|
|
12162
|
+
var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R28, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
|
|
12056
12163
|
function DecimalBigIntegerLiteral(ctx, state) {
|
|
12057
12164
|
return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
|
|
12058
12165
|
}
|
|
12059
|
-
var DecimalLiteral$0 = $TV($TEXT($EXPECT($
|
|
12166
|
+
var DecimalLiteral$0 = $TV($TEXT($EXPECT($R29, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
|
|
12060
12167
|
return $1 + ".";
|
|
12061
12168
|
});
|
|
12062
|
-
var DecimalLiteral$1 = $TEXT($S($EXPECT($
|
|
12063
|
-
var DecimalLiteral$2 = $TEXT($S($EXPECT($
|
|
12169
|
+
var DecimalLiteral$1 = $TEXT($S($EXPECT($R30, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
|
|
12170
|
+
var DecimalLiteral$2 = $TEXT($S($EXPECT($R31, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
|
|
12064
12171
|
var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
|
|
12065
12172
|
function DecimalLiteral(ctx, state) {
|
|
12066
12173
|
return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
|
|
12067
12174
|
}
|
|
12068
|
-
var ExponentPart$0 = $R$0($EXPECT($
|
|
12175
|
+
var ExponentPart$0 = $R$0($EXPECT($R32, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
|
|
12069
12176
|
function ExponentPart(ctx, state) {
|
|
12070
12177
|
return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
|
|
12071
12178
|
}
|
|
12072
|
-
var BinaryIntegerLiteral$0 = $R$0($EXPECT($
|
|
12179
|
+
var BinaryIntegerLiteral$0 = $R$0($EXPECT($R33, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
|
|
12073
12180
|
function BinaryIntegerLiteral(ctx, state) {
|
|
12074
12181
|
return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
|
|
12075
12182
|
}
|
|
12076
|
-
var OctalIntegerLiteral$0 = $R$0($EXPECT($
|
|
12183
|
+
var OctalIntegerLiteral$0 = $R$0($EXPECT($R34, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
|
|
12077
12184
|
function OctalIntegerLiteral(ctx, state) {
|
|
12078
12185
|
return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
|
|
12079
12186
|
}
|
|
12080
|
-
var HexIntegerLiteral$0 = $R$0($EXPECT($
|
|
12187
|
+
var HexIntegerLiteral$0 = $R$0($EXPECT($R35, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
|
|
12081
12188
|
function HexIntegerLiteral(ctx, state) {
|
|
12082
12189
|
return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
|
|
12083
12190
|
}
|
|
12084
|
-
var IntegerLiteral$0 = $TS($S($EXPECT($
|
|
12191
|
+
var IntegerLiteral$0 = $TS($S($EXPECT($R36, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
|
|
12085
12192
|
var token = $2;
|
|
12086
12193
|
return { $loc, token };
|
|
12087
12194
|
});
|
|
@@ -12097,7 +12204,7 @@ ${input.slice(result.pos)}
|
|
|
12097
12204
|
function IntegerLiteralKind(ctx, state) {
|
|
12098
12205
|
return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
|
|
12099
12206
|
}
|
|
12100
|
-
var DecimalIntegerLiteral$0 = $R$0($EXPECT($
|
|
12207
|
+
var DecimalIntegerLiteral$0 = $R$0($EXPECT($R37, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
|
|
12101
12208
|
function DecimalIntegerLiteral(ctx, state) {
|
|
12102
12209
|
return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
|
|
12103
12210
|
}
|
|
@@ -12121,25 +12228,25 @@ ${input.slice(result.pos)}
|
|
|
12121
12228
|
function StringLiteral(ctx, state) {
|
|
12122
12229
|
return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
|
|
12123
12230
|
}
|
|
12124
|
-
var DoubleStringCharacters$0 = $TR($EXPECT($
|
|
12231
|
+
var DoubleStringCharacters$0 = $TR($EXPECT($R38, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12125
12232
|
return { $loc, token: $0 };
|
|
12126
12233
|
});
|
|
12127
12234
|
function DoubleStringCharacters(ctx, state) {
|
|
12128
12235
|
return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
|
|
12129
12236
|
}
|
|
12130
|
-
var SingleStringCharacters$0 = $TR($EXPECT($
|
|
12237
|
+
var SingleStringCharacters$0 = $TR($EXPECT($R39, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12131
12238
|
return { $loc, token: $0 };
|
|
12132
12239
|
});
|
|
12133
12240
|
function SingleStringCharacters(ctx, state) {
|
|
12134
12241
|
return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
|
|
12135
12242
|
}
|
|
12136
|
-
var TripleDoubleStringCharacters$0 = $TR($EXPECT($
|
|
12243
|
+
var TripleDoubleStringCharacters$0 = $TR($EXPECT($R40, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12137
12244
|
return { $loc, token: $0 };
|
|
12138
12245
|
});
|
|
12139
12246
|
function TripleDoubleStringCharacters(ctx, state) {
|
|
12140
12247
|
return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
|
|
12141
12248
|
}
|
|
12142
|
-
var TripleSingleStringCharacters$0 = $TR($EXPECT($
|
|
12249
|
+
var TripleSingleStringCharacters$0 = $TR($EXPECT($R41, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12143
12250
|
return { $loc, token: $0 };
|
|
12144
12251
|
});
|
|
12145
12252
|
function TripleSingleStringCharacters(ctx, state) {
|
|
@@ -12162,7 +12269,7 @@ ${input.slice(result.pos)}
|
|
|
12162
12269
|
function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
|
|
12163
12270
|
return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
|
|
12164
12271
|
}
|
|
12165
|
-
var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($
|
|
12272
|
+
var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R42, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12166
12273
|
return { $loc, token: $0 };
|
|
12167
12274
|
});
|
|
12168
12275
|
function CoffeeDoubleQuotedStringCharacters(ctx, state) {
|
|
@@ -12182,7 +12289,7 @@ ${input.slice(result.pos)}
|
|
|
12182
12289
|
function RegularExpressionClass(ctx, state) {
|
|
12183
12290
|
return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
|
|
12184
12291
|
}
|
|
12185
|
-
var RegularExpressionClassCharacters$0 = $TR($EXPECT($
|
|
12292
|
+
var RegularExpressionClassCharacters$0 = $TR($EXPECT($R43, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12186
12293
|
return { $loc, token: $0 };
|
|
12187
12294
|
});
|
|
12188
12295
|
function RegularExpressionClassCharacters(ctx, state) {
|
|
@@ -12239,7 +12346,7 @@ ${input.slice(result.pos)}
|
|
|
12239
12346
|
var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
|
|
12240
12347
|
return { "type": "Substitution", "children": value[0] };
|
|
12241
12348
|
});
|
|
12242
|
-
var HeregexPart$3 = $TR($EXPECT($
|
|
12349
|
+
var HeregexPart$3 = $TR($EXPECT($R44, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12243
12350
|
let token = $0;
|
|
12244
12351
|
switch ($0[1]) {
|
|
12245
12352
|
case "\n":
|
|
@@ -12257,13 +12364,13 @@ ${input.slice(result.pos)}
|
|
|
12257
12364
|
var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
|
|
12258
12365
|
return { $loc, token: "" };
|
|
12259
12366
|
});
|
|
12260
|
-
var HeregexPart$5 = $TR($EXPECT($
|
|
12367
|
+
var HeregexPart$5 = $TR($EXPECT($R45, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12261
12368
|
return { $loc, token: "" };
|
|
12262
12369
|
});
|
|
12263
|
-
var HeregexPart$6 = $TR($EXPECT($
|
|
12370
|
+
var HeregexPart$6 = $TR($EXPECT($R46, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12264
12371
|
return { $loc, token: "\\/" };
|
|
12265
12372
|
});
|
|
12266
|
-
var HeregexPart$7 = $TR($EXPECT($
|
|
12373
|
+
var HeregexPart$7 = $TR($EXPECT($R47, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12267
12374
|
return { $loc, token: $0 };
|
|
12268
12375
|
});
|
|
12269
12376
|
var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
|
|
@@ -12276,7 +12383,7 @@ ${input.slice(result.pos)}
|
|
|
12276
12383
|
function HeregexComment(ctx, state) {
|
|
12277
12384
|
return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
|
|
12278
12385
|
}
|
|
12279
|
-
var RegularExpressionBody$0 = $S($N($R$0($EXPECT($
|
|
12386
|
+
var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R48, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
|
|
12280
12387
|
function RegularExpressionBody(ctx, state) {
|
|
12281
12388
|
return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
|
|
12282
12389
|
}
|
|
@@ -12286,15 +12393,15 @@ ${input.slice(result.pos)}
|
|
|
12286
12393
|
function RegExpPart(ctx, state) {
|
|
12287
12394
|
return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
|
|
12288
12395
|
}
|
|
12289
|
-
var RegExpCharacter$0 = $R$0($EXPECT($
|
|
12396
|
+
var RegExpCharacter$0 = $R$0($EXPECT($R49, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
|
|
12290
12397
|
function RegExpCharacter(ctx, state) {
|
|
12291
12398
|
return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
|
|
12292
12399
|
}
|
|
12293
|
-
var RegularExpressionFlags$0 = $R$0($EXPECT($
|
|
12400
|
+
var RegularExpressionFlags$0 = $R$0($EXPECT($R50, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
|
|
12294
12401
|
function RegularExpressionFlags(ctx, state) {
|
|
12295
12402
|
return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
|
|
12296
12403
|
}
|
|
12297
|
-
var TemplateLiteral$0 = $T($S($EXPECT($
|
|
12404
|
+
var TemplateLiteral$0 = $T($S($EXPECT($R51, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
|
|
12298
12405
|
return value[1];
|
|
12299
12406
|
});
|
|
12300
12407
|
function TemplateLiteral(ctx, state) {
|
|
@@ -12334,28 +12441,28 @@ ${input.slice(result.pos)}
|
|
|
12334
12441
|
function TemplateSubstitution(ctx, state) {
|
|
12335
12442
|
return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
|
|
12336
12443
|
}
|
|
12337
|
-
var TemplateCharacters$0 = $TR($EXPECT($
|
|
12444
|
+
var TemplateCharacters$0 = $TR($EXPECT($R52, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12338
12445
|
return { $loc, token: $0 };
|
|
12339
12446
|
});
|
|
12340
12447
|
function TemplateCharacters(ctx, state) {
|
|
12341
12448
|
return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
|
|
12342
12449
|
}
|
|
12343
|
-
var TemplateBlockCharacters$0 = $TR($EXPECT($
|
|
12450
|
+
var TemplateBlockCharacters$0 = $TR($EXPECT($R53, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12344
12451
|
return { $loc, token: $0 };
|
|
12345
12452
|
});
|
|
12346
12453
|
function TemplateBlockCharacters(ctx, state) {
|
|
12347
12454
|
return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
|
|
12348
12455
|
}
|
|
12349
|
-
var ReservedWord$0 = $S($R$0($EXPECT($
|
|
12350
|
-
var ReservedWord$1 = $S($R$0($EXPECT($
|
|
12351
|
-
var ReservedWord$2 = $S($R$0($EXPECT($
|
|
12352
|
-
var ReservedWord$3 = $S($R$0($EXPECT($
|
|
12353
|
-
var ReservedWord$4 = $R$0($EXPECT($
|
|
12456
|
+
var ReservedWord$0 = $S($R$0($EXPECT($R54, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
|
|
12457
|
+
var ReservedWord$1 = $S($R$0($EXPECT($R55, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
|
|
12458
|
+
var ReservedWord$2 = $S($R$0($EXPECT($R56, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
|
|
12459
|
+
var ReservedWord$3 = $S($R$0($EXPECT($R57, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
|
|
12460
|
+
var ReservedWord$4 = $R$0($EXPECT($R58, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
|
|
12354
12461
|
var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
|
|
12355
12462
|
function ReservedWord(ctx, state) {
|
|
12356
12463
|
return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
|
|
12357
12464
|
}
|
|
12358
|
-
var Comment$0 = $T($S($EXPECT($
|
|
12465
|
+
var Comment$0 = $T($S($EXPECT($R59, "Comment /(?=\\/|#)/"), _Comment), function(value) {
|
|
12359
12466
|
return value[1];
|
|
12360
12467
|
});
|
|
12361
12468
|
function Comment(ctx, state) {
|
|
@@ -12373,7 +12480,7 @@ ${input.slice(result.pos)}
|
|
|
12373
12480
|
function SingleLineComment(ctx, state) {
|
|
12374
12481
|
return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
|
|
12375
12482
|
}
|
|
12376
|
-
var JSSingleLineComment$0 = $TR($EXPECT($
|
|
12483
|
+
var JSSingleLineComment$0 = $TR($EXPECT($R60, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12377
12484
|
return { type: "Comment", $loc, token: $0 };
|
|
12378
12485
|
});
|
|
12379
12486
|
function JSSingleLineComment(ctx, state) {
|
|
@@ -12385,30 +12492,30 @@ ${input.slice(result.pos)}
|
|
|
12385
12492
|
function MultiLineComment(ctx, state) {
|
|
12386
12493
|
return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
|
|
12387
12494
|
}
|
|
12388
|
-
var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L123, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L124, 'JSMultiLineComment "*/"')), $EXPECT($
|
|
12495
|
+
var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L123, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L124, 'JSMultiLineComment "*/"')), $EXPECT($R61, "JSMultiLineComment /./"))), $EXPECT($L124, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
|
|
12389
12496
|
return { type: "Comment", $loc, token: $1 };
|
|
12390
12497
|
});
|
|
12391
12498
|
function JSMultiLineComment(ctx, state) {
|
|
12392
12499
|
return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
|
|
12393
12500
|
}
|
|
12394
|
-
var CoffeeSingleLineComment$0 = $TR($EXPECT($
|
|
12501
|
+
var CoffeeSingleLineComment$0 = $TR($EXPECT($R62, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12395
12502
|
return { type: "Comment", $loc, token: `//${$1}` };
|
|
12396
12503
|
});
|
|
12397
12504
|
function CoffeeSingleLineComment(ctx, state) {
|
|
12398
12505
|
return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
|
|
12399
12506
|
}
|
|
12400
|
-
var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($
|
|
12507
|
+
var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R63, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
|
|
12401
12508
|
$2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
|
|
12402
12509
|
return { type: "Comment", $loc, token: `/*${$2}*/` };
|
|
12403
12510
|
});
|
|
12404
12511
|
function CoffeeMultiLineComment(ctx, state) {
|
|
12405
12512
|
return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
|
|
12406
12513
|
}
|
|
12407
|
-
var CoffeeHereCommentStart$0 = $R$0($EXPECT($
|
|
12514
|
+
var CoffeeHereCommentStart$0 = $R$0($EXPECT($R64, "CoffeeHereCommentStart /###(?!#)/"));
|
|
12408
12515
|
function CoffeeHereCommentStart(ctx, state) {
|
|
12409
12516
|
return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
|
|
12410
12517
|
}
|
|
12411
|
-
var InlineComment$0 = $TR($EXPECT($
|
|
12518
|
+
var InlineComment$0 = $TR($EXPECT($R65, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12412
12519
|
return { $loc, token: $0 };
|
|
12413
12520
|
});
|
|
12414
12521
|
function InlineComment(ctx, state) {
|
|
@@ -12422,13 +12529,13 @@ ${input.slice(result.pos)}
|
|
|
12422
12529
|
function TrailingComment(ctx, state) {
|
|
12423
12530
|
return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
|
|
12424
12531
|
}
|
|
12425
|
-
var _$0 = $T($S($EXPECT($
|
|
12532
|
+
var _$0 = $T($S($EXPECT($R66, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
|
|
12426
12533
|
return value[1];
|
|
12427
12534
|
});
|
|
12428
12535
|
function _(ctx, state) {
|
|
12429
12536
|
return $EVENT(ctx, state, "_", _$0);
|
|
12430
12537
|
}
|
|
12431
|
-
var NonNewlineWhitespace$0 = $TR($EXPECT($
|
|
12538
|
+
var NonNewlineWhitespace$0 = $TR($EXPECT($R67, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12432
12539
|
return { $loc, token: $0 };
|
|
12433
12540
|
});
|
|
12434
12541
|
var NonNewlineWhitespace$1 = $T($S($EXPECT($L125, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
|
|
@@ -12445,7 +12552,7 @@ ${input.slice(result.pos)}
|
|
|
12445
12552
|
function Trimmed_(ctx, state) {
|
|
12446
12553
|
return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
|
|
12447
12554
|
}
|
|
12448
|
-
var __$0 = $T($S($EXPECT($
|
|
12555
|
+
var __$0 = $T($S($EXPECT($R68, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
|
|
12449
12556
|
return value[1];
|
|
12450
12557
|
});
|
|
12451
12558
|
var __$1 = $EXPECT($L0, '__ ""');
|
|
@@ -12453,7 +12560,7 @@ ${input.slice(result.pos)}
|
|
|
12453
12560
|
function __(ctx, state) {
|
|
12454
12561
|
return $EVENT_C(ctx, state, "__", __$$);
|
|
12455
12562
|
}
|
|
12456
|
-
var Whitespace$0 = $TR($EXPECT($
|
|
12563
|
+
var Whitespace$0 = $TR($EXPECT($R45, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12457
12564
|
return { $loc, token: $0 };
|
|
12458
12565
|
});
|
|
12459
12566
|
function Whitespace(ctx, state) {
|
|
@@ -12491,7 +12598,7 @@ ${input.slice(result.pos)}
|
|
|
12491
12598
|
function SemicolonDelimiter(ctx, state) {
|
|
12492
12599
|
return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
|
|
12493
12600
|
}
|
|
12494
|
-
var NonIdContinue$0 = $R$0($EXPECT($
|
|
12601
|
+
var NonIdContinue$0 = $R$0($EXPECT($R69, "NonIdContinue /(?!\\p{ID_Continue})/"));
|
|
12495
12602
|
function NonIdContinue(ctx, state) {
|
|
12496
12603
|
return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
|
|
12497
12604
|
}
|
|
@@ -12609,7 +12716,7 @@ ${input.slice(result.pos)}
|
|
|
12609
12716
|
function CoffeeSubstitutionStart(ctx, state) {
|
|
12610
12717
|
return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
|
|
12611
12718
|
}
|
|
12612
|
-
var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($
|
|
12719
|
+
var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($R70, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
|
|
12613
12720
|
return { $loc, token: $1 };
|
|
12614
12721
|
});
|
|
12615
12722
|
function Colon(ctx, state) {
|
|
@@ -12654,7 +12761,7 @@ ${input.slice(result.pos)}
|
|
|
12654
12761
|
var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
|
|
12655
12762
|
return { $loc, token: $1 };
|
|
12656
12763
|
});
|
|
12657
|
-
var Dot$1 = $TS($S($EXPECT($
|
|
12764
|
+
var Dot$1 = $TS($S($EXPECT($R71, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
|
|
12658
12765
|
var ws = $2;
|
|
12659
12766
|
return [
|
|
12660
12767
|
{ $loc, token: "." },
|
|
@@ -12775,7 +12882,7 @@ ${input.slice(result.pos)}
|
|
|
12775
12882
|
function If(ctx, state) {
|
|
12776
12883
|
return $EVENT(ctx, state, "If", If$0);
|
|
12777
12884
|
}
|
|
12778
|
-
var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($
|
|
12885
|
+
var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($R72, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
|
|
12779
12886
|
return { $loc, token: $1 };
|
|
12780
12887
|
});
|
|
12781
12888
|
function Import(ctx, state) {
|
|
@@ -13044,49 +13151,55 @@ ${input.slice(result.pos)}
|
|
|
13044
13151
|
function Typeof(ctx, state) {
|
|
13045
13152
|
return $EVENT(ctx, state, "Typeof", Typeof$0);
|
|
13046
13153
|
}
|
|
13047
|
-
var
|
|
13154
|
+
var Undefined$0 = $TS($S($EXPECT($L202, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13155
|
+
return { $loc, token: $1 };
|
|
13156
|
+
});
|
|
13157
|
+
function Undefined(ctx, state) {
|
|
13158
|
+
return $EVENT(ctx, state, "Undefined", Undefined$0);
|
|
13159
|
+
}
|
|
13160
|
+
var Unless$0 = $TS($S($EXPECT($L203, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13048
13161
|
return { $loc, token: $1, negated: true };
|
|
13049
13162
|
});
|
|
13050
13163
|
function Unless(ctx, state) {
|
|
13051
13164
|
return $EVENT(ctx, state, "Unless", Unless$0);
|
|
13052
13165
|
}
|
|
13053
|
-
var Until$0 = $TS($S($EXPECT($
|
|
13166
|
+
var Until$0 = $TS($S($EXPECT($L204, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13054
13167
|
return { $loc, token: $1 };
|
|
13055
13168
|
});
|
|
13056
13169
|
function Until(ctx, state) {
|
|
13057
13170
|
return $EVENT(ctx, state, "Until", Until$0);
|
|
13058
13171
|
}
|
|
13059
|
-
var Using$0 = $TS($S($EXPECT($
|
|
13172
|
+
var Using$0 = $TS($S($EXPECT($L205, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13060
13173
|
return { $loc, token: $1 };
|
|
13061
13174
|
});
|
|
13062
13175
|
function Using(ctx, state) {
|
|
13063
13176
|
return $EVENT(ctx, state, "Using", Using$0);
|
|
13064
13177
|
}
|
|
13065
|
-
var Var$0 = $TS($S($EXPECT($
|
|
13178
|
+
var Var$0 = $TS($S($EXPECT($L206, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13066
13179
|
return { $loc, token: $1 };
|
|
13067
13180
|
});
|
|
13068
13181
|
function Var(ctx, state) {
|
|
13069
13182
|
return $EVENT(ctx, state, "Var", Var$0);
|
|
13070
13183
|
}
|
|
13071
|
-
var Void$0 = $TS($S($EXPECT($
|
|
13184
|
+
var Void$0 = $TS($S($EXPECT($L207, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13072
13185
|
return { $loc, token: $1 };
|
|
13073
13186
|
});
|
|
13074
13187
|
function Void(ctx, state) {
|
|
13075
13188
|
return $EVENT(ctx, state, "Void", Void$0);
|
|
13076
13189
|
}
|
|
13077
|
-
var When$0 = $TS($S($EXPECT($
|
|
13190
|
+
var When$0 = $TS($S($EXPECT($L208, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13078
13191
|
return { $loc, token: "case" };
|
|
13079
13192
|
});
|
|
13080
13193
|
function When(ctx, state) {
|
|
13081
13194
|
return $EVENT(ctx, state, "When", When$0);
|
|
13082
13195
|
}
|
|
13083
|
-
var While$0 = $TS($S($EXPECT($
|
|
13196
|
+
var While$0 = $TS($S($EXPECT($L209, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13084
13197
|
return { $loc, token: $1 };
|
|
13085
13198
|
});
|
|
13086
13199
|
function While(ctx, state) {
|
|
13087
13200
|
return $EVENT(ctx, state, "While", While$0);
|
|
13088
13201
|
}
|
|
13089
|
-
var Yield$0 = $TS($S($EXPECT($
|
|
13202
|
+
var Yield$0 = $TS($S($EXPECT($L210, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13090
13203
|
return { $loc, token: $1, type: "Yield" };
|
|
13091
13204
|
});
|
|
13092
13205
|
function Yield(ctx, state) {
|
|
@@ -13115,7 +13228,7 @@ ${input.slice(result.pos)}
|
|
|
13115
13228
|
function JSXImplicitFragment(ctx, state) {
|
|
13116
13229
|
return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
|
|
13117
13230
|
}
|
|
13118
|
-
var JSXTag$0 = $T($S($EXPECT($
|
|
13231
|
+
var JSXTag$0 = $T($S($EXPECT($R73, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
|
|
13119
13232
|
return value[1];
|
|
13120
13233
|
});
|
|
13121
13234
|
function JSXTag(ctx, state) {
|
|
@@ -13165,7 +13278,7 @@ ${input.slice(result.pos)}
|
|
|
13165
13278
|
function JSXElement(ctx, state) {
|
|
13166
13279
|
return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
|
|
13167
13280
|
}
|
|
13168
|
-
var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($
|
|
13281
|
+
var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L211, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
|
|
13169
13282
|
return { type: "JSXElement", children: $0, tag: $2 };
|
|
13170
13283
|
});
|
|
13171
13284
|
function JSXSelfClosingElement(ctx, state) {
|
|
@@ -13199,7 +13312,7 @@ ${input.slice(result.pos)}
|
|
|
13199
13312
|
function JSXOptionalClosingElement(ctx, state) {
|
|
13200
13313
|
return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
|
|
13201
13314
|
}
|
|
13202
|
-
var JSXClosingElement$0 = $S($EXPECT($
|
|
13315
|
+
var JSXClosingElement$0 = $S($EXPECT($L212, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L45, 'JSXClosingElement ">"'));
|
|
13203
13316
|
function JSXClosingElement(ctx, state) {
|
|
13204
13317
|
return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
|
|
13205
13318
|
}
|
|
@@ -13220,7 +13333,7 @@ ${input.slice(result.pos)}
|
|
|
13220
13333
|
];
|
|
13221
13334
|
return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
|
|
13222
13335
|
});
|
|
13223
|
-
var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($
|
|
13336
|
+
var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L213, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
13224
13337
|
var children = $3;
|
|
13225
13338
|
$0 = $0.slice(1);
|
|
13226
13339
|
return {
|
|
@@ -13233,7 +13346,7 @@ ${input.slice(result.pos)}
|
|
|
13233
13346
|
function JSXFragment(ctx, state) {
|
|
13234
13347
|
return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
|
|
13235
13348
|
}
|
|
13236
|
-
var PushJSXOpeningFragment$0 = $TV($EXPECT($
|
|
13349
|
+
var PushJSXOpeningFragment$0 = $TV($EXPECT($L213, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
|
|
13237
13350
|
module.JSXTagStack.push("");
|
|
13238
13351
|
return $1;
|
|
13239
13352
|
});
|
|
@@ -13250,7 +13363,7 @@ ${input.slice(result.pos)}
|
|
|
13250
13363
|
function JSXOptionalClosingFragment(ctx, state) {
|
|
13251
13364
|
return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
|
|
13252
13365
|
}
|
|
13253
|
-
var JSXClosingFragment$0 = $EXPECT($
|
|
13366
|
+
var JSXClosingFragment$0 = $EXPECT($L214, 'JSXClosingFragment "</>"');
|
|
13254
13367
|
function JSXClosingFragment(ctx, state) {
|
|
13255
13368
|
return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
|
|
13256
13369
|
}
|
|
@@ -13262,7 +13375,7 @@ ${input.slice(result.pos)}
|
|
|
13262
13375
|
function JSXElementName(ctx, state) {
|
|
13263
13376
|
return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
|
|
13264
13377
|
}
|
|
13265
|
-
var JSXIdentifierName$0 = $R$0($EXPECT($
|
|
13378
|
+
var JSXIdentifierName$0 = $R$0($EXPECT($R74, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
|
|
13266
13379
|
function JSXIdentifierName(ctx, state) {
|
|
13267
13380
|
return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
|
|
13268
13381
|
}
|
|
@@ -13441,7 +13554,7 @@ ${input.slice(result.pos)}
|
|
|
13441
13554
|
class: $2
|
|
13442
13555
|
};
|
|
13443
13556
|
});
|
|
13444
|
-
var JSXAttribute$7 = $TS($S($TEXT($EXPECT($
|
|
13557
|
+
var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R75, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
|
|
13445
13558
|
var toggle = $1;
|
|
13446
13559
|
var id = $2;
|
|
13447
13560
|
const value = toggle === "+" ? "true" : "false";
|
|
@@ -13451,11 +13564,11 @@ ${input.slice(result.pos)}
|
|
|
13451
13564
|
function JSXAttribute(ctx, state) {
|
|
13452
13565
|
return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
|
|
13453
13566
|
}
|
|
13454
|
-
var JSXAttributeSpace$0 = $R$0($EXPECT($
|
|
13567
|
+
var JSXAttributeSpace$0 = $R$0($EXPECT($R76, "JSXAttributeSpace /[\\s>]|\\/>/"));
|
|
13455
13568
|
function JSXAttributeSpace(ctx, state) {
|
|
13456
13569
|
return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
|
|
13457
13570
|
}
|
|
13458
|
-
var JSXShorthandString$0 = $TR($EXPECT($
|
|
13571
|
+
var JSXShorthandString$0 = $TR($EXPECT($R77, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13459
13572
|
return quoteString($0);
|
|
13460
13573
|
});
|
|
13461
13574
|
var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
|
|
@@ -13489,7 +13602,7 @@ ${input.slice(result.pos)}
|
|
|
13489
13602
|
}
|
|
13490
13603
|
return [open, value, close];
|
|
13491
13604
|
});
|
|
13492
|
-
var JSXAttributeValue$4 = $R$0($EXPECT($
|
|
13605
|
+
var JSXAttributeValue$4 = $R$0($EXPECT($R78, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
|
|
13493
13606
|
var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
|
|
13494
13607
|
function JSXAttributeValue(ctx, state) {
|
|
13495
13608
|
return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
|
|
@@ -13502,7 +13615,7 @@ ${input.slice(result.pos)}
|
|
|
13502
13615
|
function InlineJSXAttributeValue(ctx, state) {
|
|
13503
13616
|
return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
|
|
13504
13617
|
}
|
|
13505
|
-
var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($
|
|
13618
|
+
var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R79, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
|
|
13506
13619
|
var op = $2;
|
|
13507
13620
|
var rhs = $3;
|
|
13508
13621
|
return [[], op, [], rhs];
|
|
@@ -13519,7 +13632,7 @@ ${input.slice(result.pos)}
|
|
|
13519
13632
|
function InlineJSXUnaryExpression(ctx, state) {
|
|
13520
13633
|
return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
|
|
13521
13634
|
}
|
|
13522
|
-
var InlineJSXUnaryOp$0 = $TR($EXPECT($
|
|
13635
|
+
var InlineJSXUnaryOp$0 = $TR($EXPECT($R80, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13523
13636
|
return { $loc, token: $0 };
|
|
13524
13637
|
});
|
|
13525
13638
|
function InlineJSXUnaryOp(ctx, state) {
|
|
@@ -13729,19 +13842,19 @@ ${input.slice(result.pos)}
|
|
|
13729
13842
|
function JSXChild(ctx, state) {
|
|
13730
13843
|
return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
|
|
13731
13844
|
}
|
|
13732
|
-
var JSXComment$0 = $TS($S($EXPECT($
|
|
13845
|
+
var JSXComment$0 = $TS($S($EXPECT($L215, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L216, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
|
|
13733
13846
|
return ["{/*", $2, "*/}"];
|
|
13734
13847
|
});
|
|
13735
13848
|
function JSXComment(ctx, state) {
|
|
13736
13849
|
return $EVENT(ctx, state, "JSXComment", JSXComment$0);
|
|
13737
13850
|
}
|
|
13738
|
-
var JSXCommentContent$0 = $TR($EXPECT($
|
|
13851
|
+
var JSXCommentContent$0 = $TR($EXPECT($R81, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13739
13852
|
return { $loc, token: $0.replace(/\*\//g, "* /") };
|
|
13740
13853
|
});
|
|
13741
13854
|
function JSXCommentContent(ctx, state) {
|
|
13742
13855
|
return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
|
|
13743
13856
|
}
|
|
13744
|
-
var JSXText$0 = $TR($EXPECT($
|
|
13857
|
+
var JSXText$0 = $TR($EXPECT($R82, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13745
13858
|
return {
|
|
13746
13859
|
type: "JSXText",
|
|
13747
13860
|
token: $0,
|
|
@@ -13916,37 +14029,37 @@ ${input.slice(result.pos)}
|
|
|
13916
14029
|
function InterfaceExtendsTarget(ctx, state) {
|
|
13917
14030
|
return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
|
|
13918
14031
|
}
|
|
13919
|
-
var TypeKeyword$0 = $TS($S($EXPECT($
|
|
14032
|
+
var TypeKeyword$0 = $TS($S($EXPECT($L217, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13920
14033
|
return { $loc, token: $1 };
|
|
13921
14034
|
});
|
|
13922
14035
|
function TypeKeyword(ctx, state) {
|
|
13923
14036
|
return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
|
|
13924
14037
|
}
|
|
13925
|
-
var Enum$0 = $TS($S($EXPECT($
|
|
14038
|
+
var Enum$0 = $TS($S($EXPECT($L218, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13926
14039
|
return { $loc, token: $1 };
|
|
13927
14040
|
});
|
|
13928
14041
|
function Enum(ctx, state) {
|
|
13929
14042
|
return $EVENT(ctx, state, "Enum", Enum$0);
|
|
13930
14043
|
}
|
|
13931
|
-
var Interface$0 = $TS($S($EXPECT($
|
|
14044
|
+
var Interface$0 = $TS($S($EXPECT($L219, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13932
14045
|
return { $loc, token: $1 };
|
|
13933
14046
|
});
|
|
13934
14047
|
function Interface(ctx, state) {
|
|
13935
14048
|
return $EVENT(ctx, state, "Interface", Interface$0);
|
|
13936
14049
|
}
|
|
13937
|
-
var Global$0 = $TS($S($EXPECT($
|
|
14050
|
+
var Global$0 = $TS($S($EXPECT($L220, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13938
14051
|
return { $loc, token: $1 };
|
|
13939
14052
|
});
|
|
13940
14053
|
function Global(ctx, state) {
|
|
13941
14054
|
return $EVENT(ctx, state, "Global", Global$0);
|
|
13942
14055
|
}
|
|
13943
|
-
var Module$0 = $TS($S($EXPECT($
|
|
14056
|
+
var Module$0 = $TS($S($EXPECT($L221, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13944
14057
|
return { $loc, token: $1 };
|
|
13945
14058
|
});
|
|
13946
14059
|
function Module(ctx, state) {
|
|
13947
14060
|
return $EVENT(ctx, state, "Module", Module$0);
|
|
13948
14061
|
}
|
|
13949
|
-
var Namespace$0 = $TS($S($EXPECT($
|
|
14062
|
+
var Namespace$0 = $TS($S($EXPECT($L222, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13950
14063
|
return { $loc, token: $1 };
|
|
13951
14064
|
});
|
|
13952
14065
|
function Namespace(ctx, state) {
|
|
@@ -14162,7 +14275,7 @@ ${input.slice(result.pos)}
|
|
|
14162
14275
|
function TypeProperty(ctx, state) {
|
|
14163
14276
|
return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
|
|
14164
14277
|
}
|
|
14165
|
-
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($
|
|
14278
|
+
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R83, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R10, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
|
|
14166
14279
|
function TypeIndexSignature(ctx, state) {
|
|
14167
14280
|
return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
|
|
14168
14281
|
}
|
|
@@ -14222,7 +14335,7 @@ ${input.slice(result.pos)}
|
|
|
14222
14335
|
function ReturnTypeSuffix(ctx, state) {
|
|
14223
14336
|
return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
|
|
14224
14337
|
}
|
|
14225
|
-
var ReturnType$0 = $TS($S($E($S(__, $EXPECT($
|
|
14338
|
+
var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L223, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
|
|
14226
14339
|
var asserts = $1;
|
|
14227
14340
|
var t = $2;
|
|
14228
14341
|
if (asserts) {
|
|
@@ -14301,7 +14414,7 @@ ${input.slice(result.pos)}
|
|
|
14301
14414
|
function TypeUnarySuffix(ctx, state) {
|
|
14302
14415
|
return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
|
|
14303
14416
|
}
|
|
14304
|
-
var TypeUnaryOp$0 = $S($EXPECT($
|
|
14417
|
+
var TypeUnaryOp$0 = $S($EXPECT($L224, 'TypeUnaryOp "keyof"'), NonIdContinue);
|
|
14305
14418
|
var TypeUnaryOp$1 = $S($EXPECT($L184, 'TypeUnaryOp "readonly"'), NonIdContinue);
|
|
14306
14419
|
var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
|
|
14307
14420
|
function TypeUnaryOp(ctx, state) {
|
|
@@ -14332,7 +14445,7 @@ ${input.slice(result.pos)}
|
|
|
14332
14445
|
function TypeIndexedAccess(ctx, state) {
|
|
14333
14446
|
return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
|
|
14334
14447
|
}
|
|
14335
|
-
var UnknownAlias$0 = $TV($EXPECT($
|
|
14448
|
+
var UnknownAlias$0 = $TV($EXPECT($L225, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
|
|
14336
14449
|
return { $loc, token: "unknown" };
|
|
14337
14450
|
});
|
|
14338
14451
|
function UnknownAlias(ctx, state) {
|
|
@@ -14458,7 +14571,7 @@ ${input.slice(result.pos)}
|
|
|
14458
14571
|
function NestedType(ctx, state) {
|
|
14459
14572
|
return $EVENT(ctx, state, "NestedType", NestedType$0);
|
|
14460
14573
|
}
|
|
14461
|
-
var TypeConditional$0 = $TS($S($E(_), $EXPECT($
|
|
14574
|
+
var TypeConditional$0 = $TS($S($E(_), $EXPECT($R84, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
|
|
14462
14575
|
return [$1, expressionizeTypeIf($3)];
|
|
14463
14576
|
});
|
|
14464
14577
|
var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
@@ -14538,17 +14651,17 @@ ${input.slice(result.pos)}
|
|
|
14538
14651
|
}
|
|
14539
14652
|
var TypeLiteral$0 = TypeTemplateLiteral;
|
|
14540
14653
|
var TypeLiteral$1 = Literal;
|
|
14541
|
-
var TypeLiteral$2 = $TS($S($EXPECT($
|
|
14654
|
+
var TypeLiteral$2 = $TS($S($EXPECT($R10, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
|
|
14542
14655
|
var sign = $1;
|
|
14543
14656
|
var num = $2;
|
|
14544
14657
|
if (sign[0] === "+")
|
|
14545
14658
|
return num;
|
|
14546
14659
|
return $0;
|
|
14547
14660
|
});
|
|
14548
|
-
var TypeLiteral$3 = $TS($S($EXPECT($
|
|
14661
|
+
var TypeLiteral$3 = $TS($S($EXPECT($L207, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
14549
14662
|
return { type: "VoidType", $loc, token: $1 };
|
|
14550
14663
|
});
|
|
14551
|
-
var TypeLiteral$4 = $TV($EXPECT($
|
|
14664
|
+
var TypeLiteral$4 = $TV($EXPECT($L226, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
|
|
14552
14665
|
return { $loc, token: "[]" };
|
|
14553
14666
|
});
|
|
14554
14667
|
var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3, TypeLiteral$4];
|
|
@@ -14658,15 +14771,15 @@ ${input.slice(result.pos)}
|
|
|
14658
14771
|
function ThisType(ctx, state) {
|
|
14659
14772
|
return $EVENT(ctx, state, "ThisType", ThisType$0);
|
|
14660
14773
|
}
|
|
14661
|
-
var Shebang$0 = $S($R$0($EXPECT($
|
|
14774
|
+
var Shebang$0 = $S($R$0($EXPECT($R85, "Shebang /#![^\\r\\n]*/")), EOL);
|
|
14662
14775
|
function Shebang(ctx, state) {
|
|
14663
14776
|
return $EVENT(ctx, state, "Shebang", Shebang$0);
|
|
14664
14777
|
}
|
|
14665
|
-
var CivetPrologue$0 = $T($S($EXPECT($
|
|
14778
|
+
var CivetPrologue$0 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
|
|
14666
14779
|
var content = value[2];
|
|
14667
14780
|
return content;
|
|
14668
14781
|
});
|
|
14669
|
-
var CivetPrologue$1 = $T($S($EXPECT($
|
|
14782
|
+
var CivetPrologue$1 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
|
|
14670
14783
|
var content = value[2];
|
|
14671
14784
|
return content;
|
|
14672
14785
|
});
|
|
@@ -14674,7 +14787,7 @@ ${input.slice(result.pos)}
|
|
|
14674
14787
|
function CivetPrologue(ctx, state) {
|
|
14675
14788
|
return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
|
|
14676
14789
|
}
|
|
14677
|
-
var CivetPrologueContent$0 = $TS($S($EXPECT($
|
|
14790
|
+
var CivetPrologueContent$0 = $TS($S($EXPECT($L227, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R88, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
14678
14791
|
var options = $3;
|
|
14679
14792
|
return {
|
|
14680
14793
|
type: "CivetPrologue",
|
|
@@ -14685,7 +14798,7 @@ ${input.slice(result.pos)}
|
|
|
14685
14798
|
function CivetPrologueContent(ctx, state) {
|
|
14686
14799
|
return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
|
|
14687
14800
|
}
|
|
14688
|
-
var CivetOption$0 = $TR($EXPECT($
|
|
14801
|
+
var CivetOption$0 = $TR($EXPECT($R89, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14689
14802
|
const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
|
|
14690
14803
|
if (l)
|
|
14691
14804
|
return l.toUpperCase();
|
|
@@ -14702,11 +14815,11 @@ ${input.slice(result.pos)}
|
|
|
14702
14815
|
function CivetOption(ctx, state) {
|
|
14703
14816
|
return $EVENT(ctx, state, "CivetOption", CivetOption$0);
|
|
14704
14817
|
}
|
|
14705
|
-
var UnknownPrologue$0 = $S($R$0($EXPECT($
|
|
14818
|
+
var UnknownPrologue$0 = $S($R$0($EXPECT($R86, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
|
|
14706
14819
|
function UnknownPrologue(ctx, state) {
|
|
14707
14820
|
return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
|
|
14708
14821
|
}
|
|
14709
|
-
var TripleSlashDirective$0 = $S($R$0($EXPECT($
|
|
14822
|
+
var TripleSlashDirective$0 = $S($R$0($EXPECT($R90, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
|
|
14710
14823
|
function TripleSlashDirective(ctx, state) {
|
|
14711
14824
|
return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
|
|
14712
14825
|
}
|
|
@@ -14722,13 +14835,13 @@ ${input.slice(result.pos)}
|
|
|
14722
14835
|
function PrologueString(ctx, state) {
|
|
14723
14836
|
return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
|
|
14724
14837
|
}
|
|
14725
|
-
var EOS$0 = $T($S($EXPECT($
|
|
14838
|
+
var EOS$0 = $T($S($EXPECT($R91, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
|
|
14726
14839
|
return value[1];
|
|
14727
14840
|
});
|
|
14728
14841
|
function EOS(ctx, state) {
|
|
14729
14842
|
return $EVENT(ctx, state, "EOS", EOS$0);
|
|
14730
14843
|
}
|
|
14731
|
-
var EOL$0 = $TR($EXPECT($
|
|
14844
|
+
var EOL$0 = $TR($EXPECT($R92, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14732
14845
|
return { $loc, token: $0 };
|
|
14733
14846
|
});
|
|
14734
14847
|
function EOL(ctx, state) {
|
|
@@ -15300,11 +15413,11 @@ ${input.slice(result.pos)}
|
|
|
15300
15413
|
function Prologue(ctx, state) {
|
|
15301
15414
|
return $EVENT(ctx, state, "Prologue", Prologue$0);
|
|
15302
15415
|
}
|
|
15303
|
-
var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($
|
|
15416
|
+
var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($R93, "ProloguePrefix /[^]*/")));
|
|
15304
15417
|
function ProloguePrefix(ctx, state) {
|
|
15305
15418
|
return $EVENT(ctx, state, "ProloguePrefix", ProloguePrefix$0);
|
|
15306
15419
|
}
|
|
15307
|
-
var Indent$0 = $TR($EXPECT($
|
|
15420
|
+
var Indent$0 = $TR($EXPECT($R87, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15308
15421
|
const level = getIndentLevel($0, module.config.tab);
|
|
15309
15422
|
return {
|
|
15310
15423
|
$loc,
|
|
@@ -15452,11 +15565,11 @@ ${input.slice(result.pos)}
|
|
|
15452
15565
|
exports.WRHS = WRHS;
|
|
15453
15566
|
exports.SingleLineBinaryOpRHS = SingleLineBinaryOpRHS;
|
|
15454
15567
|
exports.RHS = RHS;
|
|
15455
|
-
exports.ParenthesizedAssignment = ParenthesizedAssignment;
|
|
15456
15568
|
exports.UnaryExpression = UnaryExpression;
|
|
15457
15569
|
exports.UnaryWithoutParenthesizedAssignment = UnaryWithoutParenthesizedAssignment;
|
|
15458
15570
|
exports.UnaryBody = UnaryBody;
|
|
15459
15571
|
exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
|
|
15572
|
+
exports.ParenthesizedAssignment = ParenthesizedAssignment;
|
|
15460
15573
|
exports.UnaryPostfix = UnaryPostfix;
|
|
15461
15574
|
exports.TypePostfix = TypePostfix;
|
|
15462
15575
|
exports.Tuple = Tuple;
|
|
@@ -15484,6 +15597,7 @@ ${input.slice(result.pos)}
|
|
|
15484
15597
|
exports.PipelineTailItem = PipelineTailItem;
|
|
15485
15598
|
exports.PrimaryExpression = PrimaryExpression;
|
|
15486
15599
|
exports.ParenthesizedExpression = ParenthesizedExpression;
|
|
15600
|
+
exports.PartialPlaceholder = PartialPlaceholder;
|
|
15487
15601
|
exports.ClassDeclaration = ClassDeclaration;
|
|
15488
15602
|
exports.ClassExpression = ClassExpression;
|
|
15489
15603
|
exports.ClassBinding = ClassBinding;
|
|
@@ -15944,6 +16058,7 @@ ${input.slice(result.pos)}
|
|
|
15944
16058
|
exports.TripleTick = TripleTick;
|
|
15945
16059
|
exports.Try = Try;
|
|
15946
16060
|
exports.Typeof = Typeof;
|
|
16061
|
+
exports.Undefined = Undefined;
|
|
15947
16062
|
exports.Unless = Unless;
|
|
15948
16063
|
exports.Until = Until;
|
|
15949
16064
|
exports.Using = Using;
|
|
@@ -16160,6 +16275,13 @@ ${input.slice(result.pos)}
|
|
|
16160
16275
|
var import_parser = __toESM(require_parser());
|
|
16161
16276
|
|
|
16162
16277
|
// source/generate.civet
|
|
16278
|
+
function stringify(node) {
|
|
16279
|
+
try {
|
|
16280
|
+
return JSON.stringify(node);
|
|
16281
|
+
} catch (e) {
|
|
16282
|
+
return `${node}`;
|
|
16283
|
+
}
|
|
16284
|
+
}
|
|
16163
16285
|
function gen(node, options) {
|
|
16164
16286
|
if (node === null || node === void 0) {
|
|
16165
16287
|
return "";
|
|
@@ -16193,16 +16315,16 @@ ${input.slice(result.pos)}
|
|
|
16193
16315
|
if (!node.children) {
|
|
16194
16316
|
switch (node.type) {
|
|
16195
16317
|
case "Ref": {
|
|
16196
|
-
throw new Error(`Unpopulated ref ${
|
|
16318
|
+
throw new Error(`Unpopulated ref ${stringify(node)}`);
|
|
16197
16319
|
}
|
|
16198
16320
|
}
|
|
16199
16321
|
debugger;
|
|
16200
|
-
throw new Error(`Unknown node ${
|
|
16322
|
+
throw new Error(`Unknown node ${stringify(node)}`);
|
|
16201
16323
|
}
|
|
16202
16324
|
return gen(node.children, options);
|
|
16203
16325
|
}
|
|
16204
16326
|
debugger;
|
|
16205
|
-
throw new Error(`Unknown node ${
|
|
16327
|
+
throw new Error(`Unknown node ${stringify(node)}`);
|
|
16206
16328
|
}
|
|
16207
16329
|
var generate_default = gen;
|
|
16208
16330
|
function prune(node) {
|