@danielx/civet 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -70,7 +70,7 @@ var Civet = (() => {
70
70
  $N: () => $N2,
71
71
  $P: () => $P2,
72
72
  $Q: () => $Q2,
73
- $R: () => $R103,
73
+ $R: () => $R104,
74
74
  $R$0: () => $R$02,
75
75
  $S: () => $S2,
76
76
  $T: () => $T2,
@@ -107,7 +107,7 @@ var Civet = (() => {
107
107
  return;
108
108
  };
109
109
  }
110
- function $R103(regExp) {
110
+ function $R104(regExp) {
111
111
  return function(_ctx, state2) {
112
112
  const { input, pos } = state2;
113
113
  regExp.lastIndex = state2.pos;
@@ -1621,10 +1621,7 @@ ${body}`;
1621
1621
  return;
1622
1622
  }
1623
1623
  if (Array.isArray(expression)) {
1624
- const nonempty = ((s, e) => {
1625
- let step = e > s ? 1 : -1;
1626
- return Array.from({ length: Math.abs(e - s) }, (_2, i) => s + i * step);
1627
- })(0, expression.length).filter((i) => !isWhitespaceOrEmpty(expression[i]));
1624
+ const nonempty = ((s) => Array.from({ length: expression.length - s }, (_2, i) => s + i))(0).filter((i) => !isWhitespaceOrEmpty(expression[i]));
1628
1625
  if (nonempty.length === 1) {
1629
1626
  let ref1;
1630
1627
  if (ref1 = needsRef(expression[nonempty[0]], base)) {
@@ -2951,7 +2948,7 @@ ${js}`
2951
2948
  return;
2952
2949
  }
2953
2950
  case "BlockStatement": {
2954
- if (node.expressions.some(isExit)) {
2951
+ if (exp.expressions.some(isExit)) {
2955
2952
  return;
2956
2953
  }
2957
2954
  assignResults(exp.expressions[exp.expressions.length - 1], collect);
@@ -2987,6 +2984,15 @@ ${js}`
2987
2984
  }
2988
2985
  return;
2989
2986
  }
2987
+ case "PipelineExpression": {
2988
+ const semi2 = exp.children.lastIndexOf(";");
2989
+ if (0 <= semi2 && semi2 < exp.children.length - 1) {
2990
+ exp.children.splice(semi2 + 1, 1 / 0, ...[collect(exp.children.slice(semi2 + 1))]);
2991
+ return;
2992
+ }
2993
+ ;
2994
+ break;
2995
+ }
2990
2996
  }
2991
2997
  if (node[node.length - 1]?.type === "SemicolonDelimiter") {
2992
2998
  return;
@@ -3144,6 +3150,15 @@ ${js}`
3144
3150
  }
3145
3151
  return;
3146
3152
  }
3153
+ case "PipelineExpression": {
3154
+ const semi2 = exp.children.lastIndexOf(";");
3155
+ if (0 <= semi2 && semi2 < exp.children.length - 1) {
3156
+ exp.children.splice(semi2 + 1, 1 / 0, ...[wrapWithReturn(exp.children.slice(semi2 + 1))]);
3157
+ return;
3158
+ }
3159
+ ;
3160
+ break;
3161
+ }
3147
3162
  }
3148
3163
  if (node[node.length - 1]?.type === "SemicolonDelimiter") {
3149
3164
  return;
@@ -3156,17 +3171,6 @@ ${js}`
3156
3171
  statement.block,
3157
3172
  ($3) => $3.type === "BreakStatement" || $3.type === "ContinueStatement"
3158
3173
  )) {
3159
- let controlName2 = function() {
3160
- switch (control.type) {
3161
- case "BreakStatement": {
3162
- return "break";
3163
- }
3164
- case "ContinueStatement": {
3165
- return "continue";
3166
- }
3167
- }
3168
- };
3169
- var controlName = controlName2;
3170
3174
  if (control.with) {
3171
3175
  if (control.label) {
3172
3176
  let m2;
@@ -3195,7 +3199,7 @@ ${js}`
3195
3199
  }
3196
3200
  const block = control.parent;
3197
3201
  if (!(block?.type === "BlockStatement")) {
3198
- throw new Error(`Expected parent of ${controlName2()} to be BlockStatement`);
3202
+ throw new Error(`Expected parent of ${control.type.toLowerCase().replace("statement", "")} to be BlockStatement`);
3199
3203
  }
3200
3204
  braceBlock(block);
3201
3205
  }
@@ -5516,8 +5520,10 @@ ${js}`
5516
5520
  gatherRecursiveAll(statements, (n) => n.type === "PipelineExpression").forEach((s) => {
5517
5521
  const [ws, , body] = s.children;
5518
5522
  let [, arg] = s.children;
5519
- let i = 0, l = body.length;
5523
+ let i = 0;
5524
+ const l = body.length;
5520
5525
  const children = [ws];
5526
+ const comma = blockContainingStatement(s) ? ";" : ",";
5521
5527
  let usingRef = null;
5522
5528
  for (let i1 = 0, len3 = body.length; i1 < len3; i1++) {
5523
5529
  const i2 = i1;
@@ -5541,7 +5547,7 @@ ${js}`
5541
5547
  usingRef = makeRef();
5542
5548
  initRef = {
5543
5549
  type: "AssignmentExpression",
5544
- children: [usingRef, " = ", arg, ","]
5550
+ children: [usingRef, " = ", arg, comma]
5545
5551
  };
5546
5552
  arg = {
5547
5553
  type: "MemberExpression",
@@ -5617,7 +5623,7 @@ ${js}`
5617
5623
  }
5618
5624
  if (returning) {
5619
5625
  arg = returning;
5620
- children.push(result, ",");
5626
+ children.push(result, comma);
5621
5627
  } else {
5622
5628
  arg = result;
5623
5629
  }
@@ -5820,7 +5826,8 @@ ${js}`
5820
5826
  }
5821
5827
  if (start?.type === "Literal" && "Literal" === end?.type) {
5822
5828
  asc = literalValue(start) <= literalValue(end);
5823
- if ("StringLiteral" === start.subtype && start.subtype === end.subtype) {
5829
+ let ref4;
5830
+ if ("StringLiteral" === (ref4 = start.subtype) && ref4 === end.subtype) {
5824
5831
  const startChar = literalValue(start).charCodeAt(0).toString();
5825
5832
  startRef = {
5826
5833
  type: "Literal",
@@ -5876,8 +5883,8 @@ ${js}`
5876
5883
  }
5877
5884
  function processForInOf($0) {
5878
5885
  let [awaits, eachOwn, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
5879
- for (let ref4 = [declaration, declaration2?.[declaration2.length - 1]], i1 = 0, len3 = ref4.length; i1 < len3; i1++) {
5880
- const decl = ref4[i1];
5886
+ for (let ref5 = [declaration, declaration2?.[declaration2.length - 1]], i1 = 0, len3 = ref5.length; i1 < len3; i1++) {
5887
+ const decl = ref5[i1];
5881
5888
  if (!(decl != null)) {
5882
5889
  continue;
5883
5890
  }
@@ -7276,8 +7283,7 @@ ${js}`
7276
7283
  block = void 0;
7277
7284
  }
7278
7285
  }
7279
- let ref14;
7280
- if ($1.some(($8) => (ref14 = $8)[ref14.length - 1].special)) {
7286
+ if ($1.some(($8) => $8[$8.length - 1].special)) {
7281
7287
  if ($1.length !== 1)
7282
7288
  throw new Error("Only one assignment with id= is allowed");
7283
7289
  const [, lhs, , op] = $1[0];
@@ -7455,9 +7461,9 @@ ${js}`
7455
7461
  }
7456
7462
  j++;
7457
7463
  }
7458
- let ref15;
7459
- if (ref15 = conditions.length) {
7460
- const l = ref15;
7464
+ let ref14;
7465
+ if (ref14 = conditions.length) {
7466
+ const l = ref14;
7461
7467
  const cs = flatJoin(conditions, " && ");
7462
7468
  return {
7463
7469
  ...exp,
@@ -7493,8 +7499,8 @@ ${js}`
7493
7499
  }
7494
7500
  function processTypes(node) {
7495
7501
  const results1 = [];
7496
- for (let ref16 = gatherRecursiveAll(node, ($11) => $11.type === "TypeUnary"), i8 = 0, len6 = ref16.length; i8 < len6; i8++) {
7497
- const unary = ref16[i8];
7502
+ for (let ref15 = gatherRecursiveAll(node, ($11) => $11.type === "TypeUnary"), i8 = 0, len6 = ref15.length; i8 < len6; i8++) {
7503
+ const unary = ref15[i8];
7498
7504
  let suffixIndex = unary.suffix.length - 1;
7499
7505
  const results2 = [];
7500
7506
  while (suffixIndex >= 0) {
@@ -7573,12 +7579,12 @@ ${js}`
7573
7579
  const outer = unary.suffix.splice(suffixIndex + 1, Infinity);
7574
7580
  const space = getTrimmingSpace(unary);
7575
7581
  inplaceInsertTrimmingSpace(unary, "");
7576
- let ref17;
7582
+ let ref16;
7577
7583
  if (unary.suffix.length)
7578
- ref17 = unary;
7584
+ ref16 = unary;
7579
7585
  else
7580
- ref17 = unary.t;
7581
- const t = ref17;
7586
+ ref16 = unary.t;
7587
+ const t = ref16;
7582
7588
  const arg = makeNode({
7583
7589
  type: "TypeArgument",
7584
7590
  ts: true,
@@ -7623,18 +7629,18 @@ ${js}`
7623
7629
  return results1;
7624
7630
  }
7625
7631
  function processStatementExpressions(statements) {
7626
- for (let ref18 = gatherRecursiveAll(statements, ($12) => $12.type === "StatementExpression"), i9 = 0, len7 = ref18.length; i9 < len7; i9++) {
7627
- const exp = ref18[i9];
7632
+ for (let ref17 = gatherRecursiveAll(statements, ($12) => $12.type === "StatementExpression"), i9 = 0, len7 = ref17.length; i9 < len7; i9++) {
7633
+ const exp = ref17[i9];
7628
7634
  const { maybe, statement } = exp;
7629
7635
  if ((maybe || statement.type === "ThrowStatement") && blockContainingStatement(exp)) {
7630
7636
  replaceNode(exp, statement);
7631
7637
  continue;
7632
7638
  }
7633
- let ref19;
7639
+ let ref18;
7634
7640
  switch (statement.type) {
7635
7641
  case "IfStatement": {
7636
- if (ref19 = expressionizeIfStatement(statement)) {
7637
- const expression = ref19;
7642
+ if (ref18 = expressionizeIfStatement(statement)) {
7643
+ const expression = ref18;
7638
7644
  replaceNode(statement, expression, exp);
7639
7645
  } else {
7640
7646
  replaceNode(statement, wrapIIFE([["", statement]]), exp);
@@ -7692,13 +7698,13 @@ ${js}`
7692
7698
  });
7693
7699
  }
7694
7700
  function processFinallyClauses(statements) {
7695
- for (let ref20 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len8 = ref20.length; i10 < len8; i10++) {
7696
- let f = ref20[i10];
7697
- let ref21;
7698
- if (!((ref21 = blockContainingStatement(f)) && typeof ref21 === "object" && "block" in ref21 && "index" in ref21)) {
7701
+ for (let ref19 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len8 = ref19.length; i10 < len8; i10++) {
7702
+ let f = ref19[i10];
7703
+ let ref20;
7704
+ if (!((ref20 = blockContainingStatement(f)) && typeof ref20 === "object" && "block" in ref20 && "index" in ref20)) {
7699
7705
  throw new Error("finally clause must be inside try statement or block");
7700
7706
  }
7701
- const { block, index } = ref21;
7707
+ const { block, index } = ref20;
7702
7708
  const indent = block.expressions[index][0];
7703
7709
  const expressions = block.expressions.slice(index + 1);
7704
7710
  const t = makeNode({
@@ -7721,6 +7727,54 @@ ${js}`
7721
7727
  block.expressions.splice(index, 1 / 0, ...[tuple]);
7722
7728
  }
7723
7729
  }
7730
+ function processBreaksContinues(statements) {
7731
+ for (const control of gatherRecursive(
7732
+ statements,
7733
+ ($) => Boolean(
7734
+ ($.type === "BreakStatement" || $.type === "ContinueStatement") && $.label?.special
7735
+ )
7736
+ )) {
7737
+ const label = control.label;
7738
+ const special = label.special;
7739
+ const { ancestor } = findAncestor(
7740
+ control,
7741
+ ($) => {
7742
+ return special === "for" ? $.type === "ForStatement" : $.type === "IterationStatement" && $.subtype.startsWith(special);
7743
+ },
7744
+ // in particular, special = "do" matches "do-while" and "do-until"
7745
+ isFunction
7746
+ );
7747
+ if (!(ancestor != null)) {
7748
+ control.children.push({
7749
+ type: "Error",
7750
+ message: `No matching '${special}' iteration found above '${control.type.toLowerCase().replace("statement", "")} ${special}'`
7751
+ });
7752
+ continue;
7753
+ }
7754
+ let { parent } = ancestor;
7755
+ if (!(parent?.type === "LabelledStatement")) {
7756
+ const ref = makeRef(`_${special.replace("-", "_")}`);
7757
+ const label2 = makeNode({
7758
+ type: "Label",
7759
+ name: ref,
7760
+ children: [ref, ":"]
7761
+ });
7762
+ replaceNode(
7763
+ ancestor,
7764
+ makeNode({
7765
+ type: "LabelledStatement",
7766
+ label: label2,
7767
+ statement: ancestor,
7768
+ children: [label2, " ", ancestor]
7769
+ }),
7770
+ parent
7771
+ );
7772
+ parent = ancestor.parent;
7773
+ }
7774
+ label.children.push(label.name = parent.label.name);
7775
+ delete label.special;
7776
+ }
7777
+ }
7724
7778
  function processProgram(root) {
7725
7779
  const state2 = getState();
7726
7780
  const config2 = getConfig();
@@ -7751,6 +7805,7 @@ ${js}`
7751
7805
  processPatternMatching(statements);
7752
7806
  processIterationExpressions(statements);
7753
7807
  processFinallyClauses(statements);
7808
+ processBreaksContinues(statements);
7754
7809
  hoistRefDecs(statements);
7755
7810
  processFunctions(statements, config2);
7756
7811
  statements.unshift(...state2.prelude);
@@ -7778,8 +7833,8 @@ ${js}`
7778
7833
  function processRepl(root, rootIIFE) {
7779
7834
  const topBlock = gatherRecursive(rootIIFE, ($14) => $14.type === "BlockStatement")[0];
7780
7835
  let i = 0;
7781
- for (let ref22 = gatherRecursiveWithinFunction(topBlock, ($15) => $15.type === "Declaration"), i11 = 0, len9 = ref22.length; i11 < len9; i11++) {
7782
- const decl = ref22[i11];
7836
+ for (let ref21 = gatherRecursiveWithinFunction(topBlock, ($15) => $15.type === "Declaration"), i11 = 0, len9 = ref21.length; i11 < len9; i11++) {
7837
+ const decl = ref21[i11];
7783
7838
  if (!decl.names?.length) {
7784
7839
  continue;
7785
7840
  }
@@ -7792,8 +7847,8 @@ ${js}`
7792
7847
  root.expressions.splice(i++, 0, ["", `var ${decl.names.join(",")}`, ";"]);
7793
7848
  }
7794
7849
  }
7795
- for (let ref23 = gatherRecursive(topBlock, ($16) => $16.type === "FunctionExpression"), i12 = 0, len10 = ref23.length; i12 < len10; i12++) {
7796
- const func = ref23[i12];
7850
+ for (let ref22 = gatherRecursive(topBlock, ($16) => $16.type === "FunctionExpression"), i12 = 0, len10 = ref22.length; i12 < len10; i12++) {
7851
+ const func = ref22[i12];
7797
7852
  if (func.name && func.parent?.type === "BlockStatement") {
7798
7853
  if (func.parent === topBlock) {
7799
7854
  replaceNode(func, void 0);
@@ -7805,8 +7860,8 @@ ${js}`
7805
7860
  }
7806
7861
  }
7807
7862
  }
7808
- for (let ref24 = gatherRecursiveWithinFunction(topBlock, ($17) => $17.type === "ClassExpression"), i13 = 0, len11 = ref24.length; i13 < len11; i13++) {
7809
- const classExp = ref24[i13];
7863
+ for (let ref23 = gatherRecursiveWithinFunction(topBlock, ($17) => $17.type === "ClassExpression"), i13 = 0, len11 = ref23.length; i13 < len11; i13++) {
7864
+ const classExp = ref23[i13];
7810
7865
  let m8;
7811
7866
  if (classExp.name && classExp.parent === topBlock || (m8 = classExp.parent, typeof m8 === "object" && m8 != null && "type" in m8 && m8.type === "ReturnStatement" && "parent" in m8 && m8.parent === topBlock)) {
7812
7867
  classExp.children.unshift(classExp.name, "=");
@@ -7838,8 +7893,8 @@ ${js}`
7838
7893
  function processPlaceholders(statements) {
7839
7894
  const placeholderMap = /* @__PURE__ */ new Map();
7840
7895
  const liftedIfs = /* @__PURE__ */ new Set();
7841
- for (let ref25 = gatherRecursiveAll(statements, ($19) => $19.type === "Placeholder"), i14 = 0, len12 = ref25.length; i14 < len12; i14++) {
7842
- const exp = ref25[i14];
7896
+ for (let ref24 = gatherRecursiveAll(statements, ($19) => $19.type === "Placeholder"), i14 = 0, len12 = ref24.length; i14 < len12; i14++) {
7897
+ const exp = ref24[i14];
7843
7898
  let ancestor;
7844
7899
  if (exp.subtype === ".") {
7845
7900
  ({ ancestor } = findAncestor(
@@ -7951,8 +8006,8 @@ ${js}`
7951
8006
  for (let i15 = 0, len13 = placeholders.length; i15 < len13; i15++) {
7952
8007
  const placeholder = placeholders[i15];
7953
8008
  typeSuffix ??= placeholder.typeSuffix;
7954
- let ref26;
7955
- (ref26 = placeholder.children)[ref26.length - 1] = ref;
8009
+ let ref25;
8010
+ (ref25 = placeholder.children)[ref25.length - 1] = ref;
7956
8011
  }
7957
8012
  const { parent } = ancestor;
7958
8013
  const body = maybeUnwrap(ancestor);
@@ -7973,16 +8028,16 @@ ${js}`
7973
8028
  }
7974
8029
  case "PipelineExpression": {
7975
8030
  const i = findChildIndex(parent, ancestor);
7976
- let ref27;
8031
+ let ref26;
7977
8032
  if (i === 1) {
7978
- ref27 = ancestor === parent.children[i];
8033
+ ref26 = ancestor === parent.children[i];
7979
8034
  } else if (i === 2) {
7980
- ref27 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3];
8035
+ ref26 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3];
7981
8036
  } else {
7982
- ref27 = void 0;
8037
+ ref26 = void 0;
7983
8038
  }
7984
8039
  ;
7985
- outer = ref27;
8040
+ outer = ref26;
7986
8041
  break;
7987
8042
  }
7988
8043
  case "AssignmentExpression":
@@ -7997,9 +8052,9 @@ ${js}`
7997
8052
  fnExp = makeLeftHandSideExpression(fnExp);
7998
8053
  }
7999
8054
  replaceNode(ancestor, fnExp, parent);
8000
- let ref28;
8001
- if (ref28 = getTrimmingSpace(body)) {
8002
- const ws = ref28;
8055
+ let ref27;
8056
+ if (ref27 = getTrimmingSpace(body)) {
8057
+ const ws = ref27;
8003
8058
  inplaceInsertTrimmingSpace(body, "");
8004
8059
  inplacePrepend(ws, fnExp);
8005
8060
  }
@@ -8044,8 +8099,8 @@ ${js}`
8044
8099
  }
8045
8100
  ];
8046
8101
  }
8047
- let ref29;
8048
- if (Array.isArray(rest.delim) && (ref29 = rest.delim)[ref29.length - 1]?.token === ",") {
8102
+ let ref28;
8103
+ if (Array.isArray(rest.delim) && (ref28 = rest.delim)[ref28.length - 1]?.token === ",") {
8049
8104
  rest.delim = rest.delim.slice(0, -1);
8050
8105
  rest.children = [...rest.children.slice(0, -1), rest.delim];
8051
8106
  }
@@ -9235,77 +9290,78 @@ ${js}`
9235
9290
  var $R29 = (0, import_lib2.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
9236
9291
  var $R30 = (0, import_lib2.$R)(new RegExp("[:.]", "suy"));
9237
9292
  var $R31 = (0, import_lib2.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
9238
- var $R32 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
9239
- var $R33 = (0, import_lib2.$R)(new RegExp('[^;"\\s=>]+', "suy"));
9240
- var $R34 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy"));
9241
- var $R35 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
9242
- var $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
9243
- var $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
9244
- var $R38 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
9245
- var $R39 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
9246
- var $R40 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
9247
- var $R41 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
9248
- var $R42 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
9249
- var $R43 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy"));
9250
- var $R44 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
9251
- var $R45 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
9252
- var $R46 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
9253
- var $R47 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
9254
- var $R48 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
9255
- var $R49 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
9256
- var $R50 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
9257
- var $R51 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
9258
- var $R52 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy"));
9259
- var $R53 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy"));
9260
- var $R54 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
9261
- var $R55 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]", "suy"));
9262
- var $R56 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
9263
- var $R57 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
9264
- var $R58 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
9265
- var $R59 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy"));
9266
- var $R60 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
9267
- var $R61 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
9268
- var $R62 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
9269
- var $R63 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
9270
- var $R64 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
9271
- var $R65 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
9272
- var $R66 = (0, import_lib2.$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"));
9273
- var $R67 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy"));
9274
- var $R68 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
9275
- var $R69 = (0, import_lib2.$R)(new RegExp(".", "suy"));
9276
- var $R70 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
9277
- var $R71 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy"));
9278
- var $R72 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy"));
9279
- var $R73 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
9280
- var $R74 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
9281
- var $R75 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
9282
- var $R76 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
9283
- var $R77 = (0, import_lib2.$R)(new RegExp("[=:]", "suy"));
9284
- var $R78 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy"));
9285
- var $R79 = (0, import_lib2.$R)(new RegExp("\\s", "suy"));
9286
- var $R80 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy"));
9287
- var $R81 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
9288
- var $R82 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy"));
9289
- var $R83 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy"));
9290
- var $R84 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
9291
- var $R85 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
9292
- var $R86 = (0, import_lib2.$R)(new RegExp("[<>]", "suy"));
9293
- var $R87 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
9294
- var $R88 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
9295
- var $R89 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
9296
- var $R90 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy"));
9297
- var $R91 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy"));
9298
- var $R92 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
9299
- var $R93 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
9300
- var $R94 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy"));
9301
- var $R95 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy"));
9302
- var $R96 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy"));
9303
- var $R97 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy"));
9304
- var $R98 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
9305
- var $R99 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
9306
- var $R100 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
9307
- var $R101 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
9308
- var $R102 = (0, import_lib2.$R)(new RegExp("[^]*", "suy"));
9293
+ var $R32 = (0, import_lib2.$R)(new RegExp("(?:loop|while|until|for|do)(?!\\p{ID_Continue})", "suy"));
9294
+ var $R33 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
9295
+ var $R34 = (0, import_lib2.$R)(new RegExp('[^;"\\s=>]+', "suy"));
9296
+ var $R35 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy"));
9297
+ var $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
9298
+ var $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
9299
+ var $R38 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
9300
+ var $R39 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
9301
+ var $R40 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
9302
+ var $R41 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
9303
+ var $R42 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
9304
+ var $R43 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
9305
+ var $R44 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy"));
9306
+ var $R45 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
9307
+ var $R46 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
9308
+ var $R47 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
9309
+ var $R48 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
9310
+ var $R49 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
9311
+ var $R50 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
9312
+ var $R51 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
9313
+ var $R52 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
9314
+ var $R53 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy"));
9315
+ var $R54 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy"));
9316
+ var $R55 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
9317
+ var $R56 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]", "suy"));
9318
+ var $R57 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
9319
+ var $R58 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
9320
+ var $R59 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
9321
+ var $R60 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy"));
9322
+ var $R61 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
9323
+ var $R62 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
9324
+ var $R63 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
9325
+ var $R64 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
9326
+ var $R65 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
9327
+ var $R66 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
9328
+ var $R67 = (0, import_lib2.$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"));
9329
+ var $R68 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy"));
9330
+ var $R69 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
9331
+ var $R70 = (0, import_lib2.$R)(new RegExp(".", "suy"));
9332
+ var $R71 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
9333
+ var $R72 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy"));
9334
+ var $R73 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy"));
9335
+ var $R74 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
9336
+ var $R75 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
9337
+ var $R76 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
9338
+ var $R77 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
9339
+ var $R78 = (0, import_lib2.$R)(new RegExp("[=:]", "suy"));
9340
+ var $R79 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy"));
9341
+ var $R80 = (0, import_lib2.$R)(new RegExp("\\s", "suy"));
9342
+ var $R81 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy"));
9343
+ var $R82 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
9344
+ var $R83 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy"));
9345
+ var $R84 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy"));
9346
+ var $R85 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
9347
+ var $R86 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
9348
+ var $R87 = (0, import_lib2.$R)(new RegExp("[<>]", "suy"));
9349
+ var $R88 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
9350
+ var $R89 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
9351
+ var $R90 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
9352
+ var $R91 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy"));
9353
+ var $R92 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy"));
9354
+ var $R93 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
9355
+ var $R94 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
9356
+ var $R95 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy"));
9357
+ var $R96 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy"));
9358
+ var $R97 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy"));
9359
+ var $R98 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy"));
9360
+ var $R99 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
9361
+ var $R100 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
9362
+ var $R101 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
9363
+ var $R102 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
9364
+ var $R103 = (0, import_lib2.$R)(new RegExp("[^]*", "suy"));
9309
9365
  var Program$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Reset, Init, (0, import_lib2.$E)(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9310
9366
  var reset = $1;
9311
9367
  var init = $2;
@@ -14493,10 +14549,12 @@ ${js}`
14493
14549
  function LabelledStatement(ctx, state2) {
14494
14550
  return (0, import_lib2.$EVENT)(ctx, state2, "LabelledStatement", LabelledStatement$0);
14495
14551
  }
14496
- var Label$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, Identifier, Whitespace), function($skip, $loc, $0, $1, $2, $3) {
14552
+ var Label$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, IdentifierName, Whitespace), function($skip, $loc, $0, $1, $2, $3) {
14497
14553
  var colon = $1;
14498
14554
  var id = $2;
14499
14555
  var w = $3;
14556
+ if (id.name === "void")
14557
+ return $skip;
14500
14558
  return {
14501
14559
  type: "Label",
14502
14560
  name: id.name,
@@ -14506,12 +14564,34 @@ ${js}`
14506
14564
  function Label(ctx, state2) {
14507
14565
  return (0, import_lib2.$EVENT)(ctx, state2, "Label", Label$0);
14508
14566
  }
14509
- var LabelIdentifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$E)(Colon), Identifier), function(value) {
14510
- var id = value[1];
14511
- return id;
14567
+ var LabelIdentifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, IdentifierName), function($skip, $loc, $0, $1, $2) {
14568
+ var id = $2;
14569
+ return {
14570
+ type: "Label",
14571
+ name: id.name,
14572
+ children: [id]
14573
+ };
14512
14574
  });
14575
+ var LabelIdentifier$1 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R32, "LabelIdentifier /(?:loop|while|until|for|do)(?!\\p{ID_Continue})/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14576
+ return {
14577
+ type: "Label",
14578
+ special: $0,
14579
+ name: "",
14580
+ // to be filled in
14581
+ children: []
14582
+ };
14583
+ });
14584
+ var LabelIdentifier$2 = (0, import_lib2.$TV)(Identifier, function($skip, $loc, $0, $1) {
14585
+ var id = $0;
14586
+ return {
14587
+ type: "Label",
14588
+ name: id.name,
14589
+ children: [id]
14590
+ };
14591
+ });
14592
+ var LabelIdentifier$$ = [LabelIdentifier$0, LabelIdentifier$1, LabelIdentifier$2];
14513
14593
  function LabelIdentifier(ctx, state2) {
14514
- return (0, import_lib2.$EVENT)(ctx, state2, "LabelIdentifier", LabelIdentifier$0);
14594
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "LabelIdentifier", LabelIdentifier$$);
14515
14595
  }
14516
14596
  var LabelledItem$0 = Statement;
14517
14597
  var LabelledItem$1 = FunctionDeclaration;
@@ -14595,7 +14675,7 @@ ${js}`
14595
14675
  function IfClause(ctx, state2) {
14596
14676
  return (0, import_lib2.$EVENT)(ctx, state2, "IfClause", IfClause$0);
14597
14677
  }
14598
- var IterationStatement$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R32, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
14678
+ var IterationStatement$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R33, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
14599
14679
  return value[1];
14600
14680
  });
14601
14681
  function IterationStatement(ctx, state2) {
@@ -14636,7 +14716,7 @@ ${js}`
14636
14716
  var block = $2;
14637
14717
  return {
14638
14718
  ...clause,
14639
- type: "IterationStatement",
14719
+ //type: "IterationStatement", [from LoopClause]
14640
14720
  children: [...clause.children, block],
14641
14721
  block
14642
14722
  };
@@ -14659,7 +14739,7 @@ ${js}`
14659
14739
  };
14660
14740
  return {
14661
14741
  type: "IterationStatement",
14662
- subtype: kind.token,
14742
+ subtype: "loop",
14663
14743
  children: [kind, condition],
14664
14744
  condition,
14665
14745
  generator
@@ -14676,8 +14756,8 @@ ${js}`
14676
14756
  var clause = $5;
14677
14757
  return {
14678
14758
  ...clause,
14679
- type: "IterationStatement",
14680
- subtype: "do-while",
14759
+ //type: "IterationStatement", [from WhileClause]
14760
+ subtype: `do-${clause.subtype}`,
14681
14761
  children: [d, block, ws, clause],
14682
14762
  block,
14683
14763
  generator
@@ -14735,13 +14815,14 @@ ${js}`
14735
14815
  var generator = $2;
14736
14816
  var ws = $3;
14737
14817
  var condition = $4;
14818
+ const subtype = kind.token;
14738
14819
  if (kind.negated) {
14739
14820
  kind = { ...kind, token: "while" };
14740
14821
  condition = negateCondition(condition);
14741
14822
  }
14742
14823
  return {
14743
14824
  type: "IterationStatement",
14744
- subtype: kind.token,
14825
+ subtype,
14745
14826
  children: [kind, ws, condition],
14746
14827
  condition,
14747
14828
  generator,
@@ -16198,7 +16279,7 @@ ${js}`
16198
16279
  function UnprocessedModuleSpecifier(ctx, state2) {
16199
16280
  return (0, import_lib2.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
16200
16281
  }
16201
- var UnquotedSpecifier$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($R33, 'UnquotedSpecifier /[^;"\\s=>]+/'), function($skip, $loc, $0, $1) {
16282
+ var UnquotedSpecifier$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($R34, 'UnquotedSpecifier /[^;"\\s=>]+/'), function($skip, $loc, $0, $1) {
16202
16283
  var spec = $0;
16203
16284
  return { $loc, token: `"${spec}"` };
16204
16285
  });
@@ -16471,7 +16552,7 @@ ${js}`
16471
16552
  function VariableDeclarationList(ctx, state2) {
16472
16553
  return (0, import_lib2.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
16473
16554
  }
16474
- var NumericLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R34, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
16555
+ var NumericLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R35, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
16475
16556
  var token = $2;
16476
16557
  return { type: "NumericLiteral", $loc, token };
16477
16558
  });
@@ -16487,36 +16568,36 @@ ${js}`
16487
16568
  function NumericLiteralKind(ctx, state2) {
16488
16569
  return (0, import_lib2.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
16489
16570
  }
16490
- var DecimalBigIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R35, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
16571
+ var DecimalBigIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R36, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
16491
16572
  function DecimalBigIntegerLiteral(ctx, state2) {
16492
16573
  return (0, import_lib2.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
16493
16574
  }
16494
- var DecimalLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R36, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L7, 'DecimalLiteral "."'), ExponentPart))), function($skip, $loc, $0, $1, $2) {
16575
+ var DecimalLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R37, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L7, 'DecimalLiteral "."'), ExponentPart))), function($skip, $loc, $0, $1, $2) {
16495
16576
  return $1 + ".";
16496
16577
  });
16497
- var DecimalLiteral$1 = (0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R37, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib2.$E)(ExponentPart)));
16498
- var DecimalLiteral$2 = (0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R38, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib2.$E)(ExponentPart)));
16578
+ var DecimalLiteral$1 = (0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R38, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib2.$E)(ExponentPart)));
16579
+ var DecimalLiteral$2 = (0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R39, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib2.$E)(ExponentPart)));
16499
16580
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
16500
16581
  function DecimalLiteral(ctx, state2) {
16501
16582
  return (0, import_lib2.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
16502
16583
  }
16503
- var ExponentPart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R39, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
16584
+ var ExponentPart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R40, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
16504
16585
  function ExponentPart(ctx, state2) {
16505
16586
  return (0, import_lib2.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
16506
16587
  }
16507
- var BinaryIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R40, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
16588
+ var BinaryIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R41, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
16508
16589
  function BinaryIntegerLiteral(ctx, state2) {
16509
16590
  return (0, import_lib2.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
16510
16591
  }
16511
- var OctalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R41, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
16592
+ var OctalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R42, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
16512
16593
  function OctalIntegerLiteral(ctx, state2) {
16513
16594
  return (0, import_lib2.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
16514
16595
  }
16515
- var HexIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R42, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
16596
+ var HexIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R43, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
16516
16597
  function HexIntegerLiteral(ctx, state2) {
16517
16598
  return (0, import_lib2.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
16518
16599
  }
16519
- var IntegerLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R43, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
16600
+ var IntegerLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R44, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
16520
16601
  var token = $2;
16521
16602
  return { $loc, token };
16522
16603
  });
@@ -16532,7 +16613,7 @@ ${js}`
16532
16613
  function IntegerLiteralKind(ctx, state2) {
16533
16614
  return (0, import_lib2.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
16534
16615
  }
16535
- var DecimalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R44, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
16616
+ var DecimalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R45, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
16536
16617
  function DecimalIntegerLiteral(ctx, state2) {
16537
16618
  return (0, import_lib2.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
16538
16619
  }
@@ -16556,13 +16637,13 @@ ${js}`
16556
16637
  function StringLiteral(ctx, state2) {
16557
16638
  return (0, import_lib2.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
16558
16639
  }
16559
- var DoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R45, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16640
+ var DoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R46, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16560
16641
  return { $loc, token: $0 };
16561
16642
  });
16562
16643
  function DoubleStringCharacters(ctx, state2) {
16563
16644
  return (0, import_lib2.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
16564
16645
  }
16565
- var SingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R46, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16646
+ var SingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R47, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16566
16647
  return { $loc, token: $0 };
16567
16648
  });
16568
16649
  function SingleStringCharacters(ctx, state2) {
@@ -16578,19 +16659,19 @@ ${js}`
16578
16659
  function TripleDoubleStringContents(ctx, state2) {
16579
16660
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TripleDoubleStringContents", TripleDoubleStringContents$$);
16580
16661
  }
16581
- var CoffeeTripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R47, 'CoffeeTripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16662
+ var CoffeeTripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R48, 'CoffeeTripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16582
16663
  return { $loc, token: $0 };
16583
16664
  });
16584
16665
  function CoffeeTripleDoubleStringCharacters(ctx, state2) {
16585
16666
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeTripleDoubleStringCharacters", CoffeeTripleDoubleStringCharacters$0);
16586
16667
  }
16587
- var TripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R48, 'TripleDoubleStringCharacters /(?:"(?!"")|\\\\.|[^"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16668
+ var TripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R49, 'TripleDoubleStringCharacters /(?:"(?!"")|\\\\.|[^"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16588
16669
  return { $loc, token: $0 };
16589
16670
  });
16590
16671
  function TripleDoubleStringCharacters(ctx, state2) {
16591
16672
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
16592
16673
  }
16593
- var TripleSingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R49, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16674
+ var TripleSingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R50, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16594
16675
  return { $loc, token: $0 };
16595
16676
  });
16596
16677
  function TripleSingleStringCharacters(ctx, state2) {
@@ -16613,7 +16694,7 @@ ${js}`
16613
16694
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
16614
16695
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
16615
16696
  }
16616
- var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R50, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16697
+ var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R51, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16617
16698
  return { $loc, token: $0 };
16618
16699
  });
16619
16700
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -16633,7 +16714,7 @@ ${js}`
16633
16714
  function RegularExpressionClass(ctx, state2) {
16634
16715
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
16635
16716
  }
16636
- var RegularExpressionClassCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R51, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16717
+ var RegularExpressionClassCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R52, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16637
16718
  return { $loc, token: $0 };
16638
16719
  });
16639
16720
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -16690,7 +16771,7 @@ ${js}`
16690
16771
  var HeregexPart$2 = (0, import_lib2.$T)((0, import_lib2.$S)(TemplateSubstitution), function(value) {
16691
16772
  return { "type": "Substitution", "children": value[0] };
16692
16773
  });
16693
- var HeregexPart$3 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R52, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16774
+ var HeregexPart$3 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R53, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16694
16775
  let token = $0;
16695
16776
  switch ($0[1]) {
16696
16777
  case "\n":
@@ -16708,13 +16789,13 @@ ${js}`
16708
16789
  var HeregexPart$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(HeregexComment), function($skip, $loc, $0, $1) {
16709
16790
  return { $loc, token: "" };
16710
16791
  });
16711
- var HeregexPart$5 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R53, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16792
+ var HeregexPart$5 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R54, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16712
16793
  return { $loc, token: "" };
16713
16794
  });
16714
- var HeregexPart$6 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R54, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16795
+ var HeregexPart$6 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R55, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16715
16796
  return { $loc, token: "\\/" };
16716
16797
  });
16717
- var HeregexPart$7 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R55, "HeregexPart /[^[\\/\\s#$\\\\]+|[#$]/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16798
+ var HeregexPart$7 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R56, "HeregexPart /[^[\\/\\s#$\\\\]+|[#$]/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16718
16799
  return { $loc, token: $0 };
16719
16800
  });
16720
16801
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -16729,7 +16810,7 @@ ${js}`
16729
16810
  function HeregexComment(ctx, state2) {
16730
16811
  return (0, import_lib2.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
16731
16812
  }
16732
- var RegularExpressionBody$0 = (0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R56, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib2.$Q)(RegExpPart));
16813
+ var RegularExpressionBody$0 = (0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R57, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib2.$Q)(RegExpPart));
16733
16814
  function RegularExpressionBody(ctx, state2) {
16734
16815
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
16735
16816
  }
@@ -16739,15 +16820,15 @@ ${js}`
16739
16820
  function RegExpPart(ctx, state2) {
16740
16821
  return (0, import_lib2.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
16741
16822
  }
16742
- var RegExpCharacter$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R57, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
16823
+ var RegExpCharacter$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R58, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
16743
16824
  function RegExpCharacter(ctx, state2) {
16744
16825
  return (0, import_lib2.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
16745
16826
  }
16746
- var RegularExpressionFlags$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R58, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
16827
+ var RegularExpressionFlags$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R59, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
16747
16828
  function RegularExpressionFlags(ctx, state2) {
16748
16829
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
16749
16830
  }
16750
- var TemplateLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R59, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
16831
+ var TemplateLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R60, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
16751
16832
  return value[1];
16752
16833
  });
16753
16834
  function TemplateLiteral(ctx, state2) {
@@ -16787,28 +16868,28 @@ ${js}`
16787
16868
  function TemplateSubstitution(ctx, state2) {
16788
16869
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
16789
16870
  }
16790
- var TemplateCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R60, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16871
+ var TemplateCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R61, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16791
16872
  return { $loc, token: $0 };
16792
16873
  });
