Mescal
|
Minimization. More...
Go to the source code of this file.
Classes | |
struct | hopcroft_partition |
Type used to represent the state partition used in the Hopcroft algorithm. More... | |
Functions | |
dfa * | dfa_mini_canonical_copy (dfa *) |
Makes a copy of a minimal DFA. The ordering between the states is changed to make the copy canonical. | |
dfa * | nfa_brzozowski (nfa *) |
Brzozowski's minimization algorithm (for input NFAs) | |
dfa * | dfa_brzozowski (dfa *) |
Brzozowski's minimization algorithm (fo rinput DFAs) | |
hopcroft_partition * | dfa_hopcroft_initial (uint, uint *, uint) |
Computes the initial partition of the states in Hopcroft's algorithm. The set of final states is assumed to be non-trivial. | |
dfa * | dfa_hopcroft_genauto (dfa *, hopcroft_partition *) |
Computation of the minimal automaton from the partition computed by the Hopcroft's algorithm. | |
void | dfa_hopcroft_free (hopcroft_partition *) |
Release of a Hopcroft's partition. | |
dfa * | dfa_hopcroft (dfa *) |
Hopcroft's minimization algorithm. | |
void | dfa_mini_canonical_ordering (dfa *) |
Computes the canonical ordering of the states of a minimal DFA. | |
Minimization.
Two independent algorithms are implemented: Brzozowski and Hopcroft.
Brzozowski's minimization algorithm (fo rinput DFAs)
A | The DFA. |
Hopcroft's minimization algorithm.
A | The DFA. |
void dfa_hopcroft_free | ( | hopcroft_partition * | p | ) |
Release of a Hopcroft's partition.
p | The partition. |
dfa * dfa_hopcroft_genauto | ( | dfa * | D, |
hopcroft_partition * | p ) |
Computation of the minimal automaton from the partition computed by the Hopcroft's algorithm.
D | The original complete DFA. |
p | The partition. |
hopcroft_partition * dfa_hopcroft_initial | ( | uint | size_auto, |
uint * | finals, | ||
uint | nb_finals ) |
Computes the initial partition of the states in Hopcroft's algorithm. The set of final states is assumed to be non-trivial.
size_auto | The number of states in the automaton. |
finals | The list of final states (assumed to be non-trivial). |
nb_finals | The number of final states (assumed to be non-trivial). |
Makes a copy of a minimal DFA. The ordering between the states is changed to make the copy canonical.
A | The DFA to copy. |
void dfa_mini_canonical_ordering | ( | dfa * | A | ) |
Computes the canonical ordering of the states of a minimal DFA.
Canonical ordering
Canonical ordering
A | The DFA to order (must be minimal). |