This commit was manufactured by cvs2svn to create tag 'buildscript'.
[IRC.git] / Robust / cup / java_cup / symbol_set.java
diff --git a/Robust/cup/java_cup/symbol_set.java b/Robust/cup/java_cup/symbol_set.java
deleted file mode 100644 (file)
index a1aec10..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-
-package java_cup;
-
-import java.util.Hashtable;
-import java.util.Enumeration;
-
-/** This class represents a set of symbols and provides a series of 
- *  set operations to manipulate them.
- *
- * @see     java_cup.symbol
- * @version last updated: 11/25/95
- * @author  Scott Hudson
- */
-public class symbol_set {
-
-  /*-----------------------------------------------------------*/
-  /*--- Constructor(s) ----------------------------------------*/
-  /*-----------------------------------------------------------*/
-
-  /** Constructor for an empty set. */
-  public symbol_set() { }
-
-  /** Constructor for cloning from another set. 
-   * @param other the set we are cloning from.
-   */
-  public symbol_set(symbol_set other) throws internal_error
-    {
-      not_null(other);
-      _all = (Hashtable)other._all.clone();
-    }
-
-  /*-----------------------------------------------------------*/
-  /*--- (Access to) Instance Variables ------------------------*/
-  /*-----------------------------------------------------------*/
-
-  /** A hash table to hold the set. Symbols are keyed using their name string. 
-   */
-  protected Hashtable _all = new Hashtable(11);
-
-  /** Access to all elements of the set. */
-  public Enumeration all() {return _all.elements();}
-
-  /** size of the set */
-  public int size() {return _all.size();}
-
-  /*-----------------------------------------------------------*/
-  /*--- (Access to) Instance Variables ------------------------*/
-  /*-----------------------------------------------------------*/
-
-  /** Helper function to test for a null object and throw an exception
-   *  if one is found.
-   * @param obj the object we are testing.
-   */
-  protected void not_null(Object obj) throws internal_error
-    {
-      if (obj == null) 
-       throw new internal_error("Null object used in set operation");
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Determine if the set contains a particular symbol. 
-   * @param sym the symbol we are looking for.
-   */
-  public boolean contains(symbol sym) {return _all.containsKey(sym.name());}
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Determine if this set is an (improper) subset of another. 
-   * @param other the set we are testing against.
-   */
-  public boolean is_subset_of(symbol_set other) throws internal_error
-    {
-      not_null(other);
-
-      /* walk down our set and make sure every element is in the other */
-      for (Enumeration e = all(); e.hasMoreElements(); )
-       if (!other.contains((symbol)e.nextElement()))
-         return false;
-
-      /* they were all there */
-      return true;
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Determine if this set is an (improper) superset of another. 
-   * @param other the set we are are testing against.
-   */
-  public boolean is_superset_of(symbol_set other) throws internal_error
-    {
-      not_null(other);
-      return other.is_subset_of(this);
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Add a single symbol to the set.  
-   * @param sym the symbol we are adding.
-   * @return true if this changes the set.
-   */
-  public boolean add(symbol sym) throws internal_error
-    {
-      Object previous;
-
-      not_null(sym); 
-
-      /* put the object in */
-      previous = _all.put(sym.name(),sym);
-
-      /* if we had a previous, this is no change */
-      return previous == null;
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Remove a single symbol if it is in the set. 
-   * @param sym the symbol we are removing.
-   */
-  public void remove(symbol sym) throws internal_error
-    {
-      not_null(sym); 
-      _all.remove(sym.name());
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Add (union) in a complete set.  
-   * @param other the set we are adding in.
-   * @return true if this changes the set. 
-   */
-  public boolean add(symbol_set other) throws internal_error
-    {
-      boolean result = false;
-
-      not_null(other);
-
-      /* walk down the other set and do the adds individually */
-      for (Enumeration e = other.all(); e.hasMoreElements(); )
-       result = add((symbol)e.nextElement()) || result;
-
-      return result;
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Remove (set subtract) a complete set. 
-   * @param other the set we are removing.
-   */
-  public void remove(symbol_set other) throws internal_error
-    {
-      not_null(other);
-
-      /* walk down the other set and do the removes individually */
-      for (Enumeration e = other.all(); e.hasMoreElements(); )
-       remove((symbol)e.nextElement());
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Equality comparison. */
-  public boolean equals(symbol_set other) 
-    {
-      if (other == null || other.size() != size()) return false;
-
-      /* once we know they are the same size, then improper subset does test */
-      try {
-        return is_subset_of(other);
-      } catch (internal_error e) {
-       /* can't throw the error (because super class doesn't), so we crash */
-       e.crash();
-       return false;
-      }
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Generic equality comparison. */
-  public boolean equals(Object other)
-    {
-      if (!(other instanceof symbol_set))
-       return false;
-      else
-       return equals((symbol_set)other);
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Compute a hash code. */
-  public int hashCode()
-    {
-      int result = 0;
-      int cnt;
-      Enumeration e;
-
-      /* hash together codes from at most first 5 elements */
-      for (e = all(), cnt=0 ; e.hasMoreElements() && cnt<5; cnt++)
-       result ^= ((symbol)e.nextElement()).hashCode();
-
-      return result;
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Convert to a string. */
-  public String toString()
-    {
-      String result;
-      boolean comma_flag;
-
-      result = "{";
-      comma_flag = false;
-      for (Enumeration e = all(); e.hasMoreElements(); )
-       {
-         if (comma_flag)
-           result += ", ";
-         else
-           comma_flag = true;
-
-         result += ((symbol)e.nextElement()).name();
-       }
-      result += "}";
-
-      return result;
-    }
-
-  /*-----------------------------------------------------------*/
-
-}
-
-