@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.js CHANGED
@@ -62,7 +62,7 @@ var require_machine = __commonJS({
62
62
  $N: () => $N2,
63
63
  $P: () => $P2,
64
64
  $Q: () => $Q2,
65
- $R: () => $R102,
65
+ $R: () => $R104,
66
66
  $R$0: () => $R$02,
67
67
  $S: () => $S2,
68
68
  $T: () => $T2,
@@ -99,7 +99,7 @@ var require_machine = __commonJS({
99
99
  return;
100
100
  };
101
101
  }
102
- function $R102(regExp) {
102
+ function $R104(regExp) {
103
103
  return function(_ctx, state2) {
104
104
  const { input, pos } = state2;
105
105
  regExp.lastIndex = state2.pos;
@@ -1612,10 +1612,7 @@ function needsRef(expression, base = "ref") {
1612
1612
  return;
1613
1613
  }
1614
1614
  if (Array.isArray(expression)) {
1615
- const nonempty = ((s, e) => {
1616
- let step = e > s ? 1 : -1;
1617
- return Array.from({ length: Math.abs(e - s) }, (_2, i) => s + i * step);
1618
- })(0, expression.length).filter((i) => !isWhitespaceOrEmpty(expression[i]));
1615
+ const nonempty = ((s) => Array.from({ length: expression.length - s }, (_2, i) => s + i))(0).filter((i) => !isWhitespaceOrEmpty(expression[i]));
1619
1616
  if (nonempty.length === 1) {
1620
1617
  let ref1;
1621
1618
  if (ref1 = needsRef(expression[nonempty[0]], base)) {
@@ -2927,7 +2924,7 @@ function assignResults(node, collect) {
2927
2924
  return;
2928
2925
  }
2929
2926
  case "BlockStatement": {
2930
- if (node.expressions.some(isExit)) {
2927
+ if (exp.expressions.some(isExit)) {
2931
2928
  return;
2932
2929
  }
2933
2930
  assignResults(exp.expressions[exp.expressions.length - 1], collect);
@@ -2963,6 +2960,15 @@ function assignResults(node, collect) {
2963
2960
  }
2964
2961
  return;
2965
2962
  }
2963
+ case "PipelineExpression": {
2964
+ const semi2 = exp.children.lastIndexOf(";");
2965
+ if (0 <= semi2 && semi2 < exp.children.length - 1) {
2966
+ exp.children.splice(semi2 + 1, 1 / 0, ...[collect(exp.children.slice(semi2 + 1))]);
2967
+ return;
2968
+ }
2969
+ ;
2970
+ break;
2971
+ }
2966
2972
  }
2967
2973
  if (node[node.length - 1]?.type === "SemicolonDelimiter") {
2968
2974
  return;
@@ -3120,6 +3126,15 @@ function insertReturn(node) {
3120
3126
  }
3121
3127
  return;
3122
3128
  }
3129
+ case "PipelineExpression": {
3130
+ const semi2 = exp.children.lastIndexOf(";");
3131
+ if (0 <= semi2 && semi2 < exp.children.length - 1) {
3132
+ exp.children.splice(semi2 + 1, 1 / 0, ...[wrapWithReturn(exp.children.slice(semi2 + 1))]);
3133
+ return;
3134
+ }
3135
+ ;
3136
+ break;
3137
+ }
3123
3138
  }
3124
3139
  if (node[node.length - 1]?.type === "SemicolonDelimiter") {
3125
3140
  return;
@@ -3132,17 +3147,6 @@ function processBreakContinueWith(statement) {
3132
3147
  statement.block,
3133
3148
  ($3) => $3.type === "BreakStatement" || $3.type === "ContinueStatement"
3134
3149
  )) {
3135
- let controlName2 = function() {
3136
- switch (control.type) {
3137
- case "BreakStatement": {
3138
- return "break";
3139
- }
3140
- case "ContinueStatement": {
3141
- return "continue";
3142
- }
3143
- }
3144
- };
3145
- var controlName = controlName2;
3146
3150
  if (control.with) {
3147
3151
  if (control.label) {
3148
3152
  let m2;
@@ -3171,7 +3175,7 @@ function processBreakContinueWith(statement) {
3171
3175
  }
3172
3176
  const block = control.parent;
3173
3177
  if (!(block?.type === "BlockStatement")) {
3174
- throw new Error(`Expected parent of ${controlName2()} to be BlockStatement`);
3178
+ throw new Error(`Expected parent of ${control.type.toLowerCase().replace("statement", "")} to be BlockStatement`);
3175
3179
  }
3176
3180
  braceBlock(block);
3177
3181
  }
@@ -5492,8 +5496,10 @@ function processPipelineExpressions(statements) {
5492
5496
  gatherRecursiveAll(statements, (n) => n.type === "PipelineExpression").forEach((s) => {
5493
5497
  const [ws, , body] = s.children;
5494
5498
  let [, arg] = s.children;
5495
- let i = 0, l = body.length;
5499
+ let i = 0;
5500
+ const l = body.length;
5496
5501
  const children = [ws];
5502
+ const comma = blockContainingStatement(s) ? ";" : ",";
5497
5503
  let usingRef = null;
5498
5504
  for (let i1 = 0, len3 = body.length; i1 < len3; i1++) {
5499
5505
  const i2 = i1;
@@ -5517,7 +5523,7 @@ function processPipelineExpressions(statements) {
5517
5523
  usingRef = makeRef();
5518
5524
  initRef = {
5519
5525
  type: "AssignmentExpression",
5520
- children: [usingRef, " = ", arg, ","]
5526
+ children: [usingRef, " = ", arg, comma]
5521
5527
  };
5522
5528
  arg = {
5523
5529
  type: "MemberExpression",
@@ -5593,7 +5599,7 @@ function processPipelineExpressions(statements) {
5593
5599
  }
5594
5600
  if (returning) {
5595
5601
  arg = returning;
5596
- children.push(result, ",");
5602
+ children.push(result, comma);
5597
5603
  } else {
5598
5604
  arg = result;
5599
5605
  }
@@ -5746,7 +5752,7 @@ function processRangeExpression(start, ws1, range, end) {
5746
5752
  };
5747
5753
  }
5748
5754
  function forRange(open, forDeclaration, range, stepExp, close) {
5749
- const { start, end, left, right, increasing } = range;
5755
+ let { start, end, left, right, increasing } = range;
5750
5756
  const counterRef = makeRef("i");
5751
5757
  const infinite = typeof end === "object" && end != null && "type" in end && end.type === "Identifier" && "name" in end && end.name === "Infinity";
5752
5758
  let stepRef, asc;
@@ -5788,28 +5794,36 @@ function forRange(open, forDeclaration, range, stepExp, close) {
5788
5794
  let endRef = maybeRef(end, "end");
5789
5795
  const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
5790
5796
  const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
5791
- if (!left.inclusive) {
5792
- startRef = [
5793
- makeLeftHandSideExpression(start),
5794
- " + ",
5795
- stepRef
5796
- ];
5797
- }
5798
5797
  let ascDec = [], ascRef;
5799
5798
  if (stepExp) {
5800
5799
  if (!(stepRef === stepExp)) {
5801
5800
  ascDec = [", ", stepRef, " = ", stepExp];
5802
5801
  }
5803
- } else if (start?.type === "Literal" && "Literal" === end?.type) {
5802
+ }
5803
+ if (start?.type === "Literal" && "Literal" === end?.type) {
5804
5804
  asc = literalValue(start) <= literalValue(end);
5805
- if ("StringLiteral" === start.subtype && start.subtype === end.subtype) {
5806
- startRef = literalValue(start).charCodeAt(0).toString();
5805
+ let ref4;
5806
+ if ("StringLiteral" === (ref4 = start.subtype) && ref4 === end.subtype) {
5807
+ const startChar = literalValue(start).charCodeAt(0).toString();
5808
+ startRef = {
5809
+ type: "Literal",
5810
+ subtype: "NumericLiteral",
5811
+ raw: startChar,
5812
+ children: [startChar]
5813
+ };
5807
5814
  endRef = literalValue(end).charCodeAt(0).toString();
5808
5815
  }
5809
- } else {
5816
+ } else if (!stepExp) {
5810
5817
  ascRef = makeRef("asc");
5811
5818
  ascDec = [", ", ascRef, " = ", startRef, " <= ", endRef];
5812
5819
  }
5820
+ if (!left.inclusive) {
5821
+ startRef = [
5822
+ makeLeftHandSideExpression(startRef),
5823
+ " + ",
5824
+ stepRef
5825
+ ];
5826
+ }
5813
5827
  let varAssign = [], varLetAssign = varAssign, varLet = varAssign, blockPrefix;
5814
5828
  let names = forDeclaration?.names ?? [];
5815
5829
  if (forDeclaration != null) {
@@ -5821,7 +5835,7 @@ function forRange(open, forDeclaration, range, stepExp, close) {
5821
5835
  varAssign = [...trimFirstSpace(varName), " = "];
5822
5836
  varLet = [",", ...varName, " = ", counterRef];
5823
5837
  } else {
5824
- const value = "StringLiteral" === start.subtype ? ["String.fromCharCode(", counterRef, ")"] : counterRef;
5838
+ const value = "StringLiteral" === start?.subtype ? ["String.fromCharCode(", counterRef, ")"] : counterRef;
5825
5839
  blockPrefix = [
5826
5840
  ["", [forDeclaration, " = ", value], ";"]
5827
5841
  ];
@@ -5845,8 +5859,8 @@ function forRange(open, forDeclaration, range, stepExp, close) {
5845
5859
  }
5846
5860
  function processForInOf($0) {
5847
5861
  let [awaits, eachOwn, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
5848
- for (let ref4 = [declaration, declaration2?.[declaration2.length - 1]], i1 = 0, len3 = ref4.length; i1 < len3; i1++) {
5849
- const decl = ref4[i1];
5862
+ for (let ref5 = [declaration, declaration2?.[declaration2.length - 1]], i1 = 0, len3 = ref5.length; i1 < len3; i1++) {
5863
+ const decl = ref5[i1];
5850
5864
  if (!(decl != null)) {
5851
5865
  continue;
5852
5866
  }
@@ -7245,8 +7259,7 @@ function processAssignments(statements) {
7245
7259
  block = void 0;
7246
7260
  }
7247
7261
  }
7248
- let ref14;
7249
- if ($1.some(($8) => (ref14 = $8)[ref14.length - 1].special)) {
7262
+ if ($1.some(($8) => $8[$8.length - 1].special)) {
7250
7263
  if ($1.length !== 1)
7251
7264
  throw new Error("Only one assignment with id= is allowed");
7252
7265
  const [, lhs, , op] = $1[0];
@@ -7424,9 +7437,9 @@ function unchainOptionalMemberExpression(exp, ref, innerExp) {
7424
7437
  }
7425
7438
  j++;
7426
7439
  }
7427
- let ref15;
7428
- if (ref15 = conditions.length) {
7429
- const l = ref15;
7440
+ let ref14;
7441
+ if (ref14 = conditions.length) {
7442
+ const l = ref14;
7430
7443
  const cs = flatJoin(conditions, " && ");
7431
7444
  return {
7432
7445
  ...exp,
@@ -7462,8 +7475,8 @@ function attachPostfixStatementAsExpression(exp, post) {
7462
7475
  }
7463
7476
  function processTypes(node) {
7464
7477
  const results1 = [];
7465
- for (let ref16 = gatherRecursiveAll(node, ($11) => $11.type === "TypeUnary"), i8 = 0, len6 = ref16.length; i8 < len6; i8++) {
7466
- const unary = ref16[i8];
7478
+ for (let ref15 = gatherRecursiveAll(node, ($11) => $11.type === "TypeUnary"), i8 = 0, len6 = ref15.length; i8 < len6; i8++) {
7479
+ const unary = ref15[i8];
7467
7480
  let suffixIndex = unary.suffix.length - 1;
7468
7481
  const results2 = [];
7469
7482
  while (suffixIndex >= 0) {
@@ -7542,12 +7555,12 @@ function processTypes(node) {
7542
7555
  const outer = unary.suffix.splice(suffixIndex + 1, Infinity);
7543
7556
  const space = getTrimmingSpace(unary);
7544
7557
  inplaceInsertTrimmingSpace(unary, "");
7545
- let ref17;
7558
+ let ref16;
7546
7559
  if (unary.suffix.length)
7547
- ref17 = unary;
7560
+ ref16 = unary;
7548
7561
  else
7549
- ref17 = unary.t;
7550
- const t = ref17;
7562
+ ref16 = unary.t;
7563
+ const t = ref16;
7551
7564
  const arg = makeNode({
7552
7565
  type: "TypeArgument",
7553
7566
  ts: true,
@@ -7592,18 +7605,18 @@ function processTypes(node) {
7592
7605
  return results1;
7593
7606
  }
7594
7607
  function processStatementExpressions(statements) {
7595
- for (let ref18 = gatherRecursiveAll(statements, ($12) => $12.type === "StatementExpression"), i9 = 0, len7 = ref18.length; i9 < len7; i9++) {
7596
- const exp = ref18[i9];
7608
+ for (let ref17 = gatherRecursiveAll(statements, ($12) => $12.type === "StatementExpression"), i9 = 0, len7 = ref17.length; i9 < len7; i9++) {
7609
+ const exp = ref17[i9];
7597
7610
  const { maybe, statement } = exp;
7598
7611
  if ((maybe || statement.type === "ThrowStatement") && blockContainingStatement(exp)) {
7599
7612
  replaceNode(exp, statement);
7600
7613
  continue;
7601
7614
  }
7602
- let ref19;
7615
+ let ref18;
7603
7616
  switch (statement.type) {
7604
7617
  case "IfStatement": {
7605
- if (ref19 = expressionizeIfStatement(statement)) {
7606
- const expression = ref19;
7618
+ if (ref18 = expressionizeIfStatement(statement)) {
7619
+ const expression = ref18;
7607
7620
  replaceNode(statement, expression, exp);
7608
7621
  } else {
7609
7622
  replaceNode(statement, wrapIIFE([["", statement]]), exp);
@@ -7661,13 +7674,13 @@ function processNegativeIndexAccess(statements) {
7661
7674
  });
7662
7675
  }
7663
7676
  function processFinallyClauses(statements) {
7664
- for (let ref20 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len8 = ref20.length; i10 < len8; i10++) {
7665
- let f = ref20[i10];
7666
- let ref21;
7667
- if (!((ref21 = blockContainingStatement(f)) && typeof ref21 === "object" && "block" in ref21 && "index" in ref21)) {
7677
+ for (let ref19 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len8 = ref19.length; i10 < len8; i10++) {
7678
+ let f = ref19[i10];
7679
+ let ref20;
7680
+ if (!((ref20 = blockContainingStatement(f)) && typeof ref20 === "object" && "block" in ref20 && "index" in ref20)) {
7668
7681
  throw new Error("finally clause must be inside try statement or block");
7669
7682
  }
7670
- const { block, index } = ref21;
7683
+ const { block, index } = ref20;
7671
7684
  const indent = block.expressions[index][0];
7672
7685
  const expressions = block.expressions.slice(index + 1);
7673
7686
  const t = makeNode({
@@ -7690,6 +7703,54 @@ function processFinallyClauses(statements) {
7690
7703
  block.expressions.splice(index, 1 / 0, ...[tuple]);
7691
7704
  }
7692
7705
  }
7706
+ function processBreaksContinues(statements) {
7707
+ for (const control of gatherRecursive(
7708
+ statements,
7709
+ ($) => Boolean(
7710
+ ($.type === "BreakStatement" || $.type === "ContinueStatement") && $.label?.special
7711
+ )
7712
+ )) {
7713
+ const label = control.label;
7714
+ const special = label.special;
7715
+ const { ancestor } = findAncestor(
7716
+ control,
7717
+ ($) => {
7718
+ return special === "for" ? $.type === "ForStatement" : $.type === "IterationStatement" && $.subtype.startsWith(special);
7719
+ },
7720
+ // in particular, special = "do" matches "do-while" and "do-until"
7721
+ isFunction
7722
+ );
7723
+ if (!(ancestor != null)) {
7724
+ control.children.push({
7725
+ type: "Error",
7726
+ message: `No matching '${special}' iteration found above '${control.type.toLowerCase().replace("statement", "")} ${special}'`
7727
+ });
7728
+ continue;
7729
+ }
7730
+ let { parent } = ancestor;
7731
+ if (!(parent?.type === "LabelledStatement")) {
7732
+ const ref = makeRef(`_${special.replace("-", "_")}`);
7733
+ const label2 = makeNode({
7734
+ type: "Label",
7735
+ name: ref,
7736
+ children: [ref, ":"]
7737
+ });
7738
+ replaceNode(
7739
+ ancestor,
7740
+ makeNode({
7741
+ type: "LabelledStatement",
7742
+ label: label2,
7743
+ statement: ancestor,
7744
+ children: [label2, " ", ancestor]
7745
+ }),
7746
+ parent
7747
+ );
7748
+ parent = ancestor.parent;
7749
+ }
7750
+ label.children.push(label.name = parent.label.name);
7751
+ delete label.special;
7752
+ }
7753
+ }
7693
7754
  function processProgram(root) {
7694
7755
  const state2 = getState();
7695
7756
  const config2 = getConfig();
@@ -7720,6 +7781,7 @@ function processProgram(root) {
7720
7781
  processPatternMatching(statements);
7721
7782
  processIterationExpressions(statements);
7722
7783
  processFinallyClauses(statements);
7784
+ processBreaksContinues(statements);
7723
7785
  hoistRefDecs(statements);
7724
7786
  processFunctions(statements, config2);
7725
7787
  statements.unshift(...state2.prelude);
@@ -7747,8 +7809,8 @@ async function processProgramAsync(root) {
7747
7809
  function processRepl(root, rootIIFE) {
7748
7810
  const topBlock = gatherRecursive(rootIIFE, ($14) => $14.type === "BlockStatement")[0];
7749
7811
  let i = 0;
7750
- for (let ref22 = gatherRecursiveWithinFunction(topBlock, ($15) => $15.type === "Declaration"), i11 = 0, len9 = ref22.length; i11 < len9; i11++) {
7751
- const decl = ref22[i11];
7812
+ for (let ref21 = gatherRecursiveWithinFunction(topBlock, ($15) => $15.type === "Declaration"), i11 = 0, len9 = ref21.length; i11 < len9; i11++) {
7813
+ const decl = ref21[i11];
7752
7814
  if (!decl.names?.length) {
7753
7815
  continue;
7754
7816
  }
@@ -7761,8 +7823,8 @@ function processRepl(root, rootIIFE) {
7761
7823
  root.expressions.splice(i++, 0, ["", `var ${decl.names.join(",")}`, ";"]);
7762
7824
  }
7763
7825
  }
7764
- for (let ref23 = gatherRecursive(topBlock, ($16) => $16.type === "FunctionExpression"), i12 = 0, len10 = ref23.length; i12 < len10; i12++) {
7765
- const func = ref23[i12];
7826
+ for (let ref22 = gatherRecursive(topBlock, ($16) => $16.type === "FunctionExpression"), i12 = 0, len10 = ref22.length; i12 < len10; i12++) {
7827
+ const func = ref22[i12];
7766
7828
  if (func.name && func.parent?.type === "BlockStatement") {
7767
7829
  if (func.parent === topBlock) {
7768
7830
  replaceNode(func, void 0);
@@ -7774,8 +7836,8 @@ function processRepl(root, rootIIFE) {
7774
7836
  }
7775
7837
  }
7776
7838
  }
7777
- for (let ref24 = gatherRecursiveWithinFunction(topBlock, ($17) => $17.type === "ClassExpression"), i13 = 0, len11 = ref24.length; i13 < len11; i13++) {
7778
- const classExp = ref24[i13];
7839
+ for (let ref23 = gatherRecursiveWithinFunction(topBlock, ($17) => $17.type === "ClassExpression"), i13 = 0, len11 = ref23.length; i13 < len11; i13++) {
7840
+ const classExp = ref23[i13];
7779
7841
  let m8;
7780
7842
  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)) {
7781
7843
  classExp.children.unshift(classExp.name, "=");
@@ -7807,8 +7869,8 @@ function populateRefs(statements) {
7807
7869
  function processPlaceholders(statements) {
7808
7870
  const placeholderMap = /* @__PURE__ */ new Map();
7809
7871
  const liftedIfs = /* @__PURE__ */ new Set();
7810
- for (let ref25 = gatherRecursiveAll(statements, ($19) => $19.type === "Placeholder"), i14 = 0, len12 = ref25.length; i14 < len12; i14++) {
7811
- const exp = ref25[i14];
7872
+ for (let ref24 = gatherRecursiveAll(statements, ($19) => $19.type === "Placeholder"), i14 = 0, len12 = ref24.length; i14 < len12; i14++) {
7873
+ const exp = ref24[i14];
7812
7874
  let ancestor;
7813
7875
  if (exp.subtype === ".") {
7814
7876
  ({ ancestor } = findAncestor(
@@ -7920,8 +7982,8 @@ function processPlaceholders(statements) {
7920
7982
  for (let i15 = 0, len13 = placeholders.length; i15 < len13; i15++) {
7921
7983
  const placeholder = placeholders[i15];
7922
7984
  typeSuffix ??= placeholder.typeSuffix;
7923
- let ref26;
7924
- (ref26 = placeholder.children)[ref26.length - 1] = ref;
7985
+ let ref25;
7986
+ (ref25 = placeholder.children)[ref25.length - 1] = ref;
7925
7987
  }
7926
7988
  const { parent } = ancestor;
7927
7989
  const body = maybeUnwrap(ancestor);
@@ -7942,16 +8004,16 @@ function processPlaceholders(statements) {
7942
8004
  }
7943
8005
  case "PipelineExpression": {
7944
8006
  const i = findChildIndex(parent, ancestor);
7945
- let ref27;
8007
+ let ref26;
7946
8008
  if (i === 1) {
7947
- ref27 = ancestor === parent.children[i];
8009
+ ref26 = ancestor === parent.children[i];
7948
8010
  } else if (i === 2) {
7949
- ref27 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3];
8011
+ ref26 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3];
7950
8012
  } else {
7951
- ref27 = void 0;
8013
+ ref26 = void 0;
7952
8014
  }
7953
8015
  ;
7954
- outer = ref27;
8016
+ outer = ref26;
7955
8017
  break;
7956
8018
  }
7957
8019
  case "AssignmentExpression":
@@ -7966,9 +8028,9 @@ function processPlaceholders(statements) {
7966
8028
  fnExp = makeLeftHandSideExpression(fnExp);
7967
8029
  }
7968
8030
  replaceNode(ancestor, fnExp, parent);
7969
- let ref28;
7970
- if (ref28 = getTrimmingSpace(body)) {
7971
- const ws = ref28;
8031
+ let ref27;
8032
+ if (ref27 = getTrimmingSpace(body)) {
8033
+ const ws = ref27;
7972
8034
  inplaceInsertTrimmingSpace(body, "");
7973
8035
  inplacePrepend(ws, fnExp);
7974
8036
  }
@@ -8013,8 +8075,8 @@ function reorderBindingRestProperty(props) {
8013
8075
  }
8014
8076
  ];
8015
8077
  }
8016
- let ref29;
8017
- if (Array.isArray(rest.delim) && (ref29 = rest.delim)[ref29.length - 1]?.token === ",") {
8078
+ let ref28;
8079
+ if (Array.isArray(rest.delim) && (ref28 = rest.delim)[ref28.length - 1]?.token === ",") {
8018
8080
  rest.delim = rest.delim.slice(0, -1);
8019
8081
  rest.children = [...rest.children.slice(0, -1), rest.delim];
8020
8082
  }
@@ -8548,6 +8610,8 @@ var grammar = {
8548
8610
  StringLiteral,
8549
8611
  DoubleStringCharacters,
8550
8612
  SingleStringCharacters,
8613
+ TripleDoubleStringContents,
8614
+ CoffeeTripleDoubleStringCharacters,
8551
8615
  TripleDoubleStringCharacters,
8552
8616
  TripleSingleStringCharacters,
8553
8617
  CoffeeStringSubstitution,
@@ -9202,76 +9266,78 @@ var $R28 = (0, import_lib2.$R)(new RegExp("!\\^\\^?", "suy"));
9202
9266
  var $R29 = (0, import_lib2.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
9203
9267
  var $R30 = (0, import_lib2.$R)(new RegExp("[:.]", "suy"));
9204
9268
  var $R31 = (0, import_lib2.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
9205
- var $R32 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
9206
- var $R33 = (0, import_lib2.$R)(new RegExp('[^;"\\s=>]+', "suy"));
9207
- var $R34 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy"));
9208
- var $R35 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
9209
- var $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
9210
- var $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
9211
- var $R38 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
9212
- var $R39 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
9213
- var $R40 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
9214
- var $R41 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
9215
- var $R42 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
9216
- var $R43 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy"));
9217
- var $R44 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
9218
- var $R45 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
9219
- var $R46 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
9220
- var $R47 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
9221
- var $R48 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
9222
- var $R49 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
9223
- var $R50 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
9224
- var $R51 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy"));
9225
- var $R52 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy"));
9226
- var $R53 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
9227
- var $R54 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
9228
- var $R55 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
9229
- var $R56 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
9230
- var $R57 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
9231
- var $R58 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy"));
9232
- var $R59 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
9233
- var $R60 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
9234
- var $R61 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
9235
- var $R62 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
9236
- var $R63 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
9237
- var $R64 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
9238
- 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"));
9239
- var $R66 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy"));
9240
- var $R67 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
9241
- var $R68 = (0, import_lib2.$R)(new RegExp(".", "suy"));
9242
- var $R69 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
9243
- var $R70 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy"));
9244
- var $R71 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy"));
9245
- var $R72 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
9246
- var $R73 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
9247
- var $R74 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
9248
- var $R75 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
9249
- var $R76 = (0, import_lib2.$R)(new RegExp("[=:]", "suy"));
9250
- var $R77 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy"));
9251
- var $R78 = (0, import_lib2.$R)(new RegExp("\\s", "suy"));
9252
- var $R79 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy"));
9253
- var $R80 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
9254
- var $R81 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy"));
9255
- var $R82 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy"));
9256
- var $R83 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
9257
- var $R84 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
9258
- var $R85 = (0, import_lib2.$R)(new RegExp("[<>]", "suy"));
9259
- var $R86 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
9260
- var $R87 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
9261
- var $R88 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
9262
- var $R89 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy"));
9263
- var $R90 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy"));
9264
- var $R91 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
9265
- var $R92 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
9266
- var $R93 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy"));
9267
- var $R94 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy"));
9268
- var $R95 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy"));
9269
- var $R96 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy"));
9270
- var $R97 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
9271
- var $R98 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
9272
- var $R99 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
9273
- var $R100 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
9274
- var $R101 = (0, import_lib2.$R)(new RegExp("[^]*", "suy"));
9269
+ var $R32 = (0, import_lib2.$R)(new RegExp("(?:loop|while|until|for|do)(?!\\p{ID_Continue})", "suy"));
9270
+ var $R33 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
9271
+ var $R34 = (0, import_lib2.$R)(new RegExp('[^;"\\s=>]+', "suy"));
9272
+ var $R35 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy"));
9273
+ var $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
9274
+ var $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
9275
+ var $R38 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
9276
+ var $R39 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
9277
+ var $R40 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
9278
+ var $R41 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
9279
+ var $R42 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
9280
+ var $R43 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
9281
+ var $R44 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy"));
9282
+ var $R45 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
9283
+ var $R46 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
9284
+ var $R47 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
9285
+ var $R48 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
9286
+ var $R49 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
9287
+ var $R50 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
9288
+ var $R51 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
9289
+ var $R52 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
9290
+ var $R53 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy"));
9291
+ var $R54 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy"));
9292
+ var $R55 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
9293
+ var $R56 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]", "suy"));
9294
+ var $R57 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
9295
+ var $R58 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
9296
+ var $R59 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
9297
+ var $R60 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy"));
9298
+ var $R61 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
9299
+ var $R62 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
9300
+ var $R63 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
9301
+ var $R64 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
9302
+ var $R65 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
9303
+ var $R66 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
9304
+ 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"));
9305
+ var $R68 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy"));
9306
+ var $R69 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
9307
+ var $R70 = (0, import_lib2.$R)(new RegExp(".", "suy"));
9308
+ var $R71 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
9309
+ var $R72 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy"));
9310
+ var $R73 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy"));
9311
+ var $R74 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
9312
+ var $R75 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
9313
+ var $R76 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
9314
+ var $R77 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
9315
+ var $R78 = (0, import_lib2.$R)(new RegExp("[=:]", "suy"));
9316
+ var $R79 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy"));
9317
+ var $R80 = (0, import_lib2.$R)(new RegExp("\\s", "suy"));
9318
+ var $R81 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy"));
9319
+ var $R82 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
9320
+ var $R83 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy"));
9321
+ var $R84 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy"));
9322
+ var $R85 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
9323
+ var $R86 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
9324
+ var $R87 = (0, import_lib2.$R)(new RegExp("[<>]", "suy"));
9325
+ var $R88 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
9326
+ var $R89 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
9327
+ var $R90 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
9328
+ var $R91 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy"));
9329
+ var $R92 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy"));
9330
+ var $R93 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
9331
+ var $R94 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
9332
+ var $R95 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy"));
9333
+ var $R96 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy"));
9334
+ var $R97 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy"));
9335
+ var $R98 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy"));
9336
+ var $R99 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
9337
+ var $R100 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
9338
+ var $R101 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
9339
+ var $R102 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
9340
+ var $R103 = (0, import_lib2.$R)(new RegExp("[^]*", "suy"));
9275
9341
  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) {
9276
9342
  var reset = $1;
9277
9343
  var init = $2;
@@ -12781,7 +12847,8 @@ var RangeDots$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(DotDotDot), function(
12781
12847
  type: "RangeDots",
12782
12848
  left: { inclusive: true, raw: "" },
12783
12849
  right: { inclusive: false, raw: "." },
12784
- increasing: void 0,
12850
+ // Ranges are increasing by default, but adaptive in coffeeCompat mode
12851
+ increasing: config.coffeeRange ? void 0 : true,
12785
12852
  triple: true,
12786
12853
  children: []
12787
12854
  };
@@ -12792,7 +12859,7 @@ var RangeDots$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OptionalRangeEnd, (0,
12792
12859
  var dots = $3;
12793
12860
  var ws2 = $4;
12794
12861
  var right = $5;
12795
- const increasing = left.increasing ?? right.increasing;
12862
+ const increasing = left.increasing ?? right.increasing ?? (config.coffeeRange ? void 0 : true);
12796
12863
  if (left.increasing != null && right.increasing != null && left.increasing !== right.increasing) {
12797
12864
  const error = {
12798
12865
  type: "Error",
@@ -14458,10 +14525,12 @@ var LabelledStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Label, Labell
14458
14525
  function LabelledStatement(ctx, state2) {
14459
14526
  return (0, import_lib2.$EVENT)(ctx, state2, "LabelledStatement", LabelledStatement$0);
14460
14527
  }
14461
- var Label$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, Identifier, Whitespace), function($skip, $loc, $0, $1, $2, $3) {
14528
+ var Label$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, IdentifierName, Whitespace), function($skip, $loc, $0, $1, $2, $3) {
14462
14529
  var colon = $1;
14463
14530
  var id = $2;
14464
14531
  var w = $3;
14532
+ if (id.name === "void")
14533
+ return $skip;
14465
14534
  return {
14466
14535
  type: "Label",
14467
14536
  name: id.name,
@@ -14471,12 +14540,34 @@ var Label$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, Identifier, Whites
14471
14540
  function Label(ctx, state2) {
14472
14541
  return (0, import_lib2.$EVENT)(ctx, state2, "Label", Label$0);
14473
14542
  }
14474
- var LabelIdentifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$E)(Colon), Identifier), function(value) {
14475
- var id = value[1];
14476
- return id;
14543
+ var LabelIdentifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Colon, IdentifierName), function($skip, $loc, $0, $1, $2) {
14544
+ var id = $2;
14545
+ return {
14546
+ type: "Label",
14547
+ name: id.name,
14548
+ children: [id]
14549
+ };
14550
+ });
14551
+ 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) {
14552
+ return {
14553
+ type: "Label",
14554
+ special: $0,
14555
+ name: "",
14556
+ // to be filled in
14557
+ children: []
14558
+ };
14477
14559
  });
14560
+ var LabelIdentifier$2 = (0, import_lib2.$TV)(Identifier, function($skip, $loc, $0, $1) {
14561
+ var id = $0;
14562
+ return {
14563
+ type: "Label",
14564
+ name: id.name,
14565
+ children: [id]
14566
+ };
14567
+ });
14568
+ var LabelIdentifier$$ = [LabelIdentifier$0, LabelIdentifier$1, LabelIdentifier$2];
14478
14569
  function LabelIdentifier(ctx, state2) {
14479
- return (0, import_lib2.$EVENT)(ctx, state2, "LabelIdentifier", LabelIdentifier$0);
14570
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "LabelIdentifier", LabelIdentifier$$);
14480
14571
  }
14481
14572
  var LabelledItem$0 = Statement;
14482
14573
  var LabelledItem$1 = FunctionDeclaration;
@@ -14560,7 +14651,7 @@ var IfClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)(If
14560
14651
  function IfClause(ctx, state2) {
14561
14652
  return (0, import_lib2.$EVENT)(ctx, state2, "IfClause", IfClause$0);
14562
14653
  }
14563
- 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) {
14654
+ 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) {
14564
14655
  return value[1];
14565
14656
  });
14566
14657
  function IterationStatement(ctx, state2) {
@@ -14601,7 +14692,7 @@ var LoopStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(LoopClause, Block
14601
14692
  var block = $2;
14602
14693
  return {
14603
14694
  ...clause,
14604
- type: "IterationStatement",
14695
+ //type: "IterationStatement", [from LoopClause]
14605
14696
  children: [...clause.children, block],
14606
14697
  block
14607
14698
  };
@@ -14624,7 +14715,7 @@ var LoopClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loop, (0, import_lib
14624
14715
  };
14625
14716
  return {
14626
14717
  type: "IterationStatement",
14627
- subtype: kind.token,
14718
+ subtype: "loop",
14628
14719
  children: [kind, condition],
14629
14720
  condition,
14630
14721
  generator
@@ -14641,8 +14732,8 @@ var DoWhileStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Do, (0, import
14641
14732
  var clause = $5;
14642
14733
  return {
14643
14734
  ...clause,
14644
- type: "IterationStatement",
14645
- subtype: "do-while",
14735
+ //type: "IterationStatement", [from WhileClause]
14736
+ subtype: `do-${clause.subtype}`,
14646
14737
  children: [d, block, ws, clause],
14647
14738
  block,
14648
14739
  generator
@@ -14700,13 +14791,14 @@ var WhileClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)
14700
14791
  var generator = $2;
14701
14792
  var ws = $3;
14702
14793
  var condition = $4;
14794
+ const subtype = kind.token;
14703
14795
  if (kind.negated) {
14704
14796
  kind = { ...kind, token: "while" };
14705
14797
  condition = negateCondition(condition);
14706
14798
  }
14707
14799
  return {
14708
14800
  type: "IterationStatement",
14709
- subtype: kind.token,
14801
+ subtype,
14710
14802
  children: [kind, ws, condition],
14711
14803
  condition,
14712
14804
  generator,
@@ -16163,7 +16255,7 @@ var UnprocessedModuleSpecifier$$ = [UnprocessedModuleSpecifier$0, UnprocessedMod
16163
16255
  function UnprocessedModuleSpecifier(ctx, state2) {
16164
16256
  return (0, import_lib2.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
16165
16257
  }
16166
- var UnquotedSpecifier$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($R33, 'UnquotedSpecifier /[^;"\\s=>]+/'), function($skip, $loc, $0, $1) {
16258
+ var UnquotedSpecifier$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($R34, 'UnquotedSpecifier /[^;"\\s=>]+/'), function($skip, $loc, $0, $1) {
16167
16259
  var spec = $0;
16168
16260
  return { $loc, token: `"${spec}"` };
16169
16261
  });
@@ -16436,7 +16528,7 @@ var VariableDeclarationList$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Lexical
16436
16528
  function VariableDeclarationList(ctx, state2) {
16437
16529
  return (0, import_lib2.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
16438
16530
  }
16439
- 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) {
16531
+ 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) {
16440
16532
  var token = $2;
16441
16533
  return { type: "NumericLiteral", $loc, token };
16442
16534
  });
@@ -16452,36 +16544,36 @@ var NumericLiteralKind$$ = [NumericLiteralKind$0, NumericLiteralKind$1, NumericL
16452
16544
  function NumericLiteralKind(ctx, state2) {
16453
16545
  return (0, import_lib2.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
16454
16546
  }
16455
- var DecimalBigIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R35, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
16547
+ var DecimalBigIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R36, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
16456
16548
  function DecimalBigIntegerLiteral(ctx, state2) {
16457
16549
  return (0, import_lib2.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
16458
16550
  }
16459
- 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) {
16551
+ 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) {
16460
16552
  return $1 + ".";
16461
16553
  });
16462
- 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)));
16463
- 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)));
16554
+ 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)));
16555
+ 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)));
16464
16556
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
16465
16557
  function DecimalLiteral(ctx, state2) {
16466
16558
  return (0, import_lib2.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
16467
16559
  }
16468
- var ExponentPart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R39, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
16560
+ var ExponentPart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R40, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
16469
16561
  function ExponentPart(ctx, state2) {
16470
16562
  return (0, import_lib2.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
16471
16563
  }
16472
- var BinaryIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R40, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
16564
+ var BinaryIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R41, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
16473
16565
  function BinaryIntegerLiteral(ctx, state2) {
16474
16566
  return (0, import_lib2.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
16475
16567
  }
16476
- var OctalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R41, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
16568
+ var OctalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R42, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
16477
16569
  function OctalIntegerLiteral(ctx, state2) {
16478
16570
  return (0, import_lib2.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
16479
16571
  }
16480
- 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?/"));
16572
+ 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?/"));
16481
16573
  function HexIntegerLiteral(ctx, state2) {
16482
16574
  return (0, import_lib2.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
16483
16575
  }
16484
- 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) {
16576
+ 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) {
16485
16577
  var token = $2;
16486
16578
  return { $loc, token };
16487
16579
  });
@@ -16497,7 +16589,7 @@ var IntegerLiteralKind$$ = [IntegerLiteralKind$0, IntegerLiteralKind$1, IntegerL
16497
16589
  function IntegerLiteralKind(ctx, state2) {
16498
16590
  return (0, import_lib2.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
16499
16591
  }
16500
- var DecimalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R44, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
16592
+ var DecimalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R45, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
16501
16593
  function DecimalIntegerLiteral(ctx, state2) {
16502
16594
  return (0, import_lib2.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
16503
16595
  }
@@ -16521,25 +16613,41 @@ var StringLiteral$$ = [StringLiteral$0, StringLiteral$1];
16521
16613
  function StringLiteral(ctx, state2) {
16522
16614
  return (0, import_lib2.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
16523
16615
  }
16524
- 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) {
16616
+ 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) {
16525
16617
  return { $loc, token: $0 };
16526
16618
  });
16527
16619
  function DoubleStringCharacters(ctx, state2) {
16528
16620
  return (0, import_lib2.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
16529
16621
  }
16530
- 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) {
16622
+ 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) {
16531
16623
  return { $loc, token: $0 };
16532
16624
  });
16533
16625
  function SingleStringCharacters(ctx, state2) {
16534
16626
  return (0, import_lib2.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
16535
16627
  }
16536
- 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) {
16628
+ var TripleDoubleStringContents$0 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeInterpolationEnabled, (0, import_lib2.$Q)((0, import_lib2.$C)(CoffeeTripleDoubleStringCharacters, CoffeeStringSubstitution))), function(value) {
16629
+ return value[1];
16630
+ });
16631
+ var TripleDoubleStringContents$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$N)(CoffeeInterpolationEnabled), TripleDoubleStringCharacters), function(value) {
16632
+ return [value[1]];
16633
+ });
16634
+ var TripleDoubleStringContents$$ = [TripleDoubleStringContents$0, TripleDoubleStringContents$1];
16635
+ function TripleDoubleStringContents(ctx, state2) {
16636
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "TripleDoubleStringContents", TripleDoubleStringContents$$);
16637
+ }
16638
+ 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) {
16639
+ return { $loc, token: $0 };
16640
+ });
16641
+ function CoffeeTripleDoubleStringCharacters(ctx, state2) {
16642
+ return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeTripleDoubleStringCharacters", CoffeeTripleDoubleStringCharacters$0);
16643
+ }
16644
+ 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) {
16537
16645
  return { $loc, token: $0 };
16538
16646
  });
16539
16647
  function TripleDoubleStringCharacters(ctx, state2) {
16540
16648
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
16541
16649
  }
16542
- 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) {
16650
+ 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) {
16543
16651
  return { $loc, token: $0 };
16544
16652
  });
16545
16653
  function TripleSingleStringCharacters(ctx, state2) {
@@ -16562,7 +16670,7 @@ var CoffeeInterpolatedDoubleQuotedString$0 = (0, import_lib2.$TS)((0, import_lib
16562
16670
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
16563
16671
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
16564
16672
  }
16565
- 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) {
16673
+ 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) {
16566
16674
  return { $loc, token: $0 };
16567
16675
  });
16568
16676
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -16582,7 +16690,7 @@ var RegularExpressionClass$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, i
16582
16690
  function RegularExpressionClass(ctx, state2) {
16583
16691
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
16584
16692
  }
16585
- 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) {
16693
+ 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) {
16586
16694
  return { $loc, token: $0 };
16587
16695
  });
16588
16696
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -16633,13 +16741,13 @@ function HeregexBody(ctx, state2) {
16633
16741
  return (0, import_lib2.$EVENT)(ctx, state2, "HeregexBody", HeregexBody$0);
16634
16742
  }
16635
16743
  var HeregexPart$0 = RegularExpressionClass;
16636
- var HeregexPart$1 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeStringSubstitution), function(value) {
16637
- return { "type": "Substitution", "children": value[0] };
16744
+ var HeregexPart$1 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeInterpolationEnabled, CoffeeStringSubstitution), function(value) {
16745
+ return { "type": "Substitution", "children": value[1] };
16638
16746
  });
16639
16747
  var HeregexPart$2 = (0, import_lib2.$T)((0, import_lib2.$S)(TemplateSubstitution), function(value) {
16640
16748
  return { "type": "Substitution", "children": value[0] };
16641
16749
  });
16642
- 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) {
16750
+ 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) {
16643
16751
  let token = $0;
16644
16752
  switch ($0[1]) {
16645
16753
  case "\n":
@@ -16657,26 +16765,28 @@ var HeregexPart$3 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R51, "Heregex
16657
16765
  var HeregexPart$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(HeregexComment), function($skip, $loc, $0, $1) {
16658
16766
  return { $loc, token: "" };
16659
16767
  });
16660
- 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) {
16768
+ 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) {
16661
16769
  return { $loc, token: "" };
16662
16770
  });
16663
- 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) {
16771
+ 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) {
16664
16772
  return { $loc, token: "\\/" };
16665
16773
  });
16666
- 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) {
16774
+ 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) {
16667
16775
  return { $loc, token: $0 };
16668
16776
  });
16669
16777
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
16670
16778
  function HeregexPart(ctx, state2) {
16671
16779
  return (0, import_lib2.$EVENT_C)(ctx, state2, "HeregexPart", HeregexPart$$);
16672
16780
  }
16673
- var HeregexComment$0 = JSSingleLineComment;
16674
- var HeregexComment$1 = CoffeeSingleLineComment;
16781
+ var HeregexComment$0 = (0, import_lib2.$S)((0, import_lib2.$N)(CoffeeDivEnabled), JSSingleLineComment);
16782
+ var HeregexComment$1 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeCommentEnabled, CoffeeSingleLineComment), function(value) {
16783
+ return value[1];
16784
+ });
16675
16785
  var HeregexComment$$ = [HeregexComment$0, HeregexComment$1];
16676
16786
  function HeregexComment(ctx, state2) {
16677
16787
  return (0, import_lib2.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
16678
16788
  }
16679
- 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));
16789
+ 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));
16680
16790
  function RegularExpressionBody(ctx, state2) {
16681
16791
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
16682
16792
  }
@@ -16686,15 +16796,15 @@ var RegExpPart$$ = [RegExpPart$0, RegExpPart$1];
16686
16796
  function RegExpPart(ctx, state2) {
16687
16797
  return (0, import_lib2.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
16688
16798
  }
16689
- var RegExpCharacter$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R56, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
16799
+ var RegExpCharacter$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R58, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
16690
16800
  function RegExpCharacter(ctx, state2) {
16691
16801
  return (0, import_lib2.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
16692
16802
  }
16693
- var RegularExpressionFlags$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R57, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
16803
+ var RegularExpressionFlags$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R59, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
16694
16804
  function RegularExpressionFlags(ctx, state2) {
16695
16805
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
16696
16806
  }
16697
- var TemplateLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R58, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
16807
+ var TemplateLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R60, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
16698
16808
  return value[1];
16699
16809
  });
16700
16810
  function TemplateLiteral(ctx, state2) {
@@ -16709,7 +16819,7 @@ var _TemplateLiteral$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Backtick, (0,
16709
16819
  children: $0
16710
16820
  };
16711
16821
  });
16712
- 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) {
16822
+ var _TemplateLiteral$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(TripleDoubleQuote, TripleDoubleStringContents, TripleDoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
16713
16823
  return dedentBlockSubstitutions($0, config.tab);
16714
16824
  });
16715
16825
  var _TemplateLiteral$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(TripleSingleQuote, TripleSingleStringCharacters, TripleSingleQuote), function($skip, $loc, $0, $1, $2, $3) {
@@ -16734,28 +16844,28 @@ var TemplateSubstitution$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Substituti
16734
16844
  function TemplateSubstitution(ctx, state2) {
16735
16845
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
16736
16846
  }
16737
- 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) {
16847
+ 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) {
16738
16848
  return { $loc, token: $0 };
16739
16849
  });
16740
16850
  function TemplateCharacters(ctx, state2) {
16741
16851
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
16742
16852
  }
16743
- 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) {
16853
+ 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) {
16744
16854
  return { $loc, token: $0 };
16745
16855
  });
16746
16856
  function TemplateBlockCharacters(ctx, state2) {
16747
16857
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
16748
16858
  }
16749
- 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);
16750
- var ReservedWord$1 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R62, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
16751
- var ReservedWord$2 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R63, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
16752
- var ReservedWord$3 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R64, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
16753
- 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})/"));
16859
+ 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);
16860
+ var ReservedWord$1 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R64, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
16861
+ var ReservedWord$2 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R65, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
16862
+ var ReservedWord$3 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R66, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
16863
+ 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})/"));
16754
16864
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
16755
16865
  function ReservedWord(ctx, state2) {
16756
16866
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
16757
16867
  }
16758
- var Comment$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R66, "Comment /(?=\\/|#)/"), _Comment), function(value) {
16868
+ var Comment$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R68, "Comment /(?=\\/|#)/"), _Comment), function(value) {
16759
16869
  return value[1];
16760
16870
  });
16761
16871
  function Comment(ctx, state2) {
@@ -16773,7 +16883,7 @@ var SingleLineComment$$ = [SingleLineComment$0, SingleLineComment$1];
16773
16883
  function SingleLineComment(ctx, state2) {
16774
16884
  return (0, import_lib2.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
16775
16885
  }
16776
- 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) {
16886
+ 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) {
16777
16887
  return { type: "Comment", $loc, token: $0 };
16778
16888
  });
16779
16889
  function JSSingleLineComment(ctx, state2) {
@@ -16785,30 +16895,30 @@ var MultiLineComment$$ = [MultiLineComment$0, MultiLineComment$1];
16785
16895
  function MultiLineComment(ctx, state2) {
16786
16896
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
16787
16897
  }
16788
- 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) {
16898
+ 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) {
16789
16899
  return { type: "Comment", $loc, token: $1 };
16790
16900
  });
16791
16901
  function JSMultiLineComment(ctx, state2) {
16792
16902
  return (0, import_lib2.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
16793
16903
  }
16794
- 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) {
16904
+ 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) {
16795
16905
  return { type: "Comment", $loc, token: `//${$1}` };
16796
16906
  });
16797
16907
  function CoffeeSingleLineComment(ctx, state2) {
16798
16908
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
16799
16909
  }
16800
- 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) {
16910
+ 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) {
16801
16911
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
16802
16912
  return { type: "Comment", $loc, token: `/*${$2}*/` };
16803
16913
  });
16804
16914
  function CoffeeMultiLineComment(ctx, state2) {
16805
16915
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
16806
16916
  }
16807
- var CoffeeHereCommentStart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R71, "CoffeeHereCommentStart /###(?!#)/"));
16917
+ var CoffeeHereCommentStart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R73, "CoffeeHereCommentStart /###(?!#)/"));
16808
16918
  function CoffeeHereCommentStart(ctx, state2) {
16809
16919
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
16810
16920
  }
16811
- 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) {
16921
+ 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) {
16812
16922
  return { $loc, token: $0 };
16813
16923
  });
16814
16924
  function InlineComment(ctx, state2) {
@@ -16822,7 +16932,7 @@ var TrailingComment$0 = (0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_l
16822
16932
  function TrailingComment(ctx, state2) {
16823
16933
  return (0, import_lib2.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
16824
16934
  }
16825
- 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) {
16935
+ 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) {
16826
16936
  return value[1];
16827
16937
  });
16828
16938
  function _(ctx, state2) {
@@ -16845,7 +16955,7 @@ var Trimmed_$0 = (0, import_lib2.$TV)(_, function($skip, $loc, $0, $1) {
16845
16955
  function Trimmed_(ctx, state2) {
16846
16956
  return (0, import_lib2.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
16847
16957
  }
16848
- 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) {
16958
+ 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) {
16849
16959
  return value[1];
16850
16960
  });
16851
16961
  var __$1 = (0, import_lib2.$EXPECT)($L0, '__ ""');
@@ -16853,7 +16963,7 @@ var __$$ = [__$0, __$1];
16853
16963
  function __(ctx, state2) {
16854
16964
  return (0, import_lib2.$EVENT_C)(ctx, state2, "__", __$$);
16855
16965
  }
16856
- 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) {
16966
+ 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) {
16857
16967
  return { $loc, token: $0 };
16858
16968
  });
16859
16969
  function Whitespace(ctx, state2) {
@@ -16895,7 +17005,7 @@ var SemicolonDelimiter$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_l
16895
17005
  function SemicolonDelimiter(ctx, state2) {
16896
17006
  return (0, import_lib2.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
16897
17007
  }
16898
- var NonIdContinue$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R75, "NonIdContinue /(?!\\p{ID_Continue})/"));
17008
+ var NonIdContinue$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R77, "NonIdContinue /(?!\\p{ID_Continue})/"));
16899
17009
  function NonIdContinue(ctx, state2) {
16900
17010
  return (0, import_lib2.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
16901
17011
  }
@@ -17013,7 +17123,7 @@ var CoffeeSubstitutionStart$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L
17013
17123
  function CoffeeSubstitutionStart(ctx, state2) {
17014
17124
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
17015
17125
  }
17016
- 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) {
17126
+ 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) {
17017
17127
  return { $loc, token: $1 };
17018
17128
  });
17019
17129
  function Colon(ctx, state2) {
@@ -17064,7 +17174,7 @@ function Do(ctx, state2) {
17064
17174
  var Dot$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
17065
17175
  return { $loc, token: $1 };
17066
17176
  });
17067
- 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) {
17177
+ 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) {
17068
17178
  var ws = $2;
17069
17179
  return [
17070
17180
  { $loc, token: "." },
@@ -17197,7 +17307,7 @@ var If$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, i
17197
17307
  function If(ctx, state2) {
17198
17308
  return (0, import_lib2.$EVENT)(ctx, state2, "If", If$0);
17199
17309
  }
17200
- 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) {
17310
+ 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) {
17201
17311
  return { $loc, token: $1 };
17202
17312
  });
