Commit ae7d4c52 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

Merge branch 'master' into exp/remove-swig

Conflicts:
	ChangeLog
parents 8809b62c 208a06e7
......@@ -20,3 +20,5 @@ Makefile
/config.hin
/configure
/aclocal.m4
NEWS
README
2009-05-04 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* configure.ac: Bump to 1.2.96a.
* doc/manual/taf-kit-manual.tex: Likewise.
2009-05-04 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Release 1.2.96.
* configure.ac: Bump to 1.2.96.
* doc/manual/taf-kit-manual.tex: Likewise.
* doc/NEWS.txt: Document 1.2.96.
2009-04-30 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* data/automata/char-z/d2.cc: Really add this file.
2009-04-30 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Introduce d2.xml.
* data/automata/char-z/d2.cc: New file.
* data/automata/char-z/Makefile.am: Build d2.xml.
* taf-kit/tests/vcsn-char-z.test: Test d2.xml.
* doc/manual/taf-kit-manual.tex (d2.xml): New section.
2009-04-30 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Remove dev3base10.xml: it is not a pertinent example of Z automaton.
* data/automata/char-z/divkbaseb.cc: Delete.
* data/automata/char-z/Makefile.am,
taf-kit/tests/vcsn-char-z.test: Adjust.
* doc/manual/taf-kit-manual.tex (div3base10.xml): Remove.
2009-04-30 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Use alphabet {0,1} for c1.xml.
* data/automata/char-z/c1.cc: Rewrite using alphabet {0,1} instead
of {a,b}.
* taf-kit/tests/vcsn-char-z.test: Adjust test.
* doc/manual/taf-kit-manual.tex (c1.xml): Adjust and document
the figure.
2009-04-30 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* doc/manual/taf-kit-manual.tex: Minor corrections from Jacques
Sakarovitch.
2009-04-30 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Turn the Vaucanson User's manual into a Taf-Kit documentation.
* doc/manual/vaucanson-manual.tex: Rename as ...
* doc/manual/taf-kit-manual.tex: ... this. And change
the title to "Taf-Kit Documentation"
* doc/manual/Makefile.am, lrde-upload.sh: Adjust.
2009-04-17 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* src/tests/test-suites/algebra_numerical_semiring_int.defs: Add a
newline at EOF to kill a GCC warning.
2009-04-16 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* doc/HACKING.txt: Use *this* for italics, not `this`.
2009-04-16 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Fix spurious calls to find_tests.sh and potential race conditions.
* build-aux/find_tests.sh: Use $$ in temporary files to prevent
races if this script is run more than once.
* Makefile.am (build-aux/tests.m4): Always touch the output.
2009-04-16 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* doc/manual/vaucanson-manual.tex (Trivial Identities): New section.
2009-04-16 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* doc/manual/vaucanson-manual.tex: Fix some typos and reword some
phrases.
2009-04-15 Alexandre Duret-Lutz <adl@lrde.epita.fr>
More documentation.
* doc/manual/vaucanson-manual.tex: Fill the automaton repository.
Add some words about weights. Kill the old examples from the doc
except the part about Z-automata.
2009-04-15 Alexandre Duret-Lutz <adl@lrde.epita.fr>
 
* lrde-upload.sh: Do not use git to compute the name of the
branch. Buildbot will now pass the branch name as first argument.
 
2009-04-14 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* include/vaucanson/algebra/implementation/series/krat_exp_parser_private.hh:
Add header guards.
2009-04-14 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* lib/krat_exp/krat_exp_bison.yy: Use "%name-prefix=" instead
of "%name-prefix " to please Bison < 2.4.
2009-04-10 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Rename the yy:: namespace into vcsnyy:: to prevent potential
conflicts with a user defined parser.
* include/vaucanson/algebra/implementation/series/krat_exp_parser.hxx,
include/vaucanson/algebra/implementation/series/krat_exp_parser_private.hh,
lib/krat_exp/krat_exp_bison.yy: Rename yy as vcsnyy.
2009-04-10 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Factor the two definitions of yy::krat_exp_parser in a single place.
* include/vaucanson/algebra/implementation/series/krat_exp_parser.hxx
(yy::krat_exp_parser): Move to...
* include/vaucanson/algebra/implementation/series/krat_exp_parser_private.hh:
This new file.
* include/Makefile.am: Distribute and install the new file.
* lib/krat_exp/krat_exp_bison.yy (yy::krat_exp_parser): Delete
and include krat_exp_parser_private.hh instead.
2009-04-08 Alexandre Duret-Lutz <adl@lrde.epita.fr>
 
