X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fcom%2Fstevesoft%2Fpat%2FRange.java;h=02c5d3a5aa30e890a058a148c54aa42cb985ae43;hb=4d7f98a6dd54d9863ba449ec79dcd95d25ed863d;hp=5b740cd762290c08c2b1161c741b00856427f997;hpb=7bc226b58110fa26d9dbd3f0c78095d06909ffc3;p=jalview.git diff --git a/src/com/stevesoft/pat/Range.java b/src/com/stevesoft/pat/Range.java index 5b740cd..02c5d3a 100755 --- a/src/com/stevesoft/pat/Range.java +++ b/src/com/stevesoft/pat/Range.java @@ -1,98 +1,97 @@ -// -// This software is now distributed according to -// the Lesser Gnu Public License. Please see -// http://www.gnu.org/copyleft/lesser.txt for -// the details. -// -- Happy Computing! -// -package com.stevesoft.pat; - -import java.util.*; - -/** Thrown when one encounters things like [z-a] */ -class BadRangeArgs - extends RegSyntax -{}; - -/** Implments a subelement (ranges) of the [] pattern element. - For example, [a-z023] is implemented using a range and tree oneChar - classes. - @see Bracket - @see oneChar - */ -class Range - extends Pattern -{ - char lo, hi, altlo, althi; - boolean printBrackets = false; - public String toString() - { - String s = protect("" + lo, PROTECT_THESE, ESC) + "-" - + protect("" + hi, PROTECT_THESE, ESC); - if (!printBrackets) - { - return s; - } - return "[" + s + "]"; - } - - Range(char loi, char hii) - throws RegSyntax - { - lo = loi; - hi = hii; - oneChar o = null; - if (lo >= hi) - { - //throw new BadRangeArgs(); - RegSyntaxError.endItAll("Badly formed []'s : " + lo + " >= " + hi); - } - o = new oneChar(lo); - altlo = o.altc; - o = new oneChar(hi); - althi = o.altc; - } - - public int matchInternal(int pos, Pthings pt) - { - if (pos >= pt.src.length()) - { - return -1; - } - if (Masked(pos, pt)) - { - return -1; - } - char c = pt.src.charAt(pos); - if (lo <= c && c <= hi || - (pt.ignoreCase && (altlo <= c && c <= althi))) - { - return nextMatch(pos + 1, pt); - } - return -1; - } - - public patInt minChars() - { - return new patInt(1); - } - - public patInt maxChars() - { - return new patInt(1); - } - - public Pattern clone1(Hashtable h) - { - try - { - Range r = new Range(lo, hi); - r.printBrackets = printBrackets; - return r; - } - catch (RegSyntax rs) - { - return null; - } - } -}; +// +// This software is now distributed according to +// the Lesser Gnu Public License. Please see +// http://www.gnu.org/copyleft/lesser.txt for +// the details. +// -- Happy Computing! +// +package com.stevesoft.pat; + +import java.util.Hashtable; + +/** Thrown when one encounters things like [z-a] */ +class BadRangeArgs extends RegSyntax +{ +}; + +/** + * Implments a subelement (ranges) of the [] pattern element. For example, + * [a-z023] is implemented using a range and tree oneChar classes. + * + * @see Bracket + * @see oneChar + */ +class Range extends Pattern +{ + char lo, hi, altlo, althi; + + boolean printBrackets = false; + + public String toString() + { + String s = protect("" + lo, PROTECT_THESE, ESC) + "-" + + protect("" + hi, PROTECT_THESE, ESC); + if (!printBrackets) + { + return s; + } + return "[" + s + "]"; + } + + Range(char loi, char hii) throws RegSyntax + { + lo = loi; + hi = hii; + oneChar o = null; + if (lo >= hi) + { + // throw new BadRangeArgs(); + RegSyntaxError.endItAll("Badly formed []'s : " + lo + " >= " + hi); + } + o = new oneChar(lo); + altlo = o.altc; + o = new oneChar(hi); + althi = o.altc; + } + + public int matchInternal(int pos, Pthings pt) + { + if (pos >= pt.src.length()) + { + return -1; + } + if (Masked(pos, pt)) + { + return -1; + } + char c = pt.src.charAt(pos); + if (lo <= c && c <= hi || (pt.ignoreCase && (altlo <= c && c <= althi))) + { + return nextMatch(pos + 1, pt); + } + return -1; + } + + public patInt minChars() + { + return new patInt(1); + } + + public patInt maxChars() + { + return new patInt(1); + } + + public Pattern clone1(Hashtable h) + { + try + { + Range r = new Range(lo, hi); + r.printBrackets = printBrackets; + return r; + } catch (RegSyntax rs) + { + return null; + } + } +};