X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FCharToken.java;h=f6cb40bfdf0171896eb399ec1c18932a0b30c98e;hb=b5156588b3abf1ecb9ea113b63ee6e5e8468b260;hp=51ffc9a8219635bf67e15565ec6171be902172fd;hpb=cb3cb8cadee03c8b89726edf1e634e4cab59c952;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/CharToken.java b/src/edu/berkeley/sbp/misc/CharToken.java index 51ffc9a..f6cb40b 100644 --- a/src/edu/berkeley/sbp/misc/CharToken.java +++ b/src/edu/berkeley/sbp/misc/CharToken.java @@ -10,52 +10,16 @@ import edu.berkeley.sbp.util.*; /** an implementation of Token for streams of Java char values */ public class CharToken implements IntegerMappable { - /** returns an element matching all characters between start and end, inclusive */ - public static Atom positiveRange(char start, char end) { - return new CharRange(new IntegerTopology(new Range.Set(new Range((int)start, (int)end)))); - } - - /** returns an element matching all characters not between start and end, inclusive */ - public static Atom negativeRange(char start, char end) { - return new CharRange(new IntegerTopology(new Range.Set(new Range((int)start, (int)end)).complement().intersect(all))); - } - public static final Atom leftBrace = new CharRange(new IntegerTopology(9998)) { public String toString() { return "{"; } }; public static final Atom rightBrace = new CharRange(new IntegerTopology(9999)) { public String toString() { return "}"; } }; public static final CharToken left = new CharToken((char)9998); public static final CharToken right = new CharToken((char)9999); - static final Range.Set all = new Range.Set(new Range(0, Character.MAX_VALUE)); + static final Range.Set all = new Range.Set(new Range(0, Character.MAX_VALUE)); public static final Atom any = new CharRange(new IntegerTopology(all)); public static final Atom none = new CharRange(new IntegerTopology()); public static IntegerTopology range(Range r) { return new IntegerTopology(r); } - public static Atom set(Range.Set r) { return new CharRange(new IntegerTopology(r)); } - - /** returns an element which exactly matches the string given */ - public static Element string(String s) { - if (s.length() == 0) return Union.epsilon; - final String escapified = "\""+StringUtil.escapify(s, "\"\r\n\\")+"\""; - Element ret; - if (s.length() == 1) { - ret = - new CharRange(new IntegerTopology((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))); - ret2.add(Sequence.constant(refs, s, null, null)); - ret = ret2; - } - return ret; - } - - /** FIXME */ - public static Topology top() { return new IntegerTopology(); } - public static Topology top(String s) throws java.text.ParseException { - return new IntegerTopology(Range.Set.parse(s)); - } + //public static Atom set(Range.Set r) { return new CharRange(new IntegerTopology(r)); } // Private //////////////////////////////////////////////////////////////////////////////