@danielx/civet 0.8.17 → 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/main.mjs CHANGED
@@ -60,7 +60,7 @@ var require_machine = __commonJS({
60
60
  $N: () => $N2,
61
61
  $P: () => $P2,
62
62
  $Q: () => $Q2,
63
- $R: () => $R102,
63
+ $R: () => $R104,
64
64
  $R$0: () => $R$02,
65
65
  $S: () => $S2,
66
66
  $T: () => $T2,
@@ -97,7 +97,7 @@ var require_machine = __commonJS({
97
97
  return;
98
98
  };
99
99
  }
100
- function $R102(regExp) {
100
+ function $R104(regExp) {
101
101
  return function(_ctx, state2) {
102
102
  const { input, pos } = state2;
103
103
  regExp.lastIndex = state2.pos;
@@ -1592,10 +1592,7 @@ function needsRef(expression, base = "ref") {
1592
1592
  return;
1593
1593
  }
1594
1594
  if (Array.isArray(expression)) {
1595
- const nonempty = ((s, e) => {
1596
- let step = e > s ? 1 : -1;
1597
- return Array.from({ length: Math.abs(e - s) }, (_2, i) => s + i * step);
1598
- })(0, expression.length).filter((i) => !isWhitespaceOrEmpty(expression[i]));
1595
+ const nonempty = ((s) => Array.from({ length: expression.length - s }, (_2, i) => s + i))(0).filter((i) => !isWhitespaceOrEmpty(expression[i]));
1599
1596
  if (nonempty.length === 1) {
1600
1597
  let ref1;
1601
1598
  if (ref1 = needsRef(expression[nonempty[0]], base)) {
@@ -2907,7 +2904,7 @@ function assignResults(node, collect) {
2907
2904
  return;
2908
2905
  }
2909
2906
  case "BlockStatement": {
2910
- if (node.expressions.some(isExit)) {
2907
+ if (exp.expressions.some(isExit)) {
2911
2908
  return;
2912
2909
  }
2913
2910
  assignResults(exp.expressions[exp.expressions.length - 1], collect);
@@ -2943,6 +2940,15 @@ function assignResults(node, collect) {
2943
2940
  }
2944
2941
  return;
2945
2942
  }
2943
+ case "PipelineExpression": {
2944
+ const semi2 = exp.children.lastIndexOf(";");
2945
+ if (0 <= semi2 && semi2 < exp.children.length - 1) {
2946
+ exp.children.splice(semi2 + 1, 1 / 0, ...[collect(exp.children.slice(semi2 + 1))]);
2947
+ return;
2948
+ }
2949
+ ;
2950
+ break;
2951
+ }
2946
2952
  }
2947
2953
  if (node[node.length - 1]?.type === "SemicolonDelimiter") {
2948
2954
  return;
@@ -3100,6 +3106,15 @@ function insertReturn(node) {
3100
3106
  }
3101
3107
  return;
3102
3108
  }
3109
+ case "PipelineExpression": {
3110
+ const semi2 = exp.children.lastIndexOf(";");
3111
+ if (0 <= semi2 && semi2 < exp.children.length - 1) {
3112
+ exp.children.splice(semi2 + 1, 1 / 0, ...[wrapWithReturn(exp.children.slice(semi2 + 1))]);
3113
+ return;
3114
+ }
3115
+ ;
3116
+ break;
3117
+ }
3103
3118
  }
3104
3119
  if (node[node.length - 1]?.type === "SemicolonDelimiter") {
3105
3120
  return;
@@ -3112,17 +3127,6 @@ function processBreakContinueWith(statement) {
3112
3127
  statement.block,
3113
3128
  ($3) => $3.type === "BreakStatement" || $3.type === "ContinueStatement"
3114
3129
  )) {
3115
- let controlName2 = function() {
3116
- switch (control.type) {
3117
- case "BreakStatement": {
3118
- return "break";
3119
- }
3120
- case "ContinueStatement": {
3121
- return "continue";
3122
- }
3123
- }
3124
- };
3125
- var controlName = controlName2;
3126
3130
  if (control.with) {
3127
3131
  if (control.label) {
3128
3132
  let m2;
@@ -3151,7 +3155,7 @@ function processBreakContinueWith(statement) {
3151
3155
  }
3152
3156
  const block = control.parent;
3153
3157
  if (!(block?.type === "BlockStatement")) {
3154
- throw new Error(`Expected parent of ${controlName2()} to be BlockStatement`);
3158
+ throw new Error(`Expected parent of ${control.type.toLowerCase().replace("statement", "")} to be BlockStatement`);
3155
3159
  }
3156
3160
  braceBlock(block);
3157
3161
  }
@@ -5472,8 +5476,10 @@ function processPipelineExpressions(statements) {
5472
5476
  gatherRecursiveAll(statements, (n) => n.type === "PipelineExpression").forEach((s) => {
5473
5477
  const [ws, , body] = s.children;
5474
5478
  let [, arg] = s.children;
5475
- let i = 0, l = body.length;
5479
+ let i = 0;
5480
+ const l = body.length;
5476
5481
  const children = [ws];
5482
+ const comma = blockContainingStatement(s) ? ";" : ",";
5477
5483
  let usingRef = null;
5478
5484
  for (let i1 = 0, len3 = body.length; i1 < len3; i1++) {
5479
5485
  const i2 = i1;
@@ -5497,7 +5503,7 @@ function processPipelineExpressions(statements) {
5497
5503
  usingRef = makeRef();
5498
5504
  initRef = {
5499
5505
  type: "AssignmentExpression",
5500
- children: [usingRef, " = ", arg, ","]
5506
+ children: [usingRef, " = ", arg, comma]
5501
5507
  };
5502
5508
  arg = {
5503
5509
  type: "MemberExpression",
@@ -5573,7 +5579,7 @@ function processPipelineExpressions(statements) {
5573
5579
  }
5574
5580
  if (returning) {
5575
5581
  arg = returning;
5576
- children.push(result, ",");
5582
+ children.push(result, comma);
5577
5583
  } else {
5578
5584
  arg = result;
5579
5585
  }
@@ -5726,7 +5732,7 @@ function processRangeExpression(start, ws1, range, end) {
5726
5732
  };
5727
5733
  }
5728
5734
  function forRange(open, forDeclaration, range, stepExp, close) {
5729
- const { start, end, left, right, increasing } = range;
5735
+ let { start, end, left, right, increasing } = range;
5730
5736
  const counterRef = makeRef("i");
5731
5737
  const infinite = typeof end === "object" && end != null && "type" in end && end.type === "Identifier" && "name" in end && end.name === "Infinity";
5732
5738
  let stepRef, asc;
@@ -5768,28 +5774,36 @@ function forRange(open, forDeclaration, range, stepExp, close) {
5768
5774
  let endRef = maybeRef(end, "end");
5769
5775
  const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
5770
5776
  const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
5771
- if (!left.inclusive) {
5772
- startRef = [
5773
- makeLeftHandSideExpression(start),
5774
- " + ",
5775
- stepRef
5776
- ];
5777
- }
5778
5777
  let ascDec = [], ascRef;
5779
5778
  if (stepExp) {
5780
5779
  if (!(stepRef === stepExp)) {
5781
5780
  ascDec = [", ", stepRef, " = ", stepExp];
5782
5781
  }
5783
- } else if (start?.type === "Literal" && "Literal" === end?.type) {
5782
+ }
5783
+ if (start?.type === "Literal" && "Literal" === end?.type) {
5784
5784
  asc = literalValue(start) <= literalValue(end);
5785
- if ("StringLiteral" === start.subtype && start.subtype === end.subtype) {
5786
- startRef = literalValue(start).charCodeAt(0).toString();
5785
+ let ref4;
5786
+ if ("StringLiteral" === (ref4 = start.subtype) && ref4 === end.subtype) {
5787
+ const startChar = literalValue(start).charCodeAt(0).toString();
5788
+ startRef = {
5789
+ type: "Literal",
5790
+ subtype: "NumericLiteral",
5791
+ raw: startChar,
5792
+ children: [startChar]
5793
+ };
5787
5794
  endRef = literalValue(end).charCodeAt(0).toString();
5788
5795
  }
5789
- } else {
5796
+ } else if (!stepExp) {
5790
5797
  ascRef = makeRef("asc");
5791
5798
  ascDec = [", ", ascRef, " = ", startRef, " <= ", endRef];
5792
5799
  }
5800
+ if (!left.inclusive) {
5801
+ startRef = [
5802
+ makeLeftHandSideExpression(startRef),
5803
+ " + ",
5804
+ stepRef
5805
+ ];
5806
+ }
5793
5807
  let varAssign = [], varLetAssign = varAssign, varLet = varAssign, blockPrefix;
5794
5808
  let names = forDeclaration?.names ?? [];
5795
5809
  if (forDeclaration != null) {
@@ -5801,7 +5815,7 @@ function forRange(open, forDeclaration, range, stepExp, close) {
5801
5815
  varAssign = [...trimFirstSpace(varName), " = "];
5802
5816
  varLet = [",", ...varName, " = ", counterRef];
5803
5817
  } else {
5804
- const value = "StringLiteral" === start.subtype ? ["String.fromCharCode(", counterRef, ")"] : counterRef;
5818
+ const value = "StringLiteral" === start?.subtype ? ["String.fromCharCode(", counterRef, ")"] : counterRef;
5805
5819
  blockPrefix = [
5806
5820
  ["", [forDeclaration, " = ", value], ";"]
5807
5821
  ];
@@ -5825,8 +5839,8 @@ function forRange(open, forDeclaration, range, stepExp, close) {
5825
5839
  }
5826
5840
  function processForInOf($0) {
5827
5841
  let [awaits, eachOwn, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
5828
- for (let ref4 = [declaration, declaration2?.[declaration2.length - 1]], i1 = 0, len3 = ref4.length; i1 < len3; i1++) {
5829
- const decl = ref4[i1];
5842
+ for (let ref5 = [declaration, declaration2?.[declaration2.length - 1]], i1 = 0, len3 = ref5.length; i1 < len3; i1++) {
5843
+ const decl = ref5[i1];
5830
5844
  if (!(decl != null)) {
5831
5845
  continue;
5832
5846
  }
@@ -7225,8 +7239,7 @@ function processAssignments(statements) {
7225
7239
  block = void 0;
7226
7240
  }
7227
7241
  }
7228
- let ref14;
7229
- if ($1.some(($8) => (ref14 = $8)[ref14.length - 1].special)) {
7242
+ if ($1.some(($8) => $8[$8.length - 1].special)) {
7230
7243
  if ($1.length !== 1)
7231
7244
  throw new Error("Only one assignment with id= is allowed");
7232
7245
  const [, lhs, , op] = $1[0];
@@ -7404,9 +7417,9 @@ function unchainOptionalMemberExpression(exp, ref, innerExp) {
7404
7417
  }
7405
7418
  j++;
7406
7419
  }
7407
- let ref15;
7408
- if (ref15 = conditions.length) {
7409
- const l = ref15;
7420
+ let ref14;
7421
+ if (ref14 = conditions.length) {
7422
+ const l = ref14;
7410
7423
  const cs = flatJoin(conditions, " && ");
7411
7424
  return {
7412
7425
  ...exp,
@@ -7442,8 +7455,8 @@ function attachPostfixStatementAsExpression(exp, post) {
7442
7455
  }
7443
7456
  function processTypes(node) {
7444
7457
  const results1 = [];
7445
- for (let ref16 = gatherRecursiveAll(node, ($11) => $11.type === "TypeUnary"), i8 = 0, len6 = ref16.length; i8 < len6; i8++) {
7446
- const unary = ref16[i8];
7458
+ for (let ref15 = gatherRecursiveAll(node, ($11) => $11.type === "TypeUnary"), i8 = 0, len6 = ref15.length; i8 < len6; i8++) {
7459
+ const unary = ref15[i8];
7447
7460
  let suffixIndex = unary.suffix.length - 1;
7448
7461
  const results2 = [];
7449
7462
  while (suffixIndex >= 0) {
@@ -7522,12 +7535,12 @@ function processTypes(node) {
7522
7535
  const outer = unary.suffix.splice(suffixIndex + 1, Infinity);
7523
7536
  const space = getTrimmingSpace(unary);
7524
7537
  inplaceInsertTrimmingSpace(unary, "");
7525
- let ref17;
7538
+ let ref16;
7526
7539
  if (unary.suffix.length)
7527
- ref17 = unary;
7540
+ ref16 = unary;
7528
7541
  else
7529
- ref17 = unary.t;
7530
- const t = ref17;
7542
+ ref16 = unary.t;
7543
+ const t = ref16;
7531
7544
  const arg = makeNode({
7532
7545
  type: "TypeArgument",
7533
7546
  ts: true,
@@ -7572,18 +7585,18 @@ function processTypes(node) {
7572
7585
  return results1;
7573
7586
  }
7574
7587
  function processStatementExpressions(statements) {
7575
- for (let ref18 = gatherRecursiveAll(statements, ($12) => $12.type === "StatementExpression"), i9 = 0, len7 = ref18.length; i9 < len7; i9++) {
7576
- const exp = ref18[i9];
7588
+ for (let ref17 = gatherRecursiveAll(statements, ($12) => $12.type === "StatementExpression"), i9 = 0, len7 = ref17.length; i9 < len7; i9++) {
7589
+ const exp = ref17[i9];
7577
7590
  const { maybe, statement } = exp;
7578
7591
  if ((maybe || statement.type === "ThrowStatement") && blockContainingStatement(exp)) {
7579
7592
  replaceNode(exp, statement);
7580
7593
  continue;
7581
7594
  }
7582
- let ref19;
7595
+ let ref18;
7583
7596
  switch (statement.type) {
7584
7597
  case "IfStatement": {
7585
- if (ref19 = expressionizeIfStatement(statement)) {
7586
- const expression = ref19;
7598
+ if (ref18 = expressionizeIfStatement(statement)) {
7599
+ const expression = ref18;
7587
7600
  replaceNode(statement, expression, exp);
7588
7601
  } else {
7589
7602
  replaceNode(statement, wrapIIFE([["", statement]]), exp);
@@ -7641,13 +7654,13 @@ function processNegativeIndexAccess(statements) {
7641
7654
  });
7642
7655
  }
7643
7656
  function processFinallyClauses(statements) {
7644
- for (let ref20 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len8 = ref20.length; i10 < len8; i10++) {
7645
- let f = ref20[i10];
7646
- let ref21;
7647
- if (!((ref21 = blockContainingStatement(f)) && typeof ref21 === "object" && "block" in ref21 && "index" in ref21)) {
7657
+ for (let ref19 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len8 = ref19.length; i10 < len8; i10++) {
7658
+ let f = ref19[i10];
7659
+ let ref20;
7660
+ if (!((ref20 = blockContainingStatement(f)) && typeof ref20 === "object" && "block" in ref20 && "index" in ref20)) {
7648
7661
  throw new Error("finally clause must be inside try statement or block");
7649
7662
  }
7650
- const { block, index } = ref21;
7663
+ const { block, index } = ref20;
7651
7664
  const indent = block.expressions[index][0];
7652
7665
  const expressions = block.expressions.slice(index + 1);
7653
7666
  const t = makeNode({
@@ -7670,6 +7683,54 @@ function processFinallyClauses(statements) {
7670
7683
  block.expressions.splice(index, 1 / 0, ...[tuple]);
7671
7684
  }
7672
7685
  }
7686
+ function processBreaksContinues(statements) {
7687
+ for (const control of gatherRecursive(
7688
+ statements,
7689
+ ($) => Boolean(
7690
+ ($.type === "BreakStatement" || $.type === "ContinueStatement") && $.label?.special
7691
+ )
7692
+ )) {
7693
+ const label = control.label;
7694
+ const special = label.special;
7695
+ const { ancestor } = findAncestor(
7696
+ control,
7697
+ ($) => {
7698
+ return special === "for" ? $.type === "ForStatement" : $.type === "IterationStatement" && $.subtype.startsWith(special);
7699
+ },
7700
+ // in particular, special = "do" matches "do-while" and "do-until"
7701
+ isFunction
7702
+ );
7703
+ if (!(ancestor != null)) {
7704
+ control.children.push({
7705
+ type: "Error",
7706
+ message: `No matching '${special}' iteration found above '${control.type.toLowerCase().replace("statement", "")} ${special}'`
7707
+ });
7708
+ continue;
7709
+ }
7710
+ let { parent } = ancestor;
7711
+ if (!(parent?.type === "LabelledStatement")) {
7712
+ const ref = makeRef(`_${special.replace("-", "_")}`);
7713
+ const label2 = makeNode({
7714
+ type: "Label",
7715
+ name: ref,
7716
+ children: [ref, ":"]
7717
+ });
7718
+ replaceNode(
7719
+ ancestor,
7720
+ makeNode({
7721
+ type: "LabelledStatement",
7722
+ label: label2,
7723
+ statement: ancestor,
7724
+ children: [label2, " ", ancestor]
7725
+ }),
7726
+ parent
7727
+ );
7728
+ parent = ancestor.parent;
7729
+ }
7730
+ label.children.push(label.name = parent.label.name);
7731
+ delete label.special;
7732
+ }
7733
+ }
7673
7734
  function processProgram(root) {
7674
7735
  const state2 = getState();
7675
7736
  const config2 = getConfig();
@@ -7700,6 +7761,7 @@ function processProgram(root) {
7700
7761
  processPatternMatching(statements);
7701
7762
  processIterationExpressions(statements);
7702
7763
  processFinallyClauses(statements);
7764
+ processBreaksContinues(statements);
7703
7765
  hoistRefDecs(statements);
7704
7766
  processFunctions(statements, config2);
7705
7767
  statements.unshift(...state2.prelude);
@@ -7727,8 +7789,8 @@ async function processProgramAsync(root) {
7727
7789
  function processRepl(root, rootIIFE) {
7728
7790
  const topBlock = gatherRecursive(rootIIFE, ($14) => $14.type === "BlockStatement")[0];
7729
7791
  let i = 0;
7730
- for (let ref22 = gatherRecursiveWithinFunction(topBlock, ($15) => $15.type === "Declaration"), i11 = 0, len9 = ref22.length; i11 < len9; i11++) {
7731
- const decl = ref22[i11];
7792
+ for (let ref21 = gatherRecursiveWithinFunction(topBlock, ($15) => $15.type === "Declaration"), i11 = 0, len9 = ref21.length; i11 < len9; i11++) {
7793
+ const decl = ref21[i11];
7732
7794
  if (!decl.names?.length) {
7733
7795
  continue;
7734
7796
  }
@@ -7741,8 +7803,8 @@ function processRepl(root, rootIIFE) {
7741
7803
  root.expressions.splice(i++, 0, ["", `var ${decl.names.join(",")}`, ";"]);
7742
7804
  }
7743
7805
  }
7744
- for (let ref23 = gatherRecursive(topBlock, ($16) => $16.type === "FunctionExpression"), i12 = 0, len10 = ref23.length; i12 < len10; i12++) {
7745
- const func = ref23[i12];
7806
+ for (let ref22 = gatherRecursive(topBlock, ($16) => $16.type === "FunctionExpression"), i12 = 0, len10 = ref22.length; i12 < len10; i12++) {
7807
+ const func = ref22[i12];
7746
7808
  if (func.name && func.parent?.type === "BlockStatement") {
7747
7809
  if (func.parent === topBlock) {
7748
7810
  replaceNode(func, void 0);
@@ -7754,8 +7816,8 @@ function processRepl(root, rootIIFE) {
7754
7816
  }
7755
7817
  }
7756
7818
  }
7757
- for (let ref24 = gatherRecursiveWithinFunction(topBlock, ($17) => $17.type === "ClassExpression"), i13 = 0, len11 = ref24.length; i13 < len11; i13++) {
7758
- const classExp = ref24[i13];
7819
+ for (let ref23 = gatherRecursiveWithinFunction(topBlock, ($17) => $17.type === "ClassExpression"), i13 = 0, len11 = ref23.length; i13 < len11; i13++) {
7820
+ const classExp = ref23[i13];
7759
7821
  let m8;
7760
7822
  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)) {
7761
7823
  classExp.children.unshift(classExp.name, "=");
@@ -7787,8 +7849,8 @@ function populateRefs(statements) {
7787
7849
  function processPlaceholders(statements) {
7788
7850
  const placeholderMap = /* @__PURE__ */ new Map();
7789
7851
  const liftedIfs = /* @__PURE__ */ new Set();
7790
- for (let ref25 = gatherRecursiveAll(statements, ($19) => $19.type === "Placeholder"), i14 = 0, len12 = ref25.length; i14 < len12; i14++) {
7791
- const exp = ref25[i14];
7852
+ for (let ref24 = gatherRecursiveAll(statements, ($19) => $19.type === "Placeholder"), i14 = 0, len12 = ref24.length; i14 < len12; i14++) {
7853
+ const exp = ref24[i14];
7792
7854
  let ancestor;
7793
7855
  if (exp.subtype === ".") {
7794
7856
  ({ ancestor } = findAncestor(
@@ -7900,8 +7962,8 @@ function processPlaceholders(statements) {
7900
7962
  for (let i15 = 0, len13 = placeholders.length; i15 < len13; i15++) {
7901
7963
  const placeholder = placeholders[i15];
7902
7964
  typeSuffix ??= placeholder.typeSuffix;
7903
- let ref26;
7904
- (ref26 = placeholder.children)[ref26.length - 1] = ref;
7965
+ let ref25;
7966
+ (ref25 = placeholder.children)[ref25.length - 1] = ref;
7905
7967
  }
7906
7968
  const { parent } = ancestor;
7907
7969
  const body = maybeUnwrap(ancestor);
@@ -7922,16 +7984,16 @@ function processPlaceholders(statements) {
7922
7984
  }
7923
7985
  case "PipelineExpression": {
7924
7986
  const i = findChildIndex(parent, ancestor);
7925
- let ref27;
7987
+ let ref26;
7926
7988
  if (i === 1) {
7927
- ref27 = ancestor === parent.children[i];
7989
+ ref26 = ancestor === parent.children[i];
7928
7990
  } else if (i === 2) {
7929
- ref27 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3];
7991
+ ref26 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3];
7930
7992
  } else {
7931
- ref27 = void 0;
7993
+ ref26 = void 0;
7932
7994
  }
7933
7995
  ;
7934
- outer = ref27;
7996
+ outer = ref26;
7935
7997
  break;
7936
7998
  }
7937
7999
  case "AssignmentExpression":
@@ -7946,9 +8008,9 @@ function processPlaceholders(statements) {
7946
8008
  fnExp = makeLeftHandSideExpression(fnExp);
7947
8009
  }
7948
8010
  replaceNode(ancestor, fnExp, parent);
7949
- let ref28;
7950
- if (ref28 = getTrimmingSpace(body)) {
7951
- const ws = ref28;
8011
+ let ref27;
8012
+ if (ref27 = getTrimmingSpace(body)) {
8013
+ const ws = ref27;
7952
8014
  inplaceInsertTrimmingSpace(body, "");
7953
8015
  inplacePrepend(ws, fnExp);
7954
8016
  }
@@ -7993,8 +8055,8 @@ function reorderBindingRestProperty(props) {
7993
8055
  }
7994
8056
  ];
7995
8057
  }
7996
- let ref29;
7997
- if (Array.isArray(rest.delim) && (ref29 = rest.delim)[ref29.length - 1]?.token === ",") {
8058
+ let ref28;
8059
+ if (Array.isArray(rest.delim) && (ref28 = rest.delim)[ref28.length - 1]?.token === ",") {
7998
8060
  rest.delim = rest.delim.slice(0, -1);
7999
8061
  rest.children = [...rest.children.slice(0, -1), rest.delim];
8000
8062
  }
@@ -8528,6 +8590,8 @@ var grammar = {
8528
8590
  StringLiteral,
8529
8591
  DoubleStringCharacters,
8530
8592
  SingleStringCharacters,
8593
+ TripleDoubleStringContents,
8594
+ CoffeeTripleDoubleStringCharacters,
8531
8595
  TripleDoubleStringCharacters,
8532
8596
  TripleSingleStringCharacters,
8533
8597
  CoffeeStringSubstitution,
@@ -9182,76 +9246,78 @@ var $R28 = (0, import_lib2.$R)(new RegExp("!\\^\\^?", "suy"));
9182
9246
  var $R29 = (0, import_lib2.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
9183
9247
  var $R30 = (0, import_lib2.$R)(new RegExp("[:.]", "suy"));
9184
9248
  var $R31 = (0, import_lib2.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
9185
- var $R32 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
9186
- var $R33 = (0, import_lib2.$R)(new RegExp('[^;"\\s=>]+', "suy"));
9187
- var $R34 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy"));
9188
- var $R35 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
9189
- var $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
9190
- var $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
9191
- var $R38 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
9192
- var $R39 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
9193
- var $R40 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
9194
- var $R41 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
9195
- var $R42 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
9196
- var $R43 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy"));
9197
- var $R44 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
9198
- var $R45 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
9199
- var $R46 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
9200
- var $R47 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
9201
- var $R48 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
9202
- var $R49 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
9203
- var $R50 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
9204
- var $R51 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy"));
9205
- var $R52 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy"));
9206
- var $R53 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
9207
- var $R54 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
9208
- var $R55 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
9209
- var $R56 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
9210
- var $R57 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
9211
- var $R58 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy"));
9212
- var $R59 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
9213
- var $R60 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
9214
- var $R61 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
9215
- var $R62 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
9216
- var $R63 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
9217
- var $R64 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
9218
- var $R65 = (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"));
9219
- var $R66 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy"));
9220
- var $R67 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
9221
- var $R68 = (0, import_lib2.$R)(new RegExp(".", "suy"));
9222
- var $R69 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
9223
- var $R70 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy"));
9224
- var $R71 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy"));
9225
- var $R72 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
9226
- var $R73 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
9227
- var $R74 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
9228
- var $R75 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
9229
- var $R76 = (0, import_lib2.$R)(new RegExp("[=:]", "suy"));
9230
- var $R77 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy"));
9231
- var $R78 = (0, import_lib2.$R)(new RegExp("\\s", "suy"));
9232
- var $R79 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy"));
9233
- var $R80 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
9234
- var $R81 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy"));
9235
- var $R82 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy"));
9236
- var $R83 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
9237
- var $R84 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
9238
- var $R85 = (0, import_lib2.$R)(new RegExp("[<>]", "suy"));
9239
- var $R86 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
9240
- var $R87 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
9241
- var $R88 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
9242
- var $R89 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy"));
9243
- var $R90 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy"));
9244
- var $R91 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
9245
- var $R92 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
9246
- var $R93 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy"));
9247
- var $R94 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy"));
9248
- var $R95 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy"));
9249
- var $R96 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy"));
9250
- var $R97 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
9251
- var $R98 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
9252
- var $R99 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
9253
- var $R100 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
9254
- var $R101 = (0, import_lib2.$R)(new RegExp("[^]*", "suy"));
9249
+ var $R32 = (0, import_lib2.$R)(new RegExp("(?:loop|while|until|for|do)(?!\\p{ID_Continue})", "suy"));
9250
+ var $R33 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
9251
+ var $R34 = (0, import_lib2.$R)(new RegExp('[^;"\\s=>]+', "suy"));
9252
+ var $R35 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy"));
9253
+ var $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
9254
+ var $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
9255
+ var $R38 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
9256
+ var $R39 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
9257
+ var $R40 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
9258
+ var $R41 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
9259
+ var $R42 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
9260
+ var $R43 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
9261
+ var $R44 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy"));
9262
+ var $R45 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
9263
+ var $R46 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
9264
+ var $R47 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
9265
+ var $R48 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
9266
+ var $R49 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
9267
+ var $R50 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
9268
+ var $R51 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
9269
+ var $R52 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
9270
+ var $R53 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy"));
9271
+ var $R54 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy"));
9272
+ var $R55 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
9273
+ var $R56 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]", "suy"));
9274
+ var $R57 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
9275
+ var $R58 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
9276
+ var $R59 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
9277
+ var $R60 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy"));
9278
+ var $R61 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
9279
+ var $R62 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
9280
+ var $R63 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
9281
+ var $R64 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
9282
+ var $R65 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
9283
+ var $R66 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
9284
+ 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"));
9285
+ var $R68 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy"));
9286
+ var $R69 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
9287
+ var $R70 = (0, import_lib2.$R)(new RegExp(".", "suy"));
9288
+ var $R71 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
9289
+ var $R72 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy"));
9290
+ var $R73 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy"));
9291
+ var $R74 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
9292
+ var $R75 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
9293
+ var $R76 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
9294
+ var $R77 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
9295
+ var $R78 = (0, import_lib2.$R)(new RegExp("[=:]", "suy"));
9296
+ var $R79 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy"));
9297
+ var $R80 = (0, import_lib2.$R)(new RegExp("\\s", "suy"));
9298
+ var $R81 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy"));
9299
+ var $R82 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
9300
+ var $R83 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy"));
9301
+ var $R84 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy"));
9302
+ var $R85 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
9303
+ var $R86 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
9304
+ var $R87 = (0, import_lib2.$R)(new RegExp("[<>]", "suy"));
9305
+ var $R88 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
9306
+ var $R89 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
9307
+ var $R90 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
9308
+ var $R91 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy"));
9309
+ var $R92 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy"));
9310
+ var $R93 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
9311
+ var $R94 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
9312
+ var $R95 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy"));
9313
+ var $R96 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy"));
9314
+ var $R97 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy"));
9315
+ var $R98 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy"));
9316
+ var $R99 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
9317
+ var $R100 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
9318
+ var $R101 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
9319
+ var $R102 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
9320
+ var $R103 = (0, import_lib2.$R)(new RegExp("[^]*", "suy"));
9255
9321
  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) {
9256
9322
  var reset = $1;
9257
9323
  var init = $2;
@@ -12761,7 +12827,8 @@ var RangeDots$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(DotDotDot), function(
12761
12827
  type: "RangeDots",
12762
12828
  left: { inclusive: true, raw: "" },
12763
12829
  right: { inclusive: false, raw: "." },
12764
- increasing: void 0,
12830
+ // Ranges are increasing by default, but adaptive in coffeeCompat mode
12831
+ increasing: config.coffeeRange ? void 0 : true,
12765
12832
  triple: true,
12766
12833
  children: []
12767
12834
  };
@@ -12772,7 +12839,7 @@ var RangeDots$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OptionalRangeEnd, (0,
12772
12839
  var dots = $3;
12773
12840
  var ws2 = $4;
12774
12841
  var right = $5;
12775
- const increasing = left.increasing ?? right.increasing;
12842
+ const increasing = left.increasing ?? right.increasing ?? (config.coffeeRange ? void 0 : true);
12776
12843
  if (left.increasing != null && right.increasing != null && left.increasing !== right.increasing) {
12777
12844
  const error = {
12778
12845
  type: "Error",
@@ -14438,10 +14505,12 @@ var LabelledStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Label, Labell
14438
14505
  function LabelledStatement(ctx, state2) {
14439
14506
  return (0, import_lib2.$EVENT)(ctx, state2, "LabelledStatement", LabelledStatement$0);
14440
14507
  }
14441
- var Label$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, Identifier, Whitespace), function($skip, $loc, $0, $1, $2, $3) {
14508
+ var Label$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, IdentifierName, Whitespace), function($skip, $loc, $0, $1, $2, $3) {
14442
14509
  var colon = $1;
14443
14510
  var id = $2;
14444
14511
  var w = $3;
14512
+ if (id.name === "void")
14513
+ return $skip;
14445
14514
  return {
14446
14515
  type: "Label",
14447
14516
  name: id.name,
@@ -14451,12 +14520,34 @@ var Label$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, Identifier, Whites
14451
14520
  function Label(ctx, state2) {
14452
14521
  return (0, import_lib2.$EVENT)(ctx, state2, "Label", Label$0);
14453
14522
  }
14454
- var LabelIdentifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$E)(Colon), Identifier), function(value) {
14455
- var id = value[1];
14456
- return id;
14523
+ var LabelIdentifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, IdentifierName), function($skip, $loc, $0, $1, $2) {
14524
+ var id = $2;
14525
+ return {
14526
+ type: "Label",
14527
+ name: id.name,
14528
+ children: [id]
14529
+ };
14530
+ });
14531
+ 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) {
14532
+ return {
14533
+ type: "Label",
14534
+ special: $0,
14535
+ name: "",
14536
+ // to be filled in
14537
+ children: []
14538
+ };
14457
14539
  });
14540
+ var LabelIdentifier$2 = (0, import_lib2.$TV)(Identifier, function($skip, $loc, $0, $1) {
14541
+ var id = $0;
14542
+ return {
14543
+ type: "Label",
14544
+ name: id.name,
14545
+ children: [id]
14546
+ };
14547
+ });
14548
+ var LabelIdentifier$$ = [LabelIdentifier$0, LabelIdentifier$1, LabelIdentifier$2];
14458
14549
  function LabelIdentifier(ctx, state2) {
14459
- return (0, import_lib2.$EVENT)(ctx, state2, "LabelIdentifier", LabelIdentifier$0);
14550
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "LabelIdentifier", LabelIdentifier$$);
14460
14551
  }
14461
14552
  var LabelledItem$0 = Statement;
14462
14553
  var LabelledItem$1 = FunctionDeclaration;
@@ -14540,7 +14631,7 @@ var IfClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)(If
14540
14631
  function IfClause(ctx, state2) {
14541
14632
  return (0, import_lib2.$EVENT)(ctx, state2, "IfClause", IfClause$0);
14542
14633
  }
14543
- 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) {
14634
+ 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) {
14544
14635
  return value[1];
14545
14636
  });
14546
14637
  function IterationStatement(ctx, state2) {
@@ -14581,7 +14672,7 @@ var LoopStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(LoopClause, Block
14581
14672
  var block = $2;
14582
14673
  return {
14583
14674
  ...clause,
14584
- type: "IterationStatement",
14675
+ //type: "IterationStatement", [from LoopClause]
14585
14676
  children: [...clause.children, block],
14586
14677
  block
14587
14678
  };
@@ -14604,7 +14695,7 @@ var LoopClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loop, (0, import_lib
14604
14695
  };
14605
14696
  return {
14606
14697
  type: "IterationStatement",
14607
- subtype: kind.token,
14698
+ subtype: "loop",
14608
14699
  children: [kind, condition],
14609
14700
  condition,
14610
14701
  generator
@@ -14621,8 +14712,8 @@ var DoWhileStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Do, (0, import
14621
14712
  var clause = $5;
14622
14713
  return {
14623
14714
  ...clause,
14624
- type: "IterationStatement",
14625
- subtype: "do-while",
14715
+ //type: "IterationStatement", [from WhileClause]
14716
+ subtype: `do-${clause.subtype}`,
14626
14717
  children: [d, block, ws, clause],
14627
14718
  block,
14628
14719
  generator
@@ -14680,13 +14771,14 @@ var WhileClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)
14680
14771
  var generator = $2;
14681
14772
  var ws = $3;
14682
14773
  var condition = $4;
14774
+ const subtype = kind.token;
14683
14775
  if (kind.negated) {
14684
14776
  kind = { ...kind, token: "while" };
14685
14777
  condition = negateCondition(condition);
14686
14778
  }
14687
14779
  return {
14688
14780
  type: "IterationStatement",
14689
- subtype: kind.token,
14781
+ subtype,
14690
14782
  children: [kind, ws, condition],
14691
14783
  condition,
14692
14784
  generator,
@@ -16143,7 +16235,7 @@ var UnprocessedModuleSpecifier$$ = [UnprocessedModuleSpecifier$0, UnprocessedMod
16143
16235
  function UnprocessedModuleSpecifier(ctx, state2) {
16144
16236
  return (0, import_lib2.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
16145
16237
  }
16146
- var UnquotedSpecifier$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($R33, 'UnquotedSpecifier /[^;"\\s=>]+/'), function($skip, $loc, $0, $1) {
16238
+ var UnquotedSpecifier$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($R34, 'UnquotedSpecifier /[^;"\\s=>]+/'), function($skip, $loc, $0, $1) {
16147
16239
  var spec = $0;
16148
16240
  return { $loc, token: `"${spec}"` };
16149
16241
  });
@@ -16416,7 +16508,7 @@ var VariableDeclarationList$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Lexical
16416
16508
  function VariableDeclarationList(ctx, state2) {
16417
16509
  return (0, import_lib2.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
16418
16510
  }
16419
- 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) {
16511
+ 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) {
16420
16512
  var token = $2;
16421
16513
  return { type: "NumericLiteral", $loc, token };
16422
16514
  });
@@ -16432,36 +16524,36 @@ var NumericLiteralKind$$ = [NumericLiteralKind$0, NumericLiteralKind$1, NumericL
16432
16524
  function NumericLiteralKind(ctx, state2) {
16433
16525
  return (0, import_lib2.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
16434
16526
  }
16435
- var DecimalBigIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R35, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
16527
+ var DecimalBigIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R36, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
16436
16528
  function DecimalBigIntegerLiteral(ctx, state2) {
16437
16529
  return (0, import_lib2.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
16438
16530
  }
16439
- 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) {
16531
+ 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) {
16440
16532
  return $1 + ".";
16441
16533
  });
16442
- 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)));
16443
- 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)));
16534
+ 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)));
16535
+ 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)));
16444
16536
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
16445
16537
  function DecimalLiteral(ctx, state2) {
16446
16538
  return (0, import_lib2.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
16447
16539
  }
16448
- var ExponentPart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R39, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
16540
+ var ExponentPart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R40, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
16449
16541
  function ExponentPart(ctx, state2) {
16450
16542
  return (0, import_lib2.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
16451
16543
  }
16452
- var BinaryIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R40, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
16544
+ var BinaryIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R41, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
16453
16545
  function BinaryIntegerLiteral(ctx, state2) {
16454
16546
  return (0, import_lib2.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
16455
16547
  }
16456
- var OctalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R41, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
16548
+ var OctalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R42, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
16457
16549
  function OctalIntegerLiteral(ctx, state2) {
16458
16550
  return (0, import_lib2.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
16459
16551
  }
16460
- 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?/"));
16552
+ 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?/"));
16461
16553
  function HexIntegerLiteral(ctx, state2) {
16462
16554
  return (0, import_lib2.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
16463
16555
  }
16464
- 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) {
16556
+ 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) {
16465
16557
  var token = $2;
16466
16558
  return { $loc, token };
16467
16559
  });
@@ -16477,7 +16569,7 @@ var IntegerLiteralKind$$ = [IntegerLiteralKind$0, IntegerLiteralKind$1, IntegerL
16477
16569
  function IntegerLiteralKind(ctx, state2) {
16478
16570
  return (0, import_lib2.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
16479
16571
  }
16480
- var DecimalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R44, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
16572
+ var DecimalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R45, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
16481
16573
  function DecimalIntegerLiteral(ctx, state2) {
16482
16574
  return (0, import_lib2.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
16483
16575
  }
@@ -16501,25 +16593,41 @@ var StringLiteral$$ = [StringLiteral$0, StringLiteral$1];
16501
16593
  function StringLiteral(ctx, state2) {
16502
16594
  return (0, import_lib2.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
16503
16595
  }
16504
- 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) {
16596
+ 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) {
16505
16597
  return { $loc, token: $0 };
16506
16598
  });
16507
16599
  function DoubleStringCharacters(ctx, state2) {
16508
16600
  return (0, import_lib2.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
16509
16601
  }
16510
- 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) {
16602
+ 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) {
16511
16603
  return { $loc, token: $0 };
16512
16604
  });
16513
16605
  function SingleStringCharacters(ctx, state2) {
16514
16606
  return (0, import_lib2.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
16515
16607
  }
16516
- var TripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R47, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16608
+ var TripleDoubleStringContents$0 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeInterpolationEnabled, (0, import_lib2.$Q)((0, import_lib2.$C)(CoffeeTripleDoubleStringCharacters, CoffeeStringSubstitution))), function(value) {
16609
+ return value[1];
16610
+ });
16611
+ var TripleDoubleStringContents$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$N)(CoffeeInterpolationEnabled), TripleDoubleStringCharacters), function(value) {
16612
+ return [value[1]];
16613
+ });
16614
+ var TripleDoubleStringContents$$ = [TripleDoubleStringContents$0, TripleDoubleStringContents$1];
16615
+ function TripleDoubleStringContents(ctx, state2) {
16616
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "TripleDoubleStringContents", TripleDoubleStringContents$$);
16617
+ }
16618
+ 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) {
16619
+ return { $loc, token: $0 };
16620
+ });
16621
+ function CoffeeTripleDoubleStringCharacters(ctx, state2) {
16622
+ return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeTripleDoubleStringCharacters", CoffeeTripleDoubleStringCharacters$0);
16623
+ }
16624
+ 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) {
16517
16625
  return { $loc, token: $0 };
16518
16626
  });
16519
16627
  function TripleDoubleStringCharacters(ctx, state2) {
16520
16628
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
16521
16629
  }
16522
- var TripleSingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R48, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16630
+ 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) {
16523
16631
  return { $loc, token: $0 };
16524
16632
  });
16525
16633
  function TripleSingleStringCharacters(ctx, state2) {
@@ -16542,7 +16650,7 @@ var CoffeeInterpolatedDoubleQuotedString$0 = (0, import_lib2.$TS)((0, import_lib
16542
16650
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
16543
16651
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
16544
16652
  }
16545
- var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R49, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16653
+ 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) {
16546
16654
  return { $loc, token: $0 };
16547
16655
  });
16548
16656
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -16562,7 +16670,7 @@ var RegularExpressionClass$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, i
16562
16670
  function RegularExpressionClass(ctx, state2) {
16563
16671
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
16564
16672
  }
16565
- var RegularExpressionClassCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R50, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16673
+ 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) {
16566
16674
  return { $loc, token: $0 };
16567
16675
  });
16568
16676
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -16613,13 +16721,13 @@ function HeregexBody(ctx, state2) {
16613
16721
  return (0, import_lib2.$EVENT)(ctx, state2, "HeregexBody", HeregexBody$0);
16614
16722
  }
16615
16723
  var HeregexPart$0 = RegularExpressionClass;
16616
- var HeregexPart$1 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeStringSubstitution), function(value) {
16617
- return { "type": "Substitution", "children": value[0] };
16724
+ var HeregexPart$1 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeInterpolationEnabled, CoffeeStringSubstitution), function(value) {
16725
+ return { "type": "Substitution", "children": value[1] };
16618
16726
  });
16619
16727
  var HeregexPart$2 = (0, import_lib2.$T)((0, import_lib2.$S)(TemplateSubstitution), function(value) {
16620
16728
  return { "type": "Substitution", "children": value[0] };
16621
16729
  });
16622
- var HeregexPart$3 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R51, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16730
+ 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) {
16623
16731
  let token = $0;
16624
16732
  switch ($0[1]) {
16625
16733
  case "\n":
@@ -16637,26 +16745,28 @@ var HeregexPart$3 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R51, "Heregex
16637
16745
  var HeregexPart$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(HeregexComment), function($skip, $loc, $0, $1) {
16638
16746
  return { $loc, token: "" };
16639
16747
  });
16640
- var HeregexPart$5 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R52, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16748
+ 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) {
16641
16749
  return { $loc, token: "" };
16642
16750
  });
16643
- var HeregexPart$6 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R53, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16751
+ 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) {
16644
16752
  return { $loc, token: "\\/" };
16645
16753
  });
16646
- var HeregexPart$7 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R54, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16754
+ 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) {
16647
16755
  return { $loc, token: $0 };
16648
16756
  });
16649
16757
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
16650
16758
  function HeregexPart(ctx, state2) {
16651
16759
  return (0, import_lib2.$EVENT_C)(ctx, state2, "HeregexPart", HeregexPart$$);
16652
16760
  }
16653
- var HeregexComment$0 = JSSingleLineComment;
16654
- var HeregexComment$1 = CoffeeSingleLineComment;
16761
+ var HeregexComment$0 = (0, import_lib2.$S)((0, import_lib2.$N)(CoffeeDivEnabled), JSSingleLineComment);
16762
+ var HeregexComment$1 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeCommentEnabled, CoffeeSingleLineComment), function(value) {
16763
+ return value[1];
16764
+ });
16655
16765
  var HeregexComment$$ = [HeregexComment$0, HeregexComment$1];
16656
16766
  function HeregexComment(ctx, state2) {
16657
16767
  return (0, import_lib2.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
16658
16768
  }
16659
- var RegularExpressionBody$0 = (0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R55, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib2.$Q)(RegExpPart));
16769
+ 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));
16660
16770
  function RegularExpressionBody(ctx, state2) {
16661
16771
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
16662
16772
  }
@@ -16666,15 +16776,15 @@ var RegExpPart$$ = [RegExpPart$0, RegExpPart$1];
16666
16776
  function RegExpPart(ctx, state2) {
16667
16777
  return (0, import_lib2.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
16668
16778
  }
16669
- var RegExpCharacter$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R56, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
16779
+ var RegExpCharacter$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R58, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
16670
16780
  function RegExpCharacter(ctx, state2) {
16671
16781
  return (0, import_lib2.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
16672
16782
  }
16673
- var RegularExpressionFlags$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R57, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
16783
+ var RegularExpressionFlags$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R59, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
16674
16784
  function RegularExpressionFlags(ctx, state2) {
16675
16785
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
16676
16786
  }
16677
- var TemplateLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R58, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
16787
+ var TemplateLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R60, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
16678
16788
  return value[1];
16679
16789
  });
16680
16790
  function TemplateLiteral(ctx, state2) {
@@ -16689,7 +16799,7 @@ var _TemplateLiteral$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Backtick, (0,
16689
16799
  children: $0
16690
16800
  };
16691
16801
  });
16692
- var _TemplateLiteral$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(TripleDoubleQuote, (0, import_lib2.$Q)((0, import_lib2.$C)(TripleDoubleStringCharacters, CoffeeStringSubstitution)), TripleDoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
16802
+ var _TemplateLiteral$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(TripleDoubleQuote, TripleDoubleStringContents, TripleDoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
16693
16803
  return dedentBlockSubstitutions($0, config.tab);
16694
16804
  });
16695
16805
  var _TemplateLiteral$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(TripleSingleQuote, TripleSingleStringCharacters, TripleSingleQuote), function($skip, $loc, $0, $1, $2, $3) {
@@ -16714,28 +16824,28 @@ var TemplateSubstitution$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Substituti
16714
16824
  function TemplateSubstitution(ctx, state2) {
16715
16825
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
16716
16826
  }
16717
- var TemplateCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R59, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16827
+ 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) {
16718
16828
  return { $loc, token: $0 };
16719
16829
  });
16720
16830
  function TemplateCharacters(ctx, state2) {
16721
16831
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
16722
16832
  }
16723
- var TemplateBlockCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R60, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16833
+ 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) {
16724
16834
  return { $loc, token: $0 };
16725
16835
  });
16726
16836
  function TemplateBlockCharacters(ctx, state2) {
16727
16837
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
16728
16838
  }
16729
- var ReservedWord$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R61, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
16730
- var ReservedWord$1 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R62, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
16731
- var ReservedWord$2 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R63, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
16732
- var ReservedWord$3 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R64, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
16733
- var ReservedWord$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R65, "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})/"));
16839
+ 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);
16840
+ var ReservedWord$1 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R64, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
16841
+ var ReservedWord$2 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R65, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
16842
+ var ReservedWord$3 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R66, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
16843
+ 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})/"));
16734
16844
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
16735
16845
  function ReservedWord(ctx, state2) {
16736
16846
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
16737
16847
  }
16738
- var Comment$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R66, "Comment /(?=\\/|#)/"), _Comment), function(value) {
16848
+ var Comment$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R68, "Comment /(?=\\/|#)/"), _Comment), function(value) {
16739
16849
  return value[1];
16740
16850
  });
16741
16851
  function Comment(ctx, state2) {
@@ -16753,7 +16863,7 @@ var SingleLineComment$$ = [SingleLineComment$0, SingleLineComment$1];
16753
16863
  function SingleLineComment(ctx, state2) {
16754
16864
  return (0, import_lib2.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
16755
16865
  }
16756
- var JSSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R67, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16866
+ 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) {
16757
16867
  return { type: "Comment", $loc, token: $0 };
16758
16868
  });
16759
16869
  function JSSingleLineComment(ctx, state2) {
@@ -16765,30 +16875,30 @@ var MultiLineComment$$ = [MultiLineComment$0, MultiLineComment$1];
16765
16875
  function MultiLineComment(ctx, state2) {
16766
16876
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
16767
16877
  }
16768
- 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)($R68, "JSMultiLineComment /./"))), (0, import_lib2.$EXPECT)($L139, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16878
+ 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) {
16769
16879
  return { type: "Comment", $loc, token: $1 };
16770
16880
  });
16771
16881
  function JSMultiLineComment(ctx, state2) {
16772
16882
  return (0, import_lib2.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
16773
16883
  }
16774
- var CoffeeSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R69, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16884
+ 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) {
16775
16885
  return { type: "Comment", $loc, token: `//${$1}` };
16776
16886
  });
16777
16887
  function CoffeeSingleLineComment(ctx, state2) {
16778
16888
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
16779
16889
  }
16780
- var CoffeeMultiLineComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeHereCommentStart, (0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R70, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
16890
+ 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) {
16781
16891
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
16782
16892
  return { type: "Comment", $loc, token: `/*${$2}*/` };
16783
16893
  });
16784
16894
  function CoffeeMultiLineComment(ctx, state2) {
16785
16895
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
16786
16896
  }
16787
- var CoffeeHereCommentStart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R71, "CoffeeHereCommentStart /###(?!#)/"));
16897
+ var CoffeeHereCommentStart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R73, "CoffeeHereCommentStart /###(?!#)/"));
16788
16898
  function CoffeeHereCommentStart(ctx, state2) {
16789
16899
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
16790
16900
  }
16791
- var InlineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R72, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16901
+ 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) {
16792
16902
  return { $loc, token: $0 };
16793
16903
  });
16794
16904
  function InlineComment(ctx, state2) {
@@ -16802,7 +16912,7 @@ var TrailingComment$0 = (0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_l
16802
16912
  function TrailingComment(ctx, state2) {
16803
16913
  return (0, import_lib2.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
16804
16914
  }
16805
- var _$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R73, "_ /(?=[ \\t\\/\\\\])/"), (0, import_lib2.$P)((0, import_lib2.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
16915
+ 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) {
16806
16916
  return value[1];
16807
16917
  });
16808
16918
  function _(ctx, state2) {
@@ -16825,7 +16935,7 @@ var Trimmed_$0 = (0, import_lib2.$TV)(_, function($skip, $loc, $0, $1) {
16825
16935
  function Trimmed_(ctx, state2) {
16826
16936
  return (0, import_lib2.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
16827
16937
  }
16828
- var __$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R74, "__ /(?=\\s|\\/|#)/"), (0, import_lib2.$Q)((0, import_lib2.$C)(Whitespace, Comment))), function(value) {
16938
+ 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) {
16829
16939
  return value[1];
16830
16940
  });
16831
16941
  var __$1 = (0, import_lib2.$EXPECT)($L0, '__ ""');
@@ -16833,7 +16943,7 @@ var __$$ = [__$0, __$1];
16833
16943
  function __(ctx, state2) {
16834
16944
  return (0, import_lib2.$EVENT_C)(ctx, state2, "__", __$$);
16835
16945
  }
16836
- var Whitespace$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R52, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16946
+ 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) {
16837
16947
  return { $loc, token: $0 };
16838
16948
  });
16839
16949
  function Whitespace(ctx, state2) {
@@ -16875,7 +16985,7 @@ var SemicolonDelimiter$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_l
16875
16985
  function SemicolonDelimiter(ctx, state2) {
16876
16986
  return (0, import_lib2.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
16877
16987
  }
16878
- var NonIdContinue$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R75, "NonIdContinue /(?!\\p{ID_Continue})/"));
16988
+ var NonIdContinue$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R77, "NonIdContinue /(?!\\p{ID_Continue})/"));
16879
16989
  function NonIdContinue(ctx, state2) {
16880
16990
  return (0, import_lib2.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
16881
16991
  }
@@ -16993,7 +17103,7 @@ var CoffeeSubstitutionStart$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L
16993
17103
  function CoffeeSubstitutionStart(ctx, state2) {
16994
17104
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
16995
17105
  }
16996
- 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)($R76, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
17106
+ 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) {
16997
17107
  return { $loc, token: $1 };
16998
17108
  });
16999
17109
  function Colon(ctx, state2) {
@@ -17044,7 +17154,7 @@ function Do(ctx, state2) {
17044
17154
  var Dot$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
17045
17155
  return { $loc, token: $1 };
17046
17156
  });
17047
- var Dot$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R77, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
17157
+ 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) {
17048
17158
  var ws = $2;
17049
17159
  return [
17050
17160
  { $loc, token: "." },
@@ -17177,7 +17287,7 @@ var If$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, i
17177
17287
  function If(ctx, state2) {
17178
17288
  return (0, import_lib2.$EVENT)(ctx, state2, "If", If$0);
17179
17289
  }
17180
- 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)($R78, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17290
+ 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) {
17181
17291
  return { $loc, token: $1 };
17182
17292
  });
17183
17293
  function Import(ctx, state2) {
@@ -17535,7 +17645,7 @@ var JSXImplicitFragment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(JSXTag, (0,
17535
17645
  function JSXImplicitFragment(ctx, state2) {
17536
17646
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
17537
17647
  }
17538
- var JSXTag$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R79, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
17648
+ var JSXTag$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R81, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
17539
17649
  return value[1];
17540
17650
  });
17541
17651
  function JSXTag(ctx, state2) {
@@ -17682,7 +17792,7 @@ var JSXElementName$$ = [JSXElementName$0, JSXElementName$1];
17682
17792
  function JSXElementName(ctx, state2) {
17683
17793
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
17684
17794
  }
17685
- var JSXIdentifierName$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R80, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
17795
+ var JSXIdentifierName$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R82, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
17686
17796
  function JSXIdentifierName(ctx, state2) {
17687
17797
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
17688
17798
  }
@@ -17864,7 +17974,7 @@ var JSXAttribute$6 = (0, import_lib2.$TS)((0, import_lib2.$S)(Dot, JSXShorthandS
17864
17974
  class: $2
17865
17975
  };
17866
17976
  });
17867
- var JSXAttribute$7 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R81, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib2.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
17977
+ 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) {
17868
17978
  var toggle = $1;
17869
17979
  var id = $2;
17870
17980
  const value = toggle === "+" ? "true" : "false";
@@ -17874,11 +17984,11 @@ var JSXAttribute$$ = [JSXAttribute$0, JSXAttribute$1, JSXAttribute$2, JSXAttribu
17874
17984
  function JSXAttribute(ctx, state2) {
17875
17985
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
17876
17986
  }
17877
- var JSXAttributeSpace$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R82, "JSXAttributeSpace /[\\s>]|\\/>/"));
17987
+ var JSXAttributeSpace$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R84, "JSXAttributeSpace /[\\s>]|\\/>/"));
17878
17988
  function JSXAttributeSpace(ctx, state2) {
17879
17989
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
17880
17990
  }
17881
- var JSXShorthandString$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R83, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
17991
+ 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) {
17882
17992
  return quoteString($0);
17883
17993
  });
