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_(z_automaton_structures.hh)
00024 # include GRAPH_CONTEXT_HEADER_(boolean_automaton_structures.hh)
00025
00026 # define AUTOMATON_CONTEXT z_automaton
00027 # define VCSN_CONTEXT_NAMESPACE namespace z_transducer
00028
00029 # include <vaucanson/contexts/char_letter.thh>
00030 # include <vaucanson/contexts/dynamic_alphabet.thh>
00031 # include <vaucanson/contexts/free_monoid.thh>
00032
00033 namespace vcsn
00034 {
00035 namespace VCSN_GRAPH_IMPL
00036 {
00037 VCSN_CONTEXT_NAMESPACE
00038 {
00039 typedef AUTOMATON_CONTEXT::semiring_elt_t output_semiring_elt_t;
00040 typedef output_semiring_elt_t::set_t output_semiring_t;
00041 typedef output_semiring_elt_t::value_t output_semiring_elt_value_t;
00042
00043 typedef AUTOMATON_CONTEXT::rat_exp_t output_series_set_elt_t;
00044 typedef output_series_set_elt_t::set_t output_series_set_t;
00045 typedef output_series_set_elt_t::value_t output_series_set_elt_value_t;
00046 }
00047 }
00048 }
00049
00050 # include <vaucanson/contexts/ratseries_semiring.thh>
00051 # include <vaucanson/contexts/generic_series.thh>
00052 # include <vaucanson/contexts/generic_automaton_impl.thh>
00053 # include <vaucanson/contexts/transducer.thh>
00054
00055 namespace vcsn
00056 {
00057 namespace VCSN_GRAPH_IMPL
00058 {
00059 VCSN_CONTEXT_NAMESPACE
00060 {
00061 AUTOMATON_TYPES_EXACT(automaton_t);
00062 AUTOMATON_FREEMONOID_TYPES_EXACT(automaton_t);
00063
00064 typedef automaton_t::input_monoid_t::alphabet_t first_alphabet_t;
00065 typedef automaton_t::output_monoid_t::alphabet_t second_alphabet_t;
00066 }
00067 }
00068 }
00069
00070 # include <vaucanson/contexts/transducer_maker.thh>
00071
00072 # undef AUTOMATON_CONTEXT
00073 # undef VCSN_CONTEXT_NAMESPACE
00074