17203
17313
  function Import(ctx, state2) {
@@ -17555,7 +17665,7 @@ var JSXImplicitFragment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(JSXTag, (0,
17555
17665
  function JSXImplicitFragment(ctx, state2) {
17556
17666
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
17557
17667
  }
17558
- var JSXTag$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R79, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
17668
+ var JSXTag$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R81, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
17559
17669
  return value[1];
17560
17670
  });
17561
17671
  function JSXTag(ctx, state2) {
@@ -17702,7 +17812,7 @@ var JSXElementName$$ = [JSXElementName$0, JSXElementName$1];
17702
17812
  function JSXElementName(ctx, state2) {
17703
17813
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
17704
17814
  }
17705
- var JSXIdentifierName$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R80, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
17815
+ var JSXIdentifierName$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R82, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
17706
17816
  function JSXIdentifierName(ctx, state2) {
17707
17817
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
17708
17818
  }
@@ -17884,7 +17994,7 @@ var JSXAttribute$6 = (0, import_lib2.$TS)((0, import_lib2.$S)(Dot, JSXShorthandS
17884
17994
  class: $2
17885
17995
  };
17886
17996
  });
17887
- 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) {
17997
+ 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) {
17888
17998
  var toggle = $1;
17889
17999
  var id = $2;
17890
18000
  const value = toggle === "+" ? "true" : "false";
@@ -17894,11 +18004,11 @@ var JSXAttribute$$ = [JSXAttribute$0, JSXAttribute$1, JSXAttribute$2, JSXAttribu
17894
18004
  function JSXAttribute(ctx, state2) {
17895
18005
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
17896
18006
  }
17897
- var JSXAttributeSpace$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R82, "JSXAttributeSpace /[\\s>]|\\/>/"));
18007
+ var JSXAttributeSpace$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R84, "JSXAttributeSpace /[\\s>]|\\/>/"));
17898
18008
  function JSXAttributeSpace(ctx, state2) {
17899
18009
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
17900
18010
  }
