Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / com / stevesoft / pat / RegOpt.js
index ed70432..54e0ed8 100644 (file)
-Clazz.declarePackage ("com.stevesoft.pat");\r
-Clazz.load (["com.stevesoft.pat.Pattern", "$.oneChar", "java.util.Hashtable", "$.Vector"], ["com.stevesoft.pat.Branch", "$.RegOpt", "$.FastChar"], ["com.stevesoft.pat.Any", "$.Bracket", "$.Custom", "$.FastBracket", "$.FastMulti", "$.Multi", "$.NullPattern", "$.Or", "$.Range", "$.UniValidator", "$.patInt", "java.lang.Character", "$.StringBuffer"], function () {\r
-c$ = Clazz.declareType (com.stevesoft.pat, "FastChar", com.stevesoft.pat.oneChar);\r
-Clazz.overrideMethod (c$, "matchInternal", \r
-function (p, pt) {\r
-return (p < pt.src.length () && pt.src.charAt (p) == this.c) ? this.nextMatch (p + 1, pt) : -1;\r
-}, "~N,com.stevesoft.pat.Pthings");\r
-Clazz.overrideMethod (c$, "clone1", \r
-function (h) {\r
-return  new com.stevesoft.pat.FastChar (this.c);\r
-}, "java.util.Hashtable");\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.h = null;\r
-this.keys = null;\r
-Clazz.instantialize (this, arguments);\r
-}, com.stevesoft.pat, "Branch", com.stevesoft.pat.Pattern);\r
-Clazz.prepareFields (c$, function () {\r
-this.h =  new java.util.Hashtable ();\r
-this.keys =  new java.util.Vector ();\r
-});\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-Clazz.superConstructor (this, com.stevesoft.pat.Branch, []);\r
-});\r
-Clazz.overrideMethod (c$, "clone1", \r
-function (x) {\r
-var b =  new com.stevesoft.pat.Branch ();\r
-b.keys = this.keys.clone ();\r
-x.put (this, b);\r
-x.put (b, b);\r
-for (var i = 0; i < this.keys.size (); i++) {\r
-var p = this.h.get (this.keys.elementAt (i));\r
-b.h.put (this.keys.elementAt (i), p.clone (x));\r
-}\r
-return b;\r
-}, "java.util.Hashtable");\r
-Clazz.defineMethod (c$, "reduce", \r
-function (ignoreCase, dontMinQ) {\r
-if (this.h.size () == 1) {\r
-var e = this.h.keys ();\r
-var c = e.nextElement ();\r
-var oc;\r
-if (ignoreCase || dontMinQ) {\r
-oc =  new com.stevesoft.pat.oneChar (c.charValue ());\r
-} else {\r
-oc =  new com.stevesoft.pat.FastChar (c.charValue ());\r
-}oc.next = this.h.get (c);\r
-oc.add (this.next);\r
-return oc;\r
-} else if (this.h.size () == 0) {\r
-return null;\r
-}return this;\r
-}, "~B,~B");\r
-Clazz.defineMethod (c$, "maxChars", \r
-function () {\r
-var e = this.h.keys ();\r
-var count =  new com.stevesoft.pat.patInt (0);\r
-while (e.hasMoreElements ()) {\r
-var key = e.nextElement ();\r
-var pa = this.h.get (key);\r
-var pi = pa.maxChars ();\r
-pi.inc ();\r
-count.maxeq (pi);\r
-}\r
-return count;\r
-});\r
-Clazz.defineMethod (c$, "minChars", \r
-function () {\r
-var e = this.h.keys ();\r
-var count =  new com.stevesoft.pat.patInt (0);\r
-while (e.hasMoreElements ()) {\r
-var key = e.nextElement ();\r
-var pa = this.h.get (key);\r
-var pi = pa.minChars ();\r
-pi.inc ();\r
-count.mineq (pi);\r
-}\r
-return count;\r
-});\r
-Clazz.defineMethod (c$, "addc", \r
-function (o, ignoreCase, dontMinQ) {\r
-var n = o.next;\r
-if (n == null) {\r
-n =  new com.stevesoft.pat.NullPattern ();\r
-} else {\r
-n = com.stevesoft.pat.RegOpt.opt (n, ignoreCase, dontMinQ);\r
-}n.setParent (this);\r
-this.set ( new Character (o.c), n, ignoreCase, dontMinQ);\r
-if (ignoreCase) {\r
-if (o.c != o.altc) {\r
-this.set ( new Character (o.altc), n, ignoreCase, dontMinQ);\r
-}if (o.c != o.altc2 && o.altc != o.altc2) {\r
-this.set ( new Character (o.altc2), n, ignoreCase, dontMinQ);\r
-}}}, "com.stevesoft.pat.oneChar,~B,~B");\r
-Clazz.defineMethod (c$, "set", \r
-function (c, n, igc, dontMinQ) {\r
-var p = this.h.get (c);\r
-this.next = null;\r
-if (p == null) {\r
-if (Clazz.instanceOf (n, com.stevesoft.pat.Or)) {\r
-var np =  new com.stevesoft.pat.NullPattern ();\r
-np.add (n);\r
-this.h.put (c, np);\r
-} else {\r
-this.h.put (c, n);\r
-}this.keys.addElement (c);\r
-} else if (Clazz.instanceOf (p, com.stevesoft.pat.Or)) {\r
-(p).addOr (n);\r
-} else if (Clazz.instanceOf (p, com.stevesoft.pat.oneChar) && Clazz.instanceOf (n, com.stevesoft.pat.oneChar) && (p).c != (n).c) {\r
-var b =  new com.stevesoft.pat.Branch ();\r
-b.addc (p, igc, dontMinQ);\r
-b.addc (n, igc, dontMinQ);\r
-this.h.put (c, b);\r
-b.setParent (this);\r
-} else if (Clazz.instanceOf (p, com.stevesoft.pat.Branch) && Clazz.instanceOf (n, com.stevesoft.pat.oneChar)) {\r
-(p).addc (n, igc, dontMinQ);\r
-n.setParent (p);\r
-} else {\r
-var o =  new com.stevesoft.pat.Or ();\r
-o.setParent (this);\r
-if (Clazz.instanceOf (p, com.stevesoft.pat.NullPattern) && p.parent == null && p.next != null) {\r
-o.addOr (p.next);\r
-} else {\r
-o.addOr (p);\r
-}o.addOr (n);\r
-var optpat = com.stevesoft.pat.RegOpt.opt (o, igc, dontMinQ);\r
-this.h.put (c, optpat);\r
-optpat.setParent (this);\r
-}}, "Character,com.stevesoft.pat.Pattern,~B,~B");\r
-Clazz.overrideMethod (c$, "toString", \r
-function () {\r
-var sb =  new StringBuffer ();\r
-sb.append ("(?:(?#branch)");\r
-for (var i = 0; i < this.keys.size (); i++) {\r
-var c = this.keys.elementAt (i);\r
-sb.append (c);\r
-sb.append (this.h.get (c));\r
-if (i + 1 < this.keys.size ()) {\r
-sb.append ("|");\r
-}}\r
-sb.append (")");\r
-sb.append (this.nextString ());\r
-return sb.toString ();\r
-});\r
-Clazz.defineMethod (c$, "matchInternal", \r
-function (pos, pt) {\r
-if (pos >= pt.src.length ()) {\r
-return -1;\r
-}var n = this.h.get ( new Character (pt.src.charAt (pos)));\r
-if (n == null) {\r
-return -1;\r
-}if (pt.cbits != null && pt.cbits.get (pos)) {\r
-return -1;\r
-}return n.matchInternal (pos + 1, pt);\r
-}, "~N,com.stevesoft.pat.Pthings");\r
-c$ = Clazz.declareType (com.stevesoft.pat, "RegOpt");\r
-c$.opt = Clazz.defineMethod (c$, "opt", \r
-function (p, ignoreCase, dontMinQ) {\r
-if (p == null) {\r
-return p;\r
-}if (Clazz.instanceOf (p, com.stevesoft.pat.Bracket)) {\r
-var b = p;\r
-p = com.stevesoft.pat.FastBracket.process (b, ignoreCase);\r
-p.next = b.next;\r
-p.parent = b.parent;\r
-} else if (Clazz.instanceOf (p, com.stevesoft.pat.oneChar) && !ignoreCase && !dontMinQ) {\r
-var o = p;\r
-p =  new com.stevesoft.pat.FastChar (o.c);\r
-p.next = o.next;\r
-p.parent = o.parent;\r
-} else if (Clazz.instanceOf (p, com.stevesoft.pat.Or) && (p).leftForm ().equals ("(?:") && (p).v.size () == 1) {\r
-var o = p;\r
-p = o.v.elementAt (0);\r
-p.setParent (null);\r
-p = com.stevesoft.pat.RegOpt.opt (p, ignoreCase, dontMinQ);\r
-p.add (o.next);\r
-} else if (Clazz.instanceOf (p, com.stevesoft.pat.Or)) {\r
-var o = p;\r
-o.pv = null;\r
-var v = o.v;\r
-o.v =  new java.util.Vector ();\r
-var b =  new com.stevesoft.pat.Branch ();\r
-b.parent = o.parent;\r
-for (var i = 0; i < v.size (); i++) {\r
-var pp = v.elementAt (i);\r
-if (Clazz.instanceOf (pp, com.stevesoft.pat.oneChar) && (b.h.size () >= 1 || (i + 1 < v.size () && Clazz.instanceOf (v.elementAt (i + 1), com.stevesoft.pat.oneChar)))) {\r
-b.addc (pp, ignoreCase, dontMinQ);\r
-} else {\r
-if (b.keys.size () > 0) {\r
-var p2 = b.reduce (ignoreCase, dontMinQ);\r
-if (p2 != null) {\r
-o.addOr (p2);\r
-b =  new com.stevesoft.pat.Branch ();\r
-b.parent = o.parent;\r
-}}o.addOr (com.stevesoft.pat.RegOpt.opt (pp, ignoreCase, dontMinQ));\r
-}}\r
-if (b.keys.size () > 0) {\r
-var p2 = b.reduce (ignoreCase, dontMinQ);\r
-if (p2 != null) {\r
-o.addOr (p2);\r
-}}if (o.v.size () == 1 && o.leftForm ().equals ("(?:")) {\r
-p = o.v.elementAt (0);\r
-p.setParent (null);\r
-p = com.stevesoft.pat.RegOpt.opt (p, ignoreCase, dontMinQ);\r
-p.add (o.next);\r
-}} else if (Clazz.instanceOf (p, com.stevesoft.pat.FastMulti)) {\r
-var ps = p;\r
-ps.sub = com.stevesoft.pat.RegOpt.opt (ps.sub, ignoreCase, dontMinQ);\r
-} else if (Clazz.instanceOf (p, com.stevesoft.pat.Multi) && com.stevesoft.pat.RegOpt.safe4fm ((p).sub)) {\r
-var m = p;\r
-var fm = null;\r
-try {\r
-fm =  new com.stevesoft.pat.FastMulti (m.a, m.b, com.stevesoft.pat.RegOpt.opt (m.sub, ignoreCase, dontMinQ));\r
-} catch (rs) {\r
-if (Clazz.exceptionOf (rs, com.stevesoft.pat.RegSyntax)) {\r
-} else {\r
-throw rs;\r
-}\r
-}\r
-fm.parent = m.parent;\r
-fm.matchFewest = m.matchFewest;\r
-fm.next = m.next;\r
-p = fm;\r
-}if (p.next != null) {\r
-p.next = com.stevesoft.pat.RegOpt.opt (p.next, ignoreCase, dontMinQ);\r
-}return p;\r
-}, "com.stevesoft.pat.Pattern,~B,~B");\r
-c$.safe4fm = Clazz.defineMethod (c$, "safe4fm", \r
-function (x) {\r
-while (x != null) {\r
-if (Clazz.instanceOf (x, com.stevesoft.pat.Bracket)) {\r
-;} else if (Clazz.instanceOf (x, com.stevesoft.pat.Range)) {\r
-;} else if (Clazz.instanceOf (x, com.stevesoft.pat.oneChar)) {\r
-;} else if (Clazz.instanceOf (x, com.stevesoft.pat.Any)) {\r
-;} else if (Clazz.instanceOf (x, com.stevesoft.pat.Custom) && Clazz.instanceOf ((x).v, com.stevesoft.pat.UniValidator)) {\r
-;} else if (Clazz.instanceOf (x, com.stevesoft.pat.Or)) {\r
-var o = x;\r
-if (!o.leftForm ().equals ("(?:")) {\r
-return false;\r
-}var lo = o.countMinChars ();\r
-var hi = o.countMaxChars ();\r
-if (!lo.equals (hi)) {\r
-return false;\r
-}for (var i = 0; i < o.v.size (); i++) {\r
-if (!com.stevesoft.pat.RegOpt.safe4fm (o.v.elementAt (i))) {\r
-return false;\r
-}}\r
-} else {\r
-return false;\r
-}x = x.next;\r
-}\r
-return true;\r
-}, "com.stevesoft.pat.Pattern");\r
-});\r
+Clazz.declarePackage ("com.stevesoft.pat");
+Clazz.load (["com.stevesoft.pat.Pattern", "$.oneChar", "java.util.Hashtable", "$.Vector"], ["com.stevesoft.pat.Branch", "$.RegOpt", "$.FastChar"], ["com.stevesoft.pat.Any", "$.Bracket", "$.Custom", "$.FastBracket", "$.FastMulti", "$.Multi", "$.NullPattern", "$.Or", "$.Range", "$.UniValidator", "$.patInt", "java.lang.Character", "$.StringBuffer"], function () {
+c$ = Clazz.declareType (com.stevesoft.pat, "FastChar", com.stevesoft.pat.oneChar);
+Clazz.overrideMethod (c$, "matchInternal", 
+function (p, pt) {
+return (p < pt.src.length () && pt.src.charAt (p) == this.c) ? this.nextMatch (p + 1, pt) : -1;
+}, "~N,com.stevesoft.pat.Pthings");
+Clazz.overrideMethod (c$, "clone1", 
+function (h) {
+return  new com.stevesoft.pat.FastChar (this.c);
+}, "java.util.Hashtable");
+c$ = Clazz.decorateAsClass (function () {
+this.h = null;
+this.keys = null;
+Clazz.instantialize (this, arguments);
+}, com.stevesoft.pat, "Branch", com.stevesoft.pat.Pattern);
+Clazz.prepareFields (c$, function () {
+this.h =  new java.util.Hashtable ();
+this.keys =  new java.util.Vector ();
+});
+Clazz.makeConstructor (c$, 
+function () {
+Clazz.superConstructor (this, com.stevesoft.pat.Branch, []);
+});
+Clazz.overrideMethod (c$, "clone1", 
+function (x) {
+var b =  new com.stevesoft.pat.Branch ();
+b.keys = this.keys.clone ();
+x.put (this, b);
+x.put (b, b);
+for (var i = 0; i < this.keys.size (); i++) {
+var p = this.h.get (this.keys.elementAt (i));
+b.h.put (this.keys.elementAt (i), p.clone (x));
+}
+return b;
+}, "java.util.Hashtable");
+Clazz.defineMethod (c$, "reduce", 
+function (ignoreCase, dontMinQ) {
+if (this.h.size () == 1) {
+var e = this.h.keys ();
+var c = e.nextElement ();
+var oc;
+if (ignoreCase || dontMinQ) {
+oc =  new com.stevesoft.pat.oneChar (c.charValue ());
+} else {
+oc =  new com.stevesoft.pat.FastChar (c.charValue ());
+}oc.next = this.h.get (c);
+oc.add (this.next);
+return oc;
+} else if (this.h.size () == 0) {
+return null;
+}return this;
+}, "~B,~B");
+Clazz.defineMethod (c$, "maxChars", 
+function () {
+var e = this.h.keys ();
+var count =  new com.stevesoft.pat.patInt (0);
+while (e.hasMoreElements ()) {
+var key = e.nextElement ();
+var pa = this.h.get (key);
+var pi = pa.maxChars ();
+pi.inc ();
+count.maxeq (pi);
+}
+return count;
+});
+Clazz.defineMethod (c$, "minChars", 
+function () {
+var e = this.h.keys ();
+var count =  new com.stevesoft.pat.patInt (0);
+while (e.hasMoreElements ()) {
+var key = e.nextElement ();
+var pa = this.h.get (key);
+var pi = pa.minChars ();
+pi.inc ();
+count.mineq (pi);
+}
+return count;
+});
+Clazz.defineMethod (c$, "addc", 
+function (o, ignoreCase, dontMinQ) {
+var n = o.next;
+if (n == null) {
+n =  new com.stevesoft.pat.NullPattern ();
+} else {
+n = com.stevesoft.pat.RegOpt.opt (n, ignoreCase, dontMinQ);
+}n.setParent (this);
+this.set ( new Character (o.c), n, ignoreCase, dontMinQ);
+if (ignoreCase) {
+if (o.c != o.altc) {
+this.set ( new Character (o.altc), n, ignoreCase, dontMinQ);
+}if (o.c != o.altc2 && o.altc != o.altc2) {
+this.set ( new Character (o.altc2), n, ignoreCase, dontMinQ);
+}}}, "com.stevesoft.pat.oneChar,~B,~B");
+Clazz.defineMethod (c$, "set", 
+function (c, n, igc, dontMinQ) {
+var p = this.h.get (c);
+this.next = null;
+if (p == null) {
+if (Clazz.instanceOf (n, com.stevesoft.pat.Or)) {
+var np =  new com.stevesoft.pat.NullPattern ();
+np.add (n);
+this.h.put (c, np);
+} else {
+this.h.put (c, n);
+}this.keys.addElement (c);
+} else if (Clazz.instanceOf (p, com.stevesoft.pat.Or)) {
+(p).addOr (n);
+} else if (Clazz.instanceOf (p, com.stevesoft.pat.oneChar) && Clazz.instanceOf (n, com.stevesoft.pat.oneChar) && (p).c != (n).c) {
+var b =  new com.stevesoft.pat.Branch ();
+b.addc (p, igc, dontMinQ);
+b.addc (n, igc, dontMinQ);
+this.h.put (c, b);
+b.setParent (this);
+} else if (Clazz.instanceOf (p, com.stevesoft.pat.Branch) && Clazz.instanceOf (n, com.stevesoft.pat.oneChar)) {
+(p).addc (n, igc, dontMinQ);
+n.setParent (p);
+} else {
+var o =  new com.stevesoft.pat.Or ();
+o.setParent (this);
+if (Clazz.instanceOf (p, com.stevesoft.pat.NullPattern) && p.parent == null && p.next != null) {
+o.addOr (p.next);
+} else {
+o.addOr (p);
+}o.addOr (n);
+var optpat = com.stevesoft.pat.RegOpt.opt (o, igc, dontMinQ);
+this.h.put (c, optpat);
+optpat.setParent (this);
+}}, "Character,com.stevesoft.pat.Pattern,~B,~B");
+Clazz.overrideMethod (c$, "toString", 
+function () {
+var sb =  new StringBuffer ();
+sb.append ("(?:(?#branch)");
+for (var i = 0; i < this.keys.size (); i++) {
+var c = this.keys.elementAt (i);
+sb.append (c);
+sb.append (this.h.get (c));
+if (i + 1 < this.keys.size ()) {
+sb.append ("|");
+}}
+sb.append (")");
+sb.append (this.nextString ());
+return sb.toString ();
+});
+Clazz.defineMethod (c$, "matchInternal", 
+function (pos, pt) {
+if (pos >= pt.src.length ()) {
+return -1;
+}var n = this.h.get ( new Character (pt.src.charAt (pos)));
+if (n == null) {
+return -1;
+}if (pt.cbits != null && pt.cbits.get (pos)) {
+return -1;
+}return n.matchInternal (pos + 1, pt);
+}, "~N,com.stevesoft.pat.Pthings");
+c$ = Clazz.declareType (com.stevesoft.pat, "RegOpt");
+c$.opt = Clazz.defineMethod (c$, "opt", 
+function (p, ignoreCase, dontMinQ) {
+if (p == null) {
+return p;
+}if (Clazz.instanceOf (p, com.stevesoft.pat.Bracket)) {
+var b = p;
+p = com.stevesoft.pat.FastBracket.process (b, ignoreCase);
+p.next = b.next;
+p.parent = b.parent;
+} else if (Clazz.instanceOf (p, com.stevesoft.pat.oneChar) && !ignoreCase && !dontMinQ) {
+var o = p;
+p =  new com.stevesoft.pat.FastChar (o.c);
+p.next = o.next;
+p.parent = o.parent;
+} else if (Clazz.instanceOf (p, com.stevesoft.pat.Or) && (p).leftForm ().equals ("(?:") && (p).v.size () == 1) {
+var o = p;
+p = o.v.elementAt (0);
+p.setParent (null);
+p = com.stevesoft.pat.RegOpt.opt (p, ignoreCase, dontMinQ);
+p.add (o.next);
+} else if (Clazz.instanceOf (p, com.stevesoft.pat.Or)) {
+var o = p;
+o.pv = null;
+var v = o.v;
+o.v =  new java.util.Vector ();
+var b =  new com.stevesoft.pat.Branch ();
+b.parent = o.parent;
+for (var i = 0; i < v.size (); i++) {
+var pp = v.elementAt (i);
+if (Clazz.instanceOf (pp, com.stevesoft.pat.oneChar) && (b.h.size () >= 1 || (i + 1 < v.size () && Clazz.instanceOf (v.elementAt (i + 1), com.stevesoft.pat.oneChar)))) {
+b.addc (pp, ignoreCase, dontMinQ);
+} else {
+if (b.keys.size () > 0) {
+var p2 = b.reduce (ignoreCase, dontMinQ);
+if (p2 != null) {
+o.addOr (p2);
+b =  new com.stevesoft.pat.Branch ();
+b.parent = o.parent;
+}}o.addOr (com.stevesoft.pat.RegOpt.opt (pp, ignoreCase, dontMinQ));
+}}
+if (b.keys.size () > 0) {
+var p2 = b.reduce (ignoreCase, dontMinQ);
+if (p2 != null) {
+o.addOr (p2);
+}}if (o.v.size () == 1 && o.leftForm ().equals ("(?:")) {
+p = o.v.elementAt (0);
+p.setParent (null);
+p = com.stevesoft.pat.RegOpt.opt (p, ignoreCase, dontMinQ);
+p.add (o.next);
+}} else if (Clazz.instanceOf (p, com.stevesoft.pat.FastMulti)) {
+var ps = p;
+ps.sub = com.stevesoft.pat.RegOpt.opt (ps.sub, ignoreCase, dontMinQ);
+} else if (Clazz.instanceOf (p, com.stevesoft.pat.Multi) && com.stevesoft.pat.RegOpt.safe4fm ((p).sub)) {
+var m = p;
+var fm = null;
+try {
+fm =  new com.stevesoft.pat.FastMulti (m.a, m.b, com.stevesoft.pat.RegOpt.opt (m.sub, ignoreCase, dontMinQ));
+} catch (rs) {
+if (Clazz.exceptionOf (rs, com.stevesoft.pat.RegSyntax)) {
+} else {
+throw rs;
+}
+}
+fm.parent = m.parent;
+fm.matchFewest = m.matchFewest;
+fm.next = m.next;
+p = fm;
+}if (p.next != null) {
+p.next = com.stevesoft.pat.RegOpt.opt (p.next, ignoreCase, dontMinQ);
+}return p;
+}, "com.stevesoft.pat.Pattern,~B,~B");
+c$.safe4fm = Clazz.defineMethod (c$, "safe4fm", 
+function (x) {
+while (x != null) {
+if (Clazz.instanceOf (x, com.stevesoft.pat.Bracket)) {
+;} else if (Clazz.instanceOf (x, com.stevesoft.pat.Range)) {
+;} else if (Clazz.instanceOf (x, com.stevesoft.pat.oneChar)) {
+;} else if (Clazz.instanceOf (x, com.stevesoft.pat.Any)) {
+;} else if (Clazz.instanceOf (x, com.stevesoft.pat.Custom) && Clazz.instanceOf ((x).v, com.stevesoft.pat.UniValidator)) {
+;} else if (Clazz.instanceOf (x, com.stevesoft.pat.Or)) {
+var o = x;
+if (!o.leftForm ().equals ("(?:")) {
+return false;
+}var lo = o.countMinChars ();
+var hi = o.countMaxChars ();
+if (!lo.equals (hi)) {
+return false;
+}for (var i = 0; i < o.v.size (); i++) {
+if (!com.stevesoft.pat.RegOpt.safe4fm (o.v.elementAt (i))) {
+return false;
+}}
+} else {
+return false;
+}x = x.next;
+}
+return true;
+}, "com.stevesoft.pat.Pattern");
+});