three-stdlib 2.26.1 → 2.26.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. package/index.cjs +854 -16
  2. package/index.js +854 -16
  3. package/package.json +1 -1
package/index.js CHANGED
@@ -9,7 +9,7 @@ import { Loader, FileLoader, BufferGeometry, Vector3, Float32BufferAttribute, An
9
9
  import potpack from "potpack";
10
10
  import { strToU8, zipSync, unzlibSync, gunzipSync, unzipSync, strFromU8 } from "fflate";
11
11
  import { CharsetEncoder, Parser } from "mmd-parser";
12
- import require$$0$3 from "lodash/isEmpty";
12
+ import require$$0$2 from "lodash/isEmpty";
13
13
  import require$$2 from "lodash/map";
14
14
  import require$$1 from "lodash/forEach";
15
15
  import require$$3$2 from "lodash/values";
@@ -26,7 +26,6 @@ import require$$2$3 from "lodash/includes";
26
26
  import require$$3$1 from "lodash/flatten";
27
27
  import require$$4$1 from "lodash/uniq";
28
28
  import require$$2$4 from "lodash/isUndefined";
29
- import require$$0$2 from "regexp-to-ast";
30
29
  import require$$1$2 from "lodash/first";
31
30
  import require$$1$3 from "lodash/compact";
32
31
  import require$$1$1 from "lodash/isArray";
@@ -52989,11 +52988,850 @@ follow.buildInProdFollowPrefix = buildInProdFollowPrefix;
52989
52988
  var tokens_public = {};
52990
52989
  var lexer_public = {};
52991
52990
  var lexer = {};
52991
+ var regexpToAst = { exports: {} };
52992
+ (function(module) {
52993
+ (function(root, factory) {
52994
+ if (module.exports) {
52995
+ module.exports = factory();
52996
+ } else {
52997
+ root.regexpToAst = factory();
52998
+ }
52999
+ })(
53000
+ typeof self !== "undefined" ? (
53001
+ // istanbul ignore next
53002
+ self
53003
+ ) : commonjsGlobal,
53004
+ function() {
53005
+ function RegExpParser() {
53006
+ }
53007
+ RegExpParser.prototype.saveState = function() {
53008
+ return {
53009
+ idx: this.idx,
53010
+ input: this.input,
53011
+ groupIdx: this.groupIdx
53012
+ };
53013
+ };
53014
+ RegExpParser.prototype.restoreState = function(newState) {
53015
+ this.idx = newState.idx;
53016
+ this.input = newState.input;
53017
+ this.groupIdx = newState.groupIdx;
53018
+ };
53019
+ RegExpParser.prototype.pattern = function(input) {
53020
+ this.idx = 0;
53021
+ this.input = input;
53022
+ this.groupIdx = 0;
53023
+ this.consumeChar("/");
53024
+ var value = this.disjunction();
53025
+ this.consumeChar("/");
53026
+ var flags = {
53027
+ type: "Flags",
53028
+ loc: { begin: this.idx, end: input.length },
53029
+ global: false,
53030
+ ignoreCase: false,
53031
+ multiLine: false,
53032
+ unicode: false,
53033
+ sticky: false
53034
+ };
53035
+ while (this.isRegExpFlag()) {
53036
+ switch (this.popChar()) {
53037
+ case "g":
53038
+ addFlag(flags, "global");
53039
+ break;
53040
+ case "i":
53041
+ addFlag(flags, "ignoreCase");
53042
+ break;
53043
+ case "m":
53044
+ addFlag(flags, "multiLine");
53045
+ break;
53046
+ case "u":
53047
+ addFlag(flags, "unicode");
53048
+ break;
53049
+ case "y":
53050
+ addFlag(flags, "sticky");
53051
+ break;
53052
+ }
53053
+ }
53054
+ if (this.idx !== this.input.length) {
53055
+ throw Error(
53056
+ "Redundant input: " + this.input.substring(this.idx)
53057
+ );
53058
+ }
53059
+ return {
53060
+ type: "Pattern",
53061
+ flags,
53062
+ value,
53063
+ loc: this.loc(0)
53064
+ };
53065
+ };
53066
+ RegExpParser.prototype.disjunction = function() {
53067
+ var alts = [];
53068
+ var begin = this.idx;
53069
+ alts.push(this.alternative());
53070
+ while (this.peekChar() === "|") {
53071
+ this.consumeChar("|");
53072
+ alts.push(this.alternative());
53073
+ }
53074
+ return { type: "Disjunction", value: alts, loc: this.loc(begin) };
53075
+ };
53076
+ RegExpParser.prototype.alternative = function() {
53077
+ var terms = [];
53078
+ var begin = this.idx;
53079
+ while (this.isTerm()) {
53080
+ terms.push(this.term());
53081
+ }
53082
+ return { type: "Alternative", value: terms, loc: this.loc(begin) };
53083
+ };
53084
+ RegExpParser.prototype.term = function() {
53085
+ if (this.isAssertion()) {
53086
+ return this.assertion();
53087
+ } else {
53088
+ return this.atom();
53089
+ }
53090
+ };
53091
+ RegExpParser.prototype.assertion = function() {
53092
+ var begin = this.idx;
53093
+ switch (this.popChar()) {
53094
+ case "^":
53095
+ return {
53096
+ type: "StartAnchor",
53097
+ loc: this.loc(begin)
53098
+ };
53099
+ case "$":
53100
+ return { type: "EndAnchor", loc: this.loc(begin) };
53101
+ case "\\":
53102
+ switch (this.popChar()) {
53103
+ case "b":
53104
+ return {
53105
+ type: "WordBoundary",
53106
+ loc: this.loc(begin)
53107
+ };
53108
+ case "B":
53109
+ return {
53110
+ type: "NonWordBoundary",
53111
+ loc: this.loc(begin)
53112
+ };
53113
+ }
53114
+ throw Error("Invalid Assertion Escape");
53115
+ case "(":
53116
+ this.consumeChar("?");
53117
+ var type;
53118
+ switch (this.popChar()) {
53119
+ case "=":
53120
+ type = "Lookahead";
53121
+ break;
53122
+ case "!":
53123
+ type = "NegativeLookahead";
53124
+ break;
53125
+ }
53126
+ ASSERT_EXISTS(type);
53127
+ var disjunction = this.disjunction();
53128
+ this.consumeChar(")");
53129
+ return {
53130
+ type,
53131
+ value: disjunction,
53132
+ loc: this.loc(begin)
53133
+ };
53134
+ }
53135
+ ASSERT_NEVER_REACH_HERE();
53136
+ };
53137
+ RegExpParser.prototype.quantifier = function(isBacktracking) {
53138
+ var range;
53139
+ var begin = this.idx;
53140
+ switch (this.popChar()) {
53141
+ case "*":
53142
+ range = {
53143
+ atLeast: 0,
53144
+ atMost: Infinity
53145
+ };
53146
+ break;
53147
+ case "+":
53148
+ range = {
53149
+ atLeast: 1,
53150
+ atMost: Infinity
53151
+ };
53152
+ break;
53153
+ case "?":
53154
+ range = {
53155
+ atLeast: 0,
53156
+ atMost: 1
53157
+ };
53158
+ break;
53159
+ case "{":
53160
+ var atLeast = this.integerIncludingZero();
53161
+ switch (this.popChar()) {
53162
+ case "}":
53163
+ range = {
53164
+ atLeast,
53165
+ atMost: atLeast
53166
+ };
53167
+ break;
53168
+ case ",":
53169
+ var atMost;
53170
+ if (this.isDigit()) {
53171
+ atMost = this.integerIncludingZero();
53172
+ range = {
53173
+ atLeast,
53174
+ atMost
53175
+ };
53176
+ } else {
53177
+ range = {
53178
+ atLeast,
53179
+ atMost: Infinity
53180
+ };
53181
+ }
53182
+ this.consumeChar("}");
53183
+ break;
53184
+ }
53185
+ if (isBacktracking === true && range === void 0) {
53186
+ return void 0;
53187
+ }
53188
+ ASSERT_EXISTS(range);
53189
+ break;
53190
+ }
53191
+ if (isBacktracking === true && range === void 0) {
53192
+ return void 0;
53193
+ }
53194
+ ASSERT_EXISTS(range);
53195
+ if (this.peekChar(0) === "?") {
53196
+ this.consumeChar("?");
53197
+ range.greedy = false;
53198
+ } else {
53199
+ range.greedy = true;
53200
+ }
53201
+ range.type = "Quantifier";
53202
+ range.loc = this.loc(begin);
53203
+ return range;
53204
+ };
53205
+ RegExpParser.prototype.atom = function() {
53206
+ var atom;
53207
+ var begin = this.idx;
53208
+ switch (this.peekChar()) {
53209
+ case ".":
53210
+ atom = this.dotAll();
53211
+ break;
53212
+ case "\\":
53213
+ atom = this.atomEscape();
53214
+ break;
53215
+ case "[":
53216
+ atom = this.characterClass();
53217
+ break;
53218
+ case "(":
53219
+ atom = this.group();
53220
+ break;
53221
+ }
53222
+ if (atom === void 0 && this.isPatternCharacter()) {
53223
+ atom = this.patternCharacter();
53224
+ }
53225
+ ASSERT_EXISTS(atom);
53226
+ atom.loc = this.loc(begin);
53227
+ if (this.isQuantifier()) {
53228
+ atom.quantifier = this.quantifier();
53229
+ }
53230
+ return atom;
53231
+ };
53232
+ RegExpParser.prototype.dotAll = function() {
53233
+ this.consumeChar(".");
53234
+ return {
53235
+ type: "Set",
53236
+ complement: true,
53237
+ value: [cc("\n"), cc("\r"), cc("\u2028"), cc("\u2029")]
53238
+ };
53239
+ };
53240
+ RegExpParser.prototype.atomEscape = function() {
53241
+ this.consumeChar("\\");
53242
+ switch (this.peekChar()) {
53243
+ case "1":
53244
+ case "2":
53245
+ case "3":
53246
+ case "4":
53247
+ case "5":
53248
+ case "6":
53249
+ case "7":
53250
+ case "8":
53251
+ case "9":
53252
+ return this.decimalEscapeAtom();
53253
+ case "d":
53254
+ case "D":
53255
+ case "s":
53256
+ case "S":
53257
+ case "w":
53258
+ case "W":
53259
+ return this.characterClassEscape();
53260
+ case "f":
53261
+ case "n":
53262
+ case "r":
53263
+ case "t":
53264
+ case "v":
53265
+ return this.controlEscapeAtom();
53266
+ case "c":
53267
+ return this.controlLetterEscapeAtom();
53268
+ case "0":
53269
+ return this.nulCharacterAtom();
53270
+ case "x":
53271
+ return this.hexEscapeSequenceAtom();
53272
+ case "u":
53273
+ return this.regExpUnicodeEscapeSequenceAtom();
53274
+ default:
53275
+ return this.identityEscapeAtom();
53276
+ }
53277
+ };
53278
+ RegExpParser.prototype.decimalEscapeAtom = function() {
53279
+ var value = this.positiveInteger();
53280
+ return { type: "GroupBackReference", value };
53281
+ };
53282
+ RegExpParser.prototype.characterClassEscape = function() {
53283
+ var set;
53284
+ var complement = false;
53285
+ switch (this.popChar()) {
53286
+ case "d":
53287
+ set = digitsCharCodes;
53288
+ break;
53289
+ case "D":
53290
+ set = digitsCharCodes;
53291
+ complement = true;
53292
+ break;
53293
+ case "s":
53294
+ set = whitespaceCodes;
53295
+ break;
53296
+ case "S":
53297
+ set = whitespaceCodes;
53298
+ complement = true;
53299
+ break;
53300
+ case "w":
53301
+ set = wordCharCodes;
53302
+ break;
53303
+ case "W":
53304
+ set = wordCharCodes;
53305
+ complement = true;
53306
+ break;
53307
+ }
53308
+ ASSERT_EXISTS(set);
53309
+ return { type: "Set", value: set, complement };
53310
+ };
53311
+ RegExpParser.prototype.controlEscapeAtom = function() {
53312
+ var escapeCode;
53313
+ switch (this.popChar()) {
53314
+ case "f":
53315
+ escapeCode = cc("\f");
53316
+ break;
53317
+ case "n":
53318
+ escapeCode = cc("\n");
53319
+ break;
53320
+ case "r":
53321
+ escapeCode = cc("\r");
53322
+ break;
53323
+ case "t":
53324
+ escapeCode = cc(" ");
53325
+ break;
53326
+ case "v":
53327
+ escapeCode = cc("\v");
53328
+ break;
53329
+ }
53330
+ ASSERT_EXISTS(escapeCode);
53331
+ return { type: "Character", value: escapeCode };
53332
+ };
53333
+ RegExpParser.prototype.controlLetterEscapeAtom = function() {
53334
+ this.consumeChar("c");
53335
+ var letter = this.popChar();
53336
+ if (/[a-zA-Z]/.test(letter) === false) {
53337
+ throw Error("Invalid ");
53338
+ }
53339
+ var letterCode = letter.toUpperCase().charCodeAt(0) - 64;
53340
+ return { type: "Character", value: letterCode };
53341
+ };
53342
+ RegExpParser.prototype.nulCharacterAtom = function() {
53343
+ this.consumeChar("0");
53344
+ return { type: "Character", value: cc("\0") };
53345
+ };
53346
+ RegExpParser.prototype.hexEscapeSequenceAtom = function() {
53347
+ this.consumeChar("x");
53348
+ return this.parseHexDigits(2);
53349
+ };
53350
+ RegExpParser.prototype.regExpUnicodeEscapeSequenceAtom = function() {
53351
+ this.consumeChar("u");
53352
+ return this.parseHexDigits(4);
53353
+ };
53354
+ RegExpParser.prototype.identityEscapeAtom = function() {
53355
+ var escapedChar = this.popChar();
53356
+ return { type: "Character", value: cc(escapedChar) };
53357
+ };
53358
+ RegExpParser.prototype.classPatternCharacterAtom = function() {
53359
+ switch (this.peekChar()) {
53360
+ case "\n":
53361
+ case "\r":
53362
+ case "\u2028":
53363
+ case "\u2029":
53364
+ case "\\":
53365
+ case "]":
53366
+ throw Error("TBD");
53367
+ default:
53368
+ var nextChar = this.popChar();
53369
+ return { type: "Character", value: cc(nextChar) };
53370
+ }
53371
+ };
53372
+ RegExpParser.prototype.characterClass = function() {
53373
+ var set = [];
53374
+ var complement = false;
53375
+ this.consumeChar("[");
53376
+ if (this.peekChar(0) === "^") {
53377
+ this.consumeChar("^");
53378
+ complement = true;
53379
+ }
53380
+ while (this.isClassAtom()) {
53381
+ var from = this.classAtom();
53382
+ var isFromSingleChar = from.type === "Character";
53383
+ if (isFromSingleChar && this.isRangeDash()) {
53384
+ this.consumeChar("-");
53385
+ var to = this.classAtom();
53386
+ var isToSingleChar = to.type === "Character";
53387
+ if (isToSingleChar) {
53388
+ if (to.value < from.value) {
53389
+ throw Error("Range out of order in character class");
53390
+ }
53391
+ set.push({ from: from.value, to: to.value });
53392
+ } else {
53393
+ insertToSet(from.value, set);
53394
+ set.push(cc("-"));
53395
+ insertToSet(to.value, set);
53396
+ }
53397
+ } else {
53398
+ insertToSet(from.value, set);
53399
+ }
53400
+ }
53401
+ this.consumeChar("]");
53402
+ return { type: "Set", complement, value: set };
53403
+ };
53404
+ RegExpParser.prototype.classAtom = function() {
53405
+ switch (this.peekChar()) {
53406
+ case "]":
53407
+ case "\n":
53408
+ case "\r":
53409
+ case "\u2028":
53410
+ case "\u2029":
53411
+ throw Error("TBD");
53412
+ case "\\":
53413
+ return this.classEscape();
53414
+ default:
53415
+ return this.classPatternCharacterAtom();
53416
+ }
53417
+ };
53418
+ RegExpParser.prototype.classEscape = function() {
53419
+ this.consumeChar("\\");
53420
+ switch (this.peekChar()) {
53421
+ case "b":
53422
+ this.consumeChar("b");
53423
+ return { type: "Character", value: cc("\b") };
53424
+ case "d":
53425
+ case "D":
53426
+ case "s":
53427
+ case "S":
53428
+ case "w":
53429
+ case "W":
53430
+ return this.characterClassEscape();
53431
+ case "f":
53432
+ case "n":
53433
+ case "r":
53434
+ case "t":
53435
+ case "v":
53436
+ return this.controlEscapeAtom();
53437
+ case "c":
53438
+ return this.controlLetterEscapeAtom();
53439
+ case "0":
53440
+ return this.nulCharacterAtom();
53441
+ case "x":
53442
+ return this.hexEscapeSequenceAtom();
53443
+ case "u":
53444
+ return this.regExpUnicodeEscapeSequenceAtom();
53445
+ default:
53446
+ return this.identityEscapeAtom();
53447
+ }
53448
+ };
53449
+ RegExpParser.prototype.group = function() {
53450
+ var capturing = true;
53451
+ this.consumeChar("(");
53452
+ switch (this.peekChar(0)) {
53453
+ case "?":
53454
+ this.consumeChar("?");
53455
+ this.consumeChar(":");
53456
+ capturing = false;
53457
+ break;
53458
+ default:
53459
+ this.groupIdx++;
53460
+ break;
53461
+ }
53462
+ var value = this.disjunction();
53463
+ this.consumeChar(")");
53464
+ var groupAst = {
53465
+ type: "Group",
53466
+ capturing,
53467
+ value
53468
+ };
53469
+ if (capturing) {
53470
+ groupAst.idx = this.groupIdx;
53471
+ }
53472
+ return groupAst;
53473
+ };
53474
+ RegExpParser.prototype.positiveInteger = function() {
53475
+ var number = this.popChar();
53476
+ if (decimalPatternNoZero.test(number) === false) {
53477
+ throw Error("Expecting a positive integer");
53478
+ }
53479
+ while (decimalPattern.test(this.peekChar(0))) {
53480
+ number += this.popChar();
53481
+ }
53482
+ return parseInt(number, 10);
53483
+ };
53484
+ RegExpParser.prototype.integerIncludingZero = function() {
53485
+ var number = this.popChar();
53486
+ if (decimalPattern.test(number) === false) {
53487
+ throw Error("Expecting an integer");
53488
+ }
53489
+ while (decimalPattern.test(this.peekChar(0))) {
53490
+ number += this.popChar();
53491
+ }
53492
+ return parseInt(number, 10);
53493
+ };
53494
+ RegExpParser.prototype.patternCharacter = function() {
53495
+ var nextChar = this.popChar();
53496
+ switch (nextChar) {
53497
+ case "\n":
53498
+ case "\r":
53499
+ case "\u2028":
53500
+ case "\u2029":
53501
+ case "^":
53502
+ case "$":
53503
+ case "\\":
53504
+ case ".":
53505
+ case "*":
53506
+ case "+":
53507
+ case "?":
53508
+ case "(":
53509
+ case ")":
53510
+ case "[":
53511
+ case "|":
53512
+ throw Error("TBD");
53513
+ default:
53514
+ return { type: "Character", value: cc(nextChar) };
53515
+ }
53516
+ };
53517
+ RegExpParser.prototype.isRegExpFlag = function() {
53518
+ switch (this.peekChar(0)) {
53519
+ case "g":
53520
+ case "i":
53521
+ case "m":
53522
+ case "u":
53523
+ case "y":
53524
+ return true;
53525
+ default:
53526
+ return false;
53527
+ }
53528
+ };
53529
+ RegExpParser.prototype.isRangeDash = function() {
53530
+ return this.peekChar() === "-" && this.isClassAtom(1);
53531
+ };
53532
+ RegExpParser.prototype.isDigit = function() {
53533
+ return decimalPattern.test(this.peekChar(0));
53534
+ };
53535
+ RegExpParser.prototype.isClassAtom = function(howMuch) {
53536
+ if (howMuch === void 0) {
53537
+ howMuch = 0;
53538
+ }
53539
+ switch (this.peekChar(howMuch)) {
53540
+ case "]":
53541
+ case "\n":
53542
+ case "\r":
53543
+ case "\u2028":
53544
+ case "\u2029":
53545
+ return false;
53546
+ default:
53547
+ return true;
53548
+ }
53549
+ };
53550
+ RegExpParser.prototype.isTerm = function() {
53551
+ return this.isAtom() || this.isAssertion();
53552
+ };
53553
+ RegExpParser.prototype.isAtom = function() {
53554
+ if (this.isPatternCharacter()) {
53555
+ return true;
53556
+ }
53557
+ switch (this.peekChar(0)) {
53558
+ case ".":
53559
+ case "\\":
53560
+ case "[":
53561
+ case "(":
53562
+ return true;
53563
+ default:
53564
+ return false;
53565
+ }
53566
+ };
53567
+ RegExpParser.prototype.isAssertion = function() {
53568
+ switch (this.peekChar(0)) {
53569
+ case "^":
53570
+ case "$":
53571
+ return true;
53572
+ case "\\":
53573
+ switch (this.peekChar(1)) {
53574
+ case "b":
53575
+ case "B":
53576
+ return true;
53577
+ default:
53578
+ return false;
53579
+ }
53580
+ case "(":
53581
+ return this.peekChar(1) === "?" && (this.peekChar(2) === "=" || this.peekChar(2) === "!");
53582
+ default:
53583
+ return false;
53584
+ }
53585
+ };
53586
+ RegExpParser.prototype.isQuantifier = function() {
53587
+ var prevState = this.saveState();
53588
+ try {
53589
+ return this.quantifier(true) !== void 0;
53590
+ } catch (e) {
53591
+ return false;
53592
+ } finally {
53593
+ this.restoreState(prevState);
53594
+ }
53595
+ };
53596
+ RegExpParser.prototype.isPatternCharacter = function() {
53597
+ switch (this.peekChar()) {
53598
+ case "^":
53599
+ case "$":
53600
+ case "\\":
53601
+ case ".":
53602
+ case "*":
53603
+ case "+":
53604
+ case "?":
53605
+ case "(":
53606
+ case ")":
53607
+ case "[":
53608
+ case "|":
53609
+ case "/":
53610
+ case "\n":
53611
+ case "\r":
53612
+ case "\u2028":
53613
+ case "\u2029":
53614
+ return false;
53615
+ default:
53616
+ return true;
53617
+ }
53618
+ };
53619
+ RegExpParser.prototype.parseHexDigits = function(howMany) {
53620
+ var hexString = "";
53621
+ for (var i3 = 0; i3 < howMany; i3++) {
53622
+ var hexChar = this.popChar();
53623
+ if (hexDigitPattern.test(hexChar) === false) {
53624
+ throw Error("Expecting a HexDecimal digits");
53625
+ }
53626
+ hexString += hexChar;
53627
+ }
53628
+ var charCode = parseInt(hexString, 16);
53629
+ return { type: "Character", value: charCode };
53630
+ };
53631
+ RegExpParser.prototype.peekChar = function(howMuch) {
53632
+ if (howMuch === void 0) {
53633
+ howMuch = 0;
53634
+ }
53635
+ return this.input[this.idx + howMuch];
53636
+ };
53637
+ RegExpParser.prototype.popChar = function() {
53638
+ var nextChar = this.peekChar(0);
53639
+ this.consumeChar();
53640
+ return nextChar;
53641
+ };
53642
+ RegExpParser.prototype.consumeChar = function(char) {
53643
+ if (char !== void 0 && this.input[this.idx] !== char) {
53644
+ throw Error(
53645
+ "Expected: '" + char + "' but found: '" + this.input[this.idx] + "' at offset: " + this.idx
53646
+ );
53647
+ }
53648
+ if (this.idx >= this.input.length) {
53649
+ throw Error("Unexpected end of input");
53650
+ }
53651
+ this.idx++;
53652
+ };
53653
+ RegExpParser.prototype.loc = function(begin) {
53654
+ return { begin, end: this.idx };
53655
+ };
53656
+ var hexDigitPattern = /[0-9a-fA-F]/;
53657
+ var decimalPattern = /[0-9]/;
53658
+ var decimalPatternNoZero = /[1-9]/;
53659
+ function cc(char) {
53660
+ return char.charCodeAt(0);
53661
+ }
53662
+ function insertToSet(item, set) {
53663
+ if (item.length !== void 0) {
53664
+ item.forEach(function(subItem) {
53665
+ set.push(subItem);
53666
+ });
53667
+ } else {
53668
+ set.push(item);
53669
+ }
53670
+ }
53671
+ function addFlag(flagObj, flagKey) {
53672
+ if (flagObj[flagKey] === true) {
53673
+ throw "duplicate flag " + flagKey;
53674
+ }
53675
+ flagObj[flagKey] = true;
53676
+ }
53677
+ function ASSERT_EXISTS(obj) {
53678
+ if (obj === void 0) {
53679
+ throw Error("Internal Error - Should never get here!");
53680
+ }
53681
+ }
53682
+ function ASSERT_NEVER_REACH_HERE() {
53683
+ throw Error("Internal Error - Should never get here!");
53684
+ }
53685
+ var i2;
53686
+ var digitsCharCodes = [];
53687
+ for (i2 = cc("0"); i2 <= cc("9"); i2++) {
53688
+ digitsCharCodes.push(i2);
53689
+ }
53690
+ var wordCharCodes = [cc("_")].concat(digitsCharCodes);
53691
+ for (i2 = cc("a"); i2 <= cc("z"); i2++) {
53692
+ wordCharCodes.push(i2);
53693
+ }
53694
+ for (i2 = cc("A"); i2 <= cc("Z"); i2++) {
53695
+ wordCharCodes.push(i2);
53696
+ }
53697
+ var whitespaceCodes = [
53698
+ cc(" "),
53699
+ cc("\f"),
53700
+ cc("\n"),
53701
+ cc("\r"),
53702
+ cc(" "),
53703
+ cc("\v"),
53704
+ cc(" "),
53705
+ cc(" "),
53706
+ cc(" "),
53707
+ cc(" "),
53708
+ cc(" "),
53709
+ cc(" "),
53710
+ cc(" "),
53711
+ cc(" "),
53712
+ cc(" "),
53713
+ cc(" "),
53714
+ cc(" "),
53715
+ cc(" "),
53716
+ cc(" "),
53717
+ cc(" "),
53718
+ cc("\u2028"),
53719
+ cc("\u2029"),
53720
+ cc(" "),
53721
+ cc(" "),
53722
+ cc(" "),
53723
+ cc("\uFEFF")
53724
+ ];
53725
+ function BaseRegExpVisitor() {
53726
+ }
53727
+ BaseRegExpVisitor.prototype.visitChildren = function(node) {
53728
+ for (var key in node) {
53729
+ var child = node[key];
53730
+ if (node.hasOwnProperty(key)) {
53731
+ if (child.type !== void 0) {
53732
+ this.visit(child);
53733
+ } else if (Array.isArray(child)) {
53734
+ child.forEach(function(subChild) {
53735
+ this.visit(subChild);
53736
+ }, this);
53737
+ }
53738
+ }
53739
+ }
53740
+ };
53741
+ BaseRegExpVisitor.prototype.visit = function(node) {
53742
+ switch (node.type) {
53743
+ case "Pattern":
53744
+ this.visitPattern(node);
53745
+ break;
53746
+ case "Flags":
53747
+ this.visitFlags(node);
53748
+ break;
53749
+ case "Disjunction":
53750
+ this.visitDisjunction(node);
53751
+ break;
53752
+ case "Alternative":
53753
+ this.visitAlternative(node);
53754
+ break;
53755
+ case "StartAnchor":
53756
+ this.visitStartAnchor(node);
53757
+ break;
53758
+ case "EndAnchor":
53759
+ this.visitEndAnchor(node);
53760
+ break;
53761
+ case "WordBoundary":
53762
+ this.visitWordBoundary(node);
53763
+ break;
53764
+ case "NonWordBoundary":
53765
+ this.visitNonWordBoundary(node);
53766
+ break;
53767
+ case "Lookahead":
53768
+ this.visitLookahead(node);
53769
+ break;
53770
+ case "NegativeLookahead":
53771
+ this.visitNegativeLookahead(node);
53772
+ break;
53773
+ case "Character":
53774
+ this.visitCharacter(node);
53775
+ break;
53776
+ case "Set":
53777
+ this.visitSet(node);
53778
+ break;
53779
+ case "Group":
53780
+ this.visitGroup(node);
53781
+ break;
53782
+ case "GroupBackReference":
53783
+ this.visitGroupBackReference(node);
53784
+ break;
53785
+ case "Quantifier":
53786
+ this.visitQuantifier(node);
53787
+ break;
53788
+ }
53789
+ this.visitChildren(node);
53790
+ };
53791
+ BaseRegExpVisitor.prototype.visitPattern = function(node) {
53792
+ };
53793
+ BaseRegExpVisitor.prototype.visitFlags = function(node) {
53794
+ };
53795
+ BaseRegExpVisitor.prototype.visitDisjunction = function(node) {
53796
+ };
53797
+ BaseRegExpVisitor.prototype.visitAlternative = function(node) {
53798
+ };
53799
+ BaseRegExpVisitor.prototype.visitStartAnchor = function(node) {
53800
+ };
53801
+ BaseRegExpVisitor.prototype.visitEndAnchor = function(node) {
53802
+ };
53803
+ BaseRegExpVisitor.prototype.visitWordBoundary = function(node) {
53804
+ };
53805
+ BaseRegExpVisitor.prototype.visitNonWordBoundary = function(node) {
53806
+ };
53807
+ BaseRegExpVisitor.prototype.visitLookahead = function(node) {
53808
+ };
53809
+ BaseRegExpVisitor.prototype.visitNegativeLookahead = function(node) {
53810
+ };
53811
+ BaseRegExpVisitor.prototype.visitCharacter = function(node) {
53812
+ };
53813
+ BaseRegExpVisitor.prototype.visitSet = function(node) {
53814
+ };
53815
+ BaseRegExpVisitor.prototype.visitGroup = function(node) {
53816
+ };
53817
+ BaseRegExpVisitor.prototype.visitGroupBackReference = function(node) {
53818
+ };
53819
+ BaseRegExpVisitor.prototype.visitQuantifier = function(node) {
53820
+ };
53821
+ return {
53822
+ RegExpParser,
53823
+ BaseRegExpVisitor,
53824
+ VERSION: "0.5.0"
53825
+ };
53826
+ }
53827
+ );
53828
+ })(regexpToAst);
53829
+ var regexpToAstExports = regexpToAst.exports;
52992
53830
  var reg_exp = {};
52993
53831
  var reg_exp_parser = {};
52994
53832
  Object.defineProperty(reg_exp_parser, "__esModule", { value: true });
52995
53833
  reg_exp_parser.clearRegExpParserCache = reg_exp_parser.getRegExpAst = void 0;
52996
- var regexp_to_ast_1 = require$$0$2;
53834
+ var regexp_to_ast_1 = regexpToAstExports;
52997
53835
  var regExpAstCache = {};
52998
53836
  var regExpParser = new regexp_to_ast_1.RegExpParser();
52999
53837
  function getRegExpAst(regExp) {
@@ -53043,7 +53881,7 @@ function requireReg_exp() {
53043
53881
  };
53044
53882
  Object.defineProperty(exports, "__esModule", { value: true });
53045
53883
  exports.canMatchCharCode = exports.firstCharOptimizedIndices = exports.getOptimizedStartCodesIndices = exports.failedOptimizationPrefixMsg = void 0;
53046
- var regexp_to_ast_12 = require$$0$2;
53884
+ var regexp_to_ast_12 = regexpToAstExports;
53047
53885
  var isArray_12 = __importDefault2(require$$1$1);
53048
53886
  var every_12 = __importDefault2(require$$2$2);
53049
53887
  var forEach_12 = __importDefault2(require$$1);
@@ -53292,10 +54130,10 @@ function requireLexer() {
53292
54130
  };
53293
54131
  Object.defineProperty(exports, "__esModule", { value: true });
53294
54132
  exports.charCodeToOptimizedIndex = exports.minOptimizationVal = exports.buildLineBreakIssueMessage = exports.LineTerminatorOptimizedTester = exports.isShortPattern = exports.isCustomPattern = exports.cloneEmptyGroups = exports.performWarningRuntimeChecks = exports.performRuntimeChecks = exports.addStickyFlag = exports.addStartOfInput = exports.findUnreachablePatterns = exports.findModesThatDoNotExist = exports.findInvalidGroupType = exports.findDuplicatePatterns = exports.findUnsupportedFlags = exports.findStartOfInputAnchor = exports.findEmptyMatchRegExps = exports.findEndOfInputAnchor = exports.findInvalidPatterns = exports.findMissingPatterns = exports.validatePatterns = exports.analyzeTokenTypes = exports.enableSticky = exports.disableSticky = exports.SUPPORT_STICKY = exports.MODES = exports.DEFAULT_MODE = void 0;
53295
- var regexp_to_ast_12 = require$$0$2;
54133
+ var regexp_to_ast_12 = regexpToAstExports;
53296
54134
  var lexer_public_1 = requireLexer_public();
53297
54135
  var first_12 = __importDefault2(require$$1$2);
53298
- var isEmpty_12 = __importDefault2(require$$0$3);
54136
+ var isEmpty_12 = __importDefault2(require$$0$2);
53299
54137
  var compact_1 = __importDefault2(require$$1$3);
53300
54138
  var isArray_12 = __importDefault2(require$$1$1);
53301
54139
  var values_12 = __importDefault2(require$$3$2);
@@ -54059,7 +54897,7 @@ var tokens = {};
54059
54897
  };
54060
54898
  Object.defineProperty(exports, "__esModule", { value: true });
54061
54899
  exports.isTokenType = exports.hasExtendingTokensTypesMapProperty = exports.hasExtendingTokensTypesProperty = exports.hasCategoriesProperty = exports.hasShortKeyProperty = exports.singleAssignCategoriesToksMap = exports.assignCategoriesMapProp = exports.assignCategoriesTokensProp = exports.assignTokenDefaultProps = exports.expandCategories = exports.augmentTokenTypes = exports.tokenIdxToClass = exports.tokenShortNameIdx = exports.tokenStructuredMatcherNoCategories = exports.tokenStructuredMatcher = void 0;
54062
- var isEmpty_12 = __importDefault2(require$$0$3);
54900
+ var isEmpty_12 = __importDefault2(require$$0$2);
54063
54901
  var compact_1 = __importDefault2(require$$1$3);
54064
54902
  var isArray_12 = __importDefault2(require$$1$1);
54065
54903
  var flatten_12 = __importDefault2(require$$3$1);
@@ -54206,7 +55044,7 @@ function requireLexer_public() {
54206
55044
  exports.Lexer = exports.LexerDefinitionErrorType = void 0;
54207
55045
  var lexer_1 = requireLexer();
54208
55046
  var noop_1 = __importDefault2(require$$1$5);
54209
- var isEmpty_12 = __importDefault2(require$$0$3);
55047
+ var isEmpty_12 = __importDefault2(require$$0$2);
54210
55048
  var isArray_12 = __importDefault2(require$$1$1);
54211
55049
  var last_12 = __importDefault2(require$$4$3);
54212
55050
  var reject_1 = __importDefault2(require$$5$1);
@@ -55151,7 +55989,7 @@ Object.defineProperty(interpreter, "__esModule", { value: true });
55151
55989
  interpreter.nextPossibleTokensAfter = interpreter.possiblePathsFrom = interpreter.NextTerminalAfterAtLeastOneSepWalker = interpreter.NextTerminalAfterAtLeastOneWalker = interpreter.NextTerminalAfterManySepWalker = interpreter.NextTerminalAfterManyWalker = interpreter.AbstractNextTerminalAfterProductionWalker = interpreter.NextAfterTokenWalker = interpreter.AbstractNextPossibleTokensWalker = void 0;
55152
55990
  var rest_1 = rest;
55153
55991
  var first_1$1 = __importDefault$4(require$$1$2);
55154
- var isEmpty_1 = __importDefault$4(require$$0$3);
55992
+ var isEmpty_1 = __importDefault$4(require$$0$2);
55155
55993
  var dropRight_1 = __importDefault$4(require$$3$4);
55156
55994
  var drop_1 = __importDefault$4(require$$0$1);
55157
55995
  var last_1 = __importDefault$4(require$$4$3);
@@ -55660,7 +56498,7 @@ function expandTopLevelRule(topRule, currIdx, currRuleStack, currOccurrenceStack
55660
56498
  };
55661
56499
  Object.defineProperty(exports, "__esModule", { value: true });
55662
56500
  exports.areTokenCategoriesNotUsed = exports.isStrictPrefixOfPath = exports.containsPath = exports.getLookaheadPathsForOptionalProd = exports.getLookaheadPathsForOr = exports.lookAheadSequenceFromAlternatives = exports.buildSingleAlternativeLookaheadFunction = exports.buildAlternativesLookAheadFunc = exports.buildLookaheadFuncForOptionalProd = exports.buildLookaheadFuncForOr = exports.getLookaheadPaths = exports.getProdType = exports.PROD_TYPE = void 0;
55663
- var isEmpty_12 = __importDefault2(require$$0$3);
56501
+ var isEmpty_12 = __importDefault2(require$$0$2);
55664
56502
  var flatten_12 = __importDefault2(require$$3$1);
55665
56503
  var every_12 = __importDefault2(require$$2$2);
55666
56504
  var map_12 = __importDefault2(require$$2);
@@ -56124,7 +56962,7 @@ function requireChecks() {
56124
56962
  Object.defineProperty(checks, "__esModule", { value: true });
56125
56963
  checks.checkPrefixAlternativesAmbiguities = checks.validateSomeNonEmptyLookaheadPath = checks.validateTooManyAlts = checks.RepetitionCollector = checks.validateAmbiguousAlternationAlternatives = checks.validateEmptyOrAlternative = checks.getFirstNoneTerminal = checks.validateNoLeftRecursion = checks.validateRuleIsOverridden = checks.validateRuleDoesNotAlreadyExist = checks.OccurrenceValidationCollector = checks.identifyProductionForDuplicates = checks.validateGrammar = checks.validateLookahead = void 0;
56126
56964
  var first_12 = __importDefault2(require$$1$2);
56127
- var isEmpty_12 = __importDefault2(require$$0$3);
56965
+ var isEmpty_12 = __importDefault2(require$$0$2);
56128
56966
  var drop_12 = __importDefault2(require$$0$1);
56129
56967
  var flatten_12 = __importDefault2(require$$3$1);
56130
56968
  var filter_1 = __importDefault2(require$$20);
@@ -56779,7 +57617,7 @@ function requireRecoverable() {
56779
57617
  Object.defineProperty(exports, "__esModule", { value: true });
56780
57618
  exports.attemptInRepetitionRecovery = exports.Recoverable = exports.InRuleRecoveryException = exports.IN_RULE_RECOVERY_EXCEPTION = exports.EOF_FOLLOW_KEY = void 0;
56781
57619
  var tokens_public_1 = tokens_public;
56782
- var isEmpty_12 = __importDefault2(require$$0$3);
57620
+ var isEmpty_12 = __importDefault2(require$$0$2);
56783
57621
  var dropRight_12 = __importDefault2(require$$3$4);
56784
57622
  var flatten_12 = __importDefault2(require$$3$1);
56785
57623
  var map_12 = __importDefault2(require$$2);
@@ -57095,7 +57933,7 @@ function requireLlk_lookahead() {
57095
57933
  Object.defineProperty(llk_lookahead, "__esModule", { value: true });
57096
57934
  llk_lookahead.LLkLookaheadStrategy = void 0;
57097
57935
  var flatMap_1 = __importDefault2(require$$14$1);
57098
- var isEmpty_12 = __importDefault2(require$$0$3);
57936
+ var isEmpty_12 = __importDefault2(require$$0$2);
57099
57937
  var errors_public_1 = errors_public;
57100
57938
  var parser_1 = requireParser();
57101
57939
  var checks_1 = requireChecks();
@@ -57384,7 +58222,7 @@ lang_extensions.defineNameProp = defineNameProp;
57384
58222
  };
57385
58223
  Object.defineProperty(exports, "__esModule", { value: true });
57386
58224
  exports.validateMissingCstMethods = exports.validateVisitor = exports.CstVisitorDefinitionError = exports.createBaseVisitorConstructorWithDefaults = exports.createBaseSemanticVisitorConstructor = exports.defaultVisit = void 0;
57387
- var isEmpty_12 = __importDefault2(require$$0$3);
58225
+ var isEmpty_12 = __importDefault2(require$$0$2);
57388
58226
  var compact_1 = __importDefault2(require$$1$3);
57389
58227
  var isArray_12 = __importDefault2(require$$1$1);
57390
58228
  var map_12 = __importDefault2(require$$2);
@@ -58090,7 +58928,7 @@ function requireRecognizer_engine() {
58090
58928
  };
58091
58929
  Object.defineProperty(recognizer_engine, "__esModule", { value: true });
58092
58930
  recognizer_engine.RecognizerEngine = void 0;
58093
- var isEmpty_12 = __importDefault2(require$$0$3);
58931
+ var isEmpty_12 = __importDefault2(require$$0$2);
58094
58932
  var isArray_12 = __importDefault2(require$$1$1);
58095
58933
  var flatten_12 = __importDefault2(require$$3$1);
58096
58934
  var every_12 = __importDefault2(require$$2$2);
@@ -59077,7 +59915,7 @@ function requireParser() {
59077
59915
  };
59078
59916
  Object.defineProperty(exports, "__esModule", { value: true });
59079
59917
  exports.EmbeddedActionsParser = exports.CstParser = exports.Parser = exports.EMPTY_ALT = exports.ParserDefinitionErrorType = exports.DEFAULT_RULE_CONFIG = exports.DEFAULT_PARSER_CONFIG = exports.END_OF_FILE = void 0;
59080
- var isEmpty_12 = __importDefault2(require$$0$3);
59918
+ var isEmpty_12 = __importDefault2(require$$0$2);
59081
59919
  var map_12 = __importDefault2(require$$2);
59082
59920
  var forEach_12 = __importDefault2(require$$1);
59083
59921
  var values_12 = __importDefault2(require$$3$2);