Fix spurious "the token ' ' is already defined as a word" messages.
......@@ -12,10 +136,225 @@
* taf-kit/tests/vcsn-int-b.test: Add a test case.
Thanks to Jrme for the help.
 
2009-04-10 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Make a new section of rational expressions.
* doc/manual/vaucanson-manual.tex (Writing Rational Expression):
New section.
(Empty word and null series): Move into the previous section.
(Interactive Definition of Automata): Create a new section out of...
(Boolean automata): ... some text from here, and delete the rest.
(Automaton Repository): Complete.
2009-04-09 Alexandre Duret-Lutz <adl@va-et-vient.net>
* doc/manual/vaucanson-manual.tex (\tafkit) More text.
2009-04-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Rework the TAF-Kit introduction.
* doc/manual/vaucanson-manual.tex (The \Vauc toolkit): Rename
as...
(\tafkit): ... this and add more text.
2009-04-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
More administrativia.
* doc/manual/vaucanson-manual.tex (Installation): Rename as...
(Administrativia): ... this, and add more text.
2009-04-03 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Manual: some work on the title page and the introduction.
* doc/manual/vaucanson-manual.tex (\TFK,\TFKv): Remove these
unused macros.
(\title,\author): Remove and replace by a custom titlepage.
Also change the title from "The Vaucanson TAF-Kit 1.2.95"
to "Vaucanson User's Manual".
(Introduction): Rewrite to introduce the library, TAF-Kit, and
the automata repository.
(Automaton Library): Rename as ...
(Automaton Repository): ... to avoid ambiguities with Vaucanson
being an Automaton Library too.
2009-04-03 Alexandre Duret-Lutz <adl@lrde.epita.fr>
 
* lrde-upload.sh: Update to take Git branches into account.
 
