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