00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 namespace vcsn
00025 {
00026 namespace VCSN_GRAPH_IMPL
00027 {
00028 VCSN_CONTEXT_NAMESPACE
00029 {
00030 template <class T>
00031 automaton_t make_automaton(const T& alphabet);
00032
00033 template <class T>
00034 automaton_t make_automaton(const T& alphabet,
00035 const monoid_rep_t& mrep,
00036 const series_rep_t& srep);
00037
00038 template <class InputIterator>
00039 automaton_t make_automaton(InputIterator begin,
00040 InputIterator end);
00041
00042 template <class InputIterator>
00043 automaton_t make_automaton(InputIterator begin,
00044 InputIterator end,
00045 const monoid_rep_t& mrep,
00046 const series_rep_t& srep);
00047
00048 template <class T>
00049 automaton_letter_t make_automaton_letter(const T& alphabet);
00050
00051 template <class InputIterator>
00052 automaton_letter_t make_automaton_letter(InputIterator begin,
00053 InputIterator end);
00054
00055 template <class T>
00056 gen_automaton_t make_gen_automaton(const T& alphabet);
00057
00058 template <class InputIterator>
00059 gen_automaton_t make_gen_automaton(InputIterator begin,
00060 InputIterator end);
00061
00062 template <class Iterator>
00063 rat_exp_t
00064 make_rat_exp(const Iterator& begin,
00065 const Iterator& end,
00066 const std::string& exp = (vcsn::algebra::
00067 SeriesRepDefault<semiring_t, monoid_t>::
00068 get_instance()->zero),
00069 const monoid_rep_t& mrep = *(vcsn::algebra::
00070 MonoidRepDefault<monoid_t>::
00071 get_instance()),
00072 const series_rep_t& srep = *(vcsn::algebra::
00073 SeriesRepDefault<semiring_t, monoid_t>::
00074 get_instance()));
00075
00076 template <class T>
00077 rat_exp_t
00078 make_rat_exp(const T& alphabet,
00079 const std::string& exp = (vcsn::algebra::
00080 SeriesRepDefault<semiring_t, monoid_t>::
00081 get_instance()->zero),
00082 const monoid_rep_t& mrep = *(vcsn::algebra::
00083 MonoidRepDefault<monoid_t>::
00084 get_instance()),
00085 const series_rep_t& srep = *(vcsn::algebra::
00086 SeriesRepDefault<semiring_t, monoid_t>::
00087 get_instance()));
00088
00089 template <class SeriesSet, class SeriesImpl>
00090 automaton_t
00091 standard_of(const Element<SeriesSet, SeriesImpl>& e);
00092
00093
00094 template <class SeriesSet, class SeriesImpl>
00095 automaton_t
00096 thompson_of(const Element<SeriesSet, SeriesImpl>& e);
00097
00098 rat_exp_t
00099 aut_to_exp(const automaton_t& a);
00100
00101 template <class Chooser>
00102 rat_exp_t
00103 aut_to_exp(const automaton_t& a, const Chooser& c);
00104 }
00105 }
00106 }
00107
00108 # include <vaucanson/contexts/automaton_maker.thxx>
00109