00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VCSN_BOOLEAN_TRANSDUCER_STRUCTURES_HH
00019 # define VCSN_BOOLEAN_TRANSDUCER_STRUCTURES_HH
00020
00021 # include <vaucanson/boolean_automaton_structures.hh>
00022
00023 # define AUTOMATON_CONTEXT boolean_automaton
00024 # define VCSN_CONTEXT_NAMESPACE namespace boolean_transducer
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 VCSN_CONTEXT_NAMESPACE
00033 {
00034 typedef AUTOMATON_CONTEXT::semiring_elt_t output_semiring_elt_t;
00035 typedef output_semiring_elt_t::set_t output_semiring_t;
00036 typedef output_semiring_elt_t::value_t output_semiring_elt_value_t;
00037
00038 typedef AUTOMATON_CONTEXT::rat_exp_t output_series_set_elt_t;
00039 typedef output_series_set_elt_t::set_t output_series_set_t;
00040 typedef output_series_set_elt_t::value_t output_series_set_elt_value_t;
00041 }
00042 }
00043
00044 # include <vaucanson/contexts/ratseries_semiring.thh>
00045 # include <vaucanson/contexts/polynom_series.thh>
00046 # include <vaucanson/contexts/generic_automaton_impl.thh>
00047 # include <vaucanson/contexts/transducer.thh>
00048
00049 namespace vcsn
00050 {
00051 VCSN_CONTEXT_NAMESPACE
00052 {
00053 AUTOMATON_TYPES_EXACT(automaton_t);
00054 AUTOMATON_FREEMONOID_TYPES_EXACT(automaton_t);
00055 }
00056 }
00057
00058 # include <vaucanson/contexts/transducer_maker.thh>
00059
00060 # undef AUTOMATON_CONTEXT
00061 # undef VCSN_CONTEXT_NAMESPACE
00062
00063 #endif // !VCSN_BOOLEAN_TRANSDUCER_STRUCTURES_HH