00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00034 #if not defined (VCSN_TOOLS_DUMPER_HH) and not defined (VCSN_SANITY_CHECK)
00035 # define VCSN_TOOLS_DUMPER_HH
00036
00037 # include <string>
00038
00039 namespace vcsn
00040 {
00041 namespace tools
00042 {
00044 int string_to_int (const std::string& s);
00045
00046 struct dumper
00047 {
00049 dumper (int argc, char **argv, int pos = 1);
00050
00052 void usage (int estatus);
00053
00054 enum dump_format
00055 {
00056 fmt_error,
00057 fmt_dot,
00058 fmt_fsm,
00059 fmt_simple,
00060 fmt_xml,
00061 };
00062
00063 enum dump_format dump_format (std::string fmt);
00064
00065 const char* get_fmt () const;
00066
00067 void
00068 operator () (std::ostream& o,
00069 const automaton_t& automaton,
00070 const std::string& name = "automaton");
00071 private:
00072 enum dump_format fmt_;
00073 int argc_;
00074 char** argv_;
00075 };
00076 }
00077 }
00078
00079 # ifndef VCSN_USE_INTERFACE_ONLY
00080 # include <vaucanson/tools/dumper.hxx>
00081 # endif // ! VCSN_USE_INTERFACE_ONLY
00082
00083 #endif // ! VCSN_TOOLS_DUMPER_HH && ! VCSN_SANITY_CHECK