16793
16874
  function TemplateCharacters(ctx, state2) {
16794
16875
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
16795
16876
  }
16796
- var TemplateBlockCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R61, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16877
+ var TemplateBlockCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R62, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16797
16878
  return { $loc, token: $0 };
16798
16879
  });
16799
16880
  function TemplateBlockCharacters(ctx, state2) {
16800
16881
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
16801
16882
  }
16802
- var ReservedWord$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R62, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
16803
- var ReservedWord$1 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R63, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
16804
- var ReservedWord$2 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R64, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
16805
- var ReservedWord$3 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R65, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
16806
- var ReservedWord$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R66, "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})/"));
16883
+ var ReservedWord$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R63, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
16884
+ var ReservedWord$1 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R64, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
16885
+ var ReservedWord$2 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R65, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
16886
+ var ReservedWord$3 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R66, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
16887
+ var ReservedWord$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R67, "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})/"));
16807
16888
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
16808
16889
  function ReservedWord(ctx, state2) {
16809
16890
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
16810
16891
  }
16811
- var Comment$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R67, "Comment /(?=\\/|#)/"), _Comment), function(value) {
16892
+ var Comment$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R68, "Comment /(?=\\/|#)/"), _Comment), function(value) {
16812
16893
  return value[1];
16813
16894
  });
