public final class ShuffleOperations extends Object
Modifier and Type | Method and Description |
---|---|
static Automaton |
shuffle(Automaton a1,
Automaton a2)
Returns an automaton that accepts the shuffle (interleaving) of
the languages of the given automata.
|
static String |
shuffleSubsetOf(Collection<Automaton> ca,
Automaton a,
Character suspend_shuffle,
Character resume_shuffle)
Returns a string that is an interleaving of strings that are accepted by
ca but not by a . |
public static Automaton shuffle(Automaton a1, Automaton a2)
Complexity: quadratic in number of states (if already deterministic).
public static String shuffleSubsetOf(Collection<Automaton> ca, Automaton a, Character suspend_shuffle, Character resume_shuffle)
ca
but not by a
. If no such string
exists, null is returned. As a side-effect, a
is determinized,
if not already deterministic. Only interleavings that respect
the suspend/resume markers (two BMP private code points) are considered if the markers are non-null.
Also, interleavings never split surrogate pairs.
Complexity: proportional to the product of the numbers of states (if a
is already deterministic).
Copyright © 2001-2017 Anders Møller.