1. 22 Oct, 2009 1 commit
  2. 29 Sep, 2009 1 commit
    • Jérôme Galtier's avatar
      Remove aut_to_exp() from automaton_maker. · 9316cfd6
      Jérôme Galtier authored
      * include/vaucanson/contexts/automaton_maker.thh,
      include/vaucanson/contexts/automaton_maker.thxx (aut_to_exp): Remove.
      This function was not used, was causing a lot of troubles because of
      the call to generalized() and the design was wrong.
      9316cfd6
  3. 16 Sep, 2009 1 commit
    • Jérôme Galtier's avatar
      Replace the labels are words context by lal. · b0fb7a57
      Jérôme Galtier authored
      * configure.ac, include/.gitignore,
      include/vaucanson/automata/generic_contexts/lal_boolean_automaton.hh,
      include/vaucanson/automata/generic_contexts/lal_boolean_automaton_structures.hh,
      include/vaucanson/contexts/lal_automaton.thh, lib/Makefile.am,
      lib/generate_libvcsn.rb, taf-kit/src/Makefile.am,
      taf-kit/tests/Makefile.am, taf-kit/tests/vcsn-lal-char-b.test: Replace
      every occurrence of law by lal.
      b0fb7a57
  4. 14 Sep, 2009 1 commit
    • Jérôme Galtier's avatar
      Add a new context for labels are words boolean automata. · 913f27e3
      Jérôme Galtier authored
      * configure.ac: Add a wrapper for vcsn-law-char-b.
      * include/.gitignore: Exclude law_boolean headers.
      * include/vaucanson/automata/generic_contexts/law_boolean_automaton.hh,
      include/vaucanson/automata/generic_contexts/law_boolean_automaton_structures.hh,
      include/vaucanson/contexts/law_automaton.thh: New context for automata
      with kind labels are words.
      * taf-kit/tests/vcsn-law-char-b.test: New test for vcsn-law-char-b.
      * lib/Makefile.am: New library for vcsn-law-char-b.
      * lib/generate_libvcsn.rb: Generate the new libvcsn-law-b.la library.
      * taf-kit/src/Makefile.am: New TAF-Kit, vcsn-law-char-b.
      * taf-kit/tests/Makefile.am: Run the new test script.
      913f27e3
  5. 05 Jun, 2009 1 commit
  6. 17 Mar, 2009 1 commit
    • Alexandre Duret-Lutz's avatar
      Preserve the representations in standard_of and thompson_of. · 446f4f93
      Alexandre Duret-Lutz authored
      * include/vaucanson/contexts/automaton_maker.thxx (do_standard_of,
      do_thompson_of): Preserve the representations.
      * taf-kit/src/ratexp_commands.hh (standard_of, thompson_of,
      derived_term_automaton): Do not call set_writing_data, we simply
      keep the writing data of the rational expression.
      446f4f93
  7. 21 Jan, 2009 1 commit
    • Jerome Galtier's avatar
      rw_composition: New evaluation_rw algorithm. · a8d0df51
      Jerome Galtier authored
      	* include/Makefile.am: Add new files to the distribution.
      	* include/vaucanson/algorithms/evaluation_rw.hh: New.
      	* include/vaucanson/algorithms/evaluation_rw.hxx: New.
      	* include/vaucanson/algorithms/internal/evaluation.hxx: Move the
      	  functions `evaluation' and `do_evaluation' to `evaluation_rw' and
      	  `do_evaluation_rw' respectively (see `evaluation_rw.hh'). Cleanup
      	  included headers.
      	* include/vaucanson/algorithms/rw_composition.hxx: Include the header
      	  file `internal/evaluation.hh'.
      	* include/vaucanson/contexts/transducer_functions.thh,
      	* include/vaucanson/contexts/transducer_maker.thxx: Include
      	  `evaluation_rw.hh' instead of `internal/evaluation.hh'. Call
      	  `evaluation_rw' instead of `evaluation'.
      a8d0df51
  8. 12 Dec, 2008 1 commit
  9. 27 Nov, 2008 3 commits
    • Jerome Galtier's avatar
      Static polymorphism for SeriesRep via CRTP. · 80bc3b03
      Jerome Galtier authored
      	Rename `series_rep' to `SeriesRep' to be more consistent with the
      	other Vaucanson structures. Introduce `SeriesRepBase' to factor more
      	code. Rename `series_rep_default' to `SeriesRepDefault'.
      	* include/Makefile.am: Add new files to the distribution.
      	* include/vaucanson/algebra/concept/freemonoid_product.hh
      	  (SeriesRep): Remove useless attributes. New method `disambiguate'.
      	  Cosmetic changes.
      	* include/vaucanson/algebra/concept/freemonoid_product.hxx: Add the
      	  implementation of the new `disambiguate' for series
      	  representations. Simplify `operator=='.
      	* include/vaucanson/algebra/implementation/monoid/free_monoid_int.hh,
      	* include/vaucanson/algebra/implementation/monoid/free_monoid_int.hxx:
      	  Improve specialization for int based free monoid.
      	* include/vaucanson/algebra/implementation/series/series.hh
      	  (Series): Remove the const qualifier of `rep_'.
      	* include/vaucanson/algebra/implementation/series/series.hxx
      	  (Series): Use `disambiguate' when building a series without user
      	  provided series representation.
      	* include/vaucanson/algebra/implementation/series/series_rep.hh,
      	* include/vaucanson/algebra/implementation/series/series_rep.hxx:
      	  Streamline `SeriesRep'.
      	* include/vaucanson/algebra/implementation/series/series_rep_base.hh: New.
      	* include/vaucanson/algebra/implementation/series/series_rep_base.hxx: New.
      	* include/vaucanson/algebra/implementation/series/rat/dump_visitor.hxx,
      	* include/vaucanson/contexts/automaton_maker.thh,
      	* include/vaucanson/contexts/automaton_maker.thxx,
      	* include/vaucanson/xml/contexts/fmp.hh: Only refactoring.
      80bc3b03
    • Jerome Galtier's avatar
      Static polymorphism for MonoidRep via CRTP. · b4a02ac4
      Jerome Galtier authored
      	Rename `monoid_rep' to `MonoidRep' to be more consistent with the
      	other Vaucanson structures. Introduce `MonoidRepBase' to factor more
      	code. Rename `monoid_rep_default' to `MonoidRepDefault'.
      	* include/Makefile.am: Add new files to the distribution.
      	* include/vaucanson/algebra/concept/freemonoid_product.hh
      	  (MonoidRep): Remove useless attributes `empty', `concat' and
      	  maybe_epsilon.
      	* include/vaucanson/algebra/concept/freemonoid_product.hxx:
      	  Streamline the default constructor. Use static polymorphism for
      	  `operator=='. Compare the monoid representation when comparing two
      	  FMP via `operator=='.
      	* include/vaucanson/algebra/implementation/monoid/free_monoid.hxx:
      	  Remove the logic to handle smart epsilon representation selection.
      	  Use `disambiguate' instead.
      	* include/vaucanson/algebra/implementation/monoid/free_monoid_int.hh:
      	  Introduce the `EXACT_TYPE' macro. (MonoidRep): Remove useless
      	  attributes according to the previous changes.
      	* include/vaucanson/algebra/implementation/monoid/free_monoid_int.hxx:
      	  Add more comments. Cosmetic changes.
      	* include/vaucanson/algebra/implementation/monoid/monoid_rep.hh: Use
      	  CRTP idiom.
      	* include/vaucanson/algebra/implementation/monoid/monoid_rep.hxx:
      	  Remove factored implementation.
      	* include/vaucanson/algebra/implementation/monoid/monoid_rep_base.hh: New.
      	* include/vaucanson/algebra/implementation/monoid/monoid_rep_base.hxx: New.
      	* include/vaucanson/algebra/implementation/series/rat/dump_visitor.hxx,
      	* include/vaucanson/contexts/automaton_maker.thh,
      	* include/vaucanson/contexts/automaton_maker.thxx,
      	* include/vaucanson/xml/builders.hxx,
      	* include/vaucanson/xml/contexts/fmp.hxx,
      	* include/vaucanson/algebra/implementation/monoid/free_monoid.hh:
      	  Only refactoring.
      b4a02ac4
    • Jerome Galtier's avatar
      Rework monoid and series representations for FMP. · 7fca32b9
      Jerome Galtier authored
      	* include/vaucanson/algebra/concept/freemonoid_product.hh
      	  (monoid_rep): Remove method declarations of `first_projection' and
      	  `second_projection'. (series_rep): Add new type helpers. Rename
      	  `first_projection' to `first_representation' and
      	  `second_projection' to `second_representation'. Remove the `const'
      	  qualifier from `first_representation' and `second_representation'.
      	  Change return types to references. Add const versions.
      	* include/vaucanson/algebra/concept/freemonoid_product.hxx: Remove
      	  implementations of `first_projection' and `second_projection' for
      	  `monoid_rep'. Rework implementation of `first_representation' and
      	  `second_representation'.
      	* include/vaucanson/contexts/fmp_transducer_maker.thh
      	  (make_automaton): Remove the last two arguments.
      	* include/vaucanson/contexts/fmp_transducer_maker.thxx
      	  (make_automaton): Remove a `FIXME'. Update implementation
      	  according to the modified prototypes.
      	* taf-kit/src/common.hh (arguments_t): Remove the two attributes
      	  `srep1' and `srep2'.
      	* taf-kit/src/edition_commands.hxx,
      	* taf-kit/src/fmp_commands.cc,
      	* taf-kit/src/getters.hxx: Update calls to `make_automaton'.
      	* taf-kit/src/main.cc: Use `p_opts1' and `p_opts2' to setup the
      	  first and second series representation respectively.
      7fca32b9
  10. 26 Nov, 2008 1 commit
  11. 19 Nov, 2008 1 commit
    • Jerome Galtier's avatar
      Rework automaton maker interfaces. · 9e9be713
      Jerome Galtier authored
      	* include/vaucanson/contexts/automaton_maker.thh,
      	* include/vaucanson/contexts/automaton_maker.thxx,
      	* include/vaucanson/contexts/fmp_transducer_maker.thh,
      	* include/vaucanson/contexts/fmp_transducer_maker.thxx: Remove
      	  default arguments. Add a function that do not need
      	  representations.
      9e9be713
  12. 10 Nov, 2008 1 commit
    • Jerome Galtier's avatar
      Improve support representation in automaton makers. · f9af330b
      Jerome Galtier authored
      	* include/vaucanson/contexts/automaton_maker.thh,
      	* include/vaucanson/contexts/automaton_maker.thxx,
      	* include/vaucanson/contexts/fmp_transducer_maker.thh,
      	* include/vaucanson/contexts/fmp_transducer_maker.thxx: Add whenever
      	  necessary arguments to `make_automaton' for passing `monoid_rep_t'
      	  and `series_rep_t' structures (and their corresponding default
      	  arguments).
      f9af330b
  13. 05 Nov, 2008 3 commits
    • Jerome Galtier's avatar
      Fix default arguments for make_rat_exp. · f3d5911e
      Jerome Galtier authored
      	* include/vaucanson/contexts/automaton_maker.thh,
      	* include/vaucanson/contexts/automaton_maker.thxx (make_rat_exp):
      	  Use `operator*' to dereference the boost pointers.
      f3d5911e
    • Reuben Thomas's avatar
      Add label Kind type parameter to Automata and Transducer templates. · 3576f910
      Reuben Thomas authored
      
      	Where before we had Automata<Series> we now have
      	Automata<Series, Kind>, where Kind is a label kind.
      	The same applies to Transducer.
      
      	For now, labels_are_series remains the default, but
      	there is a new list of (mostly unimplemented) kinds:
      	labels_are_letters, labels_are_atoms, labels_are_words,
      	labels_are_series. This means that labels_are_couples
      	is now defunct.
      
      	The kind is given by kind_t in virtual_types of Automata and
      	Transducer.
      	* include/vaucanson/algorithms/extension.hh: .
      	* include/vaucanson/algorithms/extension.hxx: .
      	* include/vaucanson/algorithms/invert.hxx: .
      	* include/vaucanson/algorithms/ltl_to_pair.hh: .
      	* include/vaucanson/algorithms/ltl_to_pair.hxx: .
      	* include/vaucanson/algorithms/normalized_composition.hxx: .
      	* include/vaucanson/algorithms/pair_to_fmp.hh: .
      	* include/vaucanson/algorithms/pair_to_fmp.hxx: .
      	* include/vaucanson/algorithms/search.hh: .
      	* include/vaucanson/algorithms/search.hxx: .
      	* include/vaucanson/algorithms/thompson.hh: .
      	* include/vaucanson/algorithms/thompson.hxx: .
      	* include/vaucanson/automata/concept/automata.hh: .
      	* include/vaucanson/automata/concept/automata.hxx: .
      	* include/vaucanson/automata/concept/automata_base.hh: .
      	* include/vaucanson/automata/concept/automata_kind.hh: .
      	* include/vaucanson/automata/concept/transducer.hh: .
      	* include/vaucanson/automata/concept/transducer.hxx: .
      	* include/vaucanson/automata/concept/transducer_base.hh: .
      	* include/vaucanson/contexts/automaton.thh: .
      	* include/vaucanson/contexts/transducer.thh: .
      	* include/vaucanson/misc/usual_macros.hh: .
      	* include/vaucanson/xml/contexts/fmp.hh: .
      	* include/vaucanson/xml/contexts/rw.hh: .
      	* include/vaucanson/xml/contexts/rw.hxx: .
      3576f910
    • Jerome Galtier's avatar
      Update make_rat_exp to use monoid_rep. · d9c25347
      Jerome Galtier authored
      	* include/vaucanson/contexts/automaton_maker.thh (make_rat_exp): Add
      	  new argument `mrep' to allow monoid representation overriding.
      	* include/vaucanson/contexts/automaton_maker.thxx (make_rat_exp):
      	  Update declaration according to the header file.
      d9c25347
  14. 03 Nov, 2008 1 commit
    • Jerome Galtier's avatar
      Add support for series representation to make_rat_exp. · 55bdad6b
      Jerome Galtier authored
      	* include/vaucanson/contexts/automaton_maker.thh (make_rat_exp):
      	  Cosmetic changes. Remove useless parenthesis. Add a new argument
      	  with default value to get a series representation.
      	* include/vaucanson/contexts/automaton_maker.thxx: Update prototype
      	  accordingly to header changes. (make_rat_exp): use new srep
      	  argument when constructing series structures.
      55bdad6b
  15. 27 Oct, 2008 2 commits
    • Reuben Thomas's avatar
      Change default label kind to labels_are_words. · a9765dbe
      Reuben Thomas authored
      	The default label kind is now labels_are_words rather than labels_are_series.
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/automata_base.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/automata_base.hxx:
      	  Add generalized_structure function to calculate the correct structure for a
      	  generalized automaton (essentially, get the correct label kind, calculated by
      	  generalized_traits).
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/contexts/automaton.thh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/contexts/transducer.thh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/xml/contexts/fmp.hh: .
      a9765dbe
    • Reuben Thomas's avatar
      Add Kind template parameter to Automata/Transducer types. · e24822b8
      Reuben Thomas authored
      	Add Kind template parameter to Automata/Transducer types, and kind_t type to the classes.
      	This is the first step on the way to the new label kinds regime.
      	(Of course, this and future commits are being made on the label_kinds branch for
      	the moment.)
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/extension.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/extension.hxx: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/invert.hxx: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/ltl_to_pair.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/ltl_to_pair.hxx: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/normalized_composition.hxx: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/search.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/search.hxx: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/thompson.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/algorithms/thompson.hxx: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/automata.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/automata.hxx: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/automata_base.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/automata_kind.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/transducer.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/transducer.hxx: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/automata/concept/transducer_base.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/contexts/automaton.thh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/contexts/transducer.thh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/misc/usual_macros.hh: .
      	* /home/rrt/vaucanson/branches/label_kinds/include/vaucanson/xml/contexts/fmp.hh: .
      e24822b8
  16. 22 Oct, 2008 2 commits
    • Vivien Delmon's avatar
      Remove the old token representation system from automaton_maker. · 9b87d8d1
      Vivien Delmon authored
      	* include/vaucanson/contexts/automaton_maker.thh,
      	* include/vaucanson/contexts/automaton_maker.thxx: 
      	  Remove the old token representation system from automaton_maker.
      9b87d8d1
    • Jerome Galtier's avatar
      Cleanup algebra implementation. · 2b9d6d85
      Jerome Galtier authored
      	* include/Makefile.am: Update distributed files.
      	* include/vaucanson/algebra/implementation/alphabets/predefs.hh: Remove.
      	* include/vaucanson/algebra/implementation/free_monoid/predefs.hh: Remove.
      	* include/vaucanson/algebra/implementation/free_monoid/tools.hh: Remove.
      	* include/vaucanson/algebra/implementation/free_monoid/tools.hxx: Remove.
      	* include/vaucanson/algebra/implementation/monoid/free_monoid.hh: Rename from include/vaucanson/algebra/implementation/free_monoid/words.hh.
      	* include/vaucanson/algebra/implementation/monoid/free_monoid.hxx: Rename from include/vaucanson/algebra/implementation/free_monoid/words.hxx.
      	* include/vaucanson/algebra/implementation/monoid/monoid_rep.hh,
      	* include/vaucanson/algebra/implementation/monoid/monoid_rep.hxx:
      	  Cosmetic changes.
      	* include/vaucanson/algebra/implementation/monoid/pair_str_words.hh: Rename from include/vaucanson/algebra/implementation/free_monoid_product/freemonoid_product_pair_str.hh.
      	* include/vaucanson/algebra/implementation/monoid/pair_str_words.hxx: Rename from include/vaucanson/algebra/implementation/free_monoid_product/freemonoid_product_pair_str.hxx.
      	* include/vaucanson/algebra/implementation/monoid/str_words.hh: Rename from include/vaucanson/algebra/implementation/free_monoid/str_words.hh.
      	* include/vaucanson/algebra/implementation/monoid/str_words.hxx: Rename from include/vaucanson/algebra/implementation/free_monoid/str_words.hxx.
      	* include/vaucanson/algebra/implementation/predefs.hh: Remove.
      	* include/vaucanson/algebra/implementation/series/series_rep.hh,
      	* include/vaucanson/algebra/implementation/series/series_rep.hxx: Cosmetic changes.
      	* include/vaucanson/algorithms/domain.hh,
      	* include/vaucanson/algorithms/image.hh,
      	* include/vaucanson/algorithms/krat_exp_linearize.hh,
      	* include/vaucanson/algorithms/ltl_to_pair.hh,
      	* include/vaucanson/contexts/free_monoid.thh,
      	* include/vaucanson/contexts/free_monoid_product.thh,
      	* include/vaucanson/xml/builders.hh: Rename `words.hh' to `free_monoid.hh'.
      2b9d6d85
  17. 13 Oct, 2008 1 commit
    • Jerome Galtier's avatar
      Add the is_ltl algorithm to Taf-Kit. · bb10e3fa
      Jerome Galtier authored
      	* include/vaucanson/algorithms/is_ltl.hh: Add INTERFACE for `is_ltl'
      	  algorithm.
      	* include/vaucanson/contexts/fmp_transducer_functions.thh: Add
      	  is_ltl.hh header. Sort headers.
      	* taf-kit/src/fmp_commands.cc: Define new `is_ltl_command'.
      	* vaucanswig/expand.sh: Make vaucanswig ignore the `is_ltl' algorithm.
      	* doc/NEWS.txt: Mention the new algorithm.
      bb10e3fa
  18. 09 Oct, 2008 2 commits
    • Jerome Galtier's avatar
      Cleanup the identity algorithm. · 3763f21f
      Jerome Galtier authored
      	* include/vaucanson/algorithms/internal/evaluation.hxx: Replace
      	  incorrect header `projection.hh' by `image.hh' to be more
      	  conservative on header inclusions.
      	* include/vaucanson/algorithms/projection.hh: Document the identity
      	  function purpose by moving comments to right location. Add an
      	  INTERFACE for the identity algorithm needed to prevent linkage
      	  errors when building Vaucanson with "-O3". Remove out-of-context
      	  header inclusions.
      	* include/vaucanson/algorithms/projection.hxx: Cosmetic changes.
      	  Reorder headers.
      	* include/vaucanson/contexts/fmp_transducer_functions.thh: Cosmetic
      	  changes (Cleanup from patch [1575]). Add the domain and image
      	  headers.
      	* lib/generate_libvcsn.rb,
      	* vaucanswig/expand.sh: Add condition filters for the
      	  `projection.hh' file.
      3763f21f
    • Jerome Galtier's avatar
      Revive the char-int context. Cleanup int-char. · 2541527f
      Jerome Galtier authored
      	* configure.ac: Remove int-char wrapper.
      	* doc/NEWS.txt: Update to reflect the current status of Vaucanson.
      	* include/vaucanson/automata/generic_contexts/char_int_boolean_automaton.hh,
      	* include/vaucanson/automata/generic_contexts/char_int_boolean_automaton_structures.hh,
      	* include/vaucanson/contexts/char_int_letter.thh: Restore removed
      	  files from patch [2234]. Update them to support projections.
      	* include/Makefile.am,
      	* lib/Makefile.am,
      	* lib/generate_libvcsn.rb,
      	* taf-kit/src/Makefile.am,
      	* taf-kit/tests/Makefile.am: Revive the char-int context. Cleanup
      	  any remainings of int-char.
      	* taf-kit/tests/vcsn-char-int-b.test: Add a test to check for the
      	  executable "vcsn-char-int-b" presence.
      	* taf-kit/tests/vcsn-int-char-b.test: Remove.
      2541527f
  19. 06 Oct, 2008 8 commits
    • Jerome Galtier's avatar
      Move transducer projection "makers" from vcsn::CONTEXT to traits. · 78727ff6
      Jerome Galtier authored
      	* include/vaucanson/algorithms/image.hxx (image_dispatch2): Update
      	  to use output_projection_helpers trait.
      	* include/vaucanson/contexts/fmp_transducer_maker.thh,
      	* include/vaucanson/contexts/fmp_transducer_maker.thxx,
      	* include/vaucanson/contexts/transducer_maker.thh,
      	* include/vaucanson/contexts/transducer_maker.thxx: Move projections
      	  declarations and implementations from here to ...
      	* include/vaucanson/automata/concept/transducer.hh,
      	* include/vaucanson/automata/concept/transducer.hxx: Here.
      78727ff6
    • Jerome Galtier's avatar
      Add a new algorithm to convert an ltl to a pair automaton. · b5a50123
      Jerome Galtier authored
      	* include/Makefile.am: Add new files to the distribution.
      	* include/vaucanson/algorithms/ltl_to_pair.hh: New.
      	* include/vaucanson/algorithms/ltl_to_pair.hxx: New.
      	* include/vaucanson/contexts/fmp_transducer_functions.thh: Reference
      	  to the new algorithm.
      	* lib/generate_libvcsn.rb: Update to support the new algorithm.
      	* vaucanswig/expand.sh: Update to ignore the new algorithm.
      b5a50123
    • Jerome Galtier's avatar
      Add new automaton projection algorithms (close #172). · f6055ddd
      Jerome Galtier authored
      	* include/Makefile.am: Add new files to the distribution.
      	* include/vaucanson/algorithms/aut_projection.hh: New.
      	* include/vaucanson/algorithms/aut_projection.hxx: New.
      	* include/vaucanson/contexts/automaton_functions.thh: Reference to
      	  the new algorithms.
      	* lib/generate_libvcsn.rb: Update to support the new algorithms.
      	* vaucanswig/expand.sh: Update to ignore the new algorithms.
      f6055ddd
    • Jerome Galtier's avatar
      Remove int_char and char_int letter types. · 852b5f2f
      Jerome Galtier authored
      	* include/vaucanson/automata/generic_contexts/char_int_boolean_automaton.hh: Remove.
      	* include/vaucanson/automata/generic_contexts/char_int_boolean_automaton_structures.hh: Remove.
      	* include/vaucanson/automata/generic_contexts/int_char_boolean_automaton.hh: Remove.
      	* include/vaucanson/automata/generic_contexts/int_char_boolean_automaton_structures.hh: Remove.
      	* include/vaucanson/contexts/char_int_letter.thh: Remove.
      	* include/vaucanson/contexts/int_char_letter.thh: Remove.
      	* include/Makefile.am,
      	* lib/Makefile.am,
      	* lib/generate_libvcsn.rb,
      	* taf-kit/src/Makefile.am: Here.
      852b5f2f
    • Jerome Galtier's avatar
      Add missing automaton makers related to FMP transducers. · bfa0d321
      Jerome Galtier authored
      	* include/vaucanson/contexts/fmp_transducer_maker.thh,
      	* include/vaucanson/contexts/fmp_transducer_maker.thxx: Here
      	  (reported by Reuben Thomas).
      bfa0d321
    • Jerome Galtier's avatar
      Make FMP transducers headers more in line with RW transducers. · 4aa0bbb8
      Jerome Galtier authored
      	* include/Makefile.am: Add new file to the distribution.
      	* include/vaucanson/automata/generic_contexts/fmp_transducer_structures.hh,
      	* include/vaucanson/automata/generic_contexts/int_fmp_transducer_structures.hh,
      	* include/vaucanson/automata/generic_contexts/int_z_fmp_transducer_structures.hh,
      	* include/vaucanson/automata/generic_contexts/z_fmp_transducer_structures.hh:
      	  Include the new header (transducer.thh).
      	* include/vaucanson/contexts/fmp_transducer.thh: Copy from
      	  include/vaucanson/contexts/transducer.thh. Remove useless code.
      4aa0bbb8
    • Jerome Galtier's avatar
      Add missing automaton makers related to RW transducers. · 227c513c
      Jerome Galtier authored
      	* include/vaucanson/contexts/transducer_maker.thh,
      	* include/vaucanson/contexts/transducer_maker.thxx: Here (reported
      	  by Reuben Thomas).
      227c513c
    • Jerome Galtier's avatar
      Add two new typedef for RW transducers. · 39ae717c
      Jerome Galtier authored
      	* include/vaucanson/contexts/transducer.thh: Here.
      39ae717c
  20. 01 Sep, 2008 1 commit
    • Jerome Galtier's avatar
      === Update Documentation === · 59a2eecd
      Jerome Galtier authored
      	* doc/HACKING.txt: Add guidelines.
      	* doc/README.txt: Update requirements.
      
      === Sanitize VCSN_GRAPH_IMPL uses ===
      
      As suggested by the documentation, the VCSN_GRAPH_IMPL macro has
      been removed from sensitive locations. As a side effect, it fixes
      vaucanson compilation with ICC. The two blockers were the
      generalized traits, and the need by some rational expression
      functions to construct an automaton type from scratch (hence the
      new standard_of_traits).
      
      	* include/Makefile.am: Remove files from the distribution.
      	* lib/generate_libvcsn.rb: Update filters, and remove GenAutomaton
      	  restrictions.
      	* include/generate_headers.sh: New facility to declare common
      	  traits.
      	* include/vaucanson/algebra/implementation/series/krat.hxx: Improve
      	  code indentation and use the new standard_of_traits.
      	* include/vaucanson/automata/concept/automata_base.hh: Add two new
      	  traits makers.
      	* include/vaucanson/automata/concept/automata_base.hxx: Move
      	  generalized() here.
      	* src/tests/test-suites/algebra_series_krat_bool_string.defs,
      	* src/tests/test-suites/algebra_series_krat_double_string.defs,
      	* src/tests/test-suites/algebra_series_krat_int_string.defs: Add code
      	  to include standard_of_traits, as ratexp do not have context headers.
      	* include/vaucanson/automata/implementation/bmig_graph_impl.hh,
      	* include/vaucanson/automata/implementation/listg_graph_impl.hh: Use
      	  updated generalized traits.
      
      Remove obsolete headers.
      
      	* include/vaucanson/automata/implementation/generalized.hh: Remove.
      	* include/vaucanson/automata/implementation/generalized.hxx: Remove.
      	* vaucanswig/meta/vaucanswig_algo_common.i,
      	* vaucanswig/meta/vaucanswig_automaton.i,
      	* vaucanswig/meta/vaucanswig_context.i,
      	* src/tests/include/tests/automata/algos/freemonoid_labeled_graphs/generalized_test.hh,
      	* src/tests/include/tests/automata/algos/label_aware_graphs/concat_test.hh,
      	* src/tests/include/tests/automata/algos/label_aware_graphs/cut_up_test.hh,
      	* src/tests/include/tests/automata/algos/label_aware_graphs/in_concat_test.hh,
      	* src/tests/include/tests/automata/algos/label_aware_graphs/sum_test.hh,
      	* src/tests/include/tests/automata/algos/labeled_graphs/elimination_dmheuristic_test.hh,
      	* src/tests/include/tests/automata/algos/labeled_graphs/elimination_heuristic_test.hh,
      	* src/tests/include/tests/automata/algos/labeled_graphs/elimination_random_test.hh,
      	* src/tests/include/tests/automata/algos/labeled_graphs/elimination_test.hh,
      	* src/tests/include/tests/automata/algos/letter_combination_labeled_graphs/product_test.hh,
      	* include/vaucanson/contexts/automaton.thh,
      	* include/vaucanson/contexts/automaton_functions.thh,
      	* include/vaucanson/contexts/automaton_maker.thxx: Here.
      
      === Update INTERFACE for some algorithms ===
      
      Remove known not to be implemented interfaces.
      
      	* include/vaucanson/algorithms/accessible.hh,
      	* include/vaucanson/algorithms/complete.hh,
      	* include/vaucanson/algorithms/concatenate.hh,
      	* include/vaucanson/algorithms/cut_up.hh,
      	* include/vaucanson/algorithms/eps_removal.hh,
      	* include/vaucanson/algorithms/eps_removal_sp.hh,
      	* include/vaucanson/algorithms/eval.hh,
      	* include/vaucanson/algorithms/has_succ_comp.hh,
      	* include/vaucanson/algorithms/is_empty.hh,
      	* include/vaucanson/algorithms/isomorph.hh,
      	* include/vaucanson/algorithms/product.hh,
      	* include/vaucanson/algorithms/sub_automaton.hh,
      	* include/vaucanson/algorithms/sum.hh,
      	* include/vaucanson/algorithms/transpose.hh,
      	* include/vaucanson/algorithms/trim.hh: Here.
      
      	* include/vaucanson/algorithms/aut_to_exp.hh,
      	* include/vaucanson/algorithms/internal/has_neighbour.hh,
      	* include/vaucanson/algorithms/krat_exp_expand.hh,
      	* include/vaucanson/algorithms/normalized.hh,
      	* include/vaucanson/algorithms/realtime.hh,
      	* include/vaucanson/algorithms/realtime_decl.hh,
      	* include/vaucanson/algorithms/thompson.hh: Update interface and
      	  remove comment on VCSN_USE_LIB.
      
      === Miscellaneous ===
      
      	* include/vaucanson/algorithms/aut_to_exp.hxx: Improve code
      	  indentation.
      	* include/vaucanson/algorithms/krat_exp_expand.hxx: Move do_expand
      	  and expand to the vcsn namespace.
      59a2eecd
  21. 27 Aug, 2008 1 commit
    • 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
  22. 06 Aug, 2008 1 commit
  23. 31 Jul, 2008 2 commits
    • Florian Lesaint's avatar
      Add context of int based fmp transducers. · 2fa7d593
      Florian Lesaint authored
      	Add context of int based fmp transducers.
      	
      	Remove useless escaper in op_rout which lead to escape integers when dealing with 1 and 0.
      
      	Fix fmp type for allowing generic letters.
      
      	Add xml tests on the new context.
      
      	* include/vaucanson/algebra/concept/freemonoid_base.hxx: Remove useless escaper.
      	* include/vaucanson/automata/generic_contexts/int_fmp_transducer.hh: New.
      	* include/vaucanson/automata/generic_contexts/int_fmp_transducer_structures.hh: New.
      	* include/vaucanson/contexts/free_monoid_product.thh: Fix fmp type.
      	* include/vaucanson/xml/contexts/fmp.hxx: Add function for integers.
      	* src/tests/xml/Makefile.am: Add test.
      	* src/tests/xml/int_fmp_ref.dot: New.
      	* src/tests/xml/int_fmp_ref.xml: New.
      	* src/tests/xml/xml_int_fmp_tester.cc: New.
      2fa7d593
    • Jerome Galtier's avatar
      Overhaul letters to ease adding automaton contexts (#150,#151,#152)(merge). · f6101205
      Jerome Galtier authored
      	Changesets: 2016,2018,2019,2020,2021,2022,2024,
      	2027,2028,2029,2032,2036,2037,2040,2045
      	Ignored: 2017
      	* include/Makefile.am: Add file to distribution.
      	* include/vaucanson/algebra/concept/alphabets_base.hh,
      	* include/vaucanson/algebra/concept/alphabets_base.hxx,
      	* include/vaucanson/algebra/concept/freemonoid_base.hxx,
      	* include/vaucanson/algebra/concept/letter.hh: Improve use of core
      	* vaucanson genericity.
      	* include/vaucanson/algebra/implementation/free_monoid/str_words.hh,
      	* include/vaucanson/algebra/implementation/free_monoid/str_words.hxx:
      	* Change layout.
      	* include/vaucanson/algebra/implementation/letter/char_letter.hh:
      	* Make in line with other letter types.
      	* include/vaucanson/algebra/implementation/letter/char_letter.hxx: New.
      	* include/vaucanson/algebra/implementation/letter/int_letter.hh,
      	* include/vaucanson/algebra/implementation/letter/int_letter.hxx:
      	* Make int based automaton a reallity.
      	* include/vaucanson/automata/concept/automata_base.hh,
      	* include/vaucanson/automata/concept/automata_base.hxx,
      	* include/vaucanson/automata/concept/transducer_base.hh,
      	* include/vaucanson/automata/concept/transducer_base.hxx,
      	* include/vaucanson/automata/concept/transducer_ops.hxx: Take new
      	* letter types into account for interface.
      	* include/vaucanson/automata/generic_contexts/int_based_boolean_automaton.hh: New.
      	* include/vaucanson/automata/generic_contexts/int_based_boolean_automaton_structures.hh: New.
      	* include/vaucanson/contexts/char_letter.thh: Update the char letter
      	* context.
      	* include/vaucanson/contexts/int_letter.thh: New.
      	* include/vaucanson/misc/hash.hh,
      	* include/vaucanson/misc/hash.hxx: Add a new hash specialization.
      	* include/vaucanson/tools/dot_format.hh,
      	* include/vaucanson/tools/dot_format.hxx: Update to reflect core
      	* changes.
      	* include/vaucanson/xml/builders.hxx: Overhaul the builder (see
      	* merge source changelog).
      	* src/tests/xml/Makefile.am: Add a new test.
      	* src/tests/xml/int_b_ref.xml: New.
      f6101205
  24. 30 Jul, 2008 1 commit
    • Jerome Galtier's avatar
      Cleanup and fix int word parser. · b8473bf7
      Jerome Galtier authored
      	* include/vaucanson/algebra/concept/freemonoid_base.hh: Cleanup.
      	* include/vaucanson/algebra/concept/word.hh: Remove.
      	* include/vaucanson/algebra/implementation/char_word.hh: Remove.
      	* include/vaucanson/algebra/implementation/char_word.hxx: Remove.
      	* include/vaucanson/algebra/implementation/free_monoid/str_words.hxx:
      	* Use parse_word.
      	* include/vaucanson/algebra/implementation/int_word.hh: Remove.
      	* include/vaucanson/algebra/implementation/int_word.hxx: Remove.
      	* include/vaucanson/algebra/implementation/letter/int_letter.hxx:
      	* Fix parser.
      	* include/vaucanson/contexts/char_letter.thh: Update.
      	* include/vaucanson/contexts/int_letter.thh: Update.
      	* include/vaucanson/misc/escaper.hxx: Use operator<<.
      b8473bf7
  25. 29 Jul, 2008 1 commit
    • Jerome Galtier's avatar
      Cleanup letter implementations. · 6ba95d2e
      Jerome Galtier authored
      	* include/Makefile.am: Add new file.
      	* include/vaucanson/algebra/concept/freemonoid_base.hxx: Make
      	* default op_parse a static error.
      	* include/vaucanson/algebra/implementation/char_letter.hh: Remove.
      	* include/vaucanson/algebra/implementation/char_letter.hxx: Remove.
      	* include/vaucanson/algebra/implementation/char_word.hh: Cleanup.
      	* include/vaucanson/algebra/implementation/int_letter.hh: Remove.
      	* include/vaucanson/algebra/implementation/int_letter.hxx: Remove.
      	* include/vaucanson/algebra/implementation/int_word.hh: Cleanup.
      	* include/vaucanson/algebra/implementation/letter/char_letter.hh:
      	* Cleanup and merge with current op_parse implementation.
      	* include/vaucanson/algebra/implementation/letter/char_letter.hxx: New.
      	* include/vaucanson/algebra/implementation/letter/int_letter.hh,
      	* include/vaucanson/algebra/implementation/letter/int_letter.hxx:
      	* Cleanup and merge with current op_parse implementation.
      	* include/vaucanson/contexts/char_letter.thh,
      	* include/vaucanson/contexts/int_letter.thh: Update implementation
      	* path.
      	* include/vaucanson/xml/builders.hxx: Fix input.
      6ba95d2e