BerrySethiAlgo Struct Template Reference

This is the visitor that really computes Berry-Sethi. More...

Inheritance diagram for BerrySethiAlgo:

Inheritance graph
[legend]
List of all members.

Public Types

typedef Element< S, T > exp_t
 Type of the argument to provide to the constructor.
typedef T_auto * T_auto_p
typedef std::map< linearize_element<
S, T >::letter_t, hstate_t,
Comparator< BerrySethiAlgo<
T_auto, S, T >, linearize_element<
S, T >::letter_t > > 
StateMap
typedef StateMap::iterator iterator
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_tdelta (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
 Those functions indicates whether a state is final or initial.
bool is_final (const etiq_t &e) const
 Those functions indicates whether a state is final or initial.

Detailed Description

template<typename T_auto, typename S, typename T>
struct vcsn::BerrySethiAlgo< T_auto, S, T >

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.

Bug:
FIXME: Change the zero-letter.

FIXME: Check efficiency.

FIXME: Check results of derivation.

See also:
berry_sethi()

Definition at line 126 of file berry_sethi.hxx.


Constructor & Destructor Documentation

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.

See also:
MathAutomataConstructor
Bug:
FIXME: Is it necessary to give the series as a separate argument?

Definition at line 160 of file berry_sethi.hxx.

References vcsn::linearized_alphabet().


Generated on Sat Jul 29 17:29:03 2006 for Vaucanson by  doxygen 1.4.6