17884
17994
  var JSXShorthandString$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -17921,7 +18031,7 @@ var JSXAttributeValue$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertInlineO
17921
18031
  }
17922
18032
  return [open, value, close];
17923
18033
  });
17924
- var JSXAttributeValue$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R84, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
18034
+ var JSXAttributeValue$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R86, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
17925
18035
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
17926
18036
  function JSXAttributeValue(ctx, state2) {
17927
18037
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
@@ -17934,7 +18044,7 @@ var InlineJSXAttributeValue$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(InlineJ
17934
18044
  function InlineJSXAttributeValue(ctx, state2) {
17935
18045
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
17936
18046
  }
17937
- var InlineJSXBinaryOpRHS$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($R85, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
18047
+ 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) {
17938
18048
  var op = $2;
17939
18049
  var rhs = $3;
17940
18050
  return [[], op, [], rhs];
@@ -17951,7 +18061,7 @@ var InlineJSXUnaryExpression$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, im
17951
18061
  function InlineJSXUnaryExpression(ctx, state2) {
17952
18062
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
17953
18063
  }
17954
- var InlineJSXUnaryOp$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R86, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18064
+ 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) {
17955
18065
  return { $loc, token: $0 };
17956
18066
  });
17957
18067
  function InlineJSXUnaryOp(ctx, state2) {
@@ -18202,13 +18312,13 @@ var JSXComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXP
18202
18312
  function JSXComment(ctx, state2) {
18203
18313
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
18204
18314
  }
18205
- var JSXCommentContent$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R87, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18315
+ 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) {
18206
18316
  return { $loc, token: $0.replace(/\*\//g, "* /") };
18207
18317
  });
18208
18318
  function JSXCommentContent(ctx, state2) {
18209
18319
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
18210
18320
  }
18211
- var JSXText$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R88, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18321
+ 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) {
18212
18322
  return {
18213
18323
  type: "JSXText",
18214
18324
  token: $0,
@@ -18742,7 +18852,7 @@ var TypeProperty$0 = (0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)
18742
18852
  function TypeProperty(ctx, state2) {
18743
18853
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
18744
18854
  }
18745
- var TypeIndexSignature$0 = (0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R89, "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)))));
18855
+ 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)))));
18746
18856
  function TypeIndexSignature(ctx, state2) {
18747
18857
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
18748
18858
  }