16814
16895
  function Comment(ctx, state2) {
@@ -16826,7 +16907,7 @@ ${js}`
16826
16907
  function SingleLineComment(ctx, state2) {
16827
16908
  return (0, import_lib2.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
16828
16909
  }
16829
- var JSSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R68, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16910
+ var JSSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R69, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16830
16911
  return { type: "Comment", $loc, token: $0 };
16831
16912
  });
16832
16913
  function JSSingleLineComment(ctx, state2) {
@@ -16838,30 +16919,30 @@ ${js}`
16838
16919
  function MultiLineComment(ctx, state2) {
16839
16920
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
16840
16921
  }
16841
- var JSMultiLineComment$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L138, 'JSMultiLineComment "/*"'), (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($L139, 'JSMultiLineComment "*/"')), (0, import_lib2.$EXPECT)($R69, "JSMultiLineComment /./"))), (0, import_lib2.$EXPECT)($L139, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16922
+ var JSMultiLineComment$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L138, 'JSMultiLineComment "/*"'), (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($L139, 'JSMultiLineComment "*/"')), (0, import_lib2.$EXPECT)($R70, "JSMultiLineComment /./"))), (0, import_lib2.$EXPECT)($L139, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16842
16923
  return { type: "Comment", $loc, token: $1 };
16843
16924
  });
