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 const monoid_rep_t& mrep = *(vcsn::algebra::
00033 monoid_rep_default<monoid_t>::
00034 get_instance()),
00035 const series_rep_t& srep = *(vcsn::algebra::
00036 series_rep_default<semiring_t, monoid_t>::
00037 get_instance()));
00038
00039 template <class InputIterator>
00040 automaton_t make_automaton(InputIterator begin,
00041 InputIterator end,
00042 const monoid_rep_t& mrep = *(vcsn::algebra::
00043 monoid_rep_default<monoid_t>::
00044 get_instance()),
00045 const series_rep_t& srep = *(vcsn::algebra::
00046 series_rep_default<semiring_t, monoid_t>::
00047 get_instance()));
00048
00049 template <class T>
00050 automaton_letter_t make_automaton_letter(const T& alphabet);
00051
00052 template <class InputIterator>
00053 automaton_letter_t make_automaton_letter(InputIterator begin,
00054 InputIterator end);
00055
00056 template <class T>
00057 gen_automaton_t make_gen_automaton(const T& alphabet);
00058
00059 template <class InputIterator>
00060 gen_automaton_t make_gen_automaton(InputIterator begin,
00061 InputIterator end);
00062
00063 template <class Iterator>
00064 rat_exp_t
00065 make_rat_exp(const Iterator& begin,
00066 const Iterator& end,
00067 const std::string& exp = (vcsn::algebra::
00068 series_rep_default<semiring_t, monoid_t>::
00069 get_instance()->zero),
00070 const monoid_rep_t& mrep = *(vcsn::algebra::
00071 monoid_rep_default<monoid_t>::
00072 get_instance()),
00073 const series_rep_t& srep = *(vcsn::algebra::
00074 series_rep_default<semiring_t, monoid_t>::
00075 get_instance()));
00076
00077 template <class T>
00078 rat_exp_t
00079 make_rat_exp(const T& alphabet,
00080 const std::string& exp = (vcsn::algebra::
00081 series_rep_default<semiring_t, monoid_t>::
00082 get_instance()->zero),
00083 const monoid_rep_t& mrep = *(vcsn::algebra::
00084 monoid_rep_default<monoid_t>::
00085 get_instance()),
00086 const series_rep_t& srep = *(vcsn::algebra::
00087 series_rep_default<semiring_t, monoid_t>::
00088 get_instance()));
00089
00090 template <class SeriesSet, class SeriesImpl>
00091 automaton_t
00092 standard_of(const Element<SeriesSet, SeriesImpl>& e);
00093
00094
00095 template <class SeriesSet, class SeriesImpl>
00096 automaton_t
00097 thompson_of(const Element<SeriesSet, SeriesImpl>& e);
00098
00099 rat_exp_t
00100 aut_to_exp(const automaton_t& a);
00101
00102 template <class Chooser>
00103 rat_exp_t
00104 aut_to_exp(const automaton_t& a, const Chooser& c);
00105 }
00106 }
00107 }
00108
00109 # include <vaucanson/contexts/automaton_maker.thxx>
00110