+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
package edu.berkeley.sbp;
import edu.berkeley.sbp.util.*;
import edu.berkeley.sbp.*;
*/
public class Union extends Element implements Iterable<Sequence> {
- private final String name;
+ 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
// 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;