16844
16925
  function JSMultiLineComment(ctx, state2) {
16845
16926
  return (0, import_lib2.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
16846
16927
  }
16847
- var CoffeeSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R70, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16928
+ var CoffeeSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R71, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16848
16929
  return { type: "Comment", $loc, token: `//${$1}` };
16849
16930
  });
16850
16931
  function CoffeeSingleLineComment(ctx, state2) {
16851
16932
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
16852
16933
  }
16853
- var CoffeeMultiLineComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeHereCommentStart, (0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R71, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
16934
+ var CoffeeMultiLineComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeHereCommentStart, (0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R72, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
16854
16935
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
16855
16936
  return { type: "Comment", $loc, token: `/*${$2}*/` };
16856
16937
  });
16857
16938
  function CoffeeMultiLineComment(ctx, state2) {
16858
16939
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
16859
16940
  }
16860
- var CoffeeHereCommentStart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R72, "CoffeeHereCommentStart /###(?!#)/"));
16941
+ var CoffeeHereCommentStart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R73, "CoffeeHereCommentStart /###(?!#)/"));
16861
16942
  function CoffeeHereCommentStart(ctx, state2) {
16862
16943
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
16863
16944
  }
16864
- var InlineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R73, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16945
+ var InlineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R74, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16865
16946
  return { $loc, token: $0 };
