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 T1, class T2>
00031 automaton_t make_automaton(const T1& first_alphabet,
00032 const T2& second_alphabet);
00033
00034 template <class T1, class T2>
00035 automaton_t make_automaton(const T1& first_alphabet,
00036 const T2& second_alphabet,
00037 const monoid_rep_t& mrep,
00038 const first_monoid_rep_t& mrep1,
00039 const second_monoid_rep_t& mrep2,
00040 const series_rep_t& srep);
00041
00042 template <class FirstInputIterator, class SecondInputIterator>
00043 automaton_t make_automaton(const FirstInputIterator first_begin,
00044 const FirstInputIterator first_end,
00045 const SecondInputIterator second_begin,
00046 const SecondInputIterator second_end);
00047
00048 template <class FirstInputIterator, class SecondInputIterator>
00049 automaton_t make_automaton(const FirstInputIterator first_begin,
00050 const FirstInputIterator first_end,
00051 const SecondInputIterator second_begin,
00052 const SecondInputIterator second_end,
00053 const monoid_rep_t& mrep,
00054 const first_monoid_rep_t& mrep1,
00055 const second_monoid_rep_t& mrep2,
00056 const series_rep_t& srep);
00057
00058 template <class T1, class T2>
00059 monoid_elt_t make_couple(const T1& first_alphabet,
00060 const T2& second_alphabet,
00061 const first_monoid_elt_value_t& first_exp,
00062 const second_monoid_elt_value_t& second_exp);
00063
00064 template <class FirstIterator, class SecondIterator>
00065 monoid_elt_t make_couple(const FirstIterator first_begin,
00066 const FirstIterator first_end,
00067 const SecondIterator second_begin,
00068 const SecondIterator second_end,
00069 const first_monoid_elt_value_t& first_exp,
00070 const second_monoid_elt_value_t& second_exp);
00071
00072 template <typename TransStruct,
00073 typename TransImpl,
00074 typename ArgStruct,
00075 typename ArgImpl>
00076 AUTOMATON_CONTEXT::rat_exp_t
00077 evaluation(const Element<TransStruct, TransImpl>& t,
00078 const Element<ArgStruct, ArgImpl>& input);
00079
00080 rat_exp_t
00081 aut_to_exp(const automaton_t& a);
00082
00083 template <class Chooser>
00084 rat_exp_t
00085 aut_to_exp(const automaton_t& a, const Chooser& c);
00086 }
00087 }
00088 }
00089
00090 # include <vaucanson/contexts/fmp_transducer_maker.thxx>