added arbitrary expression inversion, lookforward, and syntax for lookback
[sbp.git] / src / edu / berkeley / sbp / Sequence.java
index a5149f2..e18f5ef 100644 (file)
@@ -35,11 +35,11 @@ public abstract class Sequence extends Element implements Iterable<Element> {
 
     ////////////////////////////////////////////////////////////////////////////////
 
-    public Topology noFollow() { return null; }
+    public Element noFollow = null;
+    public final Topology noFollow() { return noFollow==null ? null : noFollow.toAtom(); }
 
     Topology toAtom() {
-        if (elements.length>1) throw new RuntimeException("cannot invoke toAtom() on a Sequence with " + elements.length + " elements: " + this);
-        if (elements.length==0) return null;
+        if (elements.length!=1) throw new RuntimeException("cannot invoke toAtom() on a Sequence with " + elements.length + " elements: " + this);
         return elements[0].toAtom();
     }