16866
16947
  });
16867
16948
  function InlineComment(ctx, state2) {
@@ -16875,7 +16956,7 @@ ${js}`
16875
16956
  function TrailingComment(ctx, state2) {
16876
16957
  return (0, import_lib2.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
16877
16958
  }
16878
- var _$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R74, "_ /(?=[ \\t\\/\\\\])/"), (0, import_lib2.$P)((0, import_lib2.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
16959
+ var _$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R75, "_ /(?=[ \\t\\/\\\\])/"), (0, import_lib2.$P)((0, import_lib2.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
16879
16960
  return value[1];
16880
16961
  });
16881
16962
  function _(ctx, state2) {
@@ -16898,7 +16979,7 @@ ${js}`
16898
16979
  function Trimmed_(ctx, state2) {
16899
16980
  return (0, import_lib2.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
16900
16981
  }
16901
- var __$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R75, "__ /(?=\\s|\\/|#)/"), (0, import_lib2.$Q)((0, import_lib2.$C)(Whitespace, Comment))), function(value) {
16982
+ var __$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R76, "__ /(?=\\s|\\/|#)/"), (0, import_lib2.$Q)((0, import_lib2.$C)(Whitespace, Comment))), function(value) {
16902
16983
  return value[1];
16903
16984
  });
16904
16985
  var __$1 = (0, import_lib2.$EXPECT)($L0, '__ ""');
