org.biojava.utils.automata
Class Nfa
java.lang.Object
org.biojava.utils.automata.FiniteAutomaton
org.biojava.utils.automata.Nfa
- All Implemented Interfaces:
- NfaBuilder
public class Nfa
- extends FiniteAutomaton
- implements NfaBuilder
Class for modelling non-deterministic finite automata.
This implementation has epsilon and lambda transitions.
Both transitions are silent but the former is intended
to be optimised away while the latter must be retained
during optimisation. This is necessary to implement
limited closure for the REs that one may want to build
with this NFA.
- Since:
- 1.4
- Author:
- David Huen
Method Summary |
org.biojava.utils.automata.FiniteAutomaton.Transition |
addEpsilonTransition(org.biojava.utils.automata.FiniteAutomaton.Node start,
org.biojava.utils.automata.FiniteAutomaton.Node end)
Add a silent optimisable transition to instance. |
org.biojava.utils.automata.FiniteAutomaton.Transition |
addLambdaTransition(org.biojava.utils.automata.FiniteAutomaton.Node start,
org.biojava.utils.automata.FiniteAutomaton.Node end)
Add a silent persistent transition to instance. |
protected int |
alphaIndex(Symbol sym)
|
boolean |
containsNode(org.biojava.utils.automata.FiniteAutomaton.Node node)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Nfa
public Nfa(String name,
FiniteAlphabet alfa)
alphaIndex
protected int alphaIndex(Symbol sym)
throws IllegalSymbolException
- Overrides:
alphaIndex
in class FiniteAutomaton
- Throws:
IllegalSymbolException
containsNode
public boolean containsNode(org.biojava.utils.automata.FiniteAutomaton.Node node)
addEpsilonTransition
public org.biojava.utils.automata.FiniteAutomaton.Transition addEpsilonTransition(org.biojava.utils.automata.FiniteAutomaton.Node start,
org.biojava.utils.automata.FiniteAutomaton.Node end)
- Add a silent optimisable transition to instance.
- Specified by:
addEpsilonTransition
in interface NfaBuilder
addLambdaTransition
public org.biojava.utils.automata.FiniteAutomaton.Transition addLambdaTransition(org.biojava.utils.automata.FiniteAutomaton.Node start,
org.biojava.utils.automata.FiniteAutomaton.Node end)
- Add a silent persistent transition to instance.
- Specified by:
addLambdaTransition
in interface NfaBuilder