checkpoint
[sbp.git] / src / edu / berkeley / sbp / Union.java
index 99ef42b..ece239d 100644 (file)
@@ -14,6 +14,9 @@ public class Union extends Element implements Iterable<Sequence> {
     private final boolean synthetic;
     private final List<Sequence> alternatives = new ArrayList<Sequence>();
 
+    public Union() { this(null, false); }
+    public Union(String name) { this(name, false); }
+
     /**
      *  Since every cycle in a non-degenerate grammar contains at
      *  least one Union, every instance of this class must be able to
@@ -23,8 +26,6 @@ public class Union extends Element implements Iterable<Sequence> {
      *  @param shortForm the "short form" display; usually 
      *  @param synthetic if true, this Union's "long form" is "obvious" and should not be displayed when printing the grammar
      */
-    public Union() { this(null, false); }
-    public Union(String name) { this(name, false); }
     public Union(String name, boolean synthetic) {
         this.name = name;
         this.synthetic = synthetic;
@@ -42,11 +43,8 @@ public class Union extends Element implements Iterable<Sequence> {
         for(Sequence n : s.hates) add(n);
     }
 
-    // Epsilon Form //////////////////////////////////////////////////////////////////////////////
 
-    // FIXME
-    public static Union epsilon = new Union("()");
-    static { epsilon.add(Sequence.empty); }
+    // Epsilon Form //////////////////////////////////////////////////////////////////////////////
 
     // FIXME
     private Forest.Many epsilonForm = null;
@@ -61,6 +59,7 @@ public class Union extends Element implements Iterable<Sequence> {
         return epsilonForm;
     }
 
+
     // Display //////////////////////////////////////////////////////////////////////////////
 
     public String getName() {