@@ -16906,7 +16987,7 @@ ${js}`
16906
16987
  function __(ctx, state2) {
16907
16988
  return (0, import_lib2.$EVENT_C)(ctx, state2, "__", __$$);
16908
16989
  }
16909
- var Whitespace$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R53, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16990
+ var Whitespace$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R54, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16910
16991
  return { $loc, token: $0 };
16911
16992
  });
16912
16993
  function Whitespace(ctx, state2) {
@@ -16948,7 +17029,7 @@ ${js}`
16948
17029
  function SemicolonDelimiter(ctx, state2) {
16949
17030
  return (0, import_lib2.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
16950
17031
  }
16951
- var NonIdContinue$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R76, "NonIdContinue /(?!\\p{ID_Continue})/"));
17032
+ var NonIdContinue$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R77, "NonIdContinue /(?!\\p{ID_Continue})/"));
16952
17033
  function NonIdContinue(ctx, state2) {
16953
17034
  return (0, import_lib2.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
16954
17035
  }
@@ -17066,7 +17147,7 @@ ${js}`
17066
17147
  function CoffeeSubstitutionStart(ctx, state2) {
17067
17148
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
17068
17149
  }
17069
- var Colon$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L16, 'Colon ":"'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R77, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
17150
+ var Colon$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L16, 'Colon ":"'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R78, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
17070
17151
  return { $loc, token: $1 };
17071
17152
  });
17072
17153
  function Colon(ctx, state2) {
@@ -17117,7 +17198,7 @@ ${js}`
17117
17198
  var Dot$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
17118
17199
  return { $loc, token: $1 };
17119
17200
  });
