Union: convenience constructor
[sbp.git] / src / edu / berkeley / sbp / Union.java
index 5ff00d6..94c1fc9 100644 (file)
@@ -19,13 +19,14 @@ import java.lang.ref.*;
  */
 public class Union extends Element implements Iterable<Sequence> {
 
-    /*private*/ final String name;
-    /*private*/ final boolean synthetic;
+    private final String  name;
+    private final boolean synthetic;
     private boolean viewed = false;
 
     private final List<Sequence> alternatives = new ArrayList<Sequence>();
 
     public Union(String name) { this(name, false); }
+    public Union(String name, Sequence s) { this(name, false); add(s); }
 
     /**
      *  Since every cycle in a non-degenerate grammar contains at
@@ -87,10 +88,9 @@ public class Union extends Element implements Iterable<Sequence> {
 
     // Display //////////////////////////////////////////////////////////////////////////////
 
-    public String getName() {
-        if (name != null) return name;
-        return "(anon_union)";
-    }
+    boolean isSynthetic() { return synthetic; }
+    String getName()      { return name==null ? "(anon_union)" : name; }
+
     public String toString() {
         viewed = true;
         if (name != null) return name;