gate.fsm
Class FSM

java.lang.Object
  |
  +--gate.fsm.FSM
All Implemented Interfaces:
JapeConstants, Serializable

public class FSM
extends Object
implements JapeConstants

This class implements a standard Finite State Machine. It is used for both deterministic and non-deterministic machines.

See Also:
Serialized Form

Fields inherited from interface gate.jape.JapeConstants
APPELT_STYLE, BRILL_STYLE, DEFAULT_PRIORITY, FIRST_STYLE, INDENT_PADDING, KLEENE_PLUS, KLEENE_QUERY, KLEENE_STAR, MULTI_SPAN_BINDING, NO_BINDING, NO_KLEENE_OP, SINGLE_SPAN_BINDING
 
Constructor Summary
FSM(Rule rule)
          Builds a FSM starting from a rule.
FSM(SinglePhaseTransducer spt)
          Builds a standalone FSM starting from a single phase transducer.
 
Method Summary
 void eliminateVoidTransitions()
          Converts this FSM from a non-deterministic to a deterministic one by eliminating all the unrestricted transitions.
 String getGML()
          Returns a GML (Graph Modelling Language) representation of the transition graph of this FSM.
 State getInitialState()
          Gets the initial state of this FSM
 String toString()
          Returns a textual description of this FSM.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FSM

public FSM(SinglePhaseTransducer spt)
Builds a standalone FSM starting from a single phase transducer.
Parameters:
spt - the single phase transducer to be used for building this FSM.

FSM

public FSM(Rule rule)
Builds a FSM starting from a rule. This FSM is actually a part of a larger one (usually the one that is built based on the single phase transducer that contains the rule). built by this constructor.
Parameters:
rule - the rule to be used for the building process.
Method Detail

getInitialState

public State getInitialState()
Gets the initial state of this FSM
Returns:
an object of type gate.fsm.State representing the initial state.

eliminateVoidTransitions

public void eliminateVoidTransitions()
Converts this FSM from a non-deterministic to a deterministic one by eliminating all the unrestricted transitions.

getGML

public String getGML()
Returns a GML (Graph Modelling Language) representation of the transition graph of this FSM.

toString

public String toString()
Returns a textual description of this FSM.
Overrides:
toString in class Object