checkpoint
[sbp.git] / src / edu / berkeley / sbp / Atom.java
index f5b0158..2589dde 100644 (file)
@@ -45,5 +45,14 @@ public abstract class Atom<T extends Token> extends Element implements Topology<
         public String toString() { return "~"+a; }
     }
     
+    public static class Hack<T extends Token> extends Atom<T> {
+        private final Atom<T> a;
+        static final Topology leftright =
+            edu.berkeley.sbp.misc.CharToken.rightBrace.union(edu.berkeley.sbp.misc.CharToken.leftBrace);
+        public Hack(Atom<T> a) { this.a = a; }
+        public Topology<T> top() { return ((Topology<T>)a.top()).minus(leftright); }
+        public String toString() { return "~"+a; }
+    }
+    
 }