java_cup

Class terminal_set


public class terminal_set
extends java.lang.Object

A set of terminals implemented as a bitset.

Version:
last updated: 11/25/95

Author:
Scott Hudson

Field Summary

static terminal_set
EMPTY
Constant for the empty set.
protected BitSet
_elements
Bitset to implement the actual set.

Constructor Summary

terminal_set()
Constructor for an empty set.
terminal_set(terminal_set other)
Constructor for cloning from another set.

Method Summary

boolean
add(terminal sym)
Add a single terminal to the set.
boolean
add(terminal_set other)
Add (union) in a complete set.
boolean
contains(int indx)
Given its index determine if the set contains a particular terminal.
boolean
contains(terminal sym)
Determine if the set contains a particular terminal.
boolean
empty()
Determine if the set is empty.
boolean
equals(Object other)
Generic equality comparison.
boolean
equals(terminal_set other)
Equality comparison.
boolean
intersects(terminal_set other)
Determine if this set intersects another.
boolean
is_subset_of(terminal_set other)
Determine if this set is an (improper) subset of another.
boolean
is_superset_of(terminal_set other)
Determine if this set is an (improper) superset of another.
protected void
not_null(Object obj)
Helper function to test for a null object and throw an exception if one is found.
void
remove(terminal sym)
Remove a terminal if it is in the set.
String
toString()
Convert to string.

Field Details

EMPTY

public static final terminal_set EMPTY
Constant for the empty set.


_elements

protected BitSet _elements
Bitset to implement the actual set.

Constructor Details

terminal_set

public terminal_set()
Constructor for an empty set.


terminal_set

public terminal_set(terminal_set other)
            throws internal_error
Constructor for cloning from another set.

Parameters:
other - the set we are cloning from.

Method Details

add

public boolean add(terminal sym)
            throws internal_error
Add a single terminal to the set.

Parameters:
sym - the terminal being added.

Returns:
true if this changes the set.


add

public boolean add(terminal_set other)
            throws internal_error
Add (union) in a complete set.

Parameters:
other - the set being added.

Returns:
true if this changes the set.


contains

public boolean contains(int indx)
Given its index determine if the set contains a particular terminal.

Parameters:
indx - the index of the terminal in question.


contains

public boolean contains(terminal sym)
            throws internal_error
Determine if the set contains a particular terminal.

Parameters:
sym - the terminal symbol we are looking for.


empty

public boolean empty()
Determine if the set is empty.


equals

public boolean equals(Object other)
Generic equality comparison.


equals

public boolean equals(terminal_set other)
Equality comparison.


intersects

public boolean intersects(terminal_set other)
            throws internal_error
Determine if this set intersects another.

Parameters:
other - the other set in question.


is_subset_of

public boolean is_subset_of(terminal_set other)
            throws internal_error
Determine if this set is an (improper) subset of another.

Parameters:
other - the set we are testing against.


is_superset_of

public boolean is_superset_of(terminal_set other)
            throws internal_error
Determine if this set is an (improper) superset of another.

Parameters:
other - the set we are testing against.


not_null

protected void not_null(Object obj)
            throws internal_error
Helper function to test for a null object and throw an exception if one is found.

Parameters:
obj - the object we are testing.


remove

public void remove(terminal sym)
            throws internal_error
Remove a terminal if it is in the set.

Parameters:
sym - the terminal being removed.


toString

public String toString()
Convert to string.