|
jET |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--prv.doman.fsa.Automaton
The automaton is a short for FSA (finit state automaton).
Nested Class Summary | |
class |
Automaton.Rule
This is a rule for finite state automaton. |
Constructor Summary | |
Automaton()
Creates the new finit state automaton. |
Method Summary | |
void |
addDefaultRule(java.lang.String startState,
java.lang.String endState)
Adds new rule that is default for transitions between start state and end state. |
void |
addLetter(java.lang.String letter)
Adds a letter to the alphabet. |
void |
addRule(java.lang.String letter,
java.lang.String startState,
java.lang.String endState)
Adds a transition between states as result of occuring some letter from alphabet at input. |
void |
addState(java.lang.String stateName)
Adds a new state for automaton. |
java.lang.String |
currentState()
Retrives current state name. |
java.lang.String[] |
getAlphabet()
Gets alphabet. |
boolean |
hasLetter(java.lang.String letter)
Checks if letter is in alphabet. |
boolean |
isFinished()
Checks if current state is final state. |
void |
setFinal(java.lang.String stateName)
Sets state as final state. |
void |
setStart(java.lang.String stateName)
Sets start state. |
java.lang.String[] |
stateNames()
Gets all state names. |
void |
step(java.lang.String letter)
Makes a step. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Automaton()
Method Detail |
public void addLetter(java.lang.String letter)
letter
- New letter to add.public void addState(java.lang.String stateName) throws StateRedefinitionException
stateName
- Name of the new state.
StateRedefinitionException
- Thrown when adding state
already exists in the set of states.public void addRule(java.lang.String letter, java.lang.String startState, java.lang.String endState) throws UnknownLetterException, UnknownStateException
letter
- Input.startState
- Start state name.endState
- End state name determined by input and start name.
UnknownLetterException
- Thrown when letter is not in
automaton's alphabet.
UnknownStateException
- Thrown when start state or end state
are not in set of states.public void addDefaultRule(java.lang.String startState, java.lang.String endState) throws UnknownStateException
startState
- Start state name.endState
- End state name determined by input and start name.
UnknownStateException
- Thrown when start state or end state
are not in set of states.public void setFinal(java.lang.String stateName) throws UnknownStateException
State must be earlier added to set of states.
stateName
- Name of state to be final.
UnknownStateException
- Thrown when set of states
does not include this state.public void setStart(java.lang.String stateName) throws UnknownStateException
State must have been added to set of states.
stateName
- Name of state.
UnknownStateException
- Thrown when set of states
does not include this start state.public void step(java.lang.String letter) throws UnknownLetterException, FinalStateMissingException
letter
- Input.
UnknownLetterException
- Thrown when letter is not from
alphabet.
FinalStateMissing
- Thrown when automaton does not have at least
one final state.
FinalStateMissingException
public java.lang.String currentState()
public boolean hasLetter(java.lang.String letter)
letter
is in alphabet.
letter
- Letter to check.
True
, if alphabet contains this letter.public java.lang.String[] stateNames()
public boolean isFinished()
True
, if current state is final.public java.lang.String[] getAlphabet()
|
jET |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |