|
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||
java.lang.Objectdk.brics.automaton.Automaton
public class Automaton
Finite-state automaton with regular expression operations.
Class invariants:
State and Transition objects)
or with a singleton string (see getSingleton() and expandSingleton()) in case the automaton is known to accept exactly one string.
(Implicitly, all states and transitions of an automaton are reachable from its initial state.)
reduce())
and have no transitions to dead states (see removeDeadTransitions()).
isDeterministic() returns false (but
the converse is not required).
If the states or transitions are manipulated manually, the restoreInvariant()
and setDeterministic(boolean) methods should be used afterwards to restore
representation invariants that are assumed by the built-in automata operations.
| Field Summary | |
|---|---|
static int |
MINIMIZE_BRZOZOWSKI
Minimize using Brzozowski's O(2n) algorithm. |
static int |
MINIMIZE_HOPCROFT
Minimize using Hopcroft's O(n log n) algorithm. |
static int |
MINIMIZE_HUFFMAN
Minimize using Huffman's O(n2) algorithm. |
| Constructor Summary | |
|---|---|
Automaton()
Constructs a new automaton that accepts the empty language. |
|
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int MINIMIZE_BRZOZOWSKI
setMinimization(int),
Constant Field Valuespublic static final int MINIMIZE_HOPCROFT
setMinimization(int),
Constant Field Valuespublic static final int MINIMIZE_HUFFMAN
setMinimization(int),
Constant Field Values| Constructor Detail |
|---|
public Automaton()
State and Transition objects.
setInitialState(State),
State,
Transition| Method Detail |
|---|
public void addEpsilons(java.util.Collection<StatePair> pairs)
BasicOperations.addEpsilons(Automaton, Collection).
public Automaton clone()
clone in class java.lang.Objectpublic Automaton complement()
BasicOperations.complement(Automaton).
public Automaton compress(java.lang.String set,
char c)
SpecialOperations.compress(Automaton, String, char).
public Automaton concatenate(Automaton a)
BasicOperations.concatenate(Automaton, Automaton).
public static Automaton concatenate(java.util.List<Automaton> l)
BasicOperations.concatenate(List).
public void determinize()
BasicOperations.determinize(Automaton).
public boolean equals(java.lang.Object obj)
hashCode and
subsetOf.
equals in class java.lang.Objectpublic void expandSingleton()
public java.util.Set<State> getAcceptStates()
State objectspublic java.lang.String getCommonPrefix()
SpecialOperations.getCommonPrefix(Automaton).
public java.util.Set<java.lang.String> getFiniteStrings()
SpecialOperations.getFiniteStrings(Automaton).
public java.util.Set<java.lang.String> getFiniteStrings(int limit)
SpecialOperations.getFiniteStrings(Automaton, int).
public java.lang.Object getInfo()
setInfo(Object)public State getInitialState()
public java.util.Set<State> getLiveStates()
State objectspublic int getNumberOfStates()
public int getNumberOfTransitions()
public java.lang.String getShortestExample(boolean accepted)
BasicOperations.getShortestExample(Automaton, boolean).
public java.lang.String getSingleton()
public java.util.Set<State> getStates()
State objectspublic java.util.Set<java.lang.String> getStrings(int length)
SpecialOperations.getStrings(Automaton, int).
public int hashCode()
hashCode in class java.lang.Objectpublic static Automaton hexCases(Automaton a)
SpecialOperations.hexCases(Automaton).
public Automaton homomorph(char[] source,
char[] dest)
SpecialOperations.homomorph(Automaton, char[], char[]).
public Automaton intersection(Automaton a)
BasicOperations.intersection(Automaton, Automaton).
public boolean isDeterministic()
public boolean isEmpty()
BasicOperations.isEmpty(Automaton).
public boolean isEmptyString()
BasicOperations.isEmptyString(Automaton).
public boolean isFinite()
SpecialOperations.isFinite(Automaton).
public boolean isTotal()
BasicOperations.isTotal(Automaton).
public static Automaton load(java.io.InputStream stream)
throws java.io.IOException,
java.io.OptionalDataException,
java.lang.ClassCastException,
java.lang.ClassNotFoundException,
java.io.InvalidClassException
Automaton from a stream.
stream - input stream with serialized automaton
java.io.IOException - if input/output related exception occurs
java.io.OptionalDataException - if the data is not a serialized object
java.io.InvalidClassException - if the class serial number does not match
java.lang.ClassCastException - if the data is not a serialized Automaton
java.lang.ClassNotFoundException - if the class of the serialized object cannot be found
public static Automaton load(java.net.URL url)
throws java.io.IOException,
java.io.OptionalDataException,
java.lang.ClassCastException,
java.lang.ClassNotFoundException,
java.io.InvalidClassException
Automaton located by a URL.
url - URL of serialized automaton
java.io.IOException - if input/output related exception occurs
java.io.OptionalDataException - if the data is not a serialized object
java.io.InvalidClassException - if the class serial number does not match
java.lang.ClassCastException - if the data is not a serialized Automaton
java.lang.ClassNotFoundException - if the class of the serialized object cannot be foundpublic static Automaton makeAnyChar()
BasicAutomata.makeAnyChar().
public static Automaton makeAnyString()
BasicAutomata.makeAnyString().
public static Automaton makeChar(char c)
BasicAutomata.makeChar(char).
public static Automaton makeCharRange(char min,
char max)
BasicAutomata.makeCharRange(char, char).
public static Automaton makeCharSet(java.lang.String set)
BasicAutomata.makeCharSet(String).
public static Automaton makeDecimalValue(java.lang.String value)
BasicAutomata.makeDecimalValue(String).
public static Automaton makeEmpty()
BasicAutomata.makeEmpty().
public static Automaton makeEmptyString()
BasicAutomata.makeEmptyString().
public static Automaton makeFractionDigits(int i)
BasicAutomata.makeFractionDigits(int).
public static Automaton makeIntegerValue(java.lang.String value)
BasicAutomata.makeIntegerValue(String).
public static Automaton makeInterval(int min,
int max,
int digits)
throws java.lang.IllegalArgumentException
BasicAutomata.makeInterval(int, int, int).
java.lang.IllegalArgumentExceptionpublic static Automaton makeMaxInteger(java.lang.String n)
BasicAutomata.makeMaxInteger(String).
public static Automaton makeMinInteger(java.lang.String n)
BasicAutomata.makeMinInteger(String).
public static Automaton makeString(java.lang.String s)
BasicAutomata.makeString(String).
public static Automaton makeStringMatcher(java.lang.String s)
BasicAutomata.makeStringMatcher(String).
public static Automaton makeStringUnion(java.lang.CharSequence... strings)
BasicAutomata.makeStringUnion(CharSequence...).
public static Automaton makeTotalDigits(int i)
BasicAutomata.makeTotalDigits(int).
public void minimize()
MinimizationOperations.minimize(Automaton).
public static Automaton minimize(Automaton a)
MinimizationOperations.minimize(Automaton).
Returns the automaton being given as argument.
public Automaton minus(Automaton a)
BasicOperations.minus(Automaton, Automaton).
public Automaton optional()
BasicOperations.optional(Automaton).
public Automaton overlap(Automaton a)
SpecialOperations.overlap(Automaton, Automaton).
public void prefixClose()
SpecialOperations.prefixClose(Automaton).
public Automaton projectChars(java.util.Set<java.lang.Character> chars)
SpecialOperations.projectChars(Automaton, Set).
public void reduce()
public void removeDeadTransitions()
reduce() and clearHashCode().
(A state is "dead" if no accept state is reachable from it.)
public Automaton repeat()
BasicOperations.repeat(Automaton).
public Automaton repeat(int min)
BasicOperations.repeat(Automaton, int).
public Automaton repeat(int min,
int max)
BasicOperations.repeat(Automaton, int, int).
public static Automaton replaceWhitespace(Automaton a)
SpecialOperations.replaceWhitespace(Automaton).
public void restoreInvariant()
setDeterministic(boolean)public boolean run(java.lang.String s)
BasicOperations.run(Automaton, String).
public static boolean setAllowMutate(boolean flag)
flag - if true, the flag is set
public void setDeterministic(boolean deterministic)
deterministic - true if the automaton is definitely deterministic, false if the automaton
may be nondeterministicpublic void setInfo(java.lang.Object info)
info - extra informationpublic void setInitialState(State s)
s - statepublic static void setMinimization(int algorithm)
MINIMIZE_HOPCROFT).
algorithm - minimization algorithmpublic static void setMinimizeAlways(boolean flag)
minimize() will automatically
be invoked after all operations that otherwise may produce non-minimal automata.
By default, the flag is not set.
flag - if true, the flag is setpublic Automaton shuffle(Automaton a)
ShuffleOperations.shuffle(Automaton, Automaton).
public static java.lang.String shuffleSubsetOf(java.util.Collection<Automaton> ca,
Automaton a,
java.lang.Character suspend_shuffle,
java.lang.Character resume_shuffle)
ShuffleOperations.shuffleSubsetOf(Collection, Automaton, Character, Character).
public Automaton singleChars()
SpecialOperations.singleChars(Automaton).
public void store(java.io.OutputStream stream)
throws java.io.IOException
Automaton to the given stream.
stream - output stream for serialized automaton
java.io.IOException - if input/output related exception occurspublic boolean subsetOf(Automaton a)
BasicOperations.subsetOf(Automaton, Automaton).
public Automaton subst(char c,
java.lang.String s)
SpecialOperations.subst(Automaton, char, String).
public Automaton subst(java.util.Map<java.lang.Character,java.util.Set<java.lang.Character>> map)
SpecialOperations.subst(Automaton, Map).
public java.lang.String toDot()
public java.lang.String toString()
toString in class java.lang.Object
public Automaton trim(java.lang.String set,
char c)
SpecialOperations.trim(Automaton, String, char).
public Automaton union(Automaton a)
BasicOperations.union(Automaton, Automaton).
public static Automaton union(java.util.Collection<Automaton> l)
BasicOperations.union(Collection).
|
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||