X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fchr%2FCharRange.java;h=78f2057d7d233935856408bf197af94ecc0098a4;hp=89525363ed07114eed1a20a6da68a4fbe1ad3873;hb=38eb7943a4be918d46cb6517004e57ca91410ce0;hpb=e5cfb136bf7fd1352eff1bd87a458aa4ff748537 diff --git a/src/edu/berkeley/sbp/chr/CharRange.java b/src/edu/berkeley/sbp/chr/CharRange.java index 8952536..78f2057 100644 --- a/src/edu/berkeley/sbp/chr/CharRange.java +++ b/src/edu/berkeley/sbp/chr/CharRange.java @@ -19,8 +19,9 @@ public class CharRange extends Atom { public static final char left = (char)9998; public static final char right = (char)9999; - public static final Atom leftBrace = new CharRange(left,left) { public String toString() { return "{"; } }; - public static final Atom rightBrace = new CharRange(right,right) { public String toString() { return "}"; } }; + public static final Atom leftBrace = new CharRange(left,left) { public String toString() { return "[{]"; } }; + public static final Atom rightBrace = new CharRange(right,right) { public String toString() { return "[}]"; } }; + public static final Atom braces = new CharRange(left,right) { public String toString() { return "[{}]"; } }; public static Atom set(Range.Set r) { return new CharRange(new CharTopology(r)); } @@ -29,7 +30,7 @@ public class CharRange extends Atom { /** returns an element which exactly matches the string given */ public static Element string(String s) { return string(s, true); } public static Element string(String s, boolean share) { - if (share && s.length() == 0) return Union.epsilon; + if (share && s.length() == 0) return epsilon; final String escapified = "\""+StringUtil.escapify(s, "\"\r\n\\")+"\""; Element ret; if (share && s.length() == 1) { @@ -47,4 +48,6 @@ public class CharRange extends Atom { return ret; } + private static Union epsilon = new Union("()"); + static { epsilon.add(Sequence.empty); } }