17901
- 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) {
18011
+ 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) {
17902
18012
  return quoteString($0);
17903
18013
  });
17904
18014
  var JSXShorthandString$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -17941,7 +18051,7 @@ var JSXAttributeValue$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertInlineO
17941
18051
  }
17942
18052
  return [open, value, close];
17943
18053
  });
17944
- var JSXAttributeValue$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R84, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
18054
+ var JSXAttributeValue$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R86, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
17945
18055
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
17946
18056
  function JSXAttributeValue(ctx, state2) {
17947
18057
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
@@ -17954,7 +18064,7 @@ var InlineJSXAttributeValue$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(InlineJ
17954
18064
  function InlineJSXAttributeValue(ctx, state2) {
17955
18065
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
17956
18066
  }
17957
- 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) {
18067
+ 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) {
17958
18068
  var op = $2;
17959
18069
  var rhs = $3;
17960
18070
  return [[], op, [], rhs];
@@ -17971,7 +18081,7 @@ var InlineJSXUnaryExpression$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, im
17971
18081
  function InlineJSXUnaryExpression(ctx, state2) {
17972
18082
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
17973
18083
  }
17974
- 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) {
18084
+ 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) {
17975
18085
  return { $loc, token: $0 };
17976
18086
  });
17977
18087
  function InlineJSXUnaryOp(ctx, state2) {
@@ -18222,13 +18332,13 @@ var JSXComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXP
18222
18332
  function JSXComment(ctx, state2) {
18223
18333
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
18224
18334
  }
18225
- 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) {
18335
+ 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) {
18226
18336
  return { $loc, token: $0.replace(/\*\//g, "* /") };
18227
18337
  });
18228
18338
  function JSXCommentContent(ctx, state2) {
18229
18339
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
18230
18340
  }
18231
- 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) {
18341
+ 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) {
18232
18342
  return {
18233
18343
  type: "JSXText",
18234
18344
  token: $0,
@@ -18762,7 +18872,7 @@ var TypeProperty$0 = (0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)
18762
18872
  function TypeProperty(ctx, state2) {
18763
18873
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
18764
18874
  }
18765
- 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)))));
18875
+ 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)))));
18766
18876
  function TypeIndexSignature(ctx, state2) {
18767
18877
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
18768
18878
  }
