Class 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
    • Constructor Detail

    • Method Detail

      • 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