@@ -19251,7 +19361,7 @@ var TypeWithPostfix$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(TypeConditional
19251
19361
  function TypeWithPostfix(ctx, state2) {
19252
19362
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
19253
19363
  }
19254
- var TypeConditional$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($R90, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
19364
+ 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) {
19255
19365
  return prepend($1, expressionizeTypeIf($3));
19256
19366
  });
19257
19367
  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) {
@@ -19485,8 +19595,8 @@ function TypeApplicationStart(ctx, state2) {
19485
19595
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
19486
19596
  }
19487
19597
  var ForbiddenImplicitTypeCalls$0 = ReservedBinary;
19488
- var ForbiddenImplicitTypeCalls$1 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R91, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
19489
- var ForbiddenImplicitTypeCalls$2 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R92, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
19598
+ var ForbiddenImplicitTypeCalls$1 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R93, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
19599
+ var ForbiddenImplicitTypeCalls$2 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R94, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
19490
19600
  var ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
19491
19601
  function ForbiddenImplicitTypeCalls(ctx, state2) {
19492
19602
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
@@ -19577,7 +19687,7 @@ var TypeParameters$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenAngleBracket
19577
19687
  function TypeParameters(ctx, state2) {
19578
19688
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
19579
19689
  }
19580
- var TypeParameter$0 = (0, import_lib2.$S)(__, (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R93, "TypeParameter /const|in|out/")), _)), Identifier, (0, import_lib2.$E)(TypeConstraint), (0, import_lib2.$E)(TypeInitializer), TypeParameterDelimiter);
19690
+ 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);
19581
19691
  function TypeParameter(ctx, state2) {
19582
19692
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
19583
19693
  }