@@ -19271,7 +19381,7 @@ var TypeWithPostfix$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(TypeConditional
19271
19381
  function TypeWithPostfix(ctx, state2) {
19272
19382
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
19273
19383
  }
19274
- 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) {
19384
+ 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) {
19275
19385
  return prepend($1, expressionizeTypeIf($3));
19276
19386
  });
19277
19387
  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) {
@@ -19505,8 +19615,8 @@ function TypeApplicationStart(ctx, state2) {
19505
19615
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
19506
19616
  }
19507
19617
  var ForbiddenImplicitTypeCalls$0 = ReservedBinary;
19508
- var ForbiddenImplicitTypeCalls$1 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R91, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
19509
- var ForbiddenImplicitTypeCalls$2 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R92, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
19618
+ var ForbiddenImplicitTypeCalls$1 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R93, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
19619
+ var ForbiddenImplicitTypeCalls$2 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R94, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
19510
19620
  var ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
19511
19621
  function ForbiddenImplicitTypeCalls(ctx, state2) {
19512
19622
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
@@ -19597,7 +19707,7 @@ var TypeParameters$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenAngleBracket
19597
19707
  function TypeParameters(ctx, state2) {
19598
19708
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
19599
19709
  }
19600
- 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);
19710
+ 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);
19601
19711
  function TypeParameter(ctx, state2) {
19602
19712
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
19603
19713
  }
