|
|||||
| 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(Collection<StatePair> pairs)
BasicOperations.addEpsilons(Automaton, Collection).
public Automaton clone()
clone in class Objectpublic Automaton complement()
BasicOperations.complement(Automaton).
public Automaton compress(String set,
char c)
SpecialOperations.compress(Automaton, String, char).
public Automaton concatenate(Automaton a)
BasicOperations.concatenate(Automaton, Automaton).
public static Automaton concatenate(List<Automaton> l)
BasicOperations.concatenate(List).
public void determinize()
BasicOperations.determinize(Automaton).
public boolean equals(Object obj)
hashCode and
subsetOf.
equals in class Objectpublic void expandSingleton()
public Set<State> getAcceptStates()
State objectspublic String getCommonPrefix()
SpecialOperations.getCommonPrefix(Automaton).
public Set<String> getFiniteStrings()
SpecialOperations.getFiniteStrings(Automaton).
public Set<String> getFiniteStrings(int limit)
SpecialOperations.getFiniteStrings(Automaton, int).
public Object getInfo()
setInfo(Object)public State getInitialState()
public Set<State> getLiveStates()
State objectspublic int getNumberOfStates()
public int getNumberOfTransitions()
public String getShortestExample(boolean accepted)
BasicOperations.getShortestExample(Automaton, boolean).
public String getSingleton()
public Set<State> getStates()
State objectspublic Set<String> getStrings(int length)
SpecialOperations.getStrings(Automaton, int).
public int hashCode()
hashCode in class 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(InputStream stream)
throws IOException,
OptionalDataException,
ClassCastException,
ClassNotFoundException,
InvalidClassException
Automaton from a stream.
stream - input stream with serialized automaton
IOException - if input/output related exception occurs
OptionalDataException - if the data is not a serialized object
InvalidClassException - if the class serial number does not match
ClassCastException - if the data is not a serialized Automaton
ClassNotFoundException - if the class of the serialized object cannot be found
public static Automaton load(URL url)
throws IOException,
OptionalDataException,
ClassCastException,
ClassNotFoundException,
InvalidClassException
Automaton located by a URL.
url - URL of serialized automaton
IOException - if input/output related exception occurs
OptionalDataException - if the data is not a serialized object
InvalidClassException - if the class serial number does not match
ClassCastException - if the data is not a serialized Automaton
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(String set)
BasicAutomata.makeCharSet(String).
public static Automaton makeDecimalValue(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(String value)
BasicAutomata.makeIntegerValue(String).
public static Automaton makeInterval(int min,
int max,
int digits)
throws IllegalArgumentException
BasicAutomata.makeInterval(int, int, int).
IllegalArgumentExceptionpublic static Automaton makeMaxInteger(String n)
BasicAutomata.makeMaxInteger(String).
public static Automaton makeMinInteger(String n)
BasicAutomata.makeMinInteger(String).
public static Automaton makeString(String s)
BasicAutomata.makeString(String).
public static Automaton makeStringMatcher(String s)
BasicAutomata.makeStringMatcher(String).
public static Automaton makeStringUnion(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(Set<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(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(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 String shuffleSubsetOf(Collection<Automaton> ca,
Automaton a,
Character suspend_shuffle,
Character resume_shuffle)
ShuffleOperations.shuffleSubsetOf(Collection, Automaton, Character, Character).
public Automaton singleChars()
SpecialOperations.singleChars(Automaton).
public void store(OutputStream stream)
throws IOException
Automaton to the given stream.
stream - output stream for serialized automaton
IOException - if input/output related exception occurspublic boolean subsetOf(Automaton a)
BasicOperations.subsetOf(Automaton, Automaton).
public Automaton subst(char c,
String s)
SpecialOperations.subst(Automaton, char, String).
public Automaton subst(Map<Character,Set<Character>> map)
SpecialOperations.subst(Automaton, Map).
public String toDot()
public String toString()
toString in class Object
public Automaton trim(String set,
char c)
SpecialOperations.trim(Automaton, String, char).
public Automaton union(Automaton a)
BasicOperations.union(Automaton, Automaton).
public static Automaton union(Collection<Automaton> l)
BasicOperations.union(Collection).
|
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||