X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FCharRange.java;h=59ee3252d088491362acd5c6950976a55a5975c4;hb=61a641445b4f0916427804a6168b87fcde977abf;hp=932fbd6e03236105940903aa2b3a1e57694d38f4;hpb=b5156588b3abf1ecb9ea113b63ee6e5e8468b260;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/CharRange.java b/src/edu/berkeley/sbp/misc/CharRange.java index 932fbd6..59ee325 100644 --- a/src/edu/berkeley/sbp/misc/CharRange.java +++ b/src/edu/berkeley/sbp/misc/CharRange.java @@ -20,7 +20,7 @@ public class CharRange extends Atom { sb.append('~'); ranges = ranges.complement(); } - ranges = ranges.intersect(CharToken.all); + ranges = ranges.intersect(all); for(Range r : ranges) { if (r.isMinNegInf() || r.isMaxPosInf()) throw new Error("should not happen"); if (r.getMin()==r.getMax()) { @@ -36,7 +36,8 @@ public class CharRange extends Atom { } public static final Atom leftBrace = CharToken.leftBrace; public static final Atom rightBrace = CharToken.rightBrace; - public static Atom set(Range.Set r) { return new CharRange(new IntegerTopology(r)); } + public static Atom set(Range.Set r) { return new CharRange(new IntegerTopology(null, r)); } + private static final Range.Set all = new Range.Set(new Range(0, Character.MAX_VALUE)); /** returns an element which exactly matches the string given */ public static Element string(String s) { @@ -45,13 +46,13 @@ public class CharRange extends Atom { Element ret; if (s.length() == 1) { ret = - new CharRange(new IntegerTopology((int)s.charAt(0))) { + new CharRange(new IntegerTopology(null, (int)s.charAt(0))) { public String toString() { return escapified; } }; } else { Union ret2 = new Union("\""+s+"\"_str", true) { public String toString() { return escapified; } }; Element[] refs = new Element[s.length()]; - for(int i=0; i((int)s.charAt(i))); + for(int i=0; i(null, (int)s.charAt(i))); ret2.add(Sequence.constant(refs, s, null, null)); ret = ret2; }