123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570 |
- // https://github.com/nuysoft/regexp
- // forked from https://github.com/ForbesLindesay/regexp
- function parse(n) {
- if ("string" != typeof n) {
- var l = new TypeError("The regexp to parse must be represented as a string.");
- throw l;
- }
- return index = 1, cgs = {}, parser.parse(n);
- }
- function Token(n) {
- this.type = n, this.offset = Token.offset(), this.text = Token.text();
- }
- function Alternate(n, l) {
- Token.call(this, "alternate"), this.left = n, this.right = l;
- }
- function Match(n) {
- Token.call(this, "match"), this.body = n.filter(Boolean);
- }
- function Group(n, l) {
- Token.call(this, n), this.body = l;
- }
- function CaptureGroup(n) {
- Group.call(this, "capture-group"), this.index = cgs[this.offset] || (cgs[this.offset] = index++),
- this.body = n;
- }
- function Quantified(n, l) {
- Token.call(this, "quantified"), this.body = n, this.quantifier = l;
- }
- function Quantifier(n, l) {
- Token.call(this, "quantifier"), this.min = n, this.max = l, this.greedy = !0;
- }
- function CharSet(n, l) {
- Token.call(this, "charset"), this.invert = n, this.body = l;
- }
- function CharacterRange(n, l) {
- Token.call(this, "range"), this.start = n, this.end = l;
- }
- function Literal(n) {
- Token.call(this, "literal"), this.body = n, this.escaped = this.body != this.text;
- }
- function Unicode(n) {
- Token.call(this, "unicode"), this.code = n.toUpperCase();
- }
- function Hex(n) {
- Token.call(this, "hex"), this.code = n.toUpperCase();
- }
- function Octal(n) {
- Token.call(this, "octal"), this.code = n.toUpperCase();
- }
- function BackReference(n) {
- Token.call(this, "back-reference"), this.code = n.toUpperCase();
- }
- function ControlCharacter(n) {
- Token.call(this, "control-character"), this.code = n.toUpperCase();
- }
- var parser = function() {
- function n(n, l) {
- function u() {
- this.constructor = n;
- }
- u.prototype = l.prototype, n.prototype = new u();
- }
- function l(n, l, u, t, r) {
- function e(n, l) {
- function u(n) {
- function l(n) {
- return n.charCodeAt(0).toString(16).toUpperCase();
- }
- return n.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\x08/g, "\\b").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\f/g, "\\f").replace(/\r/g, "\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(n) {
- return "\\x0" + l(n);
- }).replace(/[\x10-\x1F\x80-\xFF]/g, function(n) {
- return "\\x" + l(n);
- }).replace(/[\u0180-\u0FFF]/g, function(n) {
- return "\\u0" + l(n);
- }).replace(/[\u1080-\uFFFF]/g, function(n) {
- return "\\u" + l(n);
- });
- }
- var t, r;
- switch (n.length) {
- case 0:
- t = "end of input";
- break;
- case 1:
- t = n[0];
- break;
- default:
- t = n.slice(0, -1).join(", ") + " or " + n[n.length - 1];
- }
- return r = l ? '"' + u(l) + '"' : "end of input", "Expected " + t + " but " + r + " found.";
- }
- this.expected = n, this.found = l, this.offset = u, this.line = t, this.column = r,
- this.name = "SyntaxError", this.message = e(n, l);
- }
- function u(n) {
- function u() {
- return n.substring(Lt, qt);
- }
- function t() {
- return Lt;
- }
- function r(l) {
- function u(l, u, t) {
- var r, e;
- for (r = u; t > r; r++) e = n.charAt(r), "\n" === e ? (l.seenCR || l.line++, l.column = 1,
- l.seenCR = !1) : "\r" === e || "\u2028" === e || "\u2029" === e ? (l.line++, l.column = 1,
- l.seenCR = !0) : (l.column++, l.seenCR = !1);
- }
- return Mt !== l && (Mt > l && (Mt = 0, Dt = {
- line: 1,
- column: 1,
- seenCR: !1
- }), u(Dt, Mt, l), Mt = l), Dt;
- }
- function e(n) {
- Ht > qt || (qt > Ht && (Ht = qt, Ot = []), Ot.push(n));
- }
- function o(n) {
- var l = 0;
- for (n.sort(); l < n.length; ) n[l - 1] === n[l] ? n.splice(l, 1) : l++;
- }
- function c() {
- var l, u, t, r, o;
- return l = qt, u = i(), null !== u ? (t = qt, 124 === n.charCodeAt(qt) ? (r = fl,
- qt++) : (r = null, 0 === Wt && e(sl)), null !== r ? (o = c(), null !== o ? (r = [ r, o ],
- t = r) : (qt = t, t = il)) : (qt = t, t = il), null === t && (t = al), null !== t ? (Lt = l,
- u = hl(u, t), null === u ? (qt = l, l = u) : l = u) : (qt = l, l = il)) : (qt = l,
- l = il), l;
- }
- function i() {
- var n, l, u, t, r;
- if (n = qt, l = f(), null === l && (l = al), null !== l) if (u = qt, Wt++, t = d(),
- Wt--, null === t ? u = al : (qt = u, u = il), null !== u) {
- for (t = [], r = h(), null === r && (r = a()); null !== r; ) t.push(r), r = h(),
- null === r && (r = a());
- null !== t ? (r = s(), null === r && (r = al), null !== r ? (Lt = n, l = dl(l, t, r),
- null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n, n = il);
- } else qt = n, n = il; else qt = n, n = il;
- return n;
- }
- function a() {
- var n;
- return n = x(), null === n && (n = Q(), null === n && (n = B())), n;
- }
- function f() {
- var l, u;
- return l = qt, 94 === n.charCodeAt(qt) ? (u = pl, qt++) : (u = null, 0 === Wt && e(vl)),
- null !== u && (Lt = l, u = wl()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function s() {
- var l, u;
- return l = qt, 36 === n.charCodeAt(qt) ? (u = Al, qt++) : (u = null, 0 === Wt && e(Cl)),
- null !== u && (Lt = l, u = gl()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function h() {
- var n, l, u;
- return n = qt, l = a(), null !== l ? (u = d(), null !== u ? (Lt = n, l = bl(l, u),
- null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n, n = il), n;
- }
- function d() {
- var n, l, u;
- return Wt++, n = qt, l = p(), null !== l ? (u = k(), null === u && (u = al), null !== u ? (Lt = n,
- l = Tl(l, u), null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n,
- n = il), Wt--, null === n && (l = null, 0 === Wt && e(kl)), n;
- }
- function p() {
- var n;
- return n = v(), null === n && (n = w(), null === n && (n = A(), null === n && (n = C(),
- null === n && (n = g(), null === n && (n = b()))))), n;
- }
- function v() {
- var l, u, t, r, o, c;
- return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
- null !== u ? (t = T(), null !== t ? (44 === n.charCodeAt(qt) ? (r = ml, qt++) : (r = null,
- 0 === Wt && e(Rl)), null !== r ? (o = T(), null !== o ? (125 === n.charCodeAt(qt) ? (c = Fl,
- qt++) : (c = null, 0 === Wt && e(Ql)), null !== c ? (Lt = l, u = Sl(t, o), null === u ? (qt = l,
- l = u) : l = u) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l,
- l = il)) : (qt = l, l = il), l;
- }
- function w() {
- var l, u, t, r;
- return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
- null !== u ? (t = T(), null !== t ? (n.substr(qt, 2) === Ul ? (r = Ul, qt += 2) : (r = null,
- 0 === Wt && e(El)), null !== r ? (Lt = l, u = Gl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;
- }
- function A() {
- var l, u, t, r;
- return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)),
- null !== u ? (t = T(), null !== t ? (125 === n.charCodeAt(qt) ? (r = Fl, qt++) : (r = null,
- 0 === Wt && e(Ql)), null !== r ? (Lt = l, u = Bl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;
- }
- function C() {
- var l, u;
- return l = qt, 43 === n.charCodeAt(qt) ? (u = jl, qt++) : (u = null, 0 === Wt && e($l)),
- null !== u && (Lt = l, u = ql()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function g() {
- var l, u;
- return l = qt, 42 === n.charCodeAt(qt) ? (u = Ll, qt++) : (u = null, 0 === Wt && e(Ml)),
- null !== u && (Lt = l, u = Dl()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function b() {
- var l, u;
- return l = qt, 63 === n.charCodeAt(qt) ? (u = Hl, qt++) : (u = null, 0 === Wt && e(Ol)),
- null !== u && (Lt = l, u = Wl()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function k() {
- var l;
- return 63 === n.charCodeAt(qt) ? (l = Hl, qt++) : (l = null, 0 === Wt && e(Ol)),
- l;
- }
- function T() {
- var l, u, t;
- if (l = qt, u = [], zl.test(n.charAt(qt)) ? (t = n.charAt(qt), qt++) : (t = null,
- 0 === Wt && e(Il)), null !== t) for (;null !== t; ) u.push(t), zl.test(n.charAt(qt)) ? (t = n.charAt(qt),
- qt++) : (t = null, 0 === Wt && e(Il)); else u = il;
- return null !== u && (Lt = l, u = Jl(u)), null === u ? (qt = l, l = u) : l = u,
- l;
- }
- function x() {
- var l, u, t, r;
- return l = qt, 40 === n.charCodeAt(qt) ? (u = Kl, qt++) : (u = null, 0 === Wt && e(Nl)),
- null !== u ? (t = R(), null === t && (t = F(), null === t && (t = m(), null === t && (t = y()))),
- null !== t ? (41 === n.charCodeAt(qt) ? (r = Pl, qt++) : (r = null, 0 === Wt && e(Vl)),
- null !== r ? (Lt = l, u = Xl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;
- }
- function y() {
- var n, l;
- return n = qt, l = c(), null !== l && (Lt = n, l = Yl(l)), null === l ? (qt = n,
- n = l) : n = l, n;
- }
- function m() {
- var l, u, t;
- return l = qt, n.substr(qt, 2) === Zl ? (u = Zl, qt += 2) : (u = null, 0 === Wt && e(_l)),
- null !== u ? (t = c(), null !== t ? (Lt = l, u = nu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il), l;
- }
- function R() {
- var l, u, t;
- return l = qt, n.substr(qt, 2) === lu ? (u = lu, qt += 2) : (u = null, 0 === Wt && e(uu)),
- null !== u ? (t = c(), null !== t ? (Lt = l, u = tu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il), l;
- }
- function F() {
- var l, u, t;
- return l = qt, n.substr(qt, 2) === ru ? (u = ru, qt += 2) : (u = null, 0 === Wt && e(eu)),
- null !== u ? (t = c(), null !== t ? (Lt = l, u = ou(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il), l;
- }
- function Q() {
- var l, u, t, r, o;
- if (Wt++, l = qt, 91 === n.charCodeAt(qt) ? (u = iu, qt++) : (u = null, 0 === Wt && e(au)),
- null !== u) if (94 === n.charCodeAt(qt) ? (t = pl, qt++) : (t = null, 0 === Wt && e(vl)),
- null === t && (t = al), null !== t) {
- for (r = [], o = S(), null === o && (o = U()); null !== o; ) r.push(o), o = S(),
- null === o && (o = U());
- null !== r ? (93 === n.charCodeAt(qt) ? (o = fu, qt++) : (o = null, 0 === Wt && e(su)),
- null !== o ? (Lt = l, u = hu(t, r), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il);
- } else qt = l, l = il; else qt = l, l = il;
- return Wt--, null === l && (u = null, 0 === Wt && e(cu)), l;
- }
- function S() {
- var l, u, t, r;
- return Wt++, l = qt, u = U(), null !== u ? (45 === n.charCodeAt(qt) ? (t = pu, qt++) : (t = null,
- 0 === Wt && e(vu)), null !== t ? (r = U(), null !== r ? (Lt = l, u = wu(u, r), null === u ? (qt = l,
- l = u) : l = u) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, l = il), Wt--,
- null === l && (u = null, 0 === Wt && e(du)), l;
- }
- function U() {
- var n, l;
- return Wt++, n = G(), null === n && (n = E()), Wt--, null === n && (l = null, 0 === Wt && e(Au)),
- n;
- }
- function E() {
- var l, u;
- return l = qt, Cu.test(n.charAt(qt)) ? (u = n.charAt(qt), qt++) : (u = null, 0 === Wt && e(gu)),
- null !== u && (Lt = l, u = bu(u)), null === u ? (qt = l, l = u) : l = u, l;
- }
- function G() {
- var n;
- return n = L(), null === n && (n = Y(), null === n && (n = H(), null === n && (n = O(),
- null === n && (n = W(), null === n && (n = z(), null === n && (n = I(), null === n && (n = J(),
- null === n && (n = K(), null === n && (n = N(), null === n && (n = P(), null === n && (n = V(),
- null === n && (n = X(), null === n && (n = _(), null === n && (n = nl(), null === n && (n = ll(),
- null === n && (n = ul(), null === n && (n = tl()))))))))))))))))), n;
- }
- function B() {
- var n;
- return n = j(), null === n && (n = q(), null === n && (n = $())), n;
- }
- function j() {
- var l, u;
- return l = qt, 46 === n.charCodeAt(qt) ? (u = ku, qt++) : (u = null, 0 === Wt && e(Tu)),
- null !== u && (Lt = l, u = xu()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function $() {
- var l, u;
- return Wt++, l = qt, mu.test(n.charAt(qt)) ? (u = n.charAt(qt), qt++) : (u = null,
- 0 === Wt && e(Ru)), null !== u && (Lt = l, u = bu(u)), null === u ? (qt = l, l = u) : l = u,
- Wt--, null === l && (u = null, 0 === Wt && e(yu)), l;
- }
- function q() {
- var n;
- return n = M(), null === n && (n = D(), null === n && (n = Y(), null === n && (n = H(),
- null === n && (n = O(), null === n && (n = W(), null === n && (n = z(), null === n && (n = I(),
- null === n && (n = J(), null === n && (n = K(), null === n && (n = N(), null === n && (n = P(),
- null === n && (n = V(), null === n && (n = X(), null === n && (n = Z(), null === n && (n = _(),
- null === n && (n = nl(), null === n && (n = ll(), null === n && (n = ul(), null === n && (n = tl()))))))))))))))))))),
- n;
- }
- function L() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Fu ? (u = Fu, qt += 2) : (u = null, 0 === Wt && e(Qu)),
- null !== u && (Lt = l, u = Su()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function M() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Fu ? (u = Fu, qt += 2) : (u = null, 0 === Wt && e(Qu)),
- null !== u && (Lt = l, u = Uu()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function D() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Eu ? (u = Eu, qt += 2) : (u = null, 0 === Wt && e(Gu)),
- null !== u && (Lt = l, u = Bu()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function H() {
- var l, u;
- return l = qt, n.substr(qt, 2) === ju ? (u = ju, qt += 2) : (u = null, 0 === Wt && e($u)),
- null !== u && (Lt = l, u = qu()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function O() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Lu ? (u = Lu, qt += 2) : (u = null, 0 === Wt && e(Mu)),
- null !== u && (Lt = l, u = Du()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function W() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Hu ? (u = Hu, qt += 2) : (u = null, 0 === Wt && e(Ou)),
- null !== u && (Lt = l, u = Wu()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function z() {
- var l, u;
- return l = qt, n.substr(qt, 2) === zu ? (u = zu, qt += 2) : (u = null, 0 === Wt && e(Iu)),
- null !== u && (Lt = l, u = Ju()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function I() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Ku ? (u = Ku, qt += 2) : (u = null, 0 === Wt && e(Nu)),
- null !== u && (Lt = l, u = Pu()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function J() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Vu ? (u = Vu, qt += 2) : (u = null, 0 === Wt && e(Xu)),
- null !== u && (Lt = l, u = Yu()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function K() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Zu ? (u = Zu, qt += 2) : (u = null, 0 === Wt && e(_u)),
- null !== u && (Lt = l, u = nt()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function N() {
- var l, u;
- return l = qt, n.substr(qt, 2) === lt ? (u = lt, qt += 2) : (u = null, 0 === Wt && e(ut)),
- null !== u && (Lt = l, u = tt()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function P() {
- var l, u;
- return l = qt, n.substr(qt, 2) === rt ? (u = rt, qt += 2) : (u = null, 0 === Wt && e(et)),
- null !== u && (Lt = l, u = ot()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function V() {
- var l, u;
- return l = qt, n.substr(qt, 2) === ct ? (u = ct, qt += 2) : (u = null, 0 === Wt && e(it)),
- null !== u && (Lt = l, u = at()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function X() {
- var l, u;
- return l = qt, n.substr(qt, 2) === ft ? (u = ft, qt += 2) : (u = null, 0 === Wt && e(st)),
- null !== u && (Lt = l, u = ht()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function Y() {
- var l, u, t;
- return l = qt, n.substr(qt, 2) === dt ? (u = dt, qt += 2) : (u = null, 0 === Wt && e(pt)),
- null !== u ? (n.length > qt ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(vt)),
- null !== t ? (Lt = l, u = wt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il), l;
- }
- function Z() {
- var l, u, t;
- return l = qt, 92 === n.charCodeAt(qt) ? (u = At, qt++) : (u = null, 0 === Wt && e(Ct)),
- null !== u ? (gt.test(n.charAt(qt)) ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(bt)),
- null !== t ? (Lt = l, u = kt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il), l;
- }
- function _() {
- var l, u, t, r;
- if (l = qt, n.substr(qt, 2) === Tt ? (u = Tt, qt += 2) : (u = null, 0 === Wt && e(xt)),
- null !== u) {
- if (t = [], yt.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(mt)),
- null !== r) for (;null !== r; ) t.push(r), yt.test(n.charAt(qt)) ? (r = n.charAt(qt),
- qt++) : (r = null, 0 === Wt && e(mt)); else t = il;
- null !== t ? (Lt = l, u = Rt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il);
- } else qt = l, l = il;
- return l;
- }
- function nl() {
- var l, u, t, r;
- if (l = qt, n.substr(qt, 2) === Ft ? (u = Ft, qt += 2) : (u = null, 0 === Wt && e(Qt)),
- null !== u) {
- if (t = [], St.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(Ut)),
- null !== r) for (;null !== r; ) t.push(r), St.test(n.charAt(qt)) ? (r = n.charAt(qt),
- qt++) : (r = null, 0 === Wt && e(Ut)); else t = il;
- null !== t ? (Lt = l, u = Et(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il);
- } else qt = l, l = il;
- return l;
- }
- function ll() {
- var l, u, t, r;
- if (l = qt, n.substr(qt, 2) === Gt ? (u = Gt, qt += 2) : (u = null, 0 === Wt && e(Bt)),
- null !== u) {
- if (t = [], St.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(Ut)),
- null !== r) for (;null !== r; ) t.push(r), St.test(n.charAt(qt)) ? (r = n.charAt(qt),
- qt++) : (r = null, 0 === Wt && e(Ut)); else t = il;
- null !== t ? (Lt = l, u = jt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il);
- } else qt = l, l = il;
- return l;
- }
- function ul() {
- var l, u;
- return l = qt, n.substr(qt, 2) === Tt ? (u = Tt, qt += 2) : (u = null, 0 === Wt && e(xt)),
- null !== u && (Lt = l, u = $t()), null === u ? (qt = l, l = u) : l = u, l;
- }
- function tl() {
- var l, u, t;
- return l = qt, 92 === n.charCodeAt(qt) ? (u = At, qt++) : (u = null, 0 === Wt && e(Ct)),
- null !== u ? (n.length > qt ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(vt)),
- null !== t ? (Lt = l, u = bu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l,
- l = il)) : (qt = l, l = il), l;
- }
- var rl, el = arguments.length > 1 ? arguments[1] : {}, ol = {
- regexp: c
- }, cl = c, il = null, al = "", fl = "|", sl = '"|"', hl = function(n, l) {
- return l ? new Alternate(n, l[1]) : n;
- }, dl = function(n, l, u) {
- return new Match([ n ].concat(l).concat([ u ]));
- }, pl = "^", vl = '"^"', wl = function() {
- return new Token("start");
- }, Al = "$", Cl = '"$"', gl = function() {
- return new Token("end");
- }, bl = function(n, l) {
- return new Quantified(n, l);
- }, kl = "Quantifier", Tl = function(n, l) {
- return l && (n.greedy = !1), n;
- }, xl = "{", yl = '"{"', ml = ",", Rl = '","', Fl = "}", Ql = '"}"', Sl = function(n, l) {
- return new Quantifier(n, l);
- }, Ul = ",}", El = '",}"', Gl = function(n) {
- return new Quantifier(n, 1/0);
- }, Bl = function(n) {
- return new Quantifier(n, n);
- }, jl = "+", $l = '"+"', ql = function() {
- return new Quantifier(1, 1/0);
- }, Ll = "*", Ml = '"*"', Dl = function() {
- return new Quantifier(0, 1/0);
- }, Hl = "?", Ol = '"?"', Wl = function() {
- return new Quantifier(0, 1);
- }, zl = /^[0-9]/, Il = "[0-9]", Jl = function(n) {
- return +n.join("");
- }, Kl = "(", Nl = '"("', Pl = ")", Vl = '")"', Xl = function(n) {
- return n;
- }, Yl = function(n) {
- return new CaptureGroup(n);
- }, Zl = "?:", _l = '"?:"', nu = function(n) {
- return new Group("non-capture-group", n);
- }, lu = "?=", uu = '"?="', tu = function(n) {
- return new Group("positive-lookahead", n);
- }, ru = "?!", eu = '"?!"', ou = function(n) {
- return new Group("negative-lookahead", n);
- }, cu = "CharacterSet", iu = "[", au = '"["', fu = "]", su = '"]"', hu = function(n, l) {
- return new CharSet(!!n, l);
- }, du = "CharacterRange", pu = "-", vu = '"-"', wu = function(n, l) {
- return new CharacterRange(n, l);
- }, Au = "Character", Cu = /^[^\\\]]/, gu = "[^\\\\\\]]", bu = function(n) {
- return new Literal(n);
- }, ku = ".", Tu = '"."', xu = function() {
- return new Token("any-character");
- }, yu = "Literal", mu = /^[^|\\\/.[()?+*$\^]/, Ru = "[^|\\\\\\/.[()?+*$\\^]", Fu = "\\b", Qu = '"\\\\b"', Su = function() {
- return new Token("backspace");
- }, Uu = function() {
- return new Token("word-boundary");
- }, Eu = "\\B", Gu = '"\\\\B"', Bu = function() {
- return new Token("non-word-boundary");
- }, ju = "\\d", $u = '"\\\\d"', qu = function() {
- return new Token("digit");
- }, Lu = "\\D", Mu = '"\\\\D"', Du = function() {
- return new Token("non-digit");
- }, Hu = "\\f", Ou = '"\\\\f"', Wu = function() {
- return new Token("form-feed");
- }, zu = "\\n", Iu = '"\\\\n"', Ju = function() {
- return new Token("line-feed");
- }, Ku = "\\r", Nu = '"\\\\r"', Pu = function() {
- return new Token("carriage-return");
- }, Vu = "\\s", Xu = '"\\\\s"', Yu = function() {
- return new Token("white-space");
- }, Zu = "\\S", _u = '"\\\\S"', nt = function() {
- return new Token("non-white-space");
- }, lt = "\\t", ut = '"\\\\t"', tt = function() {
- return new Token("tab");
- }, rt = "\\v", et = '"\\\\v"', ot = function() {
- return new Token("vertical-tab");
- }, ct = "\\w", it = '"\\\\w"', at = function() {
- return new Token("word");
- }, ft = "\\W", st = '"\\\\W"', ht = function() {
- return new Token("non-word");
- }, dt = "\\c", pt = '"\\\\c"', vt = "any character", wt = function(n) {
- return new ControlCharacter(n);
- }, At = "\\", Ct = '"\\\\"', gt = /^[1-9]/, bt = "[1-9]", kt = function(n) {
- return new BackReference(n);
- }, Tt = "\\0", xt = '"\\\\0"', yt = /^[0-7]/, mt = "[0-7]", Rt = function(n) {
- return new Octal(n.join(""));
- }, Ft = "\\x", Qt = '"\\\\x"', St = /^[0-9a-fA-F]/, Ut = "[0-9a-fA-F]", Et = function(n) {
- return new Hex(n.join(""));
- }, Gt = "\\u", Bt = '"\\\\u"', jt = function(n) {
- return new Unicode(n.join(""));
- }, $t = function() {
- return new Token("null-character");
- }, qt = 0, Lt = 0, Mt = 0, Dt = {
- line: 1,
- column: 1,
- seenCR: !1
- }, Ht = 0, Ot = [], Wt = 0;
- if ("startRule" in el) {
- if (!(el.startRule in ol)) throw new Error("Can't start parsing from rule \"" + el.startRule + '".');
- cl = ol[el.startRule];
- }
- if (Token.offset = t, Token.text = u, rl = cl(), null !== rl && qt === n.length) return rl;
- throw o(Ot), Lt = Math.max(qt, Ht), new l(Ot, Lt < n.length ? n.charAt(Lt) : null, Lt, r(Lt).line, r(Lt).column);
- }
- return n(l, Error), {
- SyntaxError: l,
- parse: u
- };
- }(), index = 1, cgs = {};
- module.exports = parser
|