com.karneim.util.collection.set
Interface IState
- public interface IState
IState is the epsilon enclosure of one or more IStatePro.
The epsilon enclosure of an IStatePro are the IStatePro itself
and all states that are reachable through epsilon transitions (see IStatePro.addTransition)
beginning with that IStatePro.
You can get an epsilon enclosure of an IStatePro startState manually by this code:
final IStatePro startState;
final StateProSet epsilonClosure = new StateProSet(startState);
final StateProSet.Iterator it = states.iterator();
for (IStatePro state=it.next(); state!=null; state=it.next()) {
IStatePro.ITransition[] transitions = state.getETransitions();
for (int i=0; i transitions.length; ++i) {
epsilonClosure.add(transitions[i].getToState());
}
}
Description:
Copyright: Copyright (c) 2001
Company:
- Version:
- 1.0
- Author:
-
|
Method Summary |
StateProSet |
getAllReachableStates()
Returns all states that are reachable from this state through it's transitions and so on.
|
boolean |
isFinal()
|
IState |
next(char ch)
returns the IState of all IStatePro that are reachable from
this IState with a character ch. |
isFinal
public boolean isFinal()
next
public IState next(char ch)
- returns the
IState of all IStatePro that are reachable from
this IState with a character ch.
- Parameters:
ch - - Returns:
-
getAllReachableStates
public StateProSet getAllReachableStates()
- Returns all states that are reachable from this state through it's transitions and so on.
important: this state is only element of the returned set, if it is an element of a loop
- Returns:
- all reachable states as a set