@@ -19624,15 +19734,15 @@ var ThisType$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$E)(_),
19624
19734
  function ThisType(ctx, state2) {
19625
19735
  return (0, import_lib2.$EVENT)(ctx, state2, "ThisType", ThisType$0);
19626
19736
  }
19627
- var Shebang$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R94, "Shebang /#![^\\r\\n]*/")), EOL);
19737
+ var Shebang$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R96, "Shebang /#![^\\r\\n]*/")), EOL);
19628
19738
  function Shebang(ctx, state2) {
19629
19739
  return (0, import_lib2.$EVENT)(ctx, state2, "Shebang", Shebang$0);
19630
19740
  }
19631
- 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) {
19741
+ 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) {
19632
19742
  var content = value[2];
19633
19743
  return content;
19634
19744
  });
19635
- 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) {
19745
+ 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) {
19636
19746
  var content = value[2];
19637
19747
  return content;
19638
19748
  });
@@ -19640,7 +19750,7 @@ var CivetPrologue$$ = [CivetPrologue$0, CivetPrologue$1];
19640
19750
  function CivetPrologue(ctx, state2) {
19641
19751
  return (0, import_lib2.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
19642
19752
  }
19643
- 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) {
19753
+ 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) {
19644
19754
  var options = $3;
19645
19755
  return {
19646
19756
  type: "CivetPrologue",
@@ -19651,7 +19761,7 @@ var CivetPrologueContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import
19651
19761
  function CivetPrologueContent(ctx, state2) {
19652
19762
  return (0, import_lib2.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
19653
19763
  }
19654
- 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) {
19764
+ 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) {
19655
19765
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
19656
19766
  if (l)
19657
19767
  return l.toUpperCase();
@@ -19674,11 +19784,11 @@ var CivetOption$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R97, "CivetOp
19674
19784
  function CivetOption(ctx, state2) {
19675
19785
  return (0, import_lib2.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
19676
19786
  }
19677
- 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);
19787
+ 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);
19678
19788
  function UnknownPrologue(ctx, state2) {
19679
19789
  return (0, import_lib2.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
19680
19790
  }
19681
- 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));
19791
+ 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));
19682
19792
  function TripleSlashDirective(ctx, state2) {
19683
19793
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
19684
19794
  }
