From 33d75ff4aab0f98db56874ec16ec9a4e440aab55 Mon Sep 17 00:00:00 2001 From: Andrei Aiordachioaie Date: Mon, 25 May 2009 10:18:29 +0200 Subject: Removed old grammar source files --- src/syntaxParser/java_cup/symbol_set.java | 250 ------------------------------ 1 file changed, 250 deletions(-) delete mode 100644 src/syntaxParser/java_cup/symbol_set.java (limited to 'src/syntaxParser/java_cup/symbol_set.java') diff --git a/src/syntaxParser/java_cup/symbol_set.java b/src/syntaxParser/java_cup/symbol_set.java deleted file mode 100644 index f833792..0000000 --- a/src/syntaxParser/java_cup/symbol_set.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * This file is part of Petascope. - * - * Petascope is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of - * the License, or (at your option) any later version. - * - * Petascope is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Petascope. If not, see . - * - * For more information please see - * or contact Peter Baumann via . - * - * Copyright 2009 Jacobs University Bremen, Peter Baumann. - */ - -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 - */ -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; - } - - /*-----------------------------------------------------------*/ - -} - - -- cgit