00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00024 #include <vaucanson/automata/implementation/generalized.hh>
00025
00026 #include <vaucanson/misc/usual_macros.hh>
00027
00028 #ifndef VCSN_WITHOUT_ALGORITHM_INCLUDES
00029 # include <vaucanson/algorithms/accessible.hh>
00030 # include <vaucanson/algorithms/complement.hh>
00031 # include <vaucanson/algorithms/complete.hh>
00032 # include <vaucanson/algorithms/concatenate.hh>
00033 # include <vaucanson/algorithms/cut_up.hh>
00034 # include <vaucanson/algorithms/derived_term_automaton.hh>
00035 # include <vaucanson/algorithms/determinize.hh>
00036 # include <vaucanson/algorithms/eps_removal.hh>
00037 # include <vaucanson/algorithms/eval.hh>
00038 # include <vaucanson/algorithms/is_ambiguous.hh>
00039 # include <vaucanson/algorithms/is_realtime.hh>
00040 # include <vaucanson/algorithms/isomorph.hh>
00041 # include <vaucanson/algorithms/minimization_hopcroft.hh>
00042 # include <vaucanson/algorithms/minimization_moore.hh>
00043 # include <vaucanson/algorithms/normalized.hh>
00044 # include <vaucanson/algorithms/product.hh>
00045 # include <vaucanson/algorithms/realtime.hh>
00046 # include <vaucanson/algorithms/standard.hh>
00047 # include <vaucanson/algorithms/sum.hh>
00048 # include <vaucanson/algorithms/transpose.hh>
00049 # include <vaucanson/algorithms/trim.hh>
00050
00051 # include <vaucanson/algorithms/krat_exp_expand.hh>
00052 #endif // ! VCSN_WITHOUT_ALGORITHM_INCLUDES
00053
00054 #include <vaucanson/algorithms/aut_to_exp.hh>
00055 #include <vaucanson/algorithms/standard_of.hh>
00056 #include <vaucanson/algorithms/thompson.hh>
00057
00058 namespace vcsn
00059 {
00060
00061 namespace VCSN_CONTEXT_NAMESPACE
00062 {
00063
00064
00065 template <class T>
00066 automaton_t make_automaton(const T& alphabet);
00067
00068 template <class InputIterator>
00069 automaton_t make_automaton(InputIterator begin,
00070 InputIterator end);
00071
00072 template <class T>
00073 gen_automaton_t make_gen_automaton(const T& alphabet);
00074
00075 template <class InputIterator>
00076 gen_automaton_t make_gen_automaton(InputIterator begin,
00077 InputIterator end);
00078
00079 template <class Iterator>
00080 rat_exp_t
00081 make_rat_exp(const Iterator& begin,
00082 const Iterator& end,
00083 const std::string& exp = "0");
00084
00085 template <class T>
00086 rat_exp_t
00087 make_rat_exp(const T& alphabet, const std::string& exp = "0");
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 }
00109
00110 #ifndef VCSN_USE_INTERFACE_ONLY
00111 # include <vaucanson/contexts/automaton_functions.thxx>
00112 #endif // ! VCSN_USE_INTERFACE_ONLY