JAL-1807 still testing
[jalviewjs.git] / bin / com / stevesoft / pat / RegOpt.js
index 54e0ed8..ed70432 100644 (file)
-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");
-});
+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