@danielx/civet 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -424,7 +424,7 @@ var Civet = (() => {
424
424
  YieldExpression,
425
425
  ArrowFunction,
426
426
  FatArrow,
427
- ConciseBody,
427
+ FatArrowBody,
428
428
  ConditionalExpression,
429
429
  ShortCircuitExpression,
430
430
  PrimaryExpression,
@@ -473,7 +473,6 @@ var Civet = (() => {
473
473
  BracedOrEmptyBlock,
474
474
  BracedBlock,
475
475
  SingleNestedExpression,
476
- SingleNestedBlockStatement,
477
476
  NestedBlockExpressions,
478
477
  BlockExpression,
479
478
  Literal,
@@ -558,6 +557,7 @@ var Civet = (() => {
558
557
  ImportSpecifier,
559
558
  ModuleExportName,
560
559
  ModuleSpecifier,
560
+ UnquotedSpecifier,
561
561
  ImportedBinding,
562
562
  ExportDeclaration,
563
563
  As,
@@ -685,11 +685,11 @@ var Civet = (() => {
685
685
  var $L10 = $L("*");
686
686
  var $L11 = $L("=>");
687
687
  var $L12 = $L("{");
688
- var $L13 = $L(":");
689
- var $L14 = $L("class");
690
- var $L15 = $L("<");
691
- var $L16 = $L("extends");
692
- var $L17 = $L("}");
688
+ var $L13 = $L("}");
689
+ var $L14 = $L(":");
690
+ var $L15 = $L("class");
691
+ var $L16 = $L("<");
692
+ var $L17 = $L("extends");
693
693
  var $L18 = $L("static");
694
694
  var $L19 = $L("this");
695
695
  var $L20 = $L("#");
@@ -810,39 +810,41 @@ var Civet = (() => {
810
810
  var $R0 = $R(new RegExp("(of)(?!\\p{ID_Continue})", "suy"));
811
811
  var $R1 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
812
812
  var $R2 = $R(new RegExp("[!~+-]", "suy"));
813
- var $R3 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
814
- var $R4 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
815
- var $R5 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
816
- var $R6 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
817
- var $R7 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
818
- var $R8 = $R(new RegExp('(?:\\\\.|[^"])+', "suy"));
819
- var $R9 = $R(new RegExp("(?:\\\\.|[^'])+", "suy"));
820
- var $R10 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
821
- var $R11 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])+", "suy"));
822
- var $R12 = $R(new RegExp("[^*\\/\\r\\n]", "suy"));
823
- var $R13 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
824
- var $R14 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
825
- var $R15 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
826
- var $R16 = $R(new RegExp("(?:and|as|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|new|null|or|return|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
827
- var $R17 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
828
- var $R18 = $R(new RegExp(".", "suy"));
829
- var $R19 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
830
- var $R20 = $R(new RegExp("[^\\r\\n]", "suy"));
831
- var $R21 = $R(new RegExp("[\\t ]+", "suy"));
832
- var $R22 = $R(new RegExp("[\\s]+", "suy"));
833
- var $R23 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
834
- var $R24 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
835
- var $R25 = $R(new RegExp('"[^"]*"', "suy"));
836
- var $R26 = $R(new RegExp("'[^']*'", "suy"));
837
- var $R27 = $R(new RegExp("[^{}<>]+", "suy"));
838
- var $R28 = $R(new RegExp("type(?!\\p{ID_Continue})", "suy"));
839
- var $R29 = $R(new RegExp("interface(?!\\p{ID_Continue})", "suy"));
840
- var $R30 = $R(new RegExp("[+-]?", "suy"));
841
- var $R31 = $R(new RegExp("[+-]", "suy"));
842
- var $R32 = $R(new RegExp("#![^\\r\\n]*", "suy"));
843
- var $R33 = $R(new RegExp("[\\t ]*", "suy"));
844
- var $R34 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
845
- var $R35 = $R(new RegExp("$", "suy"));
813
+ var $R3 = $R(new RegExp("\\s", "suy"));
814
+ var $R4 = $R(new RegExp('[^"\\s]+', "suy"));
815
+ var $R5 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
816
+ var $R6 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
817
+ var $R7 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
818
+ var $R8 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
819
+ var $R9 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
820
+ var $R10 = $R(new RegExp('(?:\\\\.|[^"])+', "suy"));
821
+ var $R11 = $R(new RegExp("(?:\\\\.|[^'])+", "suy"));
822
+ var $R12 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
823
+ var $R13 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])+", "suy"));
824
+ var $R14 = $R(new RegExp("[^*\\/\\r\\n]", "suy"));
825
+ var $R15 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
826
+ var $R16 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
827
+ var $R17 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
828
+ var $R18 = $R(new RegExp("(?:and|as|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|new|null|or|return|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
829
+ var $R19 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
830
+ var $R20 = $R(new RegExp(".", "suy"));
831
+ var $R21 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
832
+ var $R22 = $R(new RegExp("[^\\r\\n]", "suy"));
833
+ var $R23 = $R(new RegExp("[\\t ]+", "suy"));
834
+ var $R24 = $R(new RegExp("[\\s]+", "suy"));
835
+ var $R25 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
836
+ var $R26 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
837
+ var $R27 = $R(new RegExp('"[^"]*"', "suy"));
838
+ var $R28 = $R(new RegExp("'[^']*'", "suy"));
839
+ var $R29 = $R(new RegExp("[^{}<>]+", "suy"));
840
+ var $R30 = $R(new RegExp("type(?!\\p{ID_Continue})", "suy"));
841
+ var $R31 = $R(new RegExp("interface(?!\\p{ID_Continue})", "suy"));
842
+ var $R32 = $R(new RegExp("[+-]?", "suy"));
843
+ var $R33 = $R(new RegExp("[+-]", "suy"));
844
+ var $R34 = $R(new RegExp("#![^\\r\\n]*", "suy"));
845
+ var $R35 = $R(new RegExp("[\\t ]*", "suy"));
846
+ var $R36 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
847
+ var $R37 = $R(new RegExp("$", "suy"));
846
848
  var Program$0 = $S(Init, __, $Q(TopLevelStatement), __);
847
849
  function Program(state) {
848
850
  if (state.verbose)
@@ -1029,7 +1031,7 @@ var Civet = (() => {
1029
1031
  }
1030
1032
  }
1031
1033
  var ArrowFunction$0 = ThinArrowFunction;
1032
- var ArrowFunction$1 = $S(Parameters, $E(ReturnTypeSuffix), FatArrow, ConciseBody);
1034
+ var ArrowFunction$1 = $S(Parameters, $E(ReturnTypeSuffix), FatArrow, FatArrowBody);
1033
1035
  function ArrowFunction(state) {
1034
1036
  if (state.tokenize) {
1035
1037
  return $TOKEN("ArrowFunction", state, ArrowFunction$0(state) || ArrowFunction$1(state));
@@ -1052,17 +1054,27 @@ var Civet = (() => {
1052
1054
  return FatArrow$0(state);
1053
1055
  }
1054
1056
  }
1055
- var ConciseBody$0 = $S(EOS, SingleNestedBlockStatement);
1056
- var ConciseBody$1 = $S($N($S($Q(_), $EXPECT($L12, fail, 'ConciseBody "{"'))), AssignmentExpression);
1057
- var ConciseBody$2 = BracedBlock;
1058
- function ConciseBody(state) {
1057
+ var FatArrowBody$0 = $S(__, $EXPECT($L12, fail, 'FatArrowBody "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'FatArrowBody "}"'));
1058
+ var FatArrowBody$1 = $TS($S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
1059
+ var eos = $2;
1060
+ var exps = $3;
1061
+ if (exps.length == 1) {
1062
+ exps[0].pop();
1063
+ return [eos, exps];
1064
+ }
1065
+ return $0;
1066
+ });
1067
+ var FatArrowBody$2 = AssignmentExpression;
1068
+ var FatArrowBody$3 = $S(__, AssignmentExpression);
1069
+ var FatArrowBody$4 = $S(InsertOpenBrace, InsertCloseBrace);
1070
+ function FatArrowBody(state) {
1059
1071
  if (state.tokenize) {
1060
- return $TOKEN("ConciseBody", state, ConciseBody$0(state) || ConciseBody$1(state) || ConciseBody$2(state));
1072
+ return $TOKEN("FatArrowBody", state, FatArrowBody$0(state) || FatArrowBody$1(state) || FatArrowBody$2(state) || FatArrowBody$3(state) || FatArrowBody$4(state));
1061
1073
  } else {
1062
- return ConciseBody$0(state) || ConciseBody$1(state) || ConciseBody$2(state);
1074
+ return FatArrowBody$0(state) || FatArrowBody$1(state) || FatArrowBody$2(state) || FatArrowBody$3(state) || FatArrowBody$4(state);
1063
1075
  }
1064
1076
  }
1065
- var ConditionalExpression$0 = $S(ShortCircuitExpression, $E($S(__, $EXPECT($L3, fail, 'ConditionalExpression "?"'), AssignmentExpression, __, $EXPECT($L13, fail, 'ConditionalExpression ":"'), AssignmentExpression)));
1077
+ var ConditionalExpression$0 = $S(ShortCircuitExpression, $E($S(__, $EXPECT($L3, fail, 'ConditionalExpression "?"'), AssignmentExpression, __, $EXPECT($L14, fail, 'ConditionalExpression ":"'), AssignmentExpression)));
1066
1078
  function ConditionalExpression(state) {
1067
1079
  if (state.verbose)
1068
1080
  console.log("ENTER:", "ConditionalExpression");
@@ -1121,7 +1133,7 @@ var Civet = (() => {
1121
1133
  return ClassExpression$0(state);
1122
1134
  }
1123
1135
  }
1124
- var Class$0 = $TV($EXPECT($L14, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
1136
+ var Class$0 = $TV($EXPECT($L15, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
1125
1137
  return { $loc, token: $0 };
1126
1138
  });
1127
1139
  function Class(state) {
@@ -1143,10 +1155,10 @@ var Civet = (() => {
1143
1155
  return ClassHeritage$0(state);
1144
1156
  }
1145
1157
  }
1146
- var ExtendsToken$0 = $TV($EXPECT($L15, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1158
+ var ExtendsToken$0 = $TV($EXPECT($L16, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1147
1159
  return { $loc, token: "extends" };
1148
1160
  });
1149
- var ExtendsToken$1 = $TV($EXPECT($L16, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1161
+ var ExtendsToken$1 = $TV($EXPECT($L17, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1150
1162
  return { $loc, token: $1 };
1151
1163
  });
1152
1164
  function ExtendsToken(state) {
@@ -1156,7 +1168,7 @@ var Civet = (() => {
1156
1168
  return ExtendsToken$0(state) || ExtendsToken$1(state);
1157
1169
  }
1158
1170
  }
1159
- var ClassBody$0 = $S(__, $EXPECT($L12, fail, 'ClassBody "{"'), $E($S(EOS, NestedClassElements)), __, $EXPECT($L17, fail, 'ClassBody "}"'));
1171
+ var ClassBody$0 = $S(__, $EXPECT($L12, fail, 'ClassBody "{"'), $E($S(EOS, NestedClassElements)), __, $EXPECT($L13, fail, 'ClassBody "}"'));
1160
1172
  var ClassBody$1 = $S(InsertOpenBrace, EOS, NestedClassElements, InsertNewline, InsertIndent, InsertCloseBrace);
1161
1173
  function ClassBody(state) {
1162
1174
  if (state.tokenize) {
@@ -1440,7 +1452,7 @@ var Civet = (() => {
1440
1452
  return BindingPattern$0(state) || BindingPattern$1(state);
1441
1453
  }
1442
1454
  }
1443
- var ObjectBindingPattern$0 = $S($EXPECT($L12, fail, 'ObjectBindingPattern "{"'), $Q(BindingProperty), $E($S(__, BindingRestProperty)), __, $EXPECT($L17, fail, 'ObjectBindingPattern "}"'));
1455
+ var ObjectBindingPattern$0 = $S($EXPECT($L12, fail, 'ObjectBindingPattern "{"'), $Q(BindingProperty), $E($S(__, BindingRestProperty)), __, $EXPECT($L13, fail, 'ObjectBindingPattern "}"'));
1444
1456
  function ObjectBindingPattern(state) {
1445
1457
  if (state.verbose)
1446
1458
  console.log("ENTER:", "ObjectBindingPattern");
@@ -1460,7 +1472,7 @@ var Civet = (() => {
1460
1472
  return ArrayBindingPattern$0(state);
1461
1473
  }
1462
1474
  }
1463
- var BindingProperty$0 = $S(__, PropertyName, __, $EXPECT($L13, fail, 'BindingProperty ":"'), __, $C(BindingIdentifier, BindingPattern), $E(Initializer), ObjectPropertyDelimiter);
1475
+ var BindingProperty$0 = $S(__, PropertyName, __, $EXPECT($L14, fail, 'BindingProperty ":"'), __, $C(BindingIdentifier, BindingPattern), $E(Initializer), ObjectPropertyDelimiter);
1464
1476
  var BindingProperty$1 = $S(__, BindingIdentifier, $E(Initializer), ObjectPropertyDelimiter);
1465
1477
  function BindingProperty(state) {
1466
1478
  if (state.tokenize) {
@@ -1551,7 +1563,7 @@ var Civet = (() => {
1551
1563
  return Arrow$0(state);
1552
1564
  }
1553
1565
  }
1554
- var Block$0 = $S(__, $EXPECT($L12, fail, 'Block "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L17, fail, 'Block "}"'));
1566
+ var Block$0 = $S(__, $EXPECT($L12, fail, 'Block "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'Block "}"'));
1555
1567
  var Block$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1556
1568
  var Block$2 = Statement;
1557
1569
  var Block$3 = $S(__, Statement);
@@ -1571,7 +1583,7 @@ var Civet = (() => {
1571
1583
  return BracedOrEmptyBlock$0(state) || BracedOrEmptyBlock$1(state);
1572
1584
  }
1573
1585
  }
1574
- var BracedBlock$0 = $S(__, $EXPECT($L12, fail, 'BracedBlock "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L17, fail, 'BracedBlock "}"'));
1586
+ var BracedBlock$0 = $S(__, $EXPECT($L12, fail, 'BracedBlock "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'BracedBlock "}"'));
1575
1587
  var BracedBlock$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1576
1588
  var BracedBlock$2 = $S(InsertOpenBrace, $N(EOS), __, Statement, InsertSpace, InsertCloseBrace);
1577
1589
  function BracedBlock(state) {
@@ -1596,21 +1608,6 @@ var Civet = (() => {
1596
1608
  return SingleNestedExpression$0(state);
1597
1609
  }
1598
1610
  }
1599
- var SingleNestedBlockStatement$0 = $TS($S(PushIndent, $E($S(Nested, StatementListItem)), $C($C($N($S(Nested, StatementListItem)), PopIndent), PopIndent)), function($skip, $loc, $0, $1, $2, $3) {
1600
- var exp = $2;
1601
- if (exp)
1602
- return exp;
1603
- return $skip;
1604
- });
1605
- function SingleNestedBlockStatement(state) {
1606
- if (state.verbose)
1607
- console.log("ENTER:", "SingleNestedBlockStatement");
1608
- if (state.tokenize) {
1609
- return $TOKEN("SingleNestedBlockStatement", state, SingleNestedBlockStatement$0(state));
1610
- } else {
1611
- return SingleNestedBlockStatement$0(state);
1612
- }
1613
- }
1614
1611
  var NestedBlockExpressions$0 = $TS($S(PushIndent, $Q(BlockExpression), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
1615
1612
  var exps = $2;
1616
1613
  if (!exps.length)
@@ -1805,9 +1802,9 @@ var Civet = (() => {
1805
1802
  return Elision$0(state);
1806
1803
  }
1807
1804
  }
1808
- var ObjectLiteral$0 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), $Y(EOS), NestedPropertyDefinitions, __, $EXPECT($L17, fail, 'ObjectLiteral "}"'));
1809
- var ObjectLiteral$1 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, PropertyDefinitionList, __, $E($S($EXPECT($L0, fail, 'ObjectLiteral ","'), __)), $EXPECT($L17, fail, 'ObjectLiteral "}"'));
1810
- var ObjectLiteral$2 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, $EXPECT($L17, fail, 'ObjectLiteral "}"'));
1805
+ var ObjectLiteral$0 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), $Y(EOS), NestedPropertyDefinitions, __, $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1806
+ var ObjectLiteral$1 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, PropertyDefinitionList, __, $E($S($EXPECT($L0, fail, 'ObjectLiteral ","'), __)), $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1807
+ var ObjectLiteral$2 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1811
1808
  var ObjectLiteral$3 = $S(InsertOpenBrace, $Y(EOS), NestedPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace);
1812
1809
  function ObjectLiteral(state) {
1813
1810
  if (state.tokenize) {
@@ -1842,8 +1839,8 @@ var Civet = (() => {
1842
1839
  }
1843
1840
  }
1844
1841
  var ObjectPropertyDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'ObjectPropertyDelimiter ","'));
1845
- var ObjectPropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L17, fail, 'ObjectPropertyDelimiter "}"')));
1846
- var ObjectPropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L17, fail, 'ObjectPropertyDelimiter "}"'))), function(value) {
1842
+ var ObjectPropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L13, fail, 'ObjectPropertyDelimiter "}"')));
1843
+ var ObjectPropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L13, fail, 'ObjectPropertyDelimiter "}"'))), function(value) {
1847
1844
  return ",";
1848
1845
  });
1849
1846
  var ObjectPropertyDelimiter$3 = $T($Y(EOS), function(value) {
@@ -1866,7 +1863,7 @@ var Civet = (() => {
1866
1863
  return PropertyDefinitionList$0(state);
1867
1864
  }
1868
1865
  }
1869
- var PropertyDefinition$0 = $S(PropertyName, __, $EXPECT($L13, fail, 'PropertyDefinition ":"'), AssignmentExpression);
1866
+ var PropertyDefinition$0 = $S(PropertyName, __, $EXPECT($L14, fail, 'PropertyDefinition ":"'), AssignmentExpression);
1870
1867
  var PropertyDefinition$1 = MethodDefinition;
1871
1868
  var PropertyDefinition$2 = $S($EXPECT($L33, fail, 'PropertyDefinition "..."'), AssignmentExpression);
1872
1869
  var PropertyDefinition$3 = IdentifierReference;
@@ -2036,7 +2033,7 @@ var Civet = (() => {
2036
2033
  var BinaryOpSymbol$6 = $EXPECT($L62, fail, 'BinaryOpSymbol "<="');
2037
2034
  var BinaryOpSymbol$7 = $EXPECT($L63, fail, 'BinaryOpSymbol ">="');
2038
2035
  var BinaryOpSymbol$8 = $EXPECT($L64, fail, 'BinaryOpSymbol "<<"');
2039
- var BinaryOpSymbol$9 = $EXPECT($L15, fail, 'BinaryOpSymbol "<"');
2036
+ var BinaryOpSymbol$9 = $EXPECT($L16, fail, 'BinaryOpSymbol "<"');
2040
2037
  var BinaryOpSymbol$10 = $EXPECT($L65, fail, 'BinaryOpSymbol ">>>"');
2041
2038
  var BinaryOpSymbol$11 = $EXPECT($L66, fail, 'BinaryOpSymbol ">>"');
2042
2039
  var BinaryOpSymbol$12 = $EXPECT($L67, fail, 'BinaryOpSymbol ">"');
@@ -2154,7 +2151,7 @@ var Civet = (() => {
2154
2151
  return EmptyStatement$0(state);
2155
2152
  }
2156
2153
  }
2157
- var BlockStatement$0 = $S(__, $EXPECT($L12, fail, 'BlockStatement "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L17, fail, 'BlockStatement "}"'));
2154
+ var BlockStatement$0 = $S(__, $EXPECT($L12, fail, 'BlockStatement "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'BlockStatement "}"'));
2158
2155
  function BlockStatement(state) {
2159
2156
  if (state.verbose)
2160
2157
  console.log("ENTER:", "BlockStatement");
@@ -2321,7 +2318,7 @@ var Civet = (() => {
2321
2318
  return SwitchStatement$0(state);
2322
2319
  }
2323
2320
  }
2324
- var CaseBlock$0 = $S(__, $EXPECT($L12, fail, 'CaseBlock "{"'), $Y(EOS), NestedCaseClauses, __, $EXPECT($L17, fail, 'CaseBlock "}"'));
2321
+ var CaseBlock$0 = $S(__, $EXPECT($L12, fail, 'CaseBlock "{"'), $Y(EOS), NestedCaseClauses, __, $EXPECT($L13, fail, 'CaseBlock "}"'));
2325
2322
  var CaseBlock$1 = $S($Y(EOS), InsertOpenBrace, NestedCaseClauses, InsertNewline, InsertCloseBrace);
2326
2323
  function CaseBlock(state) {
2327
2324
  if (state.tokenize) {
@@ -2377,7 +2374,7 @@ var Civet = (() => {
2377
2374
  return When$0(state);
2378
2375
  }
2379
2376
  }
2380
- var ImpliedColon$0 = $S(__, $EXPECT($L13, fail, 'ImpliedColon ":"'));
2377
+ var ImpliedColon$0 = $S(__, $EXPECT($L14, fail, 'ImpliedColon ":"'));
2381
2378
  var ImpliedColon$1 = $T($EXPECT($L32, fail, 'ImpliedColon ""'), function(value) {
2382
2379
  return ":";
2383
2380
  });
@@ -2520,7 +2517,7 @@ var Civet = (() => {
2520
2517
  return ImpliedImport$0(state);
2521
2518
  }
2522
2519
  }
2523
- var Import$0 = $TS($S($EXPECT($L24, fail, 'Import "import"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2520
+ var Import$0 = $TS($S($EXPECT($L24, fail, 'Import "import"'), $Y($EXPECT($R3, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
2524
2521
  return { $loc, token: $1 };
2525
2522
  });
2526
2523
  function Import(state) {
@@ -2552,7 +2549,7 @@ var Civet = (() => {
2552
2549
  return NameSpaceImport$0(state);
2553
2550
  }
2554
2551
  }
2555
- var NamedImports$0 = $S($EXPECT($L12, fail, 'NamedImports "{"'), $Q(ImportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedImports ","'))), __, $EXPECT($L17, fail, 'NamedImports "}"'));
2552
+ var NamedImports$0 = $S($EXPECT($L12, fail, 'NamedImports "{"'), $Q(ImportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedImports ","'))), __, $EXPECT($L13, fail, 'NamedImports "}"'));
2556
2553
  function NamedImports(state) {
2557
2554
  if (state.verbose)
2558
2555
  console.log("ENTER:", "NamedImports");
@@ -2603,13 +2600,25 @@ var Civet = (() => {
2603
2600
  }
2604
2601
  }
2605
2602
  var ModuleSpecifier$0 = StringLiteral;
2603
+ var ModuleSpecifier$1 = UnquotedSpecifier;
2606
2604
  function ModuleSpecifier(state) {
2605
+ if (state.tokenize) {
2606
+ return $TOKEN("ModuleSpecifier", state, ModuleSpecifier$0(state) || ModuleSpecifier$1(state));
2607
+ } else {
2608
+ return ModuleSpecifier$0(state) || ModuleSpecifier$1(state);
2609
+ }
2610
+ }
2611
+ var UnquotedSpecifier$0 = $TV($EXPECT($R4, fail, 'UnquotedSpecifier /[^"\\s]+/'), function($skip, $loc, $0, $1) {
2612
+ var spec = $0;
2613
+ return { $loc, token: `"${spec}"` };
2614
+ });
2615
+ function UnquotedSpecifier(state) {
2607
2616
  if (state.verbose)
2608
- console.log("ENTER:", "ModuleSpecifier");
2617
+ console.log("ENTER:", "UnquotedSpecifier");
2609
2618
  if (state.tokenize) {
2610
- return $TOKEN("ModuleSpecifier", state, ModuleSpecifier$0(state));
2619
+ return $TOKEN("UnquotedSpecifier", state, UnquotedSpecifier$0(state));
2611
2620
  } else {
2612
- return ModuleSpecifier$0(state);
2621
+ return UnquotedSpecifier$0(state);
2613
2622
  }
2614
2623
  }
2615
2624
  var ImportedBinding$0 = BindingIdentifier;
@@ -2661,7 +2670,7 @@ var Civet = (() => {
2661
2670
  return ExportFromClause$0(state) || ExportFromClause$1(state);
2662
2671
  }
2663
2672
  }
2664
- var NamedExports$0 = $S($EXPECT($L12, fail, 'NamedExports "{"'), $Q(ExportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedExports ","'))), __, $EXPECT($L17, fail, 'NamedExports "}"'));
2673
+ var NamedExports$0 = $S($EXPECT($L12, fail, 'NamedExports "{"'), $Q(ExportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedExports ","'))), __, $EXPECT($L13, fail, 'NamedExports "}"'));
2665
2674
  function NamedExports(state) {
2666
2675
  if (state.verbose)
2667
2676
  console.log("ENTER:", "NamedExports");
@@ -2810,7 +2819,7 @@ var Civet = (() => {
2810
2819
  return NumericLiteralKind$0(state) || NumericLiteralKind$1(state) || NumericLiteralKind$2(state) || NumericLiteralKind$3(state) || NumericLiteralKind$4(state);
2811
2820
  }
2812
2821
  }
2813
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R3, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
2822
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R5, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
2814
2823
  function DecimalBigIntegerLiteral(state) {
2815
2824
  if (state.verbose)
2816
2825
  console.log("ENTER:", "DecimalBigIntegerLiteral");
@@ -2820,7 +2829,7 @@ var Civet = (() => {
2820
2829
  return DecimalBigIntegerLiteral$0(state);
2821
2830
  }
2822
2831
  }
2823
- var DecimalLiteral$0 = $R$0($EXPECT($R4, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2832
+ var DecimalLiteral$0 = $R$0($EXPECT($R6, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2824
2833
  function DecimalLiteral(state) {
2825
2834
  if (state.verbose)
2826
2835
  console.log("ENTER:", "DecimalLiteral");
@@ -2830,7 +2839,7 @@ var Civet = (() => {
2830
2839
  return DecimalLiteral$0(state);
2831
2840
  }
2832
2841
  }
2833
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R5, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*/"));
2842
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R7, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*/"));
2834
2843
  function BinaryIntegerLiteral(state) {
2835
2844
  if (state.verbose)
2836
2845
  console.log("ENTER:", "BinaryIntegerLiteral");
@@ -2840,7 +2849,7 @@ var Civet = (() => {
2840
2849
  return BinaryIntegerLiteral$0(state);
2841
2850
  }
2842
2851
  }
2843
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R6, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*/"));
2852
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R8, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*/"));
2844
2853
  function OctalIntegerLiteral(state) {
2845
2854
  if (state.verbose)
2846
2855
  console.log("ENTER:", "OctalIntegerLiteral");
@@ -2850,7 +2859,7 @@ var Civet = (() => {
2850
2859
  return OctalIntegerLiteral$0(state);
2851
2860
  }
2852
2861
  }
2853
- var HexLiteral$0 = $R$0($EXPECT($R7, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*/"));
2862
+ var HexLiteral$0 = $R$0($EXPECT($R9, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*/"));
2854
2863
  function HexLiteral(state) {
2855
2864
  if (state.verbose)
2856
2865
  console.log("ENTER:", "HexLiteral");
@@ -2881,7 +2890,7 @@ var Civet = (() => {
2881
2890
  return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state);
2882
2891
  }
2883
2892
  }
2884
- var DoubleStringCharacter$0 = $R$0($EXPECT($R8, fail, 'DoubleStringCharacter /(?:\\\\.|[^"])+/'));
2893
+ var DoubleStringCharacter$0 = $R$0($EXPECT($R10, fail, 'DoubleStringCharacter /(?:\\\\.|[^"])+/'));
2885
2894
  function DoubleStringCharacter(state) {
2886
2895
  if (state.verbose)
2887
2896
  console.log("ENTER:", "DoubleStringCharacter");
@@ -2891,7 +2900,7 @@ var Civet = (() => {
2891
2900
  return DoubleStringCharacter$0(state);
2892
2901
  }
2893
2902
  }
2894
- var SingleStringCharacter$0 = $R$0($EXPECT($R9, fail, "SingleStringCharacter /(?:\\\\.|[^'])+/"));
2903
+ var SingleStringCharacter$0 = $R$0($EXPECT($R11, fail, "SingleStringCharacter /(?:\\\\.|[^'])+/"));
2895
2904
  function SingleStringCharacter(state) {
2896
2905
  if (state.verbose)
2897
2906
  console.log("ENTER:", "SingleStringCharacter");
@@ -2901,7 +2910,7 @@ var Civet = (() => {
2901
2910
  return SingleStringCharacter$0(state);
2902
2911
  }
2903
2912
  }
2904
- var TripleDoubleStringCharacter$0 = $R$0($EXPECT($R10, fail, 'TripleDoubleStringCharacter /(?:"(?!"")|\\\\.|[^"])+/'));
2913
+ var TripleDoubleStringCharacter$0 = $R$0($EXPECT($R12, fail, 'TripleDoubleStringCharacter /(?:"(?!"")|\\\\.|[^"])+/'));
2905
2914
  function TripleDoubleStringCharacter(state) {
2906
2915
  if (state.verbose)
2907
2916
  console.log("ENTER:", "TripleDoubleStringCharacter");
@@ -2911,7 +2920,7 @@ var Civet = (() => {
2911
2920
  return TripleDoubleStringCharacter$0(state);
2912
2921
  }
2913
2922
  }
2914
- var TripleSingleStringCharacter$0 = $R$0($EXPECT($R11, fail, "TripleSingleStringCharacter /(?:'(?!'')|\\\\.|[^'])+/"));
2923
+ var TripleSingleStringCharacter$0 = $R$0($EXPECT($R13, fail, "TripleSingleStringCharacter /(?:'(?!'')|\\\\.|[^'])+/"));
2915
2924
  function TripleSingleStringCharacter(state) {
2916
2925
  if (state.verbose)
2917
2926
  console.log("ENTER:", "TripleSingleStringCharacter");
@@ -2933,7 +2942,7 @@ var Civet = (() => {
2933
2942
  return RegularExpressionLiteral$0(state);
2934
2943
  }
2935
2944
  }
2936
- var RegularExpressionBody$0 = $S($R$0($EXPECT($R12, fail, "RegularExpressionBody /[^*\\/\\r\\n]/")), $Q(RegExpCharacter));
2945
+ var RegularExpressionBody$0 = $S($R$0($EXPECT($R14, fail, "RegularExpressionBody /[^*\\/\\r\\n]/")), $Q(RegExpCharacter));
2937
2946
  function RegularExpressionBody(state) {
2938
2947
  if (state.verbose)
2939
2948
  console.log("ENTER:", "RegularExpressionBody");
@@ -2943,7 +2952,7 @@ var Civet = (() => {
2943
2952
  return RegularExpressionBody$0(state);
2944
2953
  }
2945
2954
  }
2946
- var RegExpCharacter$0 = $R$0($EXPECT($R13, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
2955
+ var RegExpCharacter$0 = $R$0($EXPECT($R15, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
2947
2956
  function RegExpCharacter(state) {
2948
2957
  if (state.verbose)
2949
2958
  console.log("ENTER:", "RegExpCharacter");
@@ -2953,7 +2962,7 @@ var Civet = (() => {
2953
2962
  return RegExpCharacter$0(state);
2954
2963
  }
2955
2964
  }
2956
- var RegularExpressionFlags$0 = $R$0($EXPECT($R14, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
2965
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R16, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
2957
2966
  function RegularExpressionFlags(state) {
2958
2967
  if (state.verbose)
2959
2968
  console.log("ENTER:", "RegularExpressionFlags");
@@ -2973,7 +2982,7 @@ var Civet = (() => {
2973
2982
  return TemplateLiteral$0(state);
2974
2983
  }
2975
2984
  }
2976
- var TemplateSubstitution$0 = $S($EXPECT($L120, fail, 'TemplateSubstitution "${"'), __, Expression, __, $EXPECT($L17, fail, 'TemplateSubstitution "}"'));
2985
+ var TemplateSubstitution$0 = $S($EXPECT($L120, fail, 'TemplateSubstitution "${"'), __, Expression, __, $EXPECT($L13, fail, 'TemplateSubstitution "}"'));
2977
2986
  function TemplateSubstitution(state) {
2978
2987
  if (state.verbose)
2979
2988
  console.log("ENTER:", "TemplateSubstitution");
@@ -2983,7 +2992,7 @@ var Civet = (() => {
2983
2992
  return TemplateSubstitution$0(state);
2984
2993
  }
2985
2994
  }
2986
- var TemplateCharacters$0 = $R$0($EXPECT($R15, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
2995
+ var TemplateCharacters$0 = $R$0($EXPECT($R17, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
2987
2996
  function TemplateCharacters(state) {
2988
2997
  if (state.verbose)
2989
2998
  console.log("ENTER:", "TemplateCharacters");
@@ -2993,7 +3002,7 @@ var Civet = (() => {
2993
3002
  return TemplateCharacters$0(state);
2994
3003
  }
2995
3004
  }
2996
- var ReservedWord$0 = $R$0($EXPECT($R16, fail, "ReservedWord /(?:and|as|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|new|null|or|return|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
3005
+ var ReservedWord$0 = $R$0($EXPECT($R18, fail, "ReservedWord /(?:and|as|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|new|null|or|return|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
2997
3006
  function ReservedWord(state) {
2998
3007
  if (state.verbose)
2999
3008
  console.log("ENTER:", "ReservedWord");
@@ -3012,7 +3021,7 @@ var Civet = (() => {
3012
3021
  return Comment$0(state) || Comment$1(state);
3013
3022
  }
3014
3023
  }
3015
- var SingleLineComment$0 = $R$0($EXPECT($R17, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"));
3024
+ var SingleLineComment$0 = $R$0($EXPECT($R19, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"));
3016
3025
  var SingleLineComment$1 = CoffeeSingleLineComment;
3017
3026
  function SingleLineComment(state) {
3018
3027
  if (state.tokenize) {
@@ -3030,7 +3039,7 @@ var Civet = (() => {
3030
3039
  return MultiLineComment$0(state) || MultiLineComment$1(state);
3031
3040
  }
3032
3041
  }
3033
- var JSMultiLineComment$0 = $S($EXPECT($L121, fail, 'JSMultiLineComment "/*"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'JSMultiLineComment "*/"')), $EXPECT($R18, fail, "JSMultiLineComment /./")))), $EXPECT($L122, fail, 'JSMultiLineComment "*/"'));
3042
+ var JSMultiLineComment$0 = $S($EXPECT($L121, fail, 'JSMultiLineComment "/*"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'JSMultiLineComment "*/"')), $EXPECT($R20, fail, "JSMultiLineComment /./")))), $EXPECT($L122, fail, 'JSMultiLineComment "*/"'));
3034
3043
  function JSMultiLineComment(state) {
3035
3044
  if (state.verbose)
3036
3045
  console.log("ENTER:", "JSMultiLineComment");
@@ -3040,7 +3049,7 @@ var Civet = (() => {
3040
3049
  return JSMultiLineComment$0(state);
3041
3050
  }
3042
3051
  }
3043
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R19, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3052
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R21, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3044
3053
  if (!global.coffeeCompat)
3045
3054
  return $skip;
3046
3055
  return ["//", $1];
@@ -3054,7 +3063,7 @@ var Civet = (() => {
3054
3063
  return CoffeeSingleLineComment$0(state);
3055
3064
  }
3056
3065
  }
3057
- var CoffeeMultiLineComment$0 = $T($S($EXPECT($L123, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($EXPECT($L123, fail, 'CoffeeMultiLineComment "###"')), $EXPECT($R18, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L123, fail, 'CoffeeMultiLineComment "###"')), function(value) {
3066
+ var CoffeeMultiLineComment$0 = $T($S($EXPECT($L123, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($EXPECT($L123, fail, 'CoffeeMultiLineComment "###"')), $EXPECT($R20, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L123, fail, 'CoffeeMultiLineComment "###"')), function(value) {
3058
3067
  return ["/*", value[1], "*/"];
3059
3068
  });
3060
3069
  function CoffeeMultiLineComment(state) {
@@ -3066,7 +3075,7 @@ var Civet = (() => {
3066
3075
  return CoffeeMultiLineComment$0(state);
3067
3076
  }
3068
3077
  }
3069
- var InlineComment$0 = $S($EXPECT($L121, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'InlineComment "*/"')), $EXPECT($R20, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L122, fail, 'InlineComment "*/"'));
3078
+ var InlineComment$0 = $S($EXPECT($L121, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'InlineComment "*/"')), $EXPECT($R22, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L122, fail, 'InlineComment "*/"'));
3070
3079
  function InlineComment(state) {
3071
3080
  if (state.verbose)
3072
3081
  console.log("ENTER:", "InlineComment");
@@ -3086,7 +3095,7 @@ var Civet = (() => {
3086
3095
  return RestOfLine$0(state);
3087
3096
  }
3088
3097
  }
3089
- var TrailingComment$0 = $R$0($EXPECT($R21, fail, "TrailingComment /[\\t ]+/"));
3098
+ var TrailingComment$0 = $R$0($EXPECT($R23, fail, "TrailingComment /[\\t ]+/"));
3090
3099
  var TrailingComment$1 = InlineComment;
3091
3100
  var TrailingComment$2 = SingleLineComment;
3092
3101
  function TrailingComment(state) {
@@ -3096,7 +3105,7 @@ var Civet = (() => {
3096
3105
  return TrailingComment$0(state) || TrailingComment$1(state) || TrailingComment$2(state);
3097
3106
  }
3098
3107
  }
3099
- var _$0 = $P($C($R$0($EXPECT($R21, fail, "_ /[\\t ]+/")), Comment));
3108
+ var _$0 = $P($C($R$0($EXPECT($R23, fail, "_ /[\\t ]+/")), Comment));
3100
3109
  function _(state) {
3101
3110
  if (state.verbose)
3102
3111
  console.log("ENTER:", "_");
@@ -3106,7 +3115,7 @@ var Civet = (() => {
3106
3115
  return _$0(state);
3107
3116
  }
3108
3117
  }
3109
- var __$0 = $Q($C($R$0($EXPECT($R22, fail, "__ /[\\s]+/")), Comment));
3118
+ var __$0 = $Q($C($R$0($EXPECT($R24, fail, "__ /[\\s]+/")), Comment));
3110
3119
  function __(state) {
3111
3120
  if (state.verbose)
3112
3121
  console.log("ENTER:", "__");
@@ -3127,7 +3136,7 @@ var Civet = (() => {
3127
3136
  return StatementDelimiter$0(state) || StatementDelimiter$1(state);
3128
3137
  }
3129
3138
  }
3130
- var NonIdContinue$0 = $R$0($EXPECT($R23, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
3139
+ var NonIdContinue$0 = $R$0($EXPECT($R25, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
3131
3140
  function NonIdContinue(state) {
3132
3141
  if (state.verbose)
3133
3142
  console.log("ENTER:", "NonIdContinue");
@@ -3151,7 +3160,7 @@ var Civet = (() => {
3151
3160
  return JSXElement$0(state) || JSXElement$1(state);
3152
3161
  }
3153
3162
  }
3154
- var JSXSelfClosingElement$0 = $S($EXPECT($L15, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L124, fail, 'JSXSelfClosingElement "/>"'));
3163
+ var JSXSelfClosingElement$0 = $S($EXPECT($L16, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L124, fail, 'JSXSelfClosingElement "/>"'));
3155
3164
  function JSXSelfClosingElement(state) {
3156
3165
  if (state.verbose)
3157
3166
  console.log("ENTER:", "JSXSelfClosingElement");
@@ -3161,7 +3170,7 @@ var Civet = (() => {
3161
3170
  return JSXSelfClosingElement$0(state);
3162
3171
  }
3163
3172
  }
3164
- var JSXOpeningElement$0 = $S($EXPECT($L15, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L67, fail, 'JSXOpeningElement ">"'));
3173
+ var JSXOpeningElement$0 = $S($EXPECT($L16, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L67, fail, 'JSXOpeningElement ">"'));
3165
3174
  function JSXOpeningElement(state) {
3166
3175
  if (state.verbose)
3167
3176
  console.log("ENTER:", "JSXOpeningElement");
@@ -3191,7 +3200,7 @@ var Civet = (() => {
3191
3200
  return JSXFragment$0(state);
3192
3201
  }
3193
3202
  }
3194
- var JSXElementName$0 = $S(JSXIdentifierName, $C($S($EXPECT($L13, fail, 'JSXElementName ":"'), JSXIdentifierName), $Q($S($EXPECT($L25, fail, 'JSXElementName "."'), JSXIdentifierName))));
3203
+ var JSXElementName$0 = $S(JSXIdentifierName, $C($S($EXPECT($L14, fail, 'JSXElementName ":"'), JSXIdentifierName), $Q($S($EXPECT($L25, fail, 'JSXElementName "."'), JSXIdentifierName))));
3195
3204
  function JSXElementName(state) {
3196
3205
  if (state.verbose)
3197
3206
  console.log("ENTER:", "JSXElementName");
@@ -3201,7 +3210,7 @@ var Civet = (() => {
3201
3210
  return JSXElementName$0(state);
3202
3211
  }
3203
3212
  }
3204
- var JSXIdentifierName$0 = $R$0($EXPECT($R24, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
3213
+ var JSXIdentifierName$0 = $R$0($EXPECT($R26, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
3205
3214
  function JSXIdentifierName(state) {
3206
3215
  if (state.verbose)
3207
3216
  console.log("ENTER:", "JSXIdentifierName");
@@ -3221,7 +3230,7 @@ var Civet = (() => {
3221
3230
  return JSXAttributes$0(state);
3222
3231
  }
3223
3232
  }
3224
- var JSXAttribute$0 = $S($EXPECT($L12, fail, 'JSXAttribute "{"'), __, $EXPECT($L33, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, $EXPECT($L17, fail, 'JSXAttribute "}"'));
3233
+ var JSXAttribute$0 = $S($EXPECT($L12, fail, 'JSXAttribute "{"'), __, $EXPECT($L33, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, $EXPECT($L13, fail, 'JSXAttribute "}"'));
3225
3234
  var JSXAttribute$1 = $S(JSXAttributeName, $E(JSXAttributeInitializer));
3226
3235
  function JSXAttribute(state) {
3227
3236
  if (state.tokenize) {
@@ -3230,7 +3239,7 @@ var Civet = (() => {
3230
3239
  return JSXAttribute$0(state) || JSXAttribute$1(state);
3231
3240
  }
3232
3241
  }
3233
- var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S($EXPECT($L13, fail, 'JSXAttributeName ":"'), JSXIdentifierName)));
3242
+ var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S($EXPECT($L14, fail, 'JSXAttributeName ":"'), JSXIdentifierName)));
3234
3243
  function JSXAttributeName(state) {
3235
3244
  if (state.verbose)
3236
3245
  console.log("ENTER:", "JSXAttributeName");
@@ -3250,9 +3259,9 @@ var Civet = (() => {
3250
3259
  return JSXAttributeInitializer$0(state);
3251
3260
  }
3252
3261
  }
3253
- var JSXAttributeValue$0 = $R$0($EXPECT($R25, fail, 'JSXAttributeValue /"[^"]*"/'));
3254
- var JSXAttributeValue$1 = $R$0($EXPECT($R26, fail, "JSXAttributeValue /'[^']*'/"));
3255
- var JSXAttributeValue$2 = $S($EXPECT($L12, fail, 'JSXAttributeValue "{"'), __, AssignmentExpression, __, $EXPECT($L17, fail, 'JSXAttributeValue "}"'));
3262
+ var JSXAttributeValue$0 = $R$0($EXPECT($R27, fail, 'JSXAttributeValue /"[^"]*"/'));
3263
+ var JSXAttributeValue$1 = $R$0($EXPECT($R28, fail, "JSXAttributeValue /'[^']*'/"));
3264
+ var JSXAttributeValue$2 = $S($EXPECT($L12, fail, 'JSXAttributeValue "{"'), __, AssignmentExpression, __, $EXPECT($L13, fail, 'JSXAttributeValue "}"'));
3256
3265
  var JSXAttributeValue$3 = JSXElement;
3257
3266
  var JSXAttributeValue$4 = JSXFragment;
3258
3267
  function JSXAttributeValue(state) {
@@ -3275,7 +3284,7 @@ var Civet = (() => {
3275
3284
  var JSXChild$0 = JSXText;
3276
3285
  var JSXChild$1 = JSXElement;
3277
3286
  var JSXChild$2 = JSXFragment;
3278
- var JSXChild$3 = $S($EXPECT($L12, fail, 'JSXChild "{"'), $E(JSXChildExpression), __, $EXPECT($L17, fail, 'JSXChild "}"'));
3287
+ var JSXChild$3 = $S($EXPECT($L12, fail, 'JSXChild "{"'), $E(JSXChildExpression), __, $EXPECT($L13, fail, 'JSXChild "}"'));
3279
3288
  function JSXChild(state) {
3280
3289
  if (state.tokenize) {
3281
3290
  return $TOKEN("JSXChild", state, JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state));
@@ -3283,7 +3292,7 @@ var Civet = (() => {
3283
3292
  return JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state);
3284
3293
  }
3285
3294
  }
3286
- var JSXText$0 = $R$0($EXPECT($R27, fail, "JSXText /[^{}<>]+/"));
3295
+ var JSXText$0 = $R$0($EXPECT($R29, fail, "JSXText /[^{}<>]+/"));
3287
3296
  function JSXText(state) {
3288
3297
  if (state.verbose)
3289
3298
  console.log("ENTER:", "JSXText");
@@ -3303,10 +3312,10 @@ var Civet = (() => {
3303
3312
  return JSXChildExpression$0(state);
3304
3313
  }
3305
3314
  }
3306
- var TypeDeclaration$0 = $T($S($EXPECT($R28, fail, "TypeDeclaration /type(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, $EXPECT($L56, fail, 'TypeDeclaration "="'), __, Type), function(value) {
3315
+ var TypeDeclaration$0 = $T($S($EXPECT($R30, fail, "TypeDeclaration /type(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, $EXPECT($L56, fail, 'TypeDeclaration "="'), __, Type), function(value) {
3307
3316
  return { "ts": true, "children": value };
3308
3317
  });
3309
- var TypeDeclaration$1 = $T($S($EXPECT($R29, fail, "TypeDeclaration /interface(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, InterfaceBlock), function(value) {
3318
+ var TypeDeclaration$1 = $T($S($EXPECT($R31, fail, "TypeDeclaration /interface(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, InterfaceBlock), function(value) {
3310
3319
  return { "ts": true, "children": value };
3311
3320
  });
3312
3321
  function TypeDeclaration(state) {
@@ -3316,8 +3325,8 @@ var Civet = (() => {
3316
3325
  return TypeDeclaration$0(state) || TypeDeclaration$1(state);
3317
3326
  }
3318
3327
  }
3319
- var InterfaceBlock$0 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), EOS, NestedInterfaceProperties, __, $EXPECT($L17, fail, 'InterfaceBlock "}"'));
3320
- var InterfaceBlock$1 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), $Q($S(__, InterfaceProperty)), __, $EXPECT($L17, fail, 'InterfaceBlock "}"'));
3328
+ var InterfaceBlock$0 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), EOS, NestedInterfaceProperties, __, $EXPECT($L13, fail, 'InterfaceBlock "}"'));
3329
+ var InterfaceBlock$1 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), $Q($S(__, InterfaceProperty)), __, $EXPECT($L13, fail, 'InterfaceBlock "}"'));
3321
3330
  var InterfaceBlock$2 = $S(InsertOpenBrace, EOS, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
3322
3331
  function InterfaceBlock(state) {
3323
3332
  if (state.tokenize) {
@@ -3362,8 +3371,8 @@ var Civet = (() => {
3362
3371
  }
3363
3372
  }
3364
3373
  var InterfacePropertyDelimiter$0 = $S($Q(_), $EXPECT($L88, fail, 'InterfacePropertyDelimiter ";"'));
3365
- var InterfacePropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L17, fail, 'InterfacePropertyDelimiter "}"')));
3366
- var InterfacePropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L17, fail, 'InterfacePropertyDelimiter "}"'))), function(value) {
3374
+ var InterfacePropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L13, fail, 'InterfacePropertyDelimiter "}"')));
3375
+ var InterfacePropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L13, fail, 'InterfacePropertyDelimiter "}"'))), function(value) {
3367
3376
  return ";";
3368
3377
  });
3369
3378
  var InterfacePropertyDelimiter$3 = $T($Y(EOS), function(value) {
@@ -3376,7 +3385,7 @@ var Civet = (() => {
3376
3385
  return InterfacePropertyDelimiter$0(state) || InterfacePropertyDelimiter$1(state) || InterfacePropertyDelimiter$2(state) || InterfacePropertyDelimiter$3(state);
3377
3386
  }
3378
3387
  }
3379
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R30, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L128, fail, 'TypeIndexSignature "readonly"'), __)), $EXPECT($L26, fail, 'TypeIndexSignature "["'), TypeIndex, $EXPECT($L27, fail, 'TypeIndexSignature "]"'), $E($S(__, $R$0($EXPECT($R31, fail, "TypeIndexSignature /[+-]/")), $EXPECT($L3, fail, 'TypeIndexSignature "?"'))));
3388
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R32, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L128, fail, 'TypeIndexSignature "readonly"'), __)), $EXPECT($L26, fail, 'TypeIndexSignature "["'), TypeIndex, $EXPECT($L27, fail, 'TypeIndexSignature "]"'), $E($S(__, $R$0($EXPECT($R33, fail, "TypeIndexSignature /[+-]/")), $EXPECT($L3, fail, 'TypeIndexSignature "?"'))));
3380
3389
  function TypeIndexSignature(state) {
3381
3390
  if (state.verbose)
3382
3391
  console.log("ENTER:", "TypeIndexSignature");
@@ -3395,7 +3404,7 @@ var Civet = (() => {
3395
3404
  return TypeIndex$0(state) || TypeIndex$1(state);
3396
3405
  }
3397
3406
  }
3398
- var TypeSuffix$0 = $T($S($E($EXPECT($L3, fail, 'TypeSuffix "?"')), __, $EXPECT($L13, fail, 'TypeSuffix ":"'), Type), function(value) {
3407
+ var TypeSuffix$0 = $T($S($E($EXPECT($L3, fail, 'TypeSuffix "?"')), __, $EXPECT($L14, fail, 'TypeSuffix ":"'), Type), function(value) {
3399
3408
  return { "ts": true, "children": value };
3400
3409
  });
3401
3410
  function TypeSuffix(state) {
@@ -3407,7 +3416,7 @@ var Civet = (() => {
3407
3416
  return TypeSuffix$0(state);
3408
3417
  }
3409
3418
  }
3410
- var ReturnTypeSuffix$0 = $T($S(__, $EXPECT($L13, fail, 'ReturnTypeSuffix ":"'), $E($S(__, $EXPECT($L129, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function(value) {
3419
+ var ReturnTypeSuffix$0 = $T($S(__, $EXPECT($L14, fail, 'ReturnTypeSuffix ":"'), $E($S(__, $EXPECT($L129, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function(value) {
3411
3420
  return { "ts": true, "children": value };
3412
3421
  });
3413
3422
  function ReturnTypeSuffix(state) {
@@ -3501,7 +3510,7 @@ var Civet = (() => {
3501
3510
  return TypePrimary$0(state) || TypePrimary$1(state) || TypePrimary$2(state) || TypePrimary$3(state) || TypePrimary$4(state);
3502
3511
  }
3503
3512
  }
3504
- var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L16, fail, 'TypeConditional "extends"'), Type, $E($S(__, $EXPECT($L3, fail, 'TypeConditional "?"'), Type, __, $EXPECT($L13, fail, 'TypeConditional ":"'), Type)))));
3513
+ var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L17, fail, 'TypeConditional "extends"'), Type, $E($S(__, $EXPECT($L3, fail, 'TypeConditional "?"'), Type, __, $EXPECT($L14, fail, 'TypeConditional ":"'), Type)))));
3505
3514
  function TypeConditional(state) {
3506
3515
  if (state.verbose)
3507
3516
  console.log("ENTER:", "TypeConditional");
@@ -3540,7 +3549,7 @@ var Civet = (() => {
3540
3549
  return FunctionType$0(state);
3541
3550
  }
3542
3551
  }
3543
- var TypeArguments$0 = $S(__, $EXPECT($L15, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeArguments ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeArguments ","'))), __, $EXPECT($L67, fail, 'TypeArguments ">"'));
3552
+ var TypeArguments$0 = $S(__, $EXPECT($L16, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeArguments ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeArguments ","'))), __, $EXPECT($L67, fail, 'TypeArguments ">"'));
3544
3553
  function TypeArguments(state) {
3545
3554
  if (state.verbose)
3546
3555
  console.log("ENTER:", "TypeArguments");
@@ -3550,7 +3559,7 @@ var Civet = (() => {
3550
3559
  return TypeArguments$0(state);
3551
3560
  }
3552
3561
  }
3553
- var TypeParameters$0 = $S(__, $EXPECT($L15, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeParameters ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeParameters ","'))), __, $EXPECT($L67, fail, 'TypeParameters ">"'));
3562
+ var TypeParameters$0 = $S(__, $EXPECT($L16, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeParameters ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeParameters ","'))), __, $EXPECT($L67, fail, 'TypeParameters ">"'));
3554
3563
  function TypeParameters(state) {
3555
3564
  if (state.verbose)
3556
3565
  console.log("ENTER:", "TypeParameters");
@@ -3570,7 +3579,7 @@ var Civet = (() => {
3570
3579
  return TypeParameter$0(state);
3571
3580
  }
3572
3581
  }
3573
- var TypeConstraint$0 = $S(__, $EXPECT($L16, fail, 'TypeConstraint "extends"'), Type);
3582
+ var TypeConstraint$0 = $S(__, $EXPECT($L17, fail, 'TypeConstraint "extends"'), Type);
3574
3583
  function TypeConstraint(state) {
3575
3584
  if (state.verbose)
3576
3585
  console.log("ENTER:", "TypeConstraint");
@@ -3595,7 +3604,7 @@ var Civet = (() => {
3595
3604
  return TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state);
3596
3605
  }
3597
3606
  }
3598
- var Shebang$0 = $R$0($EXPECT($R32, fail, "Shebang /#![^\\r\\n]*/"));
3607
+ var Shebang$0 = $R$0($EXPECT($R34, fail, "Shebang /#![^\\r\\n]*/"));
3599
3608
  function Shebang(state) {
3600
3609
  if (state.verbose)
3601
3610
  console.log("ENTER:", "Shebang");
@@ -3605,7 +3614,7 @@ var Civet = (() => {
3605
3614
  return Shebang$0(state);
3606
3615
  }
3607
3616
  }
3608
- var DirectivePrologue$0 = $TV($Q($S($TEXT($EXPECT($R33, fail, "DirectivePrologue /[\\t ]*/")), $TEXT(StringLiteral), $TEXT(StatementDelimiter), $TEXT(EOS))), function($skip, $loc, $0, $1) {
3617
+ var DirectivePrologue$0 = $TV($Q($S($TEXT($EXPECT($R35, fail, "DirectivePrologue /[\\t ]*/")), $TEXT(StringLiteral), $TEXT(StatementDelimiter), $TEXT(EOS))), function($skip, $loc, $0, $1) {
3609
3618
  return $0.map((p) => p.join(""));
3610
3619
  });
3611
3620
  function DirectivePrologue(state) {
@@ -3627,7 +3636,7 @@ var Civet = (() => {
3627
3636
  return EOS$0(state);
3628
3637
  }
3629
3638
  }
3630
- var EOL$0 = $R$0($EXPECT($R34, fail, "EOL /\\r\\n|\\n|\\r|$/"));
3639
+ var EOL$0 = $R$0($EXPECT($R36, fail, "EOL /\\r\\n|\\n|\\r|$/"));
3631
3640
  function EOL(state) {
3632
3641
  if (state.verbose)
3633
3642
  console.log("ENTER:", "EOL");
@@ -3637,7 +3646,7 @@ var Civet = (() => {
3637
3646
  return EOL$0(state);
3638
3647
  }
3639
3648
  }
3640
- var EOF$0 = $R$0($EXPECT($R35, fail, "EOF /$/"));
3649
+ var EOF$0 = $R$0($EXPECT($R37, fail, "EOF /$/"));
3641
3650
  function EOF(state) {
3642
3651
  if (state.verbose)
3643
3652
  console.log("ENTER:", "EOF");