X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fchr%2FCharAtom.java;h=ee3167504af81ac2c0d1625480198b9adaa6f4b0;hp=1d76aa7c7e3179f7637893ccb66586062ef1d38b;hb=61a0c83fd40b98292b2dfe1eaba237eb804b2cb4;hpb=75d0fa39d405292f4b831a6d1743f2aeea01ebd4 diff --git a/src/edu/berkeley/sbp/chr/CharAtom.java b/src/edu/berkeley/sbp/chr/CharAtom.java index 1d76aa7..ee31675 100644 --- a/src/edu/berkeley/sbp/chr/CharAtom.java +++ b/src/edu/berkeley/sbp/chr/CharAtom.java @@ -1,3 +1,5 @@ +// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license + package edu.berkeley.sbp.chr; import java.io.*; import java.util.*; @@ -21,9 +23,9 @@ public class CharAtom extends Atom { public static final char left = (char)9998; public static final char right = (char)9999; - public static final Atom leftBrace = new CharAtom(left,left) { public String toString() { return "[{]"; } }; - public static final Atom rightBrace = new CharAtom(right,right) { public String toString() { return "[}]"; } }; - public static final Atom braces = new CharAtom(left,right) { public String toString() { return "[{}]"; } }; + public static final Atom leftBrace = new CharAtom(left,left) { public String toString() { return ">>"; } }; + public static final Atom rightBrace = new CharAtom(right,right) { public String toString() { return "<<"; } }; + //public static final Atom braces = new CharAtom(left,right) { public String toString() { return "[\\{\\}]"; } }; public static Atom set(Range.Set r) { return new CharAtom(new CharTopology(r)); } public String toString() { return t.toString(); } @@ -31,7 +33,7 @@ public class CharAtom 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 epsilon; + if (share && s.length() == 0) return emptyString; final String escapified = "\""+StringUtil.escapify(s, "\"\r\n\\")+"\""; Element ret; if (share && s.length() == 1) { @@ -49,8 +51,11 @@ public class CharAtom extends Atom { return ret; } - private static Union epsilon = new Union("()"); - static { epsilon.add(Sequence.create()); } + private static Union emptyString = new Union("()"); + static { + // FIXME: force this to be dropped wherever used! + emptyString.add(Sequence.create(new Element[0], "")); + } public Topology> unwrap() { return this; } public Topology> empty() { return new CharAtom(); }