00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_Z_TRANSDUCER_HH
00018 # define VCSN_Z_TRANSDUCER_HH
00019
00020 # include <vaucanson/z_automaton.hh>
00021 # include <vaucanson/boolean_automaton.hh>
00022
00023 # define VCSN_CONTEXT_NAMESPACE z_transducer
00024 # define AUTOMATON_CONTEXT z_automaton
00025
00026 # include <vaucanson/contexts/char_letter.thh>
00027 # include <vaucanson/contexts/dynamic_alphabet.thh>
00028 # include <vaucanson/contexts/free_monoid.thh>
00029
00030 namespace vcsn
00031 {
00032
00033 namespace VCSN_CONTEXT_NAMESPACE
00034 {
00035 typedef z_automaton::semiring_elt_t output_semiring_elt_t;
00036 typedef output_semiring_elt_t::set_t output_semiring_t;
00037 typedef output_semiring_elt_t::value_t output_semiring_elt_value_t;
00038
00039 typedef z_automaton::rat_exp_t output_series_set_elt_t;
00040 typedef output_series_set_elt_t::set_t output_series_set_t;
00041 typedef output_series_set_elt_t::value_t output_series_set_elt_value_t;
00042
00043 }
00044
00045 }
00046
00047 # include <vaucanson/contexts/ratseries_semiring.thh>
00048 # include <vaucanson/contexts/polynom_series.thh>
00049 # include <vaucanson/contexts/generic_automaton_impl.thh>
00050 # include <vaucanson/contexts/transducer.thh>
00051
00052 namespace vcsn
00053 {
00054
00055 namespace VCSN_CONTEXT_NAMESPACE
00056 {
00057
00058 AUTOMATON_TYPES_EXACT(automaton_t);
00059 AUTOMATON_FREEMONOID_TYPES_EXACT(automaton_t);
00060
00061 }
00062
00063 }
00064
00065 # include <vaucanson/contexts/transducer_functions.thh>
00066
00067 # undef VCSN_CONTEXT_NAMESPACE
00068
00069 #endif // ! VCSN_Z_TRANSDUCER_HH