Vaucanson 1.4
|
This is the visitor that really computes Berry-Sethi. More...
Inherits MathAutomataConstructor< Self, T_auto, Etiq >.
Public Types | |
typedef Element< S, T > | exp_t |
Type of the argument to provide to the constructor. | |
typedef linearize_element< S, T >::element_t | linear_exp_t |
Types from linearize_element. | |
typedef linearize_element< S, T >::alphabet_t | linear_alphabet_t |
Types from linearize_element. | |
typedef linearize_element< S, T >::letter_t | etiq_t |
Types from linearize_element. | |
Public Member Functions | |
BerrySethiAlgo (const series_set_t &series, const exp_t &exp) | |
Default constructor. | |
std::set< etiq_t > | delta (const etiq_t &e, const letter_t &l) |
This is the delta function for the constructed automaton. | |
bool | is_initial (const etiq_t &e) const |
Whether a state is final or initial. | |
bool | is_final (const etiq_t &e) const |
Whether a state is final or initial. |
This is the visitor that really computes Berry-Sethi.
This class should be used only in berry_sethi() and should not be instanciated from elsewhere.
It is derived from MathAutomataConstructor because we want to use the mathematical definition of the Berry-Sethi automaton.
It defines the constructor to give a correct set to MathAutomataConstructor constructor. It also defines is_initial and is_final for a labeled state, and delta function.
FIXME: Change the zero-letter.
FIXME: Check efficiency.
FIXME: Check results of derivation.
Definition at line 126 of file berry_sethi.hxx.
typedef linearize_element<S, T>::element_t linear_exp_t |
Types from linearize_element.
Definition at line 137 of file berry_sethi.hxx.
typedef linearize_element<S, T>::alphabet_t linear_alphabet_t |
Types from linearize_element.
Definition at line 138 of file berry_sethi.hxx.
typedef linearize_element<S, T>::letter_t etiq_t |
Types from linearize_element.
Definition at line 139 of file berry_sethi.hxx.
BerrySethiAlgo | ( | const series_set_t & | series, |
const exp_t & | exp | ||
) | [inline] |
Default constructor.
This is the default constructor for BerrySethiAlgo, it calls the MathAutomataConstructor constructor with the linearized alphabet enriched with an extra letter as the set of states for the resulting automaton.
Definition at line 157 of file berry_sethi.hxx.
bool is_initial | ( | const etiq_t & | e | ) | const [inline] |
Whether a state is final or initial.
Definition at line 168 of file berry_sethi.hxx.
bool is_final | ( | const etiq_t & | e | ) | const [inline] |
Whether a state is final or initial.
Definition at line 173 of file berry_sethi.hxx.
References vcsn::linear_exp_continuation(), and SELECT.