00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_BOOLEAN_TRANSDUCER_HH
00018 # define VCSN_BOOLEAN_TRANSDUCER_HH
00019
00020 # include <vaucanson/boolean_automaton.hh>
00021
00022 # define VCSN_CONTEXT_NAMESPACE boolean_transducer
00023 # define AUTOMATON_CONTEXT boolean_automaton
00024
00025 # include <vaucanson/contexts/char_letter.thh>
00026 # include <vaucanson/contexts/dynamic_alphabet.thh>
00027 # include <vaucanson/contexts/free_monoid.thh>
00028
00029 namespace vcsn
00030 {
00031
00032 namespace VCSN_CONTEXT_NAMESPACE
00033 {
00034
00035 typedef boolean_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 boolean_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_BOOLEAN_TRANSDUCER_HH