17120
- var Dot$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R78, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
17201
+ var Dot$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R79, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
17121
17202
  var ws = $2;
17122
17203
  return [
17123
17204
  { $loc, token: "." },
@@ -17250,7 +17331,7 @@ ${js}`
17250
17331
  function If(ctx, state2) {
17251
17332
  return (0, import_lib2.$EVENT)(ctx, state2, "If", If$0);
17252
17333
  }
17253
- var Import$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'Import "import"'), (0, import_lib2.$Y)((0, import_lib2.$EXPECT)($R79, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17334
+ var Import$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'Import "import"'), (0, import_lib2.$Y)((0, import_lib2.$EXPECT)($R80, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17254
17335
  return { $loc, token: $1 };
17255
17336
  });
17256
17337
  function Import(ctx, state2) {
@@ -17608,7 +17689,7 @@ ${js}`
17608
17689
  function JSXImplicitFragment(ctx, state2) {
17609
17690
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
17610
17691
  }
17611
- var JSXTag$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R80, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
17692
+ var JSXTag$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R81, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
17612
17693
  return value[1];
17613
17694
  });
17614
17695
  function JSXTag(ctx, state2) {
@@ -17755,7 +17836,7 @@ ${js}`
17755
17836
  function JSXElementName(ctx, state2) {
17756
17837
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
17757
17838
  }
17758
- var JSXIdentifierName$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R81, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
17839
+ var JSXIdentifierName$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R82, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
17759
17840
  function JSXIdentifierName(ctx, state2) {
17760
17841
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
17761
17842
  }
@@ -17937,7 +18018,7 @@ ${js}`
17937
18018
  class: $2
17938
18019
  };
17939
18020
  });
17940
- var JSXAttribute$7 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R82, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib2.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
18021
+ var JSXAttribute$7 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R83, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib2.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
17941
18022
  var toggle = $1;
17942
18023
  var id = $2;
17943
18024
  const value = toggle === "+" ? "true" : "false";
@@ -17947,11 +18028,11 @@ ${js}`
17947
18028
  function JSXAttribute(ctx, state2) {
17948
18029
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
17949
18030
  }
17950
- var JSXAttributeSpace$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R83, "JSXAttributeSpace /[\\s>]|\\/>/"));
18031
+ var JSXAttributeSpace$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R84, "JSXAttributeSpace /[\\s>]|\\/>/"));
17951
18032
  function JSXAttributeSpace(ctx, state2) {
17952
18033
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
17953
18034
  }
17954
- var JSXShorthandString$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R84, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18035
+ var JSXShorthandString$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R85, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
17955
18036
  return quoteString($0);
17956
18037
  });
17957
18038
  var JSXShorthandString$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -17994,7 +18075,7 @@ ${js}`
17994
18075
  }
17995
18076
  return [open, value, close];
17996
18077
  });
17997
- var JSXAttributeValue$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R85, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
18078
+ var JSXAttributeValue$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R86, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
17998
18079
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
17999
18080
  function JSXAttributeValue(ctx, state2) {
18000
18081
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
@@ -18007,7 +18088,7 @@ ${js}`
18007
18088
  function InlineJSXAttributeValue(ctx, state2) {
18008
18089
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
18009
18090
  }
18010
- var InlineJSXBinaryOpRHS$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($R86, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
18091
+ var InlineJSXBinaryOpRHS$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($R87, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
18011
18092
  var op = $2;
18012
18093
  var rhs = $3;
18013
18094
  return [[], op, [], rhs];
@@ -18024,7 +18105,7 @@ ${js}`
18024
18105
  function InlineJSXUnaryExpression(ctx, state2) {
18025
18106
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
18026
18107
  }
18027
- var InlineJSXUnaryOp$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R87, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18108
+ var InlineJSXUnaryOp$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R88, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18028
18109
  return { $loc, token: $0 };
18029
18110
  });
18030
18111
  function InlineJSXUnaryOp(ctx, state2) {
@@ -18275,13 +18356,13 @@ ${js}`
18275
18356
  function JSXComment(ctx, state2) {
18276
18357
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
18277
18358
  }
18278
- var JSXCommentContent$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R88, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18359
+ var JSXCommentContent$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R89, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18279
18360
  return { $loc, token: $0.replace(/\*\//g, "* /") };
18280
18361
  });
18281
18362
  function JSXCommentContent(ctx, state2) {
18282
18363
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
18283
18364
  }
18284
- var JSXText$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R89, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18365
+ var JSXText$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R90, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18285
18366
  return {
18286
18367
  type: "JSXText",
18287
18368
  token: $0,
@@ -18815,7 +18896,7 @@ ${js}`
18815
18896
  function TypeProperty(ctx, state2) {
18816
18897
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
18817
18898
  }
18818
- var TypeIndexSignature$0 = (0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R90, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib2.$E)((0, import_lib2.$S)(__, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R14, "TypeIndexSignature /[+-]/")), (0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$E)(_), QuestionMark)))));
18899
+ var TypeIndexSignature$0 = (0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R91, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib2.$E)((0, import_lib2.$S)(__, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R14, "TypeIndexSignature /[+-]/")), (0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$E)(_), QuestionMark)))));
18819
18900
  function TypeIndexSignature(ctx, state2) {
18820
18901
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
18821
18902
  }
