00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00024 #include <vaucanson/algebra/concept/alphabets_base.hh>
00025 #include <vaucanson/misc/usual_macros.hh>
00026
00027 #ifndef VCSN_WITHOUT_ALGORITHM_INCLUDES
00028 # include <vaucanson/algorithms/composition_cover.hh>
00029 # include <vaucanson/algorithms/eps_removal.hh>
00030 # include <vaucanson/algorithms/evaluation_fmp.hh>
00031 # include <vaucanson/algorithms/fmp_to_realtime.hh>
00032 # include <vaucanson/algorithms/internal/outsplitting.hh>
00033 # include <vaucanson/algorithms/normalized_composition.hh>
00034 # include <vaucanson/algorithms/projections_fmp.hh>
00035 # include <vaucanson/algorithms/sub_normalize.hh>
00036 # include <vaucanson/algorithms/transpose.hh>
00037 #endif // ! VCSN_WITHOUT_ALGORITHM_INCLUDES
00038
00039 namespace vcsn
00040 {
00041
00042 namespace VCSN_CONTEXT_NAMESPACE
00043 {
00044
00045 template <class T1, class T2>
00046 automaton_t make_automaton(const T1& first_alphabet,
00047 const T2& second_alphabet);
00048
00049 template <class FirstInputIterator, class SecondInputIterator>
00050 automaton_t make_automaton(const FirstInputIterator first_begin,
00051 const FirstInputIterator first_end,
00052 const SecondInputIterator second_begin,
00053 const SecondInputIterator second_end);
00054
00055 template <class T1, class T2>
00056 monoid_elt_t make_couple(const T1& first_alphabet,
00057 const T2& second_alphabet,
00058 const std::string& first_exp = "",
00059 const std::string& second_exp = "");
00060
00061 template <class FirstIterator, class SecondIterator>
00062 monoid_elt_t make_couple(const FirstIterator first_begin,
00063 const FirstIterator first_end,
00064 const SecondIterator second_begin,
00065 const SecondIterator second_end,
00066 const std::string& first_exp,
00067 const std::string& second_exp);
00068
00069 template <typename TransStruct,
00070 typename TransImpl,
00071 typename ArgStruct,
00072 typename ArgImpl>
00073 AUTOMATON_CONTEXT::rat_exp_t
00074 evaluation(const Element<TransStruct, TransImpl>& t,
00075 const Element<ArgStruct, ArgImpl>& input);
00076
00077 }
00078
00079 }
00080
00081
00082 #ifndef VCSN_USE_INTERFACE_ONLY
00083 # include <vaucanson/contexts/fmp_transducer_functions.thxx>
00084 #endif // ! VCSN_USE_INTERFACE_ONLY