00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VCSN_Z_TRANSDUCER_STRUCTURES_HH
00019 # define VCSN_Z_TRANSDUCER_STRUCTURES_HH
00020
00021 # include <vaucanson/z_automaton_structures.hh>
00022 # include <vaucanson/boolean_automaton_structures.hh>
00023
00024 # define AUTOMATON_CONTEXT z_automaton
00025 # define VCSN_CONTEXT_NAMESPACE namespace z_transducer
00026
00027 # include <vaucanson/contexts/char_letter.thh>
00028 # include <vaucanson/contexts/dynamic_alphabet.thh>
00029 # include <vaucanson/contexts/free_monoid.thh>
00030
00031 namespace vcsn
00032 {
00033 VCSN_CONTEXT_NAMESPACE
00034 {
00035 typedef AUTOMATON_CONTEXT::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 AUTOMATON_CONTEXT::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 # include <vaucanson/contexts/ratseries_semiring.thh>
00046 # include <vaucanson/contexts/polynom_series.thh>
00047 # include <vaucanson/contexts/generic_automaton_impl.thh>
00048 # include <vaucanson/contexts/transducer.thh>
00049
00050 namespace vcsn
00051 {
00052 VCSN_CONTEXT_NAMESPACE
00053 {
00054 AUTOMATON_TYPES_EXACT(automaton_t);
00055 AUTOMATON_FREEMONOID_TYPES_EXACT(automaton_t);
00056 }
00057 }
00058
00059 # include <vaucanson/contexts/transducer_maker.thh>
00060
00061 # undef AUTOMATON_CONTEXT
00062 # undef VCSN_CONTEXT_NAMESPACE
00063
00064 #endif // !VCSN_Z_TRANSDUCER_STRUCTURES_HH