2009-04-03 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Replace check_doc.py by a call to grep.
* doc/manual/Makefile.am (maintainer-check): Replace the
call to check_doc.py by a simple call to grep.
(CLEANFILES, check_doc.py): Do not build check_doc.py anymore.
* doc/manual/check_doc.py.in: Delete.
2009-04-03 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* doc/FAQ.txt: Really delete it, as intended on 2009-01-23.
2009-04-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Copy some sections from developer.tex into HACKING.txt
* doc/HACKING.txt (Tools): New section.
2009-04-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* doc/README.txt: python-docutils is not needed by end-users.
2009-04-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* Makefile.am (maintainer-check): Call maintainer-check in
doc/manual.
2009-04-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Remove some unused Makefile rules.
* Makefile.am (install-epita): Remove.
* doc/manual/Makefile.am (install-epita, deep-clean,
vcsndldir_data): Remove.
(EXTRA_DIST): Do not distribute the manual a second time, it
is already in dist_pdf_DATA.
2009-04-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* doc/manual/Makefile.am (check_doc.py): Add missing $(srcdir)/
on dependency.
2009-04-02 Alexandre Duret-Lutz <adl@va-et-vient.net>
More developer documentation.
* doc/HACKING.txt (Version control): New section to discuss Git
and how to work with Git.
(Parallel make): Remove Fixme and simplify command.
(distcc, ccache): More text
(Improve the build system): Remove.
2009-04-02 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Move the user manual check from check to maintainer-check.
* configure.ac: Only check for python when building vaucanswig.
* doc/.gitignore: Remove check_doc.py.
* doc/manual/Makefile.am: Do not distribute check_doc.py and
check_doc.py.in. Only run check_doc.py when invoking the
maintainer-check target.
* doc/HACKING.txt: Add a step when making a release.
2009-04-01 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Cleanup command display in the user manual.
* doc/manual/vaucanson-manual.tex: Use $ as prompt in the shell
environments. Convert all verbatim environments to shell ones.
2009-04-01 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Update the automaton TikZ style in the user manual.
* doc/manual/vaucanson-manual.tex: Make states bolder, and loops
larger (code by Alexandre Duret-Lutz).
2009-04-01 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Remove share dependencies.
* doc/manual/developer.tex, doc/README.txt, doc/HACKING.txt: Remove
references to share.
* doc/Makefile.am: Remove the share-up target. Use texi2pdf.
* doc/manual/Makefile.am: Remove the variables share_dir,
share_bin_dir, share_style_dir and share_bib_dir. Do not use the
--dvipdf flag (TikZ is used instead of Vaucanson-G so plain DVI
compilation is no more required).
* doc/manual/vaucanson-manual.tex: Convert all Vaucanson-G pictures to
TikZ ones. Use babel, hyperref, tikz instead of mybabel, myhyperref,
Vaucanon-G respectively. Do not include myacronym, texi and misc.
Include xspace. Many tweaks.
* doc/share/README, doc/share/bib/vaucanson.bib,
doc/share/bin/texi2dvi, doc/share/styles/VCpatch-pstricks-1-10.tex,
doc/share/styles/Vaucanson-G.tex, doc/share/styles/hevea.sty,
doc/share/styles/ldf/stl.sty, doc/share/styles/ldf/vaucanson.sty,
doc/share/styles/misc.hva, doc/share/styles/misc.sty,
doc/share/styles/myacronym.hva, doc/share/styles/myacronym.sty,
doc/share/styles/mybabel.hva, doc/share/styles/mybabel.sty,
doc/share/styles/mycxx.sty, doc/share/styles/myhyperref.hva,
doc/share/styles/myhyperref.sty, doc/share/styles/myifthen.hva,
doc/share/styles/myifthen.sty, doc/share/styles/myindex.hva,
doc/share/styles/myindex.sty, doc/share/styles/texi.hva,
doc/share/styles/texi.sty, doc/share/styles/vaucanson-g.sty: Remove.
2009-04-01 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Update .gitignore.
* .gitignore: Add NEWS and README.
2009-04-01 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Do not depend on version.tex in the user manual.
* configure.ac: Always check for python.
* doc/.gitignore: Remove version.tex, add check_doc.py.
* doc/manual/Makefile.am: Do not generate version.tex at build
time. Use a script (check_doc.py.in) to check the user manual.
* doc/manual/vaucanson-manual.tex: Add the VcsnVersion tag. Let
\maketitle build the date.
* doc/manual/check_doc.py.in: New.
2009-04-01 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Cleanup the user manual further.
* doc/manual/vaucanson-manual.tex: Remove sections from the old
developer manual.
2009-04-01 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Only use one tex file for the user manual.
* doc/manual/Makefile.am: Remove introduction.tex, installation.tex,
taf-kit.tex, theory.tex, automata.tex, xml.tex, specification.tex from
the distribution.
* doc/manual/automata.tex, doc/manual/installation.tex,
doc/manual/introduction.tex, doc/manual/specification.tex,
doc/manual/taf-kit.tex, doc/manual/theory.tex, doc/manual/xml.tex:
Remove.
* doc/manual/vaucanson-manual.tex: Merge the previously named files
into this one.
2009-03-30 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Streamline the user manual.
* doc/manual/Makefile.am: Remove the minidist target. Remove
library.tex from the sources.
* doc/manual/extex.pl, doc/manual/extex.mk, doc/manual/library.tex,
doc/manual/generate-automata.sh: Remove.
* doc/manual/vaucanson-manual.tex: Do not include library.tex.
2009-03-30 Jerome Galtier <jerome.galtier@lrde.epita.fr>
Remove make dist depency on make (Close #140).
* doc/.gitignore: Remove automata.tex and manual.ext as they are no
more generated.
* doc/manual/Makefile.am: Disable the extraction of commands in
taf-kit.tex, and the generation of automata.tex.
* doc/manual/automata.tex: New.
* doc/manual/taf-kit.tex: Replace each occurrence of execcaption by a
verbatim environment. Remove each occurrence of includegenerateddot.
* doc/manual/vaucanson-manual.tex: Remove the commands
includegenerated, includegenerateddot, execcaption and execdisplay. Do
not use vaucanswig.tex and developer.tex.
2009-03-23 Alexandre Duret-Lutz <adl@lrde.epita.fr>
 
Remove Vaucanswig.
......
......@@ -46,8 +46,11 @@ BUILT_SOURCES = include/vaucanson/config/pconf.hh
###
ACLOCAL_AMFLAGS = -I build-aux -I m4
# Even if find_tests.sh says tests.m4 needs not be updated, we want it
# to be newer than find_tests.sh.
$(top_srcdir)/build-aux/tests.m4: $(top_srcdir)/build-aux/find_tests.sh
cd $(top_srcdir) && build-aux/find_tests.sh
touch $@
###
### Making the demos. (. is builddir)
......@@ -84,6 +87,7 @@ maintainer-check:
else \
echo "$@: GNU cppi is required" >&2; \
fi
cd doc/manual && $(MAKE) maintainer-check
# Build debian packages.
deb:
......@@ -152,16 +156,3 @@ distcheck: dist
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
## ---------------------------- ##
## Installing on LRDE servers. ##
## ---------------------------- ##
install-epita:
# If the dload directory does not exist, bail out.
if test ! -d $(dloaddir); then \
echo >&2 "no such directory: $(dloaddir)"; \
fi
cd doc && $(MAKE) $(AM_MAKEFLAGS) install-epita
.PHONY: install-epita
......@@ -6,16 +6,16 @@ pass=true
tests ()
{
echo >>$tests_m4.tmp "$@"
echo >>$tests_m4.$$tmp "$@"
}
subdirs ()
{
echo -n >>$subdirs_mk.tmp "$@"
echo -n >>$subdirs_mk.$$tmp "$@"
}
rm -f $tests_m4.tmp $subdirs_mk.tmp
rm -f $tests_m4.$$tmp $subdirs_mk.$$tmp
tests "# Vaucanson test suite. -*- Autoconf -*-
# DO NOT EDIT! This file is generated by build-aux/find_tests.sh
......@@ -45,10 +45,10 @@ EXTRA_DIST = $(TEST_SUBDIRS:=.defs)
'
if $pass; then
build-aux/move-if-change $tests_m4.tmp $tests_m4
build-aux/move-if-change $subdirs_mk.tmp $subdirs_mk
build-aux/move-if-change $tests_m4.$$tmp $tests_m4
build-aux/move-if-change $subdirs_mk.$$tmp $subdirs_mk
exit 0
else
rm $tests_m4.tmp $subdirs_mk.tmp
rm $tests_m4.$$tmp $subdirs_mk.$$tmp
exit 1
fi
......@@ -18,7 +18,7 @@ m4_pattern_forbid([^VCSN_])
AC_PREREQ([2.61])
AC_INIT([vaucanson], [1.2.95a], [vaucanson-bugs@lrde.epita.fr])
AC_INIT([vaucanson], [1.2.96a], [vaucanson-bugs@lrde.epita.fr])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.10 tar-ustar no-define foreign dist-bzip2])
AC_CONFIG_HEADERS([config.h:config.hin] [include/vaucanson/config/pconf.hh])
......
## Vaucanson, a generic library for finite state machines.
## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 The
## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009 The
## Vaucanson Group.
##
## This program is free software; you can redistribute it and/or
......@@ -15,12 +15,12 @@
include $(top_srcdir)/vaucanson.mk
# Z automata.
noinst_PROGRAMS = c1 divkbaseb
noinst_PROGRAMS = c1 d2
nodist_char_z_automata_DATA = \
b1.xml \
c1.xml \
div3base10.xml
d2.xml
CLEANFILES += $(nodist_char_z_automata_DATA)
......@@ -29,14 +29,14 @@ b1.xml: ../char-b/b1.xml
sed -e 's/set="B"/set="Z"/g' $< >$@.tmp
mv $@.tmp $@
divkbaseb_CPPFLAGS = $(AM_CPPFLAGS)
divkbaseb_SOURCES = divkbaseb.cc
div3base10.xml: divkbaseb$(EXEEXT)
./divkbaseb$(EXEEXT) 3 10 xml >$@.tmp
mv $@.tmp $@
c1_CPPFLAGS = $(AM_CPPFLAGS)
c1_SOURCES = c1.cc
c1.xml: c1$(EXEEXT)
./c1$(EXEEXT) xml >$@.tmp
mv $@.tmp $@
d2_CPPFLAGS = $(AM_CPPFLAGS)
d2_SOURCES = d2.cc
d2.xml: d2$(EXEEXT)
./d2$(EXEEXT) xml >$@.tmp
mv $@.tmp $@
......@@ -2,7 +2,7 @@
//
// Vaucanson, a generic library for finite state machines.
//
// Copyright (C) 2005, 2006 The Vaucanson Group.
// Copyright (C) 2005, 2006, 2009 The Vaucanson Group.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
......@@ -20,21 +20,18 @@ using namespace vcsn;
using namespace vcsn::z_automaton;
#include <vaucanson/tools/dumper.hh>
// This guy comes from ETA p. 435, example 2.5.
/*------------------------------------------------------------.
| This automaton comes from the book ETA (Fig 2.6 p.437 ). |
`-----------------------------------------------------------*/
// This automaton comes from ETA p. 435, example 2.5. With {a,b}
// changed into {0,1}.
int
main(int argc, char **argv)
{
alphabet_t A;
A.insert('a');
A.insert('b');
A.insert('0');
A.insert('1');
monoid_t Astar (A);
monoid_elt_t a (Astar, "a");
monoid_elt_t b (Astar, "b");
monoid_elt_t a (Astar, "0");
monoid_elt_t b (Astar, "1");
/*------------------------------.
| Creation of the automaton C_1 |
......@@ -53,7 +50,7 @@ main(int argc, char **argv)
sq.assoc(a, 2);
sq.assoc(b, 2);
c1.add_letter_transition(p, q, 'b');
c1.add_letter_transition(p, q, '1');
c1.add_series_transition(q, q, sq);
c1.add_series_transition(p, p, sp);
c1.set_initial(p);
......
// d2.cc: this file is part of the Vaucanson project.
//
// Vaucanson, a generic library for finite state machines.
//
// Copyright (C) 2009 The Vaucanson Group.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// The complete GNU General Public Licence Notice can be found as the
// `COPYING' file in the root directory.
//
// The Vaucanson Group consists of people listed in the `AUTHORS' file.
//
#include <vaucanson/z_automaton.hh>
using namespace vcsn;
using namespace vcsn::z_automaton;
#include <vaucanson/tools/dumper.hh>
// This automaton comes from ETA p. 437.
int
main(int argc, char **argv)
{
alphabet_t A;
A.insert('a');
A.insert('b');
monoid_t Astar (A);
monoid_elt_t a (Astar, "a");
monoid_elt_t b (Astar, "b");
automaton_t d2 = make_automaton(A);
hstate_t p = d2.add_state();
hstate_t q = d2.add_state();
series_set_elt_t sp (d2.structure().series());
sp.assoc(a, 1);
sp.assoc(b, 1);
series_set_elt_t sq (d2.structure().series());
sq.assoc(a, 1);
sq.assoc(b, -1);
d2.set_initial(p);
d2.add_series_transition(p, p, sp);
d2.add_series_transition(p, q, sq);
d2.add_series_transition(q, q, sp);
d2.set_final(q);
tools::dumper(argc, argv)(std::cout, d2, "d2");
}
// divkbaseb.cc: this file is part of the Vaucanson project.
//
// Vaucanson, a generic library for finite state machines.
//
// Copyright (C) 2008 The Vaucanson Group.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// The complete GNU General Public Licence Notice can be found as the
// `COPYING' file in the root directory.
//
// The Vaucanson Group consists of people listed in the `AUTHORS' file.
//
#include <sstream>
#include <vector>
#include <vaucanson/z_automaton.hh>
using namespace vcsn::z_automaton;
#include <vaucanson/tools/dumper.hh>
// See divkbaseb in char-b. This file is basically the same, but using a
// Z-automaton to get the remainder.
int
main(int argc, char** argv)
{
if (argc != 3 && argc != 4)
{
std::cerr << "Usage:" << std::endl
<< "\t" << argv[0] << " <divisor> <base> [<fmt>]" << std::endl;
return 1;
}
int divisor = vcsn::tools::string_to_int(std::string(argv[1]));
int base = vcsn::tools::string_to_int(std::string(argv[2]));
alphabet_t alpha;
std::vector<letter_t> int_to_letter;
for (int i = 0; i < base; ++i)
{
int_to_letter.push_back(i < 10 ? '0' + i : 'A' + i);
alpha.insert(int_to_letter.back());
}
automaton_t a = make_automaton(alpha);
// Each state is given a unique weight, so that if the word evaluates to u,
// the remainder in the division of n by k is u.
for (int i = 0; i < divisor; ++i)
{
semiring_elt_value_t v = i;
series_set_elt_t weight(a.structure().series());
weight.assoc(identity_value(SELECT(monoid_t),
SELECT(monoid_elt_value_t)), v);
a.set_final(a.add_state(), weight);
}
a.set_initial(0);
for (int i = 0; i < divisor; ++i)
{