public class BricsNFA extends AbstractBricsAutomaton implements NFA<State,Character>
NFA
.
This adapter is backed by the Brics automaton, so changes to the Automaton
are reflected.
As a DFA can be regarded as a special case of an NFA, using this class on a Brics Automaton
will always work.
However, determining successor states for input characters might be much less efficient than when using a BricsDFA
.
AbstractBricsAutomaton.GraphView
FiniteStateAcceptor.FSAGraphView<S,I,A extends FiniteStateAcceptor<S,I>>
automaton
STATE_PROPERTIES, TRANSITION_PROPERTIES
Constructor and Description |
---|
BricsNFA(Automaton automaton)
Constructor.
|
BricsNFA(Automaton automaton,
boolean totalize)
Constructor.
|
getBricsAutomaton, getInitialStates, getStates, getTransitions, graphView, isAccepting
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isAccepting
computeOutput, computeSuffixOutput, transitionGraphView
accepts, getStateProperty, getSuccessor, getTransitionProperty, isAccepting
getSuccessors, getTransitions, powersetView
createDynamicStateMapping, createStaticStateMapping, getStates, iterator, size, stateIDs
getInitialStates, getStates, getSuccessors, getSuccessors
forEach, spliterator
public BricsNFA(Automaton automaton)
Note: Brics automata may only be partially defined (especially when created from regular expressions). If
you plan to use this wrapper in any structural analysis (e.g. for determining equivalence), consider using
BricsNFA(Automaton, boolean)
instead.
automaton
- the Brics automaton to wrap.public BricsNFA(Automaton automaton, boolean totalize)
If the parameter totalize
is set to true
, an additional sink state will be added to the automaton
and all otherwise undefined transitions will transition the automaton into the sink. Note: this mutates
the original automaton
.
automaton
- the Brics automaton to wrap.totalize
- flag, indicating whether the automaton should have a total transition function.Copyright © 2020. All rights reserved.