@@ -19604,15 +19714,15 @@ var ThisType$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$E)(_),
19604
19714
  function ThisType(ctx, state2) {
19605
19715
  return (0, import_lib2.$EVENT)(ctx, state2, "ThisType", ThisType$0);
19606
19716
  }
19607
- var Shebang$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R94, "Shebang /#![^\\r\\n]*/")), EOL);
19717
+ var Shebang$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R96, "Shebang /#![^\\r\\n]*/")), EOL);
19608
19718
  function Shebang(ctx, state2) {
19609
19719
  return (0, import_lib2.$EVENT)(ctx, state2, "Shebang", Shebang$0);
19610
19720
  }
19611
- var CivetPrologue$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R95, "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) {
19721
+ 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) {
19612
19722
  var content = value[2];
19613
19723
  return content;
19614
19724
  });
19615
- var CivetPrologue$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R95, "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) {
19725
+ 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) {
19616
19726
  var content = value[2];
19617
19727
  return content;
19618
19728
  });
@@ -19620,7 +19730,7 @@ var CivetPrologue$$ = [CivetPrologue$0, CivetPrologue$1];
19620
19730
  function CivetPrologue(ctx, state2) {
19621
19731
  return (0, import_lib2.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
19622
19732
  }
19623
- 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)($R96, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
19733
+ 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) {
19624
19734
  var options = $3;
19625
19735
  return {
19626
19736
  type: "CivetPrologue",
@@ -19631,7 +19741,7 @@ var CivetPrologueContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import
19631
19741
  function CivetPrologueContent(ctx, state2) {
19632
19742
  return (0, import_lib2.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
19633
19743
  }
19634
- var CivetOption$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R97, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
19744
+ 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) {
19635
19745
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
19636
19746
  if (l)
19637
19747
  return l.toUpperCase();
@@ -19654,11 +19764,11 @@ var CivetOption$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R97, "CivetOp
19654
19764
  function CivetOption(ctx, state2) {
19655
19765
  return (0, import_lib2.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
19656
19766
  }
19657
- var UnknownPrologue$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R95, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib2.$TEXT)(SimpleStatementDelimiter), EOS);
19767
+ 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);
19658
19768
  function UnknownPrologue(ctx, state2) {
19659
19769
  return (0, import_lib2.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
19660
19770
  }
19661
- var TripleSlashDirective$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R98, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib2.$E)(EOS));
19771
+ 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));
19662
19772
  function TripleSlashDirective(ctx, state2) {
19663
19773
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
19664
19774
  }