@@ -19324,7 +19405,7 @@ ${js}`
19324
19405
  function TypeWithPostfix(ctx, state2) {
19325
19406
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
19326
19407
  }
19327
- var TypeConditional$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($R91, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
19408
+ var TypeConditional$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($R92, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
19328
19409
  return prepend($1, expressionizeTypeIf($3));
19329
19410
  });
19330
19411
  var TypeConditional$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(TypeCondition, NotDedented, QuestionMark, __, Type, __, Colon, __, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
@@ -19558,8 +19639,8 @@ ${js}`
19558
19639
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
19559
19640
  }
19560
19641
  var ForbiddenImplicitTypeCalls$0 = ReservedBinary;
19561
- var ForbiddenImplicitTypeCalls$1 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R92, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
19562
- var ForbiddenImplicitTypeCalls$2 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R93, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
19642
+ var ForbiddenImplicitTypeCalls$1 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R93, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
19643
+ var ForbiddenImplicitTypeCalls$2 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R94, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
19563
19644
  var ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
19564
19645
  function ForbiddenImplicitTypeCalls(ctx, state2) {
19565
19646
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
@@ -19650,7 +19731,7 @@ ${js}`
19650
19731
  function TypeParameters(ctx, state2) {
19651
19732
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
19652
19733
  }
19653
- var TypeParameter$0 = (0, import_lib2.$S)(__, (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R94, "TypeParameter /const|in|out/")), _)), Identifier, (0, import_lib2.$E)(TypeConstraint), (0, import_lib2.$E)(TypeInitializer), TypeParameterDelimiter);
19734
+ var TypeParameter$0 = (0, import_lib2.$S)(__, (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R95, "TypeParameter /const|in|out/")), _)), Identifier, (0, import_lib2.$E)(TypeConstraint), (0, import_lib2.$E)(TypeInitializer), TypeParameterDelimiter);
19654
19735
  function TypeParameter(ctx, state2) {
19655
19736
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
19656
19737
  }
@@ -19677,15 +19758,15 @@ ${js}`
19677
19758
  function ThisType(ctx, state2) {
19678
19759
  return (0, import_lib2.$EVENT)(ctx, state2, "ThisType", ThisType$0);
19679
19760
  }
19680
- var Shebang$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R95, "Shebang /#![^\\r\\n]*/")), EOL);
19761
+ var Shebang$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R96, "Shebang /#![^\\r\\n]*/")), EOL);
19681
19762
  function Shebang(ctx, state2) {
19682
19763
  return (0, import_lib2.$EVENT)(ctx, state2, "Shebang", Shebang$0);
19683
19764
  }
19684
- var CivetPrologue$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R96, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib2.$EXPECT)($R22, "CivetPrologue /[ \\t]*/"), (0, import_lib2.$C)(EOL, (0, import_lib2.$Y)(RestOfLine))), function(value) {
19765
+ var CivetPrologue$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R97, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib2.$EXPECT)($R22, "CivetPrologue /[ \\t]*/"), (0, import_lib2.$C)(EOL, (0, import_lib2.$Y)(RestOfLine))), function(value) {
19685
19766
  var content = value[2];
19686
19767
  return content;
19687
19768
  });
19688
- var CivetPrologue$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R96, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib2.$EXPECT)($R22, "CivetPrologue /[ \\t]*/"), (0, import_lib2.$C)(EOL, (0, import_lib2.$Y)(RestOfLine))), function(value) {
19769
+ var CivetPrologue$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R97, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib2.$EXPECT)($R22, "CivetPrologue /[ \\t]*/"), (0, import_lib2.$C)(EOL, (0, import_lib2.$Y)(RestOfLine))), function(value) {
19689
19770
  var content = value[2];
19690
19771
  return content;
19691
19772
  });
@@ -19693,7 +19774,7 @@ ${js}`
19693
19774
  function CivetPrologue(ctx, state2) {
19694
19775
  return (0, import_lib2.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
19695
19776
  }
19696
- var CivetPrologueContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L246, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib2.$Q)(CivetOption), (0, import_lib2.$EXPECT)($R97, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
19777
+ var CivetPrologueContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L246, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib2.$Q)(CivetOption), (0, import_lib2.$EXPECT)($R98, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
19697
19778
  var options = $3;
19698
19779
  return {
19699
19780
  type: "CivetPrologue",
@@ -19704,7 +19785,7 @@ ${js}`
19704
19785
  function CivetPrologueContent(ctx, state2) {
19705
19786
  return (0, import_lib2.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
19706
19787
  }
19707
- var CivetOption$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R98, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
19788
+ var CivetOption$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R99, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
19708
19789
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
19709
19790
  if (l)
19710
19791
  return l.toUpperCase();
@@ -19727,11 +19808,11 @@ ${js}`
19727
19808
  function CivetOption(ctx, state2) {
19728
19809
  return (0, import_lib2.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
19729
19810
  }
19730
- var UnknownPrologue$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R96, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib2.$TEXT)(SimpleStatementDelimiter), EOS);
19811
+ var UnknownPrologue$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R97, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib2.$TEXT)(SimpleStatementDelimiter), EOS);
19731
19812
  function UnknownPrologue(ctx, state2) {
19732
19813
  return (0, import_lib2.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
19733
19814
  }
19734
- var TripleSlashDirective$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R99, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib2.$E)(EOS));
19815
+ var TripleSlashDirective$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R100, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib2.$E)(EOS));
19735
19816
  function TripleSlashDirective(ctx, state2) {
19736
19817
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
19737
19818
  }
@@ -19747,13 +19828,13 @@ ${js}`
19747
19828
  function PrologueString(ctx, state2) {
19748
19829
  return (0, import_lib2.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
19749
19830
  }
19750
- var EOS$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R100, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib2.$P)(RestOfLine)), function(value) {
19831
+ var EOS$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R101, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib2.$P)(RestOfLine)), function(value) {
19751
19832
  return value[1];
19752
19833
  });
19753
19834
  function EOS(ctx, state2) {
19754
19835
  return (0, import_lib2.$EVENT)(ctx, state2, "EOS", EOS$0);
19755
19836
  }
19756
- var EOL$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R101, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
19837
+ var EOL$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R102, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
19757
19838
  return { $loc, token: $0 };
19758
19839
  });
19759
19840
  function EOL(ctx, state2) {
@@ -20169,7 +20250,7 @@ ${js}`
20169
20250
  function Prologue(ctx, state2) {
20170
20251
  return (0, import_lib2.$EVENT)(ctx, state2, "Prologue", Prologue$0);
20171
20252
  }
20172
- var ProloguePrefix$0 = (0, import_lib2.$S)(Prologue, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R102, "ProloguePrefix /[^]*/")));
20253
+ var ProloguePrefix$0 = (0, import_lib2.$S)(Prologue, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R103, "ProloguePrefix /[^]*/")));
20173
20254
  function ProloguePrefix(ctx, state2) {
20174
20255
  return (0, import_lib2.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
20175
20256
  }