• Jerome Galtier's avatar
    === New letter traits === · 77ca9e24
    Jerome Galtier authored
    Add the kind() and dim() letter traits, to supplement the lack of useful monoid traits.
    
    	* include/vaucanson/algebra/concept/letter.hh,
    	* include/vaucanson/algebra/concept/letter.hxx,
    	* include/vaucanson/algebra/implementation/letter/int_letter.hxx,
    	* include/vaucanson/algebra/implementation/letter/couple_letter.hh,
    	* include/vaucanson/algebra/implementation/letter/char_letter.hxx: New traits.
    
    === Improve input_projection_helper and output_projection_helper traits ===
    
    Add new fmp_*_projection_traits to correctly construct the projection types. Fix
    non-working input_projection_helper.
    
    	* include/vaucanson/automata/concept/transducer.hh: Improve traits.
    	* include/vaucanson/automata/concept/transducer_base.hh: New traits.
    	* include/vaucanson/automata/implementation/bmig_graph_impl.hh,
    	* include/vaucanson/automata/implementation/listg_graph_impl.hh: New trait,
    	update existing one.
    
    === Add support for letters of type std::pair<U, V> ===
    
    Create instances for U and V in {char, int}. It closes ticket #152. Create four
    new vcsn contexts.
    
    	* configure.ac: Add new taf-kit instances.
    	* include/Makefile.am: Add new context to the distribution.
    	* include/vaucanson/automata/generic_contexts/char_char_boolean_automaton.hh: New.
    	* include/vaucanson/automata/generic_contexts/char_char_boolean_automaton_structures.hh: New.
    	* include/vaucanson/automata/generic_contexts/char_int_boolean_automaton.hh: New.
    	* include/vaucanson/automata/generic_contexts/char_int_boolean_automaton_structures.hh: New.
    	* include/vaucanson/automata/generic_contexts/int_char_boolean_automaton.hh: New.
    	* include/vaucanson/automata/generic_contexts/int_char_boolean_automaton_structures.hh: New.
    	* include/vaucanson/automata/generic_contexts/int_int_boolean_automaton.hh: New.
    	* include/vaucanson/automata/generic_contexts/int_int_boolean_automaton_structures.hh: New.
    	* include/vaucanson/contexts/char_char_letter.thh: New.
    	* include/vaucanson/contexts/char_int_letter.thh: New.
    	* include/vaucanson/contexts/int_char_letter.thh: New.
    	* include/vaucanson/contexts/int_int_letter.thh: New.
    	* include/vaucanson/misc/hash.hh,
    	* include/vaucanson/misc/hash.hxx: Add new hash for pair letters.
    	* taf-kit/src/Makefile.am: Add four new instances.
    	* taf-kit/tests/Makefile.am: New tests.
    	* taf-kit/tests/vcsn-char-char-b.test: New.
    	* taf-kit/tests/vcsn-char-int-b.test: New.
    	* taf-kit/tests/vcsn-int-char-b.test: New.
    	* taf-kit/tests/vcsn-int-int-b.test: New.
    
    === XML support for letters of type std::pair<U, V> ===
    
    	* include/vaucanson/xml/xmleq.hh,
    	* include/vaucanson/xml/xmleq.hxx,
    	* include/vaucanson/xml/regexp.hh,
    	* include/vaucanson/xml/regexp.hxx,
    	* include/vaucanson/xml/builders.hh,
    	* include/vaucanson/xml/builders.hxx: Add support for monCompGen
    	markup.
    
    === XML cleanup (this pointer removal) ===
    
    Use '''using''' syntax to better show handler dependencies, cleanup the code,
    and normalize syntax.
    
    	* include/vaucanson/xml/contexts/fmp.hh,
    	* include/vaucanson/xml/contexts/fmp.hxx,
    	* include/vaucanson/xml/contexts/rw.hh,
    	* include/vaucanson/xml/contexts/rw.hxx,
    	* include/vaucanson/xml/handlers_base.hxx,
    	* include/vaucanson/xml/parsers.hxx,
    	* include/vaucanson/xml/printers.hxx,
    	* include/vaucanson/xml/regexp.hh,
    	* include/vaucanson/xml/regexp.hxx,
    	* include/vaucanson/xml/xml_exp_visitor.hxx: Here.
    
    === Link Taf-Kit instances to their respective libraries ===
    
    Add missing algorithms to some vcsn libraries and '''really''' link all taf-kit
    instances to them.
    
    	* include/vaucanson/algorithms/composition_cover.hh,
    	* include/vaucanson/algorithms/domain.hh,
    	* include/vaucanson/algorithms/evaluation_fmp.hh,
    	* include/vaucanson/algorithms/invert.hh,
    	* include/vaucanson/algorithms/normalized_composition.hh,
    	* include/vaucanson/algorithms/sub_normalize.hh: Add missing INTERFACE.
    	* lib/Makefile.am: Add four new library.
    	* lib/generate_libvcsn.rb: Add two new type. Fix filtering and update it.
    	* taf-kit/src/Makefile.am: Use correct flags and libraries.
    
    === Miscellaneous ===
    
    	* doc/manual/generate-automata.sh: Be more portable to check
    	existence of executable in PATH (ala autotools).
    	* include/vaucanson/algebra/implementation/letter/couple_letter.hh: Add missing
    	literal_to_letter, change defaults for OPAR, CPAR, epsilon and zero.
    	* include/vaucanson/algebra/implementation/letter/couple_letter.hxx: Improve
    	op_parse.
    	* include/vaucanson/algorithms/evaluation_fmp.hxx,
    	* include/vaucanson/algorithms/evaluation_fmp.hh: Reorder template arguments.
    	* taf-kit/src/edition_commands.hxx,
    	* include/vaucanson/algorithms/invert.hxx: Typo.
    	* vaucanswig/expand.sh: Add some filtering, now that FMP only algorithms
    	got INTERFACE.
    	* include/vaucanson/tools/fsm_load.hxx: Be more generic w.r.t. letter type.
    	* src/demos/algorithms/equivalent_functions.cc: Reorder headers inclusion.
    	* src/tests/include/tests/algebra/series/krat/main/krat_exp_linearize_structure_test.hh:
    	Fix a bug now that more letter types are supported.
    	* taf-kit/src/b_commands.cc,
    	* taf-kit/src/z_commands.cc: Update copyright notice.
    77ca9e24