@@ -19674,13 +19784,13 @@ var PrologueString$$ = [PrologueString$0, PrologueString$1];
19674
19784
  function PrologueString(ctx, state2) {
19675
19785
  return (0, import_lib2.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
19676
19786
  }
19677
- var EOS$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R99, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib2.$P)(RestOfLine)), function(value) {
19787
+ 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) {
19678
19788
  return value[1];
19679
19789
  });
19680
19790
  function EOS(ctx, state2) {
19681
19791
  return (0, import_lib2.$EVENT)(ctx, state2, "EOS", EOS$0);
19682
19792
  }
19683
- var EOL$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R100, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
19793
+ 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) {
19684
19794
  return { $loc, token: $0 };
19685
19795
  });
19686
19796
  function EOL(ctx, state2) {
@@ -20008,6 +20118,7 @@ var Reset$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'Reset ""'), fu
20008
20118
  coffeeNot: false,
20009
20119
  coffeeOf: false,
20010
20120
  coffeePrototype: false,
20121
+ coffeeRange: false,
20011
20122
  defaultElement: "div",
20012
20123
  globals: [],
20013
20124
  iife: false,
@@ -20051,7 +20162,8 @@ var Reset$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'Reset ""'), fu
20051
20162
  "coffeeLineContinuation",
20052
20163
  "coffeeNot",
20053
20164
  "coffeeOf",
20054
- "coffeePrototype"
20165
+ "coffeePrototype",
20166
+ "coffeeRange"
20055
20167
  ]) {
20056
20168
  config[option] = b;
20057
20169
  }
@@ -20094,7 +20206,7 @@ var Prologue$0 = (0, import_lib2.$Q)((0, import_lib2.$C)(TripleSlashDirective, (
20094
20206
  function Prologue(ctx, state2) {
20095
20207
  return (0, import_lib2.$EVENT)(ctx, state2, "Prologue", Prologue$0);
20096
20208
  }
20097
- var ProloguePrefix$0 = (0, import_lib2.$S)(Prologue, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R101, "ProloguePrefix /[^]*/")));
20209
+ var ProloguePrefix$0 = (0, import_lib2.$S)(Prologue, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R103, "ProloguePrefix /[^]*/")));
20098
20210
  function ProloguePrefix(ctx, state2) {
20099
20211
  return (0, import_lib2.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
20100
20212
  }