public abstract class AbstractIncrementalMealyTreeBuilder<N,I,O> extends AbstractIncrementalMealyBuilder<I,O>
Modifier and Type | Class and Description |
---|---|
class |
AbstractIncrementalMealyTreeBuilder.GraphView |
class |
AbstractIncrementalMealyTreeBuilder.TransitionSystemView |
AbstractIncrementalMealyBuilder.AbstractGraphView<I,O,N,E>
Constructor and Description |
---|
AbstractIncrementalMealyTreeBuilder(N root) |
Modifier and Type | Method and Description |
---|---|
AbstractIncrementalMealyTreeBuilder.GraphView |
asGraph()
Retrieves a graph view of the current state of the construction.
|
AbstractIncrementalMealyTreeBuilder.TransitionSystemView |
asTransitionSystem()
Retrieves a transition system view of the current state of the construction.
|
protected abstract N |
createNode() |
@Nullable Word<I> |
findSeparatingWord(MealyMachine<?,I,?,O> target,
Collection<? extends I> inputs,
boolean omitUndefined)
Checks the current state of the construction against a given target model, and returns a word exposing a
difference if there is one.
|
protected abstract @Nullable Edge<N,O> |
getEdge(N node,
I symbol) |
protected abstract Collection<AnnotatedEdge<N,I,O>> |
getOutgoingEdges(N node) |
void |
insert(Word<? extends I> input,
Word<? extends O> outputWord)
Incorporates a pair of input/output words into the stored information.
|
protected abstract N |
insertNode(N parent,
I symIdx,
O output) |
boolean |
lookup(Word<? extends I> word,
List<? super O> output)
Retrieves the output word for the given input word.
|
hasDefinitiveInformation, lookup
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addAlphabetSymbol
protected final N root
public AbstractIncrementalMealyTreeBuilder(N root)
public boolean lookup(Word<? extends I> word, List<? super O> output)
IncrementalMealyBuilder
word
- the input wordoutput
- a consumer for constructing the output wordtrue
if the information contained was complete (in this case, word.length() ==
output.size()
will hold), false
otherwise.public void insert(Word<? extends I> input, Word<? extends O> outputWord)
IncrementalMealyBuilder
input
- the input wordoutputWord
- the corresponding output wordpublic AbstractIncrementalMealyTreeBuilder.GraphView asGraph()
IncrementalConstruction
public AbstractIncrementalMealyTreeBuilder.TransitionSystemView asTransitionSystem()
IncrementalConstruction
public @Nullable Word<I> findSeparatingWord(MealyMachine<?,I,?,O> target, Collection<? extends I> inputs, boolean omitUndefined)
IncrementalConstruction
target
- the target automaton modelinputs
- the set of input symbols to consideromitUndefined
- if this is set to true
, then undefined transitions in the target
model will be
interpreted as "unspecified/don't know" and omitted in the equivalence test. Otherwise, they will be
interpreted in the usual manner (e.g., non-accepting sink in case of DFAs).null
if no difference could be found.protected abstract N createNode()
protected abstract Collection<AnnotatedEdge<N,I,O>> getOutgoingEdges(N node)
Copyright © 2020. All rights reserved.