automaton_functions.thh

00001 //                                                             -*- C++ -*-
00002 // automaton_functions.thh: this file is part of the Vaucanson project.
00003 //
00004 // Vaucanson, a generic library for finite state machines.
00005 //
00006 // Copyright (C) 2004, 2005, 2006 The Vaucanson Group.
00007 //
00008 // This program is free software; you can redistribute it and/or
00009 // modify it under the terms of the GNU General Public License
00010 // as published by the Free Software Foundation; either version 2
00011 // of the License, or (at your option) any later version.
00012 //
00013 // The complete GNU General Public Licence Notice can be found as the
00014 // `COPYING' file in the root directory.
00015 //
00016 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
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   } // End of namespace VCSN_CONTEXT_NAMESPACE.
00107 
00108 } // End of namespace vcsn.
00109 
00110 #ifndef VCSN_USE_INTERFACE_ONLY
00111 # include <vaucanson/contexts/automaton_functions.thxx>
00112 #endif // ! VCSN_USE_INTERFACE_ONLY

Generated on Sat Jul 29 17:12:58 2006 for Vaucanson by  doxygen 1.4.6