@@ -19694,13 +19804,13 @@ var PrologueString$$ = [PrologueString$0, PrologueString$1];
19694
19804
  function PrologueString(ctx, state2) {
19695
19805
  return (0, import_lib2.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
19696
19806
  }
19697
- 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) {
19807
+ 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) {
19698
19808
  return value[1];
19699
19809
  });
19700
19810
  function EOS(ctx, state2) {
19701
19811
  return (0, import_lib2.$EVENT)(ctx, state2, "EOS", EOS$0);
19702
19812
  }
19703
- 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) {
19813
+ 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) {
19704
19814
  return { $loc, token: $0 };
19705
19815
  });
19706
19816
  function EOL(ctx, state2) {
@@ -20028,6 +20138,7 @@ var Reset$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'Reset ""'), fu
20028
20138
  coffeeNot: false,
20029
20139
  coffeeOf: false,
20030
20140
  coffeePrototype: false,
20141
+ coffeeRange: false,
20031
20142
  defaultElement: "div",
20032
20143
  globals: [],
20033
20144
  iife: false,
@@ -20071,7 +20182,8 @@ var Reset$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'Reset ""'), fu
20071
20182
  "coffeeLineContinuation",
20072
20183
  "coffeeNot",
20073
20184
  "coffeeOf",
20074
- "coffeePrototype"
20185
+ "coffeePrototype",
20186
+ "coffeeRange"
20075
20187
  ]) {
20076
20188
  config[option] = b;
20077
20189
  }
@@ -20114,7 +20226,7 @@ var Prologue$0 = (0, import_lib2.$Q)((0, import_lib2.$C)(TripleSlashDirective, (
20114
20226
  function Prologue(ctx, state2) {
20115
20227
  return (0, import_lib2.$EVENT)(ctx, state2, "Prologue", Prologue$0);
20116
20228
  }
20117
- var ProloguePrefix$0 = (0, import_lib2.$S)(Prologue, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R101, "ProloguePrefix /[^]*/")));
20229
+ var ProloguePrefix$0 = (0, import_lib2.$S)(Prologue, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R103, "ProloguePrefix /[^]*/")));
20118
20230
  function ProloguePrefix(ctx, state2) {
20119
20231
  return (0, import_lib2.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
20120
20232
  }