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   VCSN_CONTEXT_NAMESPACE
00027   {
00028     template <class T>
00029     automaton_t make_automaton(const T& alphabet);
00030 
00031     template <class InputIterator>
00032     automaton_t make_automaton(InputIterator begin,
00033                                InputIterator end);
00034 
00035     template <class T>
00036     gen_automaton_t make_gen_automaton(const T& alphabet);
00037 
00038     template <class InputIterator>
00039     gen_automaton_t make_gen_automaton(InputIterator begin,
00040                                        InputIterator end);
00041 
00042     template <class Iterator>
00043     rat_exp_t
00044     make_rat_exp(const Iterator& begin,
00045                  const Iterator& end,
00046                  const std::string& exp = "0");
00047 
00048     template <class T>
00049     rat_exp_t
00050     make_rat_exp(const T& alphabet, const std::string& exp = "0");
00051 
00052     template <class SeriesSet, class SeriesImpl>
00053     automaton_t
00054     standard_of(const Element<SeriesSet, SeriesImpl>& e);
00055 
00056 
00057     template <class SeriesSet, class SeriesImpl>
00058     automaton_t
00059     thompson_of(const Element<SeriesSet, SeriesImpl>& e);
00060 
00061     rat_exp_t
00062     aut_to_exp(const automaton_t& a);
00063 
00064     template <class Chooser>
00065     rat_exp_t
00066     aut_to_exp(const automaton_t& a, const Chooser& c);
00067   }
00068 }
00069 
00070 # include <vaucanson/contexts/automaton_maker.thxx>
00071