* src/ltlast/automatop.hh, src/ltlast/automatop.cc: Add missing instance_count() functions. * src/tgbatests/eltl2tgba.cc: Add missing instance_count() assertions at the end. * src/tgbatests/ltl2tgba.cc: Also call automatop::instance_count(), even if automatop are not used in ltl2tgba yet. This way we won't forget once eltl2tgba and ltl2tgba are merged.
6881 lines
264 KiB
Text
6881 lines
264 KiB
Text
2009-11-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Add missing instance_count() in automatop and eltl2tgba.
|
||
|
||
* src/ltlast/automatop.hh, src/ltlast/automatop.cc: Add missing
|
||
instance_count() functions.
|
||
* src/tgbatests/eltl2tgba.cc: Add missing instance_count()
|
||
assertions at the end.
|
||
* src/tgbatests/ltl2tgba.cc: Also call automatop::instance_count(),
|
||
even if automatop are not used in ltl2tgba yet. This way we won't
|
||
forget once eltl2tgba and ltl2tgba are merged.
|
||
|
||
2009-11-07 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
* src/tgba/taa.cc, src/tgbatest/taa.cc: Adjust.
|
||
|
||
2009-11-07 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
* src/tgba/taa.cc, src/tgba/taa.hh: Speed up the cartesian product
|
||
in taa_succ_iterator and allow multiple initial states in taa.
|
||
* src/tgba/ltl2taa.cc: Remove temporary printing.
|
||
|
||
2009-11-05 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix ltlcounter.test for VPATH builds and n > 2.
|
||
|
||
* src/tgbatest/defs.in (srcdir): Adjust from VPATH builds.
|
||
* src/tgbatest/ltlcounter.test (lcdir): Adjust definition to
|
||
new value of $srcdir.
|
||
(run): Fix setting of $run after $n = 2. Using run=: would in
|
||
fact disable all the big tests...
|
||
|
||
2009-11-05 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbatest/ltlcounter.test (run): Only construct small
|
||
formulae (i.e. n<=2) under valgrind. The test case is too
|
||
slow otherwise.
|
||
|
||
2009-11-04 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix spurious failure of style.test.
|
||
|
||
* src/sanity/style.test: Make sure sh does not abort when read
|
||
exits with false.
|
||
|
||
2009-11-04 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix a longstanding bug reported by Kristin Y. Rozier..
|
||
|
||
* src/ltlast/formula.hh (formula_ptr_less_than::operator()):
|
||
Fix a typo where `l' was typed as `1'.
|
||
* src/tgbatest/ltlcounter/: New files from Kristin Y. Rozier.
|
||
* src/tgbatest/ltlcounter.test: New
|
||
* src/tgbatest/Makefile.am (TESTS): Add ltlcounter.test.
|
||
(EXTRA_DIST): Add files in ltlcounter/.
|
||
|
||
2009-11-03 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix the help text of ltl2tgba.
|
||
|
||
* src/tgbatest/ltl2tgba.cc (syntax): Add missing std::endl
|
||
before -taa. Remove -r8 and -fr8, since they do not exist.
|
||
|
||
2009-10-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgba/tgbacomplement.cc (state_complement): Remove the copy
|
||
constructor. It does the same thing as the default copy
|
||
constructor, and g++ 4.2.3 complained that the copy constructor
|
||
of spot::state was not called. Reported by Denis Poitrenaud.
|
||
|
||
2009-10-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/ltlast/formula_tree.cc (instanciate, arity): Add a useless
|
||
return 0 at the end to prevent g++ 4.2.3 from complaining about
|
||
a missing return. Reported by Denis Poitrenaud.
|
||
|
||
2009-10-23 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbatest/kv.test: Don't run valgrind on dot!
|
||
|
||
2009-10-16 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Escape labels in -KV output.
|
||
|
||
* src/tgbaalgos/scc.cc (dump_scc_dot): Escape labels and other
|
||
strings output between quote in dot.
|
||
* src/tgbatest/kv.test: New file.
|
||
* src/tgbatest/Makefile.am (TESTS): Add it.
|
||
|
||
2009-10-16 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc: Typos.
|
||
|
||
2009-10-22 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Improve ltl_to_taa.
|
||
|
||
* src/tgba/taa.cc, src/tgba/taa.hh: taa_succ_iterator is not
|
||
on-the-fly anymore allowing some redundant transitions to be
|
||
removed. Also a new function to output a TAA.
|
||
* src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2taa.hh: Add the
|
||
refined rules from Tauriainen.
|
||
* src/tgbatest/ltl2tgba.cc: Use -c to activate refined rules in
|
||
ltl_to_taa.
|
||
* src/tgbatest/spotlbtt.test: More tests.
|
||
|
||
2009-10-17 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Fix make check in sanity.
|
||
|
||
* src/tgba/taa.cc, src/tgbaalgos/ltl2taa.cc: Fix style.
|
||
|
||
2009-10-16 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Minor fixes.
|
||
|
||
* src/misc/bddop.hh, src/tgba/taa.hh, src/tgbaalgos/ltl2taa.hh:
|
||
Fix sanity (incorrect include guard).
|
||
* src/tgba/tgbacomplement.cc, src/tgba/tgbacomplement.hh:
|
||
Copyright 2009.
|
||
* src/tgbaalgos/eltl2tgba_lacim.cc: Use abbreviations.
|
||
* src/tgbatest/taa.cc: Fix it.
|
||
|
||
2009-10-16 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Add a new algorithm (from Tauriainen) to translate LTL formulae to
|
||
TGBA which uses TAA as an intermediate representation. This is a
|
||
basic version, optimizations and enhancements will come later.
|
||
|
||
* src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2taa.hh: The algortihm.
|
||
* src/tgbaalgos/Makefile.am: Adjust.
|
||
* src/tgbatest/ltl2tgba.cc: New option: -taa, which uses this new
|
||
translation algorithm.
|
||
* src/tgbatest/spotlbtt.test: Add ltl2tgba -taa.
|
||
|
||
2009-10-04 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Add a class to represent Transition-based Alternating Automata (TAA).
|
||
|
||
* misc/Makefile.am, misc/bbop.cc, misc/bddop.hh: Factorize some
|
||
code on BDDs to compute all_acceptance_conditions from
|
||
neg_acceptance_condition.
|
||
* src/tgba/Makefile.am, src/tgbatest/Makefile.am: Adjust.
|
||
* src/tgba/taa.cc, src/tgba/taa.hh: The TAA class.
|
||
* src/tgba/tgbaexplicit.hh: Use the factorized code in bddop.hh.
|
||
* src/tgbatest/taa.cc, src/tgbatest/taa.test: Some test cases.
|
||
|
||
2009-10-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* AUTHORS: Add Damien Lefortier, Guillaume Sadegh, and F<>lix
|
||
Abecassis.
|
||
|
||
2009-10-01 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
The sgba proxy adds an acceptance condition to every states when
|
||
the original automaton has no acceptance condition.
|
||
|
||
* src/tgba/tgbasgba.cc, src/tgba/tgbasgba.hh: New option:
|
||
when the original automaton has no accepting condition, it
|
||
explicitly considers that every state is accepting.
|
||
|
||
2009-09-30 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
* src/tgba/tgbacomplement.cc: Move functions related to
|
||
shared_ptr on states...
|
||
* src/tgba/state.hh: ... here.
|
||
* src/tgbatest/complementation.test: Do not apply some tests on
|
||
the new algorithm because it takes to much time to run.
|
||
|
||
2009-09-29 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
A new complementation construction based on ranking.
|
||
|
||
* src/tgba/tgbacomplement.cc, src/tgba/tgbacomplement.hh: The
|
||
construction.
|
||
* src/tgbatest/Makefile.am: Adjust.
|
||
* src/tgbatest/complementation.cc: Add options to support this
|
||
construction in addition to Safra construction.
|
||
* src/tgba/Makefile.am: Adjust.
|
||
* src/tgbatest/complementation.test: Adjust to test also this
|
||
complementation.
|
||
|
||
2009-09-29 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
* src/ltltest/randltl.cc, src/ltltest/reduc.test,
|
||
src/tgbatest/dfs.test: Adjust headers to 80 columns.
|
||
|
||
2009-09-24 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
A wrapper around tgba to produce state-labeled automata.
|
||
|
||
* src/tgba/tgbasgba.hh, src/tgba/tgbasgba.hh: Here.
|
||
* src/tgbatest/ltl2tgba.cc: New option `-lS' for state-labeled
|
||
automata.
|
||
* src/tgba/Makefile.am: Adjust and sort files in tgba_HEADERS
|
||
and libtgba_la_SOURCES.
|
||
|
||
2009-09-21 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
Rename files related to Safra complementation.
|
||
|
||
* src/tgba/tgbacomplement.cc, src/tgba/tgbacomplement.hh: Rename
|
||
as...
|
||
* src/tgba/tgbasafracomplement.cc,
|
||
src/tgba/tgbasafracomplement.hh: ... these, and adjust class name.
|
||
* src/tgba/Makefile.am, src/tgbatest/Makefile.am: Adjust.
|
||
* src/tgbatest/complementation.cc: Adjust.
|
||
|
||
2009-09-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix previous patch.
|
||
|
||
* src/tgbaalgos/scc.cc (scc_map::update_supp_rec): Also take the
|
||
label of the outgoing edges into account.
|
||
|
||
2009-09-18 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Optimize previous patch.
|
||
|
||
* src/tgbaalgos/scc.hh (scc_map::scc::supp_rec): Initialize to
|
||
bddfalse, since this cannot occur in reallife.
|
||
* src/tgbaalgos/scc.cc (scc_map::update_supp_rec): Adjust.
|
||
|
||
2009-09-17 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Have scc_map keep track of APs that are reachable from a SCC.
|
||
|
||
* src/tgbaalgos/scc.hh (scc_map::scc): Add a supp_rec member to
|
||
hold reachable APs.
|
||
* src/tgbaalgos/scc.cc (scc_map::update_supp_rec): New function,
|
||
to update supp_rec.
|
||
(scc_map::build_map): Call it.
|
||
(scc_map::aprec_set_of): New function.
|
||
(dump_scc_dot): Show the output of aprec_set_of().
|
||
|
||
2009-09-17 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Have scc_map keep track of APs that are occurring in a SCC.
|
||
|
||
* src/tgbaalgos/scc.hh (scc_map::scc): Add a supp member to hold APs.
|
||
* src/tgbaalgos/scc.cc (scc_map::build_map): Update supp.
|
||
(scc_map::ap_set_of): New function.
|
||
(dump_scc_dot): Show the output of ap_set_of().
|
||
|
||
2009-09-07 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Fix some memory leaks.
|
||
|
||
* src/eltlparse/eltlparse.yy: Free the automatop::vec when
|
||
CHECK_ARITY fails while parsing an automatop.
|
||
* src/eltltest/acc.cc: Free all constructed formulae.
|
||
|
||
2009-09-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix a memory leak in reduce_tau03().
|
||
|
||
* src/ltlvisit/contain.cc (reduce_tau03_visitor::visit): Free
|
||
the operand array when a multop reduces to a constant.
|
||
|
||
2009-09-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix a memory leak in randltl.
|
||
|
||
* src/ltltest/randltl.cc: Free the atomic properties from AP
|
||
before exit.
|
||
|
||
2009-09-04 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Add an algorithm (from Couvreur) working on BDDs to reduce the
|
||
size of TGBAs represented as BDDs by deleting unaccepting SCCs.
|
||
|
||
* src/eltlparse/eltlparse.yy: Remove a warning.
|
||
* src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
|
||
src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh: Add a
|
||
new function delete_unaccepting_scc in both classes.
|
||
* src/tgbatest/eltl2tgba.cc, src/tgbatest/spotlbtt.test: Use this
|
||
new function in LaCIM for ELTL and bench it.
|
||
* src/tgbatest/defs.in: Fix it.
|
||
* bench/ltl2tgba/algorithms, bench/ltl2tgba/defs.in: Add LaCIM for
|
||
ELTL in benchs.
|
||
|
||
2009-09-01 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix path to libtool in test suites.
|
||
|
||
* src/ltltest/defs.in, src/eltltest/defs.in, src/tgbatest/defs.in,
|
||
src/evtgbatest/defs.in (run): Use ../../../libtool instead of
|
||
../../libtool, now that testcases have been moved down one directory.
|
||
|
||
2009-08-31 Alexandre Duret-Lutz <adl@va-et-vient.net>
|
||
|
||
Use Automake 1.11's parallel-tests feature.
|
||
|
||
* configure.ac: Enable parallel-tests.
|
||
* src/eltltest/defs.in, src/evtgbatest/defs.in,
|
||
src/ltltest/defs.in, src/tgbatest/defs.in: Always output verbose
|
||
tests. Make a subdirectory for each test case.
|
||
* src/ltltest/Makefile.am, src/eltltest/Makefile.am,
|
||
src/tgbatest/Makefile.am, src/evtgbatest/Makefile.am: Remove
|
||
CLEANFILES and clean the test subdirectories in a distclean-local
|
||
rule instead.
|
||
* src/eltltest/acc.test, src/eltltest/nfa.test,
|
||
src/evtgbatest/explicit.test, src/evtgbatest/ltl2evtgba.test,
|
||
src/evtgbatest/product.test, src/evtgbatest/readsave.test,
|
||
src/ltltest/equals.test, src/ltltest/lunabbrev.test,
|
||
src/ltltest/nenoform.test, src/ltltest/parse.test,
|
||
src/ltltest/parseerr.test, src/ltltest/reduc.test,
|
||
src/ltltest/reduccmp.test, src/ltltest/syntimpl.test,
|
||
src/ltltest/tostring.test, src/ltltest/tunabbrev.test,
|
||
src/ltltest/tunenoform.test, src/tgbatest/bddprod.test,
|
||
src/tgbatest/complementation.test, src/tgbatest/dfs.test,
|
||
src/tgbatest/dupexp.test, src/tgbatest/eltl2tgba.test,
|
||
src/tgbatest/emptchk.test, src/tgbatest/emptchke.test,
|
||
src/tgbatest/emptchkr.test, src/tgbatest/explicit.test,
|
||
src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
|
||
src/tgbatest/explpro4.test, src/tgbatest/explprod.test,
|
||
src/tgbatest/ltl2neverclaim.test, src/tgbatest/ltl2tgba.test,
|
||
src/tgbatest/ltlprod.test, src/tgbatest/mixprod.test,
|
||
src/tgbatest/readsave.test, src/tgbatest/reduccmp.test,
|
||
src/tgbatest/reductgba.test, src/tgbatest/scc.test,
|
||
src/tgbatest/spotlbtt.test, src/tgbatest/tgbaread.test,
|
||
src/tgbatest/tripprod.test: Adjust to run from a subdirectory.
|
||
|
||
2009-08-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* configure.ac: Switch to Automake 1.11 and enable color-tests.
|
||
|
||
2009-08-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* configure.ac: Switch from Libtool 1.5.x to Libtool 2.x, and
|
||
add an AC_CONFIG_MACRO_DIR call.
|
||
* m4/libtool.m4, tools/ltmain.sh: Remove.
|
||
|
||
2009-07-30 Felix Abecassis <abecassis@lrde.epita.fr>
|
||
|
||
Add TGBA union implementation.
|
||
|
||
* src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh: New files.
|
||
Union of two TGBAs.
|
||
* src/tgba/Makefile.am: Adjust.
|
||
|
||
2009-07-09 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
* m4/intel.m4: Fix to support the cache.
|
||
|
||
2009-07-08 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
* src/tgba/tgbacomplement.cc: Stay on 80 columns.
|
||
|
||
2009-07-08 F<>lix Abecassis <abecassis@lrde.epita.fr>
|
||
|
||
Add 2 benchmarks directories.
|
||
Add an algorithm to split an automaton in several automata.
|
||
|
||
* bench/scc-stats: New directory. Contains input files and test
|
||
program for computing statistics.
|
||
* bench/split-product: New directory. Contains test program for
|
||
synchronised product on splitted automata.
|
||
* bench/split-product/models: New directory. Contains Promela
|
||
files, and LTL formulae that should be verified by the models.
|
||
* src/tgba/tgbafromfile.cc, src/tgba/tgbafromfile.hh:
|
||
New files. Small class to avoid long initializations with numerous
|
||
constants when translating to TGBA many LTL formulae from a
|
||
given file.
|
||
* src/tgbaalgos/cutscc.cc, src/tgbaalgos/cutscc.hh:
|
||
New file. From a single automaton, create, at most,
|
||
X sub automata.
|
||
* src/tgbaalgos/scc.cc, src/tgbaalgos/scc.hh:
|
||
Adjust to compute self-loops count.
|
||
|
||
2009-07-07 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
* src/tgba/tgbacomplement.cc: Fix the transformation from
|
||
Streett to TGBA.
|
||
* src/tgbatest/complementation.test: Modify tests.
|
||
|
||
2009-06-17 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* bench/emptchk/pml2tgba.pl: Adjust to work with Spin 5.2.0.
|
||
|
||
2009-06-12 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
Adjust the build system for ICC.
|
||
|
||
* m4/intel.m4: Remove the `-W' option from CXXFLAGS since icpc
|
||
does not support it. Inhibit the warning ``method was declared
|
||
but never referenced''.
|
||
|
||
2009-06-11 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Kill a g++-4.2 warning.
|
||
|
||
* src/tgba/tgbacomplement.cc (state_complement::state_complement)
|
||
explicitly initialize the base class spot::state.
|
||
|
||
2009-06-10 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
During the complementation, transform the auxiliary Streett
|
||
automaton into a TGBA instead of a TBA.
|
||
|
||
* src/tgba/tgbacomplement.hh, src/tgba/tgbacomplement.cc:
|
||
Adjust the transformation from Streett to B<>chi to support
|
||
generalized acceptance conditions.
|
||
* src/tgbatest/complementation.cc: Improve output messages.
|
||
* src/tgbatest/complementation.test: New tests.
|
||
|
||
2009-06-09 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
* src/tgba/tgbacomplement.cc, src/tgbatest/complementation.cc:
|
||
Fix style.
|
||
|
||
2009-06-07 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
* src/tgba/tgbacomplement.cc (state_complement::hash): Improve
|
||
the hash function.
|
||
|
||
2009-06-09 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
* src/eltlparse/eltlparse.yy: Fix a memory leak.
|
||
* src/eltltest/nfa.cc: Adjust.
|
||
* src/tgbaalgos/eltl2tgba_lacim.cc: Fix a memory leak.
|
||
|
||
2009-06-05 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
Remove generated files that git follows.
|
||
|
||
* INSTALL, lbtt/INSTALL, lbtt/doc/texinfo.tex: Do not track
|
||
anymore these generated files.
|
||
|
||
2009-06-05 Guillaume Sadegh <sadegh@lrde.epita.fr>
|
||
|
||
Add an algorithm to complement B<>chi automata.
|
||
|
||
* src/tgba/tgbacomplement.hh, src/tgba/tgbacomplement.cc: New
|
||
files. The complementation algorithm.
|
||
* src/tgba/Makefile.am: Adjust.
|
||
* src/tgbatest/complementation.test,
|
||
src/tgbatest/complementation.cc: New files. Test suite for the
|
||
complementation algorithm.
|
||
* src/tgbatest/Makefile.am: Adjust.
|
||
* src/tgbaalgos/Makefile.am: Reformat the header using 80
|
||
columns.
|
||
|
||
2009-06-05 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Modify the ELTL parser to be able to support PSL operators. Add a
|
||
new keyword in the ELTL format: finish, which applies to an
|
||
automaton operator and tells whether it just completed.
|
||
|
||
* src/eltlparse/eltlparse.yy: Clean it. Add finish.
|
||
* src/eltlparse/eltlscan.ll: Add finish.
|
||
* src/formula_tree.cc, src/formula_tree.hh: New files. Define a
|
||
small AST representing formulae where atomic props are unknown
|
||
which is used in the ELTL parser.
|
||
* src/ltlast/automatop.cc, ltlast/automatop.hh, ltlast/nfa.cc,
|
||
ltlast/nfa.hh: Adjust.
|
||
* src/ltlast/unop.cc, src/ltlast/unop.hh: Finish is an unop.
|
||
* src/ltlvisit/basicreduce.cc, src/ltlvisit/nenoform.cc,
|
||
src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
|
||
src/ltlvisit/tostring.cc, src/ltlvisit/tunabbrev.cc,
|
||
src/tgba/formula2bdd.cc, src/tgbaalgos/ltl2tgba_fm.cc,
|
||
src/tgbaalgos/ltl2tgba_lacim.cc: Handle finish in switches.
|
||
* src/tgbaalgos/eltl2tgba_lacim.cc: Translate finish.
|
||
* src/tgbatest/eltl2tgba.test: More tests.
|
||
|
||
2009-06-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbatest/scc.test: Redirect stdout into file `stdout'
|
||
instead of `out', to conform to other tests, and add a missing
|
||
call to diff.
|
||
|
||
2009-06-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Introduce some experimental kripke classes to simplify writing
|
||
interfaces.
|
||
|
||
* src/kripke/Makefile.am, src/kripke/fairkripke.cc,
|
||
src/kripke/fairkripke.hh, src/kripke/kripke.cc,
|
||
src/kripke/kripke.hh: New files.
|
||
* src/Makefile.am: Recurse into kripke and link libkripke.la.
|
||
* configure.ac: Output src/kripke/Makefile.
|
||
|
||
2009-06-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbatest/scc.test: New file.
|
||
* src/tgbatest/Makefile.am: Adjust.
|
||
* src/tgbaalgos/scc.hh: More documentation.
|
||
* src/tgbaalgos/scc.cc (scc_recurse): Fix computation of
|
||
acc_paths and dead_paths. Prevent recursions in states that
|
||
have already been visited.
|
||
|
||
2009-05-31 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Lift the SCC computation off future_condition_collectors, into
|
||
a new tgba_scc class.
|
||
|
||
* src/tgba/futurecondcol.cc, src/tgba/futurecondcol.hh: Move
|
||
all delegation functions and scc_map into ...
|
||
* src/tgba/tgbascc.cc, src/tgba/tgbascc.hh: ... these new files.
|
||
|
||
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Test "ltl2tgba -FC" and plug the memory leaks of scc_map.
|
||
|
||
* src/tgbaalgos/scc.hh (scc_map::~scc_map): Declare it.
|
||
* src/tgbaalgos/scc.cc (scc_map::~scc_map): Implement it.
|
||
(scc_map::build_map): Delete duplicate states.
|
||
* src/tbbatest/ltl2tgba.test: Run ltl2tgba -FV to catch
|
||
memory leaks with valgrind.
|
||
|
||
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Implement spot::future_conditions_collector.
|
||
|
||
* src/tgba/futurecondcol.hh, src/tgba/futurecondcol.cc:
|
||
New files.
|
||
* src/tgba/Makefile.am: Adjust.
|
||
* src/tgbatest/ltl2tgba.cc: Add option -FC.
|
||
|
||
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbaalgos/scc.cc (dump_scc_dot): Use a bit vector instead of
|
||
a map to track visited SCC since they are sequentially numbered.
|
||
|
||
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Number states using negative values and SCCs using nonnegative
|
||
values.
|
||
|
||
Before this change states were numbered using positive values and
|
||
SCCs using negative values. That meant the user had to work with
|
||
negative values. With this changes, the nonnegative values used
|
||
to label SCCs can also directly be used as index in the scc_map_.
|
||
|
||
* src/tgbaalgos/scc.hh (scc_map::scc_of_state,
|
||
scc_map::cond_set_of, scc_map::acc_set_of, scc_map::states_of,
|
||
scc_map::initial, scc_map::scc_type, scc_map::succ,
|
||
scc_map::accepting): Adjust prototypes to take or return unsigned
|
||
arguments.
|
||
* src/tgbaalgos/scc.cc: Adjust prototypes of the above functions.
|
||
(scc_map::build_map, scc_map::relabel_component): Number states
|
||
using negative values, and SCCs using nonnegative values.
|
||
(dump_scc_dot): Adjust to use nonnegative values.
|
||
|
||
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Store the scc_map_ as a vector instead of a std::map. There is no
|
||
point in using a map since the SCC are numbered in sequence.
|
||
|
||
* src/tgbaalgos/scc.hh (scc_map::relabel_component): Return the
|
||
number of the SCC instead of taking it as argument.
|
||
(scc_map::scc_num_): Delete this variable. scc_map_.size() gives
|
||
the same information.
|
||
(scc_map::scc_map_type): Define using std::vector instead of
|
||
std::map.
|
||
* src/tgbaalgos/scc.cc: Adjust all uses.
|
||
|
||
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Keep track of conditions in SCC, and add a more verbose dump.
|
||
|
||
* src/tgbaalgos/scc.hh (scc_map::scc_of_state,
|
||
scc_map::cond_set_of, scc_map::acc_set_of, scc_map::states_of):
|
||
New functions.
|
||
(scc_map::scc::conds): New attribute.
|
||
(dump_scc_dot): Take an optional VERBOSE argument.
|
||
* src/tgbaalgos/scc.cc (scc_map::scc_of_state,
|
||
scc_map::cond_set_of, scc_map::acc_set_of, scc_map::states_of):
|
||
Implement these new functions.
|
||
(dump_scc_dot): Display number of states, conditions and
|
||
acceptance conditions, with VERBOSE is set.
|
||
(build_map): Fill the new scc_map::scc::cond field.
|
||
|
||
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbaalgos/scc.cc (scc_map::relabel_component): Make sure
|
||
that the old label of each state is strictly positive. The
|
||
previous assertion (inherited from gtec) of "!= -1" is wrong,
|
||
because all negative values are now used to number SCCs.
|
||
|
||
2009-05-26 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgba/tgba.hh (format_state): s/automata who/automata that/.
|
||
* src/evtgba/evtgba.hh (format_state): Likewise.
|
||
* src/evtgba/product.hh (format_state): Likewise.
|
||
|
||
2009-04-18 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Extend the ELTL parser to support more complex aliases of
|
||
automaton operators such as Strong=G(F($0))->G(F($1)) and
|
||
G=R(false, $0).
|
||
|
||
* src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll: Add
|
||
support for more complex aliases.
|
||
* src/eltltest/acc.cc, src/eltltest/acc.test: Adjust.
|
||
* src/ltlast/nfa.cc, src/ltlast/nfa.hh (arity): Now returns an
|
||
unsigned value.
|
||
* src/tgbatest/eltl2tgba.test: Adjust.
|
||
* src/tgbalagos/eltl2tgba_lacim.cc: Fix sanity.
|
||
|
||
2009-04-09 Guillaume SADEGH <sadegh@lrde.epita.fr>
|
||
|
||
Minor fixes to compile with GCC 4.4.
|
||
|
||
* src/eltlparse/eltlparse.yy (subformula): Avoid a comparaison
|
||
between a signed and an unsigned value.
|
||
* src/ltlast/automatop.hh, src/ltlast/automatop.cc (nfa): Avoid
|
||
a name clash with the `nfa' class.
|
||
|
||
2009-04-08 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Correct LaCIM for ELTL and make it work with LBTT.
|
||
|
||
* src/eltlparse/eltlparse.yy: Adjust.
|
||
* src/ltlast/automatop.cc, src/ltlast/automatop.hh,
|
||
src/ltlvisit/clone.cc, src/ltlvisit/nenoform.cc: Clean the way we
|
||
handle the negation of automaton operators.
|
||
* src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh: Add an
|
||
optional argument to output a fully parenthesized string.
|
||
* src/tgbaalgos/eltl2tgba_lacim.cc: Fix it.
|
||
* src/tgbatest/eltl2tgba.cc: Add a new option (-L) to read formulae
|
||
from an LBTT-compatible file.
|
||
* src/tgbatest/eltl2tgba.test: A new tests.
|
||
* src/tgbatest/spotlbtt.test: Add LaCIM for ELTL.
|
||
|
||
2009-04-04 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Extend the ELTL parser to support basic aliases of automaton
|
||
operators such as F=U(true,$0) or R=!U(!$0,!$1), and infix
|
||
notation for binary automaton operators.
|
||
|
||
* README: Document the ELTL directories.
|
||
* src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll: Add
|
||
support for aliases and infix notation.
|
||
* src/eltlparse/public.hh, src/ltlast/nfa.cc, src/ltlast/nfa.hh:
|
||
Clean them.
|
||
* src/eltltest/acc.test, src/tgbatest/eltl2tgba.test: Add tests
|
||
for the ELTL parser's extensions.
|
||
* src/tgbatest/eltl2tgba.cc: Adjust.
|
||
|
||
2009-03-26 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
Add support for ELTL (AST & parser), and an adaptation of LaCIM
|
||
for ELTL.
|
||
|
||
* configure.ac: Adjust for src/eltlparse/ and src/eltltest/
|
||
directories, and call AX_BOOST_BASE.
|
||
* m4/boost.m4: New file defining AX_BOOST_BASE([MINIMUM-VERSION]).
|
||
* src/Makefile.am: Add eltlparse and eltltest.
|
||
* src/eltlparse/: New directory. Contains the ELTL parser.
|
||
* src/eltltest/: New directory. Contains tests related to
|
||
ELTL (parser and AST).
|
||
* src/ltlast/Makefile.am: Adjust for ELTL AST files.
|
||
* src/ltlast/automatop.cc, src/ltlast/automatop.hh: New files.
|
||
Represent automaton operators nodes used in ELTL ASTs.
|
||
* src/ltlast/nfa.cc, src/ltlast/nfa.hh: New files. Represent
|
||
simple NFAs used internally by automatop nodes.
|
||
* src/ltlast/allnode.hh, src/ltlast/predecl.hh,
|
||
src/ltlast/visitor.hh: Adjust for automatop.
|
||
* src/ltlvisit/basicreduce.cc, src/ltlvisit/clone.cc,
|
||
src/ltlvisit/clone.hh, src/ltlvisit/contain.cc,
|
||
src/ltlvisit/dotty.cc, src/ltlvisit/nenoform.cc,
|
||
src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
|
||
src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
|
||
src/ltlvisit/tostring.cc: Because LTL and ELTL formulae share the
|
||
same class hierarchy, LTL visitors need to handle automatop nodes
|
||
to compile. When it's meaningful the visitor applies on automatop
|
||
nodes or simply assert(0) otherwise.
|
||
* src/tgba/tgbabddconcretefactory.cc (create_anonymous_state),
|
||
src/tgba/tgbabddconcretefactory.hh (create_anonymous_state): New
|
||
function used by the LaCIM translation algorithm for ELTL.
|
||
* src/tgbaalgos/Makefile.am: Adjust for eltl2tgba_lacim* files.
|
||
* src/tgbaalgos/eltl2tgba_lacim.cc,
|
||
src/tgbaalgos/eltl2tgba_lacim.hh: New files. Implementation of
|
||
the LaCIM translation algorithm for ELTL.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc:
|
||
Handle automatop nodes in the translation by an assert(0).
|
||
* src/tgbatest/Makefile.am: Adjust for eltl2tgba.* files.
|
||
* src/src/tgbatest/eltl2tgba.cc, src/tgbatest/eltl2tgba.test: New
|
||
files.
|
||
|
||
2009-03-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/evtgbaparse/evtgbaparse.yy: Stay on 80 columns.
|
||
|
||
2009-03-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Update parsers to work with Bison 2.4.1.
|
||
|
||
* HACKING: Mention that we require Bison >= 2.4 for developers.
|
||
* src/evtgbaparse/evtgbaparse.yy, src/tgbaparse/tgbaparse.yy,
|
||
src/ltlparse/ltlparse.yy: The sections "%{ ... %}" should now be
|
||
renamed "%code requires { ... }" or "%code { ... }" depending on
|
||
whether they should end up in the parser's header file or its cc
|
||
file. Also use %language, %locations, %defines, instead of
|
||
command-line arguments.
|
||
* src/evtgbaparse/Makefile.am, src/tgbaparse/Makefile.am,
|
||
src/ltlparse/Makefile.am: Remove the --locations, --defines
|
||
and --languages in the call to bison. Add -Wall -Werror to
|
||
catch more errors.
|
||
Thanks to Akim Demaille <akim@lrde.epita.fr> for the help.
|
||
|
||
2009-03-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbaalgos/scc.hh: Add missing misc/hash.hh inclusion.
|
||
|
||
2009-02-23 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgba/tgbaproduct.cc (tgba_succ_iterator_product::first):
|
||
Typo in comment.
|
||
|
||
2009-02-23 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgba/tgba.hh: Typos.
|
||
|
||
2009-02-18 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next):
|
||
Typos.
|
||
|
||
2008-12-17 Guillaume SADEGH <sadegh@lrde.epita.fr>
|
||
Update to compile with GCC 4.4.0 (trunk).
|
||
|
||
* src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::succ_iter):
|
||
Rename `state' as `local_state'.
|
||
|
||
2008-12-11 Guillaume SADEGH <sadegh@lrde.epita.fr>
|
||
|
||
Update to compile with the Intel compiler.
|
||
|
||
* m4/intel.m4: New file.
|
||
* configure.ac: Update.
|
||
* src/tgbaalgos/emptiness.cc (tgba_run): Modify s.s->clone() in
|
||
i->s->clone().
|
||
* src/misc/optionmap.hh, src/misc/optionmap.cc: Remove the extra
|
||
`;' after the namespace.
|
||
* src/tgbaalgos/tau03opt.cc
|
||
(tau03_opt_search::add_new_state): Remove unreferenced method.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc
|
||
(translate_dict::dump): Remove unreferenced method.
|
||
* src/tgbaalgos/lbtt.cc
|
||
(acceptance_cond_splitter::count): Remove unreferenced method.
|
||
* src/tgba/tgbabddconcreteproduct.cc
|
||
(tgba_bdd_product_factory::get_dict): Remove unreferenced method.
|
||
* src/ltlvisit/syntimpl.cc
|
||
(eventual_universal_visitor::recurse): Remove unreferenced method.
|
||
* src/tgbaalgos/reductgba_sim.cc: Reindent.
|
||
|
||
2008-12-11 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Compute more statistics about SCCs.
|
||
|
||
* src/tgbaalgos/scc.hh (scc_stats): Add new attributes:
|
||
acc_scc, dead_scc, acc_paths, dead_paths.
|
||
* src/tgbaalgos/scc.hh (scc_stats::dump): Display them.
|
||
(build_scc_stats): Compute them.
|
||
(scc_recurse_data, scc_recurse): New helper structure and function.
|
||
|
||
2008-12-11 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Fix tracking of SCCs on the search stack.
|
||
|
||
* src/tgbaalgos/scc.hh (scc::arc_): Rename as ...
|
||
(scc::arc_acc_): ... this.
|
||
(scc::arc_cond_): New attribute.
|
||
* src/tgbaalgos/scc.cc (build_map): Adjust and keep
|
||
track of transitions between SCCs on the search stack.
|
||
|
||
2008-12-10 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbaalgos/scc.hh, src/tgbaalgos/scc.cc: New files.
|
||
* src/tgbaalgos/Makefile.am: Add them.
|
||
* src/tgbatest/ltl2tgba.cc (-k): Also call build_scc_stats().
|
||
(-K): New option that dumps the SCCs for dot.
|
||
|
||
2008-12-05 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (-k): New option that calls
|
||
stats_reachable(a).dump().
|
||
* src/tgbaalgos/stats.cc, src/tgbaalgos/stats.hh:
|
||
Add tgba_statistics::dump().
|
||
|
||
2008-08-29 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* bench/gspn-ssp/tools/modelgen-create: Remove and fold into ...
|
||
* bench/gspn-ssp/tools/bench-create: ... this.
|
||
* bench/gspn-ssp/Makefile.am: Update.
|
||
* bench/gspn-ssp/bench.mk: Regen.
|
||
|
||
2008-08-29 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* bench/gspn-ssp/tools/defs.in (TMPDIR): New variable.
|
||
* bench/gspn-ssp/tools/runbench: Use it.
|
||
|
||
2008-08-29 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* bench/gspn-ssp/tools/sum: Fix the order of stats in -e4.
|
||
If the MAXLINES environment variable is defined, flush the page
|
||
as needed. Sort the models only once.
|
||
|
||
2008-08-27 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* bench/gspn-ssp/README: New file.
|
||
* bench/gspn-ssp/Makefile.am (EXTRA_DIST): Distribute it.
|
||
|
||
2008-08-27 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* bench/gspn-ssp/tools/sum: Output WCSsym* and WCSasym* on
|
||
separate lines. Canonize the names used as keys to that
|
||
WCSsymN appears always in the same column as WCSasymN. Read the
|
||
*.log files directly, we don't need the *.all files anymore.
|
||
* bench/gspn-ssp/tools/collate: Delete.
|
||
* bench/gspn-ssp/tools/Makefile.am: Adjust.
|
||
* bench/gspn-ssp/tools/bench-create: Do not output rules to
|
||
build *.all files.
|
||
|
||
2008-08-26 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Build the benchmark in bench/gspn-ssp/ using makefiles, so we
|
||
can run them easily in parallel using "make -j2".
|
||
|
||
* bench/gspn-ssp/bench: Remove, it is now replaced by Makefile rules.
|
||
* bench/gspn-ssp/benchaux: Remove, now implemented by...
|
||
* bench/gspn-ssp/tools/runbench, bench/gspn-ssp/tools/collate:
|
||
... these new files.
|
||
* bench/gspn-ssp/defs.in: Use absolute filenames.
|
||
* bench/gspn-ssp/gen: Remove, it is now replaced
|
||
by tools/modelgen-create.
|
||
* bench/gspn-ssp/sumall: Delete.
|
||
* bench/gspn-ssp/templates/WCSsym/gen,
|
||
bench/gspn-ssp/templates/bagrodia/gen,
|
||
bench/gspn-ssp/templates/common,
|
||
bench/gspn-ssp/templates/gen, bench/gspn-ssp/templates/predef/gen,
|
||
* bench/gspn-ssp/Makefile.am: Inlucde modelgen.mk, bench.mk, as
|
||
well as all the tools.
|
||
* bench/gspn-ssp/bench.mk, bench/gspn-ssp/modelgen.mk: New
|
||
files, generated by ...
|
||
* bench/gspn-ssp/tools/bench-create,
|
||
bench/gspn-ssp/tools/modelgen-create: ... these new files.
|
||
* bench/gspn-ssp/sum: Rename as ...
|
||
* bench/gspn-ssp/tools/sum: ... this, adjust for the new system,
|
||
and keep track of the inclusion count created by the previous patch.
|
||
|
||
2008-08-18 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* iface/gspn/ssp.cc (numbered_state_heap_ssp_semi): Keep track
|
||
of the number of inclusions detected.
|
||
|
||
2008-08-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* bench/gspn-ssp/Makefile.am, bench/gspn-ssp/trans2prop.pl: New files.
|
||
* bench/gspn-ssp/config: Rename as bench/gspn-ssp/defs.in.
|
||
* bench/Makefile.am (SUBDIRS): Add gspn-ssp.
|
||
* configure.ac: Output bench/gspn-ssp/Makefile and bench/gspn-ssp/defs.
|
||
* bench/gspn-ssp/bench: Include defs.
|
||
|
||
2008-08-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* bench/gspn-ssp/: New directory. Contains some of the benches
|
||
used in baarir.06.tr03, baarir.07.acsd, and baarir.07.msr.
|
||
|
||
2008-08-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* iface/gspn/ltlgspn.cc: New option: -e54.
|
||
* iface/gspn/ssp.hh, iface/gspn/ssp.cc: Add the
|
||
reversed_double_inclusion boolean for this.
|
||
|
||
2008-06-12 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* iface/nips/nipstest/dotty.test,
|
||
iface/nips/nipstest/emptiness.test: Prefix bytecode filenames
|
||
with $srcdir so the tests work in VPATH builds.
|
||
|
||
2008-06-11 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* iface/nips/dottynips.cc: Include ctsdlib for exit().
|
||
* iface/nips/emptiness_check.cc: Likewise.
|
||
|
||
* src/sanity/includes.test: Remove empty line at beginning of file.
|
||
|
||
2008-06-02 Guillaume SADEGH <sadegh@lrde.epita.fr>
|
||
|
||
Test suite for the NipsVM front-end.
|
||
|
||
* iface/nips/nipstest/Makefile.am, iface/nips/Makefile.am,
|
||
configure.ac, iface/nips/nipstest/emptiness.test,
|
||
iface/nips/nipstest/dotty.test: Test suite for the NipsVM
|
||
front-end.
|
||
* iface/nips/emptiness_check.cc, iface/nips/dottynips.cc: `catch'
|
||
don't throw anymore an exception, but exit with 1.
|
||
* iface/nips/common.cc, iface/nips/nips.cc (nips_interface):
|
||
Change messages of nips_exception.
|
||
|
||
2008-06-03 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/sanity/includes.test (INCDIR): Remove any trailing slash.
|
||
|
||
2008-06-03 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Install interfaces' headers in the spot/iface/ directory, not
|
||
directly in the spot/ directory.
|
||
|
||
* iface/gspn/Makefile.am (gspndir): Install in spot/iface/gspn/.
|
||
* iface/nips/Makefile.am (nipsdir): Install in spot/iface/nips/.
|
||
|
||
2008-06-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* iface/nips/nips_vm/Makefile.am: Do not install NipsVM.
|
||
|
||
* iface/nips/Makefile.am (empt_check_LDADD, dottynips_LDADD):
|
||
Do not link libnipsvm.la here...
|
||
(libspotnips_la_LIBADD): ... do it here.
|
||
|
||
2008-05-29 Guillaume SADEGH <sadegh@lrde.epita.fr>
|
||
|
||
* iface/nips/nips.cc, iface/nips/nips.hh, iface/nips/common.cc,
|
||
iface/nips/common.hh, iface/nips/Makefile.am: TGBA implementation
|
||
with the NIPS library.
|
||
* iface/nips/emptiness_check.cc: Emptiness check on a Promela
|
||
interface.
|
||
* iface/nips/dottynips.cc: Dot printer on the NIPS interface.
|
||
* iface/nips/compile.sh: Add. Wrapper around nips compiler to
|
||
compile Promela to NIPS bytecode.
|
||
* iface/nips/nips_vm,iface/nips/nips_vm/bytecode.h,
|
||
iface/nips/nips_vm/ChangeLog, iface/nips/nips_vm/COPYING,
|
||
iface/nips/nips_vm/hashtab.c, iface/nips/nips_vm/hashtab.h,
|
||
iface/nips/nips_vm/INSTALL, iface/nips/nips_vm/instr.c,
|
||
iface/nips/nips_vm/instr.h, iface/nips/nips_vm/instr_step.c,
|
||
iface/nips/nips_vm/instr_step.h,
|
||
iface/nips/nips_vm/instr_tools.c,
|
||
iface/nips/nips_vm/instr_tools.h,
|
||
iface/nips/nips_vm/instr_wrap.c,
|
||
iface/nips/nips_vm/instr_wrap.h,
|
||
iface/nips/nips_vm/interactive.c,
|
||
iface/nips/nips_vm/interactive.h, iface/nips/nips_vm/main.c,
|
||
iface/nips/nips_vm/Makefile, iface/nips/nips_vm/Makefile.am,
|
||
iface/nips/nips_vm/nips_asm_help.pl,
|
||
iface/nips/nips_vm/nips_asm_instr.pl,
|
||
iface/nips/nips_vm/nips_asm.pl,
|
||
iface/nips/nips_vm/nips_disasm.pl, iface/nips/nips_vm/nipsvm.c,
|
||
iface/nips/nips_vm/nipsvm.h, iface/nips/nips_vm/README,
|
||
iface/nips/nips_vm/rt_err.c, iface/nips/nips_vm/rt_err.h,
|
||
iface/nips/nips_vm/search.c, iface/nips/nips_vm/search.h,
|
||
iface/nips/nips_vm/split.c, iface/nips/nips_vm/split.h,
|
||
iface/nips/nips_vm/state.c, iface/nips/nips_vm/state.h,
|
||
iface/nips/nips_vm/state_inline.h,
|
||
iface/nips/nips_vm/state_parts.c,
|
||
iface/nips/nips_vm/state_parts.h, iface/nips/nips_vm/timeval.h,
|
||
iface/nips/nips_vm/tools.h: NIPS VM added to the SPOT
|
||
distribution.
|
||
* configure.ac, iface/Makefile.am: Build system updated for the
|
||
NIPS front-end.
|
||
|
||
* src/Makefile.am (_.cc): Fix for `make tags`.
|
||
|
||
2008-04-14 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Kill some FIXMEs.
|
||
|
||
* src/ltlenv/environment.hh, src/ltlvisit/basicreduce.cc: Remove
|
||
useless FIXMEs.
|
||
* src/ltlvisit/reduce.cc (reduce_visitor::visit(binop)): Compute
|
||
syntactic implications only when needed.
|
||
* src/tgbaalgos/reductgba_sim_del.cc
|
||
(build_recurse_successor_spoiler): Remplace the FIXME by an assert.
|
||
* src/tgba/tgbareduc.cc: Reword some comments, discard old
|
||
commented code.
|
||
|
||
2008-03-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/evtgbaparse/Makefile.am (AM_CXXFLAGS): Remove -Werror
|
||
so we tolerate more flex versions.
|
||
* src/ltlparse/Makefile.am (AM_CXXFLAGS): Likewise.
|
||
* src/tgbaparse/Makefile.am (AM_CXXFLAGS): Likewise.
|
||
|
||
2008-03-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/misc/hash.hh: Second thinko in #if/#else.
|
||
|
||
2008-03-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/misc/hash.hh: Thinko in #if/#else.
|
||
|
||
2008-03-21 Damien Lefortier <dam@lrde.epita.fr>
|
||
|
||
* src/misc/freelist.hh: Avoid <iostream> in headers, better use <iosfwd>.
|
||
|
||
2008-03-21 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc, src/misc/hash.hh: Reformat the header
|
||
using 80 columns.
|
||
|
||
2008-03-14 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Make sure Spot compiles with g++-4.3.
|
||
|
||
* src/ltlast/formula.hh (hash): Remove const from return type.
|
||
This kills a g++-4.3 warning.
|
||
* src/misc/hash.hh: Adjust to use unordered_set and unordered_map
|
||
from TR1 when g++-4.3 is used.
|
||
* src/evtgba/product.cc, src/ltltest/randltl.cc,
|
||
src/ltlvisit/randomltl.cc, src/ltlvisit/tostring.cc,
|
||
src/misc/freelist.hh, src/misc/optionmap.cc,
|
||
src/tgba/tgbareduc.hh, src/tgbaalgos/gv04.cc,
|
||
src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/randomgraph.cc,
|
||
src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc,
|
||
src/ltltest/equals.cc, src/ltltest/readltl.cc,
|
||
src/ltltest/reduc.cc, src/ltltest/syntimpl.cc,
|
||
src/ltltest/tostring.cc, src/tgbatest/ltlprod.cc,
|
||
src/tgbatest/powerset.cc, src/tgbatest/explprod.cc,
|
||
src/tgbatest/mixprod.cc, src/tgbatest/readsave.cc,
|
||
src/tgbatest/reductgba.cc, src/tgbatest/tgbaread.cc,
|
||
src/tgbatest/tripprod.cc, src/evtgbatest/product.cc,
|
||
src/evtgbatest/readsave.cc, src/evtgbatest/ltl2evtgba.cc,
|
||
src/evtgbatest/readsave.cc: Add missing includes.
|
||
* src/tgbatest/explicit.test, src/tgbatest/explprod.test,
|
||
src/tgbatest/explpro2.test, src/tgbatest/troprod.test,
|
||
src/tgbatest/emptchk.test: Cope with different outputs.
|
||
|
||
2008-03-11 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* doc/Doxyfile.in (LATEX_HIDE_INDICES): Do not generate indices
|
||
until Doxygen is fixed. Doxygen 1.5.5 generates incorrect LaTeX
|
||
code.
|
||
|
||
2008-02-27 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbaalgos/reachiter.hh: Typos in comments.
|
||
|
||
2008-02-22 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgba/tgbabddconcretefactory.hh (create_state):
|
||
Clarify comments.
|
||
|
||
2008-02-01 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::dump_queue):
|
||
Remove superfluous semicolon.
|
||
|
||
2008-01-10 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/tgbaalgos/reductgba_sim.cc (reduc_tgba_sim): Add two
|
||
assert(). This patch has been lying in my tree since 2007-04-30.
|
||
|
||
2008-01-08 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
This is something Soheib and I worked on back in July, but a
|
||
intricate memory corruption bug prevented me to check the patch
|
||
in. It took me two days to realize why find_state() must do a
|
||
double loop over the candidates to check for equality before
|
||
checking for inclusion(s).
|
||
|
||
* iface/gspn/ltlgspn.cc: New options, -e45 and -n.
|
||
* iface/gspn/ssp.cc, iface/gspn/ssp.hh: Handle these.
|
||
* src/tgbaalgos/gtec/gtec.cc (TRACE): Add some debugging traces.
|
||
(couvreur99_check_shy::dump_queue): New function.
|
||
* src/tgbaalgos/gtec/gtec.hh (couvreur99_check_shy::dump_queue):
|
||
New function.
|
||
|
||
2007-11-29 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
Keep libtool's files under CVS so that we don't use the broken
|
||
Debian versions installed in build hosts during automatic builds.
|
||
|
||
* m4/libtool.m4: New file, from GNU Libtool 1.4.24.
|
||
* tools/ltmain.sh: New file, from GNU Libtool 1.4.24.
|
||
* HACKING: Installing Libtool is no longer required.
|
||
|
||
2007-11-22 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* m4/valgrind.m4: New file.
|
||
* configure.ac: Use it.
|
||
|
||
2007-10-05 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Adjust to newer versions of swig.
|
||
|
||
2007-09-19 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||
|
||
* src/misc/bddalloc.cc (bdd_allocator::initialize):
|
||
Disable the default GC handler. Reported by
|
||
Kristin Yvonne Rozier <kyrozier@cs.rice.edu>.
|
||
|
||
2007-07-26 Alexandre Duret-Lutz <adl@gnu.org>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Correctly destroy unobservable
|
||
events.
|
||
|
||
2007-07-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ltlgspn.cc: New option -L.
|
||
* iface/gspn/ssp.cc, iface/gspn/ssp.hh (gspn_ssp_interface)
|
||
support for a new option "pushfront".
|
||
|
||
* NEWS, configure.in: Bump version to 0.4a.
|
||
|
||
2007-07-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* NEWS, configure.in: Bump version to 0.4.
|
||
* HACKING, INSTALL, doc/Doxyfile.in, lbtt/INSTALL: Update to newer
|
||
tools.
|
||
|
||
2007-07-16 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ssp.cc (tgba_gspn_ssp_private_::~tgba_gspn_ssp_private_):
|
||
Fix the declaration for GCC 4.1.2.
|
||
* iface/gspn/gspn.cc (tgba_gspn_private_::~tgba_gspn_private_):
|
||
Likewise.
|
||
|
||
2007-06-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/spotlbtt.test: Do not check -R1q -R1t -R2q -R2t.
|
||
|
||
2007-04-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Fix handling of -R1q -R1t -R2q -R2t.
|
||
Add support for -r8/-fr8.
|
||
|
||
* src/tgbatest/spotlbtt.test: Also check -R1q -R1t -R2q -R2t.
|
||
|
||
2007-04-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/reduce.cc (reduce): Repeat the reduction as
|
||
long as the formula changes, it makes more sense when
|
||
combining algorithm. E.g. basic reductions can help language
|
||
containment and vice-versa.
|
||
|
||
2007-04-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/spotlbtt.test: Disable formula rewriting during
|
||
construction.
|
||
|
||
2007-04-19 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/reduc.cc (main): More cases to test.
|
||
* src/ltlvisit/basicreduce.cc (basic_reduce_visitor::visit):
|
||
Simplify the formula again after FX->XF and GX->XG permutations.
|
||
This is so that formulae like GFXXa become GFa and not just GFXa.
|
||
* src/ltlvisit/contain.cc (reduce_tau03_visitor): Fix a typo
|
||
in the rules for i|j or i&j, resulting in missing simplifications.
|
||
|
||
* src/ltlvisit/contain.cc (reduce_tau03_visitor): Simplify the
|
||
rules for "a U b" and "a R b", an implication check is enough.
|
||
|
||
2007-04-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/bddalloc.cc (bdd_allocator::initialize): Call
|
||
bdd_isrunning() and don't run bdd_init() if it has already been
|
||
called.
|
||
|
||
2007-02-06 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/randomgraph.cc (random_graph): Fix the
|
||
generation of the graph. Some states had no successors or
|
||
duplicate transitions because of that bug.
|
||
|
||
2006-08-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* HACKING: We need Bison 2.3.
|
||
|
||
* evtgbaparse/evtgbaparse.yy, ltlparse/ltlparse.yy,
|
||
tgbaparse/tgbaparse.yy: Fix Bison warnings about unset $$.
|
||
|
||
* src/tgbaparse/Makefile.am (tgbaparse_HEADERS): Also
|
||
install location.hh and position.hh, since we no longer share
|
||
those of ltlvisit.
|
||
* src/evtgbaparse/Makefile.am (evtgbaparse_HEADERS): Likewise.
|
||
|
||
2006-08-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlparse/public.hh: Work around Bison 2.3 unique guards.
|
||
|
||
2006-08-16 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/evtgbaparse/public.hh: Work around Bison 2.3 unique guards.
|
||
* src/ltlvisit/reduce.hh, src/ltlvisit/reduce.hh:
|
||
Add Reduce_Containment_Checks and Reduce_Containment_Checks_Stronger
|
||
flags, and call reduce_tau03.
|
||
* src/ltlvisit/contain.hh (reduce_tau03): Make "stronger" the
|
||
default.
|
||
* src/ltlvisit/contain.cc: Style.
|
||
* src/ltltest/reduc.cc: Simplify using the reduce() interface
|
||
instead of reduce_tau03.
|
||
* src/tgbatest/ltl2tgba.cc: Likewise. Add -fr5, -fr6, and -fr7
|
||
options.
|
||
* src/tgbatest/spotlbtt.test: Remove cases using "-c", since its
|
||
current implementation is not always correct (and apparently
|
||
reduces less than -fr7).
|
||
|
||
2006-08-01 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/evtgbatest/evtgbaparse.yy, src/evtgbaparse/evtgbascan.ll,
|
||
src/evtgbaparse/parsedecl.hh, src/evtgbaparse/public.hh,
|
||
src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy,
|
||
src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
|
||
src/ltlparse/public.hh, src/tgbaparse/parsedecl.hh,
|
||
src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy,
|
||
src/tgbaparse/tgbascan.ll: Adjust for Bison 2.3. Use %name-prefix
|
||
instead of the "#define yy ... " kludge.
|
||
|
||
2006-07-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/contain.hh, src/ltlvisit/contain.cc: Adjust to only
|
||
check containment on demand.
|
||
|
||
2006-07-19 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/contain.hh, src/ltlvisit/contain.cc (reduce_tau03):
|
||
New function, performing LTL reduction a la tauriainen.03.a83.
|
||
* src/ltltest/equals.cc, src/ltltest/reduc.cc: Add support for
|
||
the new reduction.
|
||
* src/ltltest/reduc.test: Cut the test in half, and additionally
|
||
test the new reduction.
|
||
* src/ltltest/reduccmp.test: Run on the new reduction.
|
||
* src/ltltest/Makefile.am: Adjust.
|
||
* src/tgbatest/ltl2tgba.cc: Add new options to apply the reduction.
|
||
* src/tgbatest/spotlbtt.test: Use them.
|
||
|
||
* src/tgba/tgbaproduct.cc: Fix computation of common acceptance
|
||
conditions.
|
||
|
||
* src/tgba/bdddict.cc, src/tgba/bdddict.cc (register_clone_acc):
|
||
New function.
|
||
* src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh: Use it to
|
||
distinguish acceptance conditions that are identical in both
|
||
operands.
|
||
|
||
* src/tgbatest/explpro4.test: New file.
|
||
* src/tgbatest/explpro2.test, src/tgbatest/Makefile.am: Adjust.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (language_containment_checker): Move ...
|
||
* src/ltlvisit/contain.cc, src/ltlvisit/contain.hh
|
||
(spot::ltl::language_containment_checker): ... in these new files.
|
||
* src/ltlvisit/Makefile.am: Adjust.
|
||
|
||
2006-07-18 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/memusage.cc, src/misc/memusage.hh: New files.
|
||
* src/misc/Makefile.am: Add them.
|
||
* src/tgbaalgos/gtec/gtec.cc,
|
||
src/tgbaalgos/gtec/gtec.hh: Add a "vmsize" statistic.
|
||
|
||
2006-07-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgba/bdddict.cc, src/tgba/bdddict.hh (free_annonymous_list_of):
|
||
Rename as ...
|
||
(free_anonymous_list_of): ... this, and correct their update on
|
||
release. Also correct yesterday's the correction (ahem!).
|
||
(dump): Improve verbosity.
|
||
* src/misc/freelist.cc (free_list::remove, free_list::insert): Fix
|
||
longstanding thinkos.
|
||
(free_list::free_count): New function.
|
||
|
||
Merge this fix from proviso-branch:
|
||
2006-05-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
* src/misc/bddalloc.cc (bdd_allocator::bdd_allocator): Count the
|
||
number of BDD variable after they have been allocated. Otherwise
|
||
the first bdd_dict() created was leaking BDD variable #1.
|
||
|
||
* src/tgba/tgbabddconcrete.hh, src/tgba/tgbaexplicit.hh,
|
||
src/tgba/tgbaproduct.hh, src/tgba/tgbareduc.hh, src/tgba/tgbatba.hh:
|
||
Remove superfluous class qualifiers worrying gcc 4.1.2.
|
||
|
||
2006-07-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_fm.cc
|
||
(ltl_to_tgba_fm): Add a new option "containment_checks" to enable
|
||
some language containment checks (via emptiness checks) during the
|
||
translation. This first attempt currently only use containment
|
||
checks to merge states bisimulating each other.
|
||
* src/tgbatest/ltl2tgba.cc: Bind this to option "-c".
|
||
* src/tgbatest/spotlbtt.test: Check it.
|
||
|
||
* src/tgba/bdddict.cc (bdd_dict::unregister_variable): Correctly
|
||
call release_n(), not remove() to repopulated the freelist of
|
||
anonymous BDD variables. New code I'm working on triggered an
|
||
assertion inside remove(), but I'm surprised this bug hadn't
|
||
manifested before !
|
||
|
||
2006-06-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/common.hh, iface/gspn/common.cc, iface/gspn/gspn.cc,
|
||
iface/gspn/ltlgspn.cc, iface/gspn/dottygspn.cc, iface/gspn/ssp.cc,
|
||
iface/gspn/dottyssp.cc: s/exeption/exception/g.
|
||
|
||
2006-04-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh:
|
||
(couvreur99_check_shy_ssp): Add a onepass_ attribute to
|
||
disable the "shyness", and do not increment pos before calling
|
||
find_state since gspn's implementation uses it.
|
||
* iface/gspn/ssp.cc: Enable "onepass_" for all "shy" variants,
|
||
and also fix find_state for the case where onepass_ is
|
||
disabled (but I do not yet know why the latter fix isn't enough).
|
||
|
||
2006-02-15 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc: Add a third level hash, to split
|
||
each container into lists of states with identical formula states.
|
||
|
||
* iface/gspn/ltlgspn.cc, src/tgbaalgos/gtec/gtec.cc,
|
||
src/tgbaalgos/gtec/gtec.hh: New option (-e6) to disable
|
||
inclusion check in the stack.
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh:
|
||
Count the number of removed components.
|
||
|
||
2006-02-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
Soheib Baarir <Souheib.Baarir@lip6.fr>
|
||
|
||
* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state,
|
||
numbered_state_heap_ssp_semi): Implement a double hash_map using
|
||
greatspn's new container() function.
|
||
* iface/gspn/ssp.hh (gspn_ssp_interface): Add a doublehash option.
|
||
* iface/gspn/ltlgspn.cc: Add option -1 to disable this optimization.
|
||
|
||
2006-02-11 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Pacify sanity.test.
|
||
|
||
2006-02-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaparse/public.hh (tgba_parse): Take two environments
|
||
instead of one : one for the atomic propositions, and one
|
||
for the acceptance conditions. This way it's easy for
|
||
the tools in iface/gspn/ to require some atomic proposition
|
||
to be declared and allow any acceptance conditions (there is nothing
|
||
to adjust in this files because of the default value of the argument).
|
||
* src/tgbaparse/tgbaparse.yy: Adjust.
|
||
* src/tgbatest/ltl2tgba.cc, src/tgbatest/readsave.cc,
|
||
src/tgbatest/reductgba.cc, src/tgbatest/tgbaread.cc: Adjust calls.
|
||
|
||
* src/tgbaparse/tgbaparse.yy (acc_decl): Diagnose acceptance
|
||
conditions rejected by the environment.
|
||
|
||
* iface/gspn/ltlgspn.cc (display_stats): New function.
|
||
(main): Use it.
|
||
* iface/gspn/ssp.cc: Add more counters for statistics.
|
||
|
||
* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state): Correctly
|
||
update the emptiness statistics.
|
||
|
||
* m4/gspnlib.m4: Typo.
|
||
|
||
2006-02-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ssp.cc: Pacify sanity.test.
|
||
|
||
2006-02-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state): Typo.
|
||
|
||
2006-02-02 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::check):
|
||
Reorganize this function so that syntactically there is only one
|
||
loop over the successors, and not two. Call reintroduce the call
|
||
to couvreur99_check_shy::state_index(), needed by SSP, and
|
||
suppress that to index_and_insert introduced on 2004-12-29. Also
|
||
split the "group" option in two: "group" and "group2". "group2"
|
||
is the equivalent of the older "group", while the new "group" is
|
||
weaker and faster.
|
||
(couvreur99_check_shy::find_state): Change prototype as needed by
|
||
the algorithm.
|
||
* src/tgbaalgos/gtec/gtec.hh: Adjust.
|
||
* src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/nsheap.cc
|
||
(index_and_insert): Remove.
|
||
* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state): Adjust
|
||
to new prototype.
|
||
* bench/emptchk/README, bench/emptchk/algorithms: Adjust references
|
||
to group/group2.
|
||
|
||
2006-01-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* NEWS, configure.ac: Bump version to 0.3a.
|
||
|
||
2006-01-25 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* NEWS, README, configure.ac: Update for version 0.3.
|
||
|
||
2006-01-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Fix degeneralisation and output of
|
||
accepting runs.
|
||
|
||
2006-01-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/spot.i: Wrap spot::emptiness_check_instantiator.
|
||
* wrap/python/cgi/ltl2tgba.in: Offers all 6 emptiness
|
||
check algorithms, and a text box for options.
|
||
|
||
2006-01-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ndfs_result.hxx (ndfs_result::construct_cycle):
|
||
Initialize tmp to suppress a GCC 4.0.1 warning (seen on Darwin).
|
||
|
||
2006-01-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/defs.in (VALGRIND): Use --log-fd instead of
|
||
--logfile-fd to please newer versions of Valgrind.
|
||
* src/ltltest/defs.in, src/evtgbatest/defs.in: Likewise.
|
||
|
||
2005-09-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlparse/ltlparse.yy (result): Do not assign to $$, it's useless.
|
||
Suggested by Akim.
|
||
|
||
* src/tgbatest/randtgba.cc: New option -H.
|
||
* src/tgbaalgos/emptiness_stats.hh (unsigned_statistics_copy): New
|
||
class.
|
||
|
||
2005-09-27 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: New option -S.
|
||
|
||
2005-09-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/lbtt.cc: Typo.
|
||
|
||
2005-09-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc (default_algos): Test the "ordering"
|
||
heuristic.
|
||
|
||
2005-09-20 Heikki Tauriainen <heikki.tauriainen@tkk.fi>
|
||
|
||
* src/tgbaalgos/tau03opt.cc: Include <vector>.
|
||
(tau03_opt_search): Add option "ordering" (off by default).
|
||
If enabled, initialize an explicit ordering for acceptance
|
||
conditions into the new member "cond" (a vector of bdds).
|
||
(project_acc): New helper function for projecting a set of
|
||
acceptance conditions to a subset that maximizes the number
|
||
of initial consecutive conditions covered by the set in the
|
||
condition ordering.
|
||
(dfs_blue): Implement the ordering heuristic.
|
||
(dfs_red): Use a sentinel in condition_stack to avoid explicit
|
||
checks for the stack's emptiness.
|
||
Consider also the conditions in acc when checking for the
|
||
completion of an accepting cycle.
|
||
Fix the implementation of condition heuristic.
|
||
Implement the ordering heuristic.
|
||
Simplify the removal of elements from condition_stack (due to
|
||
the way in which elements are pushed on the stack, there can
|
||
be at most one element with a given depth in the stack at any
|
||
one time).
|
||
|
||
2005-09-05 Heikki Tauriainen <heikki.tauriainen@tkk.fi>
|
||
|
||
* src/tgbaalgos/ndfs_result.hxx (ndfs_result::construct_prefix):
|
||
Initialize tmp to suppress a GCC 4.0 warning.
|
||
* src/ltltest/randltl.cc (main): Likewise with another variable.
|
||
|
||
2005-09-05 Heikki Tauriainen <heikki.tauriainen@tkk.fi>
|
||
|
||
* src/ltlast/visitor.hh (visitor, const_visitor): Add empty
|
||
virtual destructors.
|
||
* src/tgba/tgbabddfactory.hh (tgba_bdd_factory): Likewise.
|
||
* src/misc/hash.hh: Use the std namespace only with GCC 3.0,
|
||
not with all compiler versions with minor version 0.
|
||
* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator): Fix
|
||
friend declaration of ::spot::tgba_tba_proxy.
|
||
|
||
2005-09-01 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.hh: \fixme is not a doxygen command. Use \bug.
|
||
|
||
2005-08-31 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* README: Update lbtt references.
|
||
|
||
* iface/gspn/ssp.cc: Typo in comment.
|
||
|
||
* lbtt/: Merge lbtt 1.2.0.
|
||
|
||
2005-06-06 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/reductgba_sim_del.cc
|
||
(parity_game_graph_delayed::get_relation): Disable for generalized
|
||
automata, it's wrong.
|
||
|
||
2005-05-25 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/reductgba_sim_del.cc
|
||
(parity_game_graph_delayed::nb_set_acc_cond): Simplify.
|
||
|
||
* sanity/style.test: Catch misuses of Sgi::.
|
||
* tgba/tgbareduc.hh, tgbaalgos/reductgba_sim.cc,
|
||
tgbaalgos/reductgba_sim.hh, tgbaalgos/reductgba_sim_del.cc: Fix them.
|
||
|
||
2005-05-16 Denis Poitrenaud <dp@src.lip6.fr>
|
||
|
||
* src/ltlvisit/syntimpl.cc: Fix a typo.
|
||
|
||
2005-05-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/syntimpl.cc: Fix detection of purely eventual formulae.
|
||
|
||
2005-05-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc: Fix handling of fair_loop_approx.
|
||
|
||
2005-05-04 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/hashfunc.hh (knuth32_hash): New function.
|
||
* src/misc/hash.hh (ptr_hash): Use knuth32_hash.
|
||
* src/tgba/tgbabddconcretefactory.hh (tgba_bdd_concrete_factory): Use
|
||
ltl::formula_ptr_hash for acc_map_.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_fm.cc: Add
|
||
the reduce_ltl argument.
|
||
* src/tgbatest/ltl2tgba.cc: Add options -fr1, -fr2, -fr3, and -fr4.
|
||
* src/tgbatest/spotlbtt.test, bench/ltl2tgba/algorithms: Test -fr4.
|
||
* bench/ltl2tgba/parseout.pl: Suppress Perl warnings on disabled
|
||
algorithms.
|
||
|
||
2005-04-19 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* bench/ltl2tgba/README: More instructions.
|
||
* bench/Makefile.am (SUBDIRS): Add ltl2tgba.
|
||
* README: Mention bench/ltl2tgba.
|
||
|
||
2005-04-15 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* bench/ltl2tgba/Makefile.am, bench/ltl2tgba/README,
|
||
bench/ltl2tgba/algorithms, bench/ltl2tgba/big,
|
||
bench/ltl2tgba/defs.in, bench/ltl2tgba/formulae.ltl,
|
||
bench/ltl2tgba/known, bench/ltl2tgba/parseout.pl,
|
||
bench/ltl2tgba/small: New files.
|
||
* src/tgbatest/ltl2baw.pl: Move ...
|
||
* bench/ltl2tgba/ltl2baw.in: ... here.
|
||
* src/tgbatest/Makefile.am: Adjust.
|
||
* configure.ac: Adjust.
|
||
|
||
2005-04-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Delete the reduced automaton
|
||
before the degeneralized automaton.
|
||
|
||
2005-04-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* doc/Makefile.am (doc, $(srcdir)/stamp): Ignore rm's errors.
|
||
|
||
2005-04-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* README: Typos.
|
||
|
||
2005-04-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* NEWS, configure.ac: Bump version to 0.2a.
|
||
|
||
2005-04-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* NEWS, configure.ac: Bump version to 0.2.
|
||
|
||
* bench/emptchk/README: Mention
|
||
http://spot.lip6.fr/wiki/EmptinessCheckOptions for the syntax.
|
||
|
||
2005-04-06 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaparse/tgbaparse.yy (acc_list): Do not explicitly delete
|
||
an undeclared acceptance condition.
|
||
* src/tgbaalgos/save.cc (print_acc): Unquote atomic propositions.
|
||
|
||
* bench/emptchk/Makefile.am: Create reduced versions of the graphs.
|
||
* bench/emptchk/pml2tgba.pl: Add option -r.
|
||
* bench/emptchk/pml-clserv.sh, bench/emptchk/pml-eeaean.sh:
|
||
Also run on reduced graphs (this is fast).
|
||
* bench/emptchk/README: Adjust.
|
||
|
||
2005-02-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/length.cc (length_visitor): Rewrite using
|
||
postfix_visitor.
|
||
|
||
2005-02-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/tau03opt.cc (tau03_opt_search): Add options "weights"
|
||
and "redweights" (on by default).
|
||
|
||
* src/tgbaalgos/tau03opt.cc (tau03_opt_search): Do not
|
||
account for the size of condition_stack.
|
||
|
||
2005-02-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/sanity/style.test: Catch occurrences of "accepting condition".
|
||
* bench/emptchk/ltl-human.sh, bench/emptchk/ltl-random.sh,
|
||
src/sanity/style.test, src/tgba/bdddict.cc,
|
||
src/tgba/succiterconcrete.hh, src/tgba/tgbabddcoredata.hh,
|
||
src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh,
|
||
src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh,
|
||
src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
|
||
src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh,
|
||
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
|
||
src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
|
||
src/tgbatest/dfs.test: Replace them by "acceptance condition".
|
||
|
||
* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03.hh: Include
|
||
misc/optionmap.hh.
|
||
|
||
2005-02-18 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* bench/emptchk/README: Document the file `algorithms'.
|
||
|
||
* src/tgbaalgos/tau03opt.cc (tau03_opt_search): Implement the
|
||
"condition heuristic". Suggested by Heikki Tauriainen.
|
||
* src/tgbatest/randtgba.cc: Test it.
|
||
|
||
* src/tgbatest/randtgba.cc: Remplace the -O option by -A, reading
|
||
all algorithms from a file. Use the emptiness_check_instantiator
|
||
syntax as name in the output.
|
||
* bench/emptchk/defs.in: DEfine ALGORITHMS here.
|
||
* bench/emptchk/ltl-human.sh, bench/emptchk/ltl-random.sh,
|
||
bench/emptchk/pml-clserv.sh, bench/emptchk/pml-clserv.sh: Use
|
||
$ALGORITHMS.
|
||
* src/misc/timer.cc: Truncate long keys in display.
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Simplify using
|
||
emptiness_check_instantiator.
|
||
* src/tgba/tgba.cc, src/tgba/tgba.hh
|
||
(tgba::number_of_acceptance_conditions): Return an unsigned.
|
||
* bench/emptchk/algorithms, bench/emptchk/README,
|
||
src/tgbatest/emptchk.test, src/tgbatest/emptchke.test: Adjust
|
||
references to algorithms.
|
||
* bench/emptchk/pml-clserv.sh, bench/emptchk/pml-eeaean.sh: Quote
|
||
variables properly.
|
||
|
||
2005-02-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness.cc
|
||
(emptiness_check_instantiator): New class.
|
||
* src/misc/optionmap.hh (set (const option_map&)): New method.
|
||
* src/tgbatest/randtgba.cc: Create every emptiness check via
|
||
emptiness_check_instantiator.
|
||
|
||
* src/tgbaalgos/emptiness.hh,
|
||
src/tgbaalgos/emptiness.cc (emptiness_check::safe): New method.
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
|
||
src/tgbaalgos/se05.hh, src/tgbaalgos/se05.cc: Implement it.
|
||
* src/tgbatest/randtgba.cc: Simplify.
|
||
|
||
* src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc,
|
||
src/tgbaalgos/se05.hh, src/tgbaalgos/se05.cc: Provide wrapper
|
||
functions that read the hash-map size from a "bsh" option.
|
||
* src/tgbatest/randtgba.cc: Simplify.
|
||
|
||
* src/misc/optionmap.hh, src/misc/optionmap.cc
|
||
(option_map::parse_options): Rewrite. Do not modify the input
|
||
string, allow !foo as a shorthand for foo=0, and support K and
|
||
M suffixes for values.
|
||
* src/tgbatest/randtgba.cc (cons_emptiness_check): Simplify.
|
||
* wrap/python/spot.i: Process optionmap.hh.
|
||
* wrap/python/tests/optionmap.py: New file.
|
||
* wrap/python/tests/Makefile.am (TESTS): Add it.
|
||
|
||
2005-02-16 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/optionmap.cc, src/misc/optionmap.hh (option_map::get,
|
||
option_map::set): Handle default values.
|
||
(anonymous::to_int): Do not print anything.
|
||
* src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh,
|
||
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
|
||
src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
|
||
src/tgbaalgos/ce.cc, src/tgbaalgos/ce.hh: Take an option_map in
|
||
the constructor.
|
||
* src/tgbaalgos/gtec.cc, src/tgbaalgos/gtec.hh: Likewise. Handle
|
||
the "poprem", "group", and "shy" options via the option_map.
|
||
Supply a couvreur99() wrapper to the shy/non-shy variant.
|
||
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc,
|
||
iface/gspn/ssp.cc: Adjust.
|
||
|
||
2005-02-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: Factorize more code using the
|
||
unsigned_statistics interface.
|
||
* bench/emptchk/README: Adjust description of output.
|
||
|
||
2005-02-07 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/sanity/style.test: Strip all strings before checking the
|
||
file, so that strings are not checked for our C++ style.
|
||
Reported by Denis (with a chainsaw).
|
||
|
||
2005-02-07 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/misc/optionmap.cc, src/misc/optionmap.hh: Typo (Hummm).
|
||
|
||
2005-02-07 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/misc/optionmap.cc, src/misc/optionmap.hh (option_map): New class.
|
||
* src/misc/Makefile.am: Add it.
|
||
* src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh: Add option
|
||
facilities to the classes emptiness_check and emptiness_result
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
|
||
src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh: Compute optionnaly
|
||
accepting runs from stack.
|
||
* src/tgbatest/randtgba.cc: Make this option public.
|
||
|
||
2005-02-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/ltstr.hh: Include <functional>
|
||
|
||
2005-02-04 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc (stat_collector): New class, replacing...
|
||
(ec_stat, acss_stat, ars_stat, print_ec_stats, print_acss_stats,
|
||
print_ars_stats): ... these.
|
||
* tgbaalgos/emptiness_stats.hh (unsigned_statistics): Make the
|
||
map public.
|
||
|
||
* src/tgbaalgos/emptiness_stats.hh (unsigned_statistics::stats_map_):
|
||
Use char_ptr_less_than.
|
||
|
||
* src/misc/ltstr.hh: New file.
|
||
* src/misc/Makefile.am (misc_HEADERS): Add it.
|
||
|
||
* src/tgbaalgos/emptiness_stats.hh (unsigned_statistics::stats_map_):
|
||
Use char* for keys, not std::string.
|
||
|
||
2005-02-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* tgbaalgos/emptiness_stats.hh (unsigned_statistics): New base
|
||
class for ec_statistics and ars_statistics.
|
||
(acss_statistics): Inherit from ars_statistics.
|
||
* tgbaalgos/emptiness.cc, tgbaalgos/emptiness.hh:
|
||
(emptiness_check::statistics, emptiness_check_result::statistics):
|
||
New methods.
|
||
* tgbatest/randtgba.cc: Adjust to use the above.
|
||
* tgbaalgos/gv04.cc, tgbaalgos/ndfs_result.hxx, tgbaalgos/gtec/ce.cc,
|
||
tgbaalgos/gtec/ce.hh: Do not inherit from ars_statistics if
|
||
acss_statistics is used.
|
||
|
||
* src/tgbaalgos/gtec/gtec.hh (couvreur99_check): Add pseudo code.
|
||
|
||
2005-02-02 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/randomgraph.cc (random_graph): Make sure n > 0.
|
||
* src/tgbatest/randtgba.cc: Check the range of all arguments.
|
||
|
||
* bench/emptchk/models/eeaean1.pml: New file, from schwoon.05.tacas.
|
||
* bench/emptchk/Makefile.am: Distribute models/eeaean1.pml
|
||
and build models/eeaean1.tgba.
|
||
* bench/emptchk/pml-eeaean.sh: Check models/eeaean1.pml.
|
||
* bench/emptchk/README: Adjust.
|
||
* bench/emptchk/defs.in (RANDTGBA, LTL2TGBA): These tools are in
|
||
the build tree, not the source tree...
|
||
|
||
These tests are huge, and are obsoleted by randtgba-based checks,
|
||
and by bench/emptchk/.
|
||
* src/tgbatest/tba_samples_from_spin.test: Delete.
|
||
* src/tgbatest/tba_samples_from_spin/: Delete.
|
||
* src/tgbatest/Makefile.am: Adjust.
|
||
|
||
2005-02-01 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/evtgbaparse/evtgbaparse.yy, src/evtgbaparse/evtgbascan.ll,
|
||
src/evtgbaparse/fmterror.cc, src/evtgbaparse/parsedecl.hh,
|
||
src/evtgbaparse/public.hh, src/evtgbatest/product.cc,
|
||
src/evtgbatest/readsave.cc, src/ltlparse/fmterror.cc,
|
||
src/ltlparse/ltlparse.yy, src/ltlparse/parsedecl.hh,
|
||
src/ltlparse/public.hh, src/tgbaparse/parsedecl.hh,
|
||
src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy: Update
|
||
to Bison 2.0.
|
||
|
||
* bench/emptchk/pml2tgba.pl (usage): Correct description. From Denis.
|
||
|
||
* bench/emptchk/README: Timing info from Denis.
|
||
|
||
* src/tgbatest/randtgba.cc (main): Skip empty lines.
|
||
(syntax): Categorize options.
|
||
|
||
2005-01-31 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/explicit.test, src/tgbatest/explpro2.test,
|
||
src/tgbatest/explprod.test, src/tgbatest/tripprod.test,
|
||
src/evtgbatest/explicit.test: Do not reorder the output.
|
||
It's pointless since 2005-01-20.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.1a.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.1.
|
||
|
||
2005-01-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* bench/emptchk/Makefile.am (dist_noinst_SCRIPTS): Add pml-clserv.sh
|
||
and pml-eeaean.sh.
|
||
* bench/emptchk/ltl-human.sh: Typo in densities.
|
||
Reported by Denis.
|
||
|
||
2005-01-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* doc/mainpage.dox: More text, and a link to "Modules".
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Silence the "filename.tgba read"
|
||
message if -0 is used.
|
||
|
||
* bench/emptchk/formulae.ltl: New file.
|
||
|
||
* src/tgbaalgos/gtec/gtec.hh (couvreur99_check): Document poprem.
|
||
|
||
* bench/emptchk/README: Make clearer that spin is needed.
|
||
|
||
* src/tgbatest/randtgba.cc (syntax): Missing std::endl.
|
||
|
||
2005-01-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* bench/Makefile.am, bench/emptchk/Makefile.am,
|
||
bench/emptchk/README, bench/emptchk/algorithms,
|
||
bench/emptchk/defs.in, bench/emptchk/ltl-human.sh,
|
||
bench/emptchk/ltl-random.sh, bench/emptchk/pml-clserv.sh,
|
||
bench/emptchk/pml-eeaean.sh, bench/emptchk/pml2tgba.pl,
|
||
bench/emptchk/models/cl3serv1.pml,
|
||
bench/emptchk/models/cl3serv3.pml,
|
||
bench/emptchk/models/clserv.ltl, bench/emptchk/models/eeaean.ltl,
|
||
bench/emptchk/models/eeaean2.pml: New files.
|
||
* README: Adjust.
|
||
* configure.ac: Output bench/Makefile and bench/emptchk/Makefile.
|
||
Check for PERL, and define the NEVER conditional.
|
||
* Makefile.am (SUBDIRS) [NEVER]: Add bench.
|
||
|
||
|
||
2005-01-28 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptiness_stats.hh: Make sure depth() >= 0.
|
||
* src/tgbaalgos/gtec/gtec.hh (couvreur99_check, couvreur99_check_shy):
|
||
Add the poprem option.
|
||
* src/tgbaalgos/gtec/gtec.cc: Implement it.
|
||
* src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh
|
||
(scc_stack::rem, scc_stack::clear_rem,
|
||
scc_stack::connected_component::rem): New.
|
||
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Add rem variants.
|
||
|
||
2005-01-28 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbatest/dfs.test, src/tgbatest/emptchk.test,
|
||
src/tgbatest/emptchke.test, src/tgbatest/ltl2tgba.cc,
|
||
src/tgbatest/randtgba.cc, src/tgbatest/tba_samples_from_spin.test:
|
||
Adjust names of emptiness check algorithms.
|
||
|
||
2005-01-27 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc: Adjust statistics count to match
|
||
how the algorithm will behave once remove_component() is revamped. From
|
||
Alexandre.
|
||
|
||
2005-01-27 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_cycle):
|
||
More ref in comment.
|
||
|
||
2005-01-26 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gv04.cc, src/tgbaalgos/ndfs_result.hxx,
|
||
src/tgbaalgos/gtec/ce.cc: Do not account for states that are
|
||
computed but not visited by the BFS&DFS used to construct
|
||
accepting runs.
|
||
|
||
2005-01-25 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: Complete performance measurements.
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Typo.
|
||
|
||
* src/tgbaalgos/magic.hh: Correct pseudo-code.
|
||
|
||
2005-01-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/se05.hh: Correct
|
||
pseudo-code. From Denis.
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc: Fake statistics count to match
|
||
how the algorithm will behave once remove_component() is revamped.
|
||
|
||
* src/tgbaalgos/emptiness_stats.hh (ars_statistics): Distinguish
|
||
states visited to compute the prefix and those for the cycle.
|
||
* src/tgbaalgos/gv04.cc, src/tgbaalgos/ndfs_result.hxx,
|
||
src/tgbaalgos/gtec/ce.cc: Adjust.
|
||
* src/tgbatest/randtgba.cc: Print both statistics.
|
||
|
||
2005-01-24 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc, src/tgbatest/ltl2tgba.cc: Add options
|
||
dedicated to display of stats.
|
||
|
||
2005-01-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: Some fixes from Denis for ratio stats.
|
||
|
||
2005-01-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlast/formula.hh (formula_ptr_less_than): Two
|
||
formulae with the same hash key are not necessary equal!
|
||
|
||
* src/ltlast/formula.hh (hash, dump, dump_, hash_key_): New members.
|
||
(formula_ptr_less_than, formula_ptr_hash): New class.
|
||
* src/ltlast/atomic_prop.cc, src/ltlast/binop.cc,
|
||
src/ltlast/constant.cc, src/ltlast/formula.cc,
|
||
src/ltlast/multop.cc, src/ltlast/unop.cc: Adjust to handle dump_.
|
||
* src/ltlvisit/apcollect.cc, src/ltlvisit/apcollect.hh:
|
||
Sort the set using formula_ptr_less_than.
|
||
* src/ltlvisit/dump.cc: Simplify using ->dump().
|
||
* src/tgbaalgos/ltl2tgba_fm.cc: Sort all maps to get deterministic
|
||
results.
|
||
|
||
2005-01-18 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/tau03opt.hh (explicit_tau03_opt_search): Doco.
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::clear_todo,
|
||
couvreur99_check_shy::check): Sum all successors in the
|
||
todo stack AND all items on the stack.
|
||
|
||
2005-01-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptiness_stats.hh (ec_statistics::depth): New function.
|
||
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::clear_todo,
|
||
couvreur99_check_shy::check): Count all successors in the
|
||
todo stack rather than all items on the stack.
|
||
|
||
2005-01-13 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: Close the formula file and remove a trace.
|
||
|
||
2005-01-13 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: Add products with formulae issued of a file
|
||
and more statistics.
|
||
* src/tgbatest/readsave.test: Undo previous change.
|
||
|
||
2005-01-13 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbatest/readsave.test: Fix parameter of randtgba call.
|
||
|
||
2005-01-12 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: Add products with randomized formulae and
|
||
more statistics.
|
||
|
||
2005-01-11 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gv04.cc (result): Implement the acss_statistics,
|
||
and ars_statistics interfaces.
|
||
|
||
2005-01-11 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/ltltest/randltl.cc: Typo.
|
||
|
||
2005-01-11 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaparse/tgbaparse.yy: Accept automaton without state.
|
||
|
||
* src/ltltest/randltl.cc: Typo.
|
||
|
||
2005-01-10 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: Typo.
|
||
|
||
2005-01-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Typo.
|
||
|
||
* src/tgbatest/randtgba.cc: Add option -P.
|
||
|
||
2005-01-10 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/tau03.cc: Typo.
|
||
* src/tgbatest/ltl2tgba.cc: Add option -b.
|
||
|
||
2005-01-07 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ndfs_result.hxx (ndfs_result, acss_interface):
|
||
Conditionally inherit from acss_statistics.
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
|
||
src/tgbaalgos/tau03opt.cc: Define Has_Size in all heaps.
|
||
|
||
2005-01-06 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/ltltest/randltl.cc: Include cassert.
|
||
|
||
* src/tgbaalgos/ndfs_result.hxx: Implement the spot::acss_statistics
|
||
interface.
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
|
||
src/tgbaalgos/tau03opt.cc: Add to each heap class a method returning its
|
||
size.
|
||
|
||
2005-01-06 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/randltl.cc: Add options -r and -u.
|
||
* src/ltltest/reduc.test: Use randltl -u, and run it through valgrind.
|
||
|
||
2005-01-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh: New files.
|
||
* src/ltlvisit/Makefile.am (ltlvisit_HEADERS,
|
||
libltlvisit_la_SOURCES): Distribute them.
|
||
* src/ltltest/randltl.cc: New file.
|
||
* src/ltltest/Makefile.am (LDADD): Link with ../libspot.la directly.
|
||
(noinst_PROGRAMS, randltl_SOURCES): New.
|
||
(EXTRA_DIST, CLEANFILES): The list of random formulae is now generated.
|
||
* src/ltltest/formulae.txt: Delete.
|
||
* src/ltltest/reduc.test: Use randltl to generate formulae.
|
||
* src/ltlvisit/length.cc (length_visitor): Fix computation
|
||
of the length of multops.
|
||
* src/ltlvisit/length.hh (length): Document the length of multops.
|
||
|
||
2005-01-04 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/sanity/includes.test: Also check *.hxx files.
|
||
* src/tgbaalgos/ndfs_result.hxx: Rename the include guard.
|
||
|
||
2005-01-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* doc/Doxyfile.in (FILE_PATTERNS): Remove *.hxx.
|
||
* src/sanity/80columns.test, src/sanity/style.test: Process *.hxx files.
|
||
* src/tgbaalgos/ndfs_result.hh: Rename as ..
|
||
* src/tgbaalgos/ndfs_result.hxx: ... this, so it does not get
|
||
documented (and so Doxygen do not complain).
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
|
||
src/tgbaalgos/tau03opt.cc: Adjust include.
|
||
* src/tgbaalgos/Makefile.am: Rename ndfs_result.hh as ndfs_result.hxx
|
||
and do not install it, this is a private header.
|
||
|
||
* src/tgbaalgos/emptiness.hh: Declare Doxygen group
|
||
emptiness_check_stats.
|
||
* src/tgbaalgos/emptiness_stats.hh: Use it.
|
||
|
||
* doc/Doxyfile.in: Update for Doxygen 1.4.0, set
|
||
DOT_MULTI_TARGETS, and disable GROUP_GRAPH (it causes segfault).
|
||
* src/tgbaparse/public.hh (format_tgba_parse_errors): Complete
|
||
Doxygen comment.
|
||
|
||
* src/tgbaalgos/emptiness_stats.hh (ars_statistics): New class.
|
||
* src/tgbaalgos/ndfs_result.hh (ndfs_result): Inherit from
|
||
ars_statistics.
|
||
(ndfs_result::dfs): Call inc_ars_states().
|
||
(ndfs_result::test_path, ndfs_result::min_path): Update ars_statistics.
|
||
* tgbaalgos/gtec/ce.hh (couvreur99_check_result): Inherit
|
||
from ars_statistics.
|
||
* tgbaalgos/gtec/ce.cc (shortest_path,
|
||
couvreur99_check_result::accepting_cycle::scc_bfs):
|
||
Update ars_statistics.
|
||
* src/tgbatest/randtgba.cc: Display statistics about accepting run
|
||
search.
|
||
|
||
* src/tgbaalgos/bfssteps.hh (bfs_steps::finalize): Document.
|
||
|
||
* src/tgbaalgos/emptiness_stats.hh (accs_statistics): New class.
|
||
* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh
|
||
(couvreur99_check_result): Inherit from acss_statistics.
|
||
(couvreur99_check_result::acss_states): Implement it.
|
||
* src/tgbatest/randtgba.cc: Display statistics about accepting cycle
|
||
search space.
|
||
|
||
* src/tgbaalgos/ndfs_result.hh (construct_prefix): Do not call
|
||
erase() after splice(), splice() already removes the elements.
|
||
|
||
* src/evtgba/evtgbaiter.hh, src/ltlast/formula.hh,
|
||
src/ltlast/refformula.hh, src/ltlenv/defaultenv.hh,
|
||
src/misc/bareword.hh, src/tgba/succiter.hh,
|
||
src/tgba/tgbabddfactory.hh, src/tgba/tgbareduc.hh,
|
||
src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptiness_stats.hh,
|
||
src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh,
|
||
src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/tau03opt.hh: Add
|
||
or fix include guards.
|
||
* src/sanity/includes.test: Check the presence of the include
|
||
guard.
|
||
|
||
2004-12-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/nsheap.cc
|
||
(index_and_insert): New function.
|
||
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::check): Rewrite.
|
||
(couvreur99_check_shy::clear_todo): New method.
|
||
* src/tgbaalgos/gtec/gtec.hh (couvreur99_check_shy::todo_item): New
|
||
struct.
|
||
* iface/gspn/ssp.cc (numbered_state_heap_ssp_semi::index_and_insert):
|
||
New method.
|
||
|
||
2004-12-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* doc/Doxyfile.in (EXCLUDE_SYMLINKS): Set to YES, since we have no
|
||
legitimate symlink in our source tree. Requested by Akim Demaille.
|
||
|
||
2004-12-20 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/ndfs_result.hh: Rewrite the computation of accepting
|
||
runs.
|
||
* src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: Add the method
|
||
finalize witch compute (by default) the traversed path.
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc: Fix a bug concerning
|
||
the heap used for bit state hashing version and adjust the prototype of
|
||
has_been_visited and pop_notify.
|
||
* src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: adjust the
|
||
prototype of has_been_visited and pop_notify.
|
||
|
||
2004-12-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ndfs_result.hh: Include misc/hash.hh.
|
||
|
||
2004-12-16 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/reducerun.cc (reduce_run): Do not call erase() after
|
||
splice(), splice() already removes the elements.
|
||
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run):
|
||
Likewise.
|
||
|
||
* src/tgbatest/randtgba.cc: Add option -O, so we can profile each
|
||
emptiness-check on its own.
|
||
|
||
* src/ltlparse/ltlscan.ll: Pass yyleng to the std::string constructor,
|
||
so it doesn't have to compute it.
|
||
* src/tgbaparse/tgbascan.ll: Likewise.
|
||
(YY_USER_INIT, current_file): Remove, it is too costly to use
|
||
yy::Location::filename in the current implementation
|
||
of yy::Location (this attribute is duplicated for each token).
|
||
Leaving it empty divides the parsing time by 3.
|
||
* src/tgbaparse/fmterror.cc, src/tgbaparse/public.hh
|
||
(format_tgba_parse_errors): Take the filename as argument.
|
||
* src/tgbatest/explprod.cc, src/tgbatest/ltl2tgba.cc,
|
||
src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
|
||
src/tgbatest/readsave.cc, src/tgbatest/reductgba.cc,
|
||
src/tgbatest/tgbaread.cc, src/tgbatest/tripprod.cc,
|
||
iface/gspn/dottyssp.cc, iface/gspn/ltlgspn.cc: Adjust calls
|
||
to format_tgba_parse_errors.
|
||
|
||
2004-12-15 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaparse/tgbaparse.yy: Cache parsed formulae to speedup
|
||
reading of TGBAs with lots of identical conditions.
|
||
|
||
* src/tgba/bdddict.hh (bdd_dict) <fv_map, vf_map, ref_set,
|
||
vr_map, free_annonymous_list_of_type>: Redeclare as std::map,
|
||
instead of Sgi::hash_map. It proved to be faster.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict) <fv_map, vf_map>:
|
||
Use the same definition as in bdd_dict.
|
||
* tgbaalgos/reachiter.hh, tgbaalgos/replayrun.cc: Explicitly
|
||
include misc/hash.hh.
|
||
|
||
Adjust Swig rules for Swig 1.3.24 (and probably 1.3.23 too).
|
||
Compiling the runtime in a separate modules is no longer required,
|
||
and actually it does not work anymore...
|
||
* wrap/python/swigpy.i: Remove.
|
||
* wrap/python/Makefile.am (_swigpy.la): Remove all references.
|
||
($(srcdir)/spot_wrap.cxx, $(srcdir)/buddy_wrap.cxx): Do not
|
||
use -noruntime.
|
||
|
||
2004-12-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Add option -P.
|
||
|
||
2004-12-14 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/ndfs_result.hh: Define the trace output stream.
|
||
|
||
2004-12-13 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/ndfs_result.hh: New file factorizing the computation of
|
||
accepting runs for ndfs emptiness check algoritms.
|
||
* src/tgbaalgos/Makefile.am: Add it.
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc,
|
||
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: Remove the old
|
||
result classes and use the new one.
|
||
|
||
2004-12-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/status.hh
|
||
(couvreur99_check_status::cycle_seed): New attribute.
|
||
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check::check,
|
||
couvreur99_check_shy::check): Fill cycle_seed.
|
||
* src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/ce.cc:
|
||
(couvreur99_check_result::accepting_run,
|
||
couvreur99_check_result::accepting_cycle): Revamp to compute a
|
||
cycle from the cycle_start, and then the shortest prefix to this
|
||
cycle.
|
||
|
||
* iface/gspn/ltlgspn.cc, iface/gspn/ssp.hh, iface/gspn/ssp.cc: Disable
|
||
the functions that were using the interface I have just broken.
|
||
|
||
* src/tgbaalgos/gtec/nsheap.hh (numbered_state_heap::find): Clarify
|
||
comment.
|
||
|
||
* src/tgba/tgbareduc.hh: Include tgbaalgos/gtec/nsheap.hh,
|
||
not tgbaalgos/gtec/status.hh.
|
||
|
||
2004-12-10 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/misc/timer.cc, src/tgbatest/randtgba.cc: Format the statistics.
|
||
|
||
2004-12-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/emptchkr.test: Tune the "big degeneralized" test
|
||
so it actually explore some accepting automata.
|
||
|
||
* src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/gtec.cc
|
||
(couvreur99_check_shy::couvreur99_check_shy): Add the group option,
|
||
and redefine todo as a list so it can be iterated over.
|
||
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Introduce
|
||
couvreur99_shy- (for group=false) in addition to couvreur99_shy
|
||
(for group=true).
|
||
* iface/gspn/ssp.cc (couvreur99_check_ssp_shy_semi,
|
||
couvreur99_check_ssp_shy): Use group=true;
|
||
|
||
* src/tgbaalgos/randomgraph.cc (random_graph): Do not use the
|
||
pointer of the state created as keys in sets; otherwise the graph
|
||
created depends on the memory layout.
|
||
|
||
2004-12-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::create_transition):
|
||
Make sure to create the source state before the destination state.
|
||
|
||
2004-12-08 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/emptiness.cc: Suppress a horrible space before a ')'.
|
||
|
||
2004-12-08 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc
|
||
(set_init_state): Return a pointer to the initial state.
|
||
|
||
* src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness.cc
|
||
(tgba_run_to_tgba): New function.
|
||
* src/tgbatest/ltl2tgba.cc: Add option -G.
|
||
|
||
2004-12-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): More comments.
|
||
|
||
* src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh
|
||
(tgba_explicit::create_transition(state*, const state*)): New function.
|
||
* src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh:
|
||
(random_graph): Revamp the algorithm to call rand() less often.
|
||
* src/tgbatest/randtgba.cc: Add option -0 to easy profiling.
|
||
|
||
* src/misc/random.hh: Add include guard.
|
||
|
||
2004-12-07 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/random.hh (nrand, bmrand, prand): New functions.
|
||
(barand): New class.
|
||
* src/misc/random.cc (nrand, bmrand, prand): New functions.
|
||
* wrap/python/spot.i: Process src/misc/random.hh.
|
||
|
||
* src/misc/timer.cc: Do not include cassert, then.
|
||
|
||
2004-12-07 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/tau03opt.cc: Fix a memory leak in the computation of
|
||
accepting runs
|
||
|
||
* src/misc/timer.hh: Include cassert.
|
||
|
||
2004-12-01 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/timer.cc: Include cassert.
|
||
|
||
2004-11-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/timer.hh, src/misc/timer.cc: New files.
|
||
* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
|
||
* src/tgbatest/randtgba.cc: Use time_map to measure the algorithms.
|
||
Add the -R option.
|
||
* src/sanity/style.sh: Let me use `for (.*;;)'.
|
||
|
||
2004-11-29 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/tau03opt.cc: Add a first version of the computation of
|
||
accepting runs
|
||
|
||
2004-11-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/minimizerun.cc, src/tgbaalgos/minimizerun.hh
|
||
(minimize_run): Rename as ...
|
||
* src/tgbaalgos/reducerun.cc, src/tgbaalgos/reducerun.hh:
|
||
(reduce_run): ... this.
|
||
* src/tgbaalgos/Makefile.am, src/tgbatest/ltl2tgba.cc,
|
||
src/tgbatest/randtgba.cc: Adjust all references.
|
||
|
||
* src/tgbatest/emptchkr.test: Try degeneralized automata.
|
||
* src/tgbatest/randtgba.cc (main): Pass the correct automaton to
|
||
minimize_run().
|
||
|
||
2004-11-28 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/equals.cc (main): Add option -E.
|
||
* src/ltltest/parseerr.test: Use `equals -E' instead of `readltl'
|
||
to check the parsing of erroneous strings without being sensible
|
||
to the ordering for formulae in memory.
|
||
|
||
* src/tgbatest/randtgba.cc (to_float): Use strtod() instead of
|
||
strtof() to please Solaris 9.
|
||
|
||
* configure.ac (AM_INIT_AUTOMAKE): Use option tar-ustar, we have
|
||
filenames longer than 99 bytes.
|
||
|
||
* wrap/python/tests/run.in: Do not override PYTHONPATH, just add
|
||
to it.
|
||
Report from Akim Demaille.
|
||
|
||
* src/sanity/style.test: Make sure grep supports the options put
|
||
into GREP_OPTIONS.
|
||
|
||
* wrap/python/tests/run.in: Define DYLD_LIBRARY_PATH so that
|
||
Darwin finds non-installed libraries.
|
||
Report from Akim Demaille.
|
||
|
||
* src/tgbatest/ltl2tgba.cc (syntax): Mention gv04 in help text.
|
||
|
||
2004-11-27 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/minimizerun.cc: Shut up a GCC warning when assert
|
||
are disabled.
|
||
|
||
2004-11-27 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/minimizerun.hh, src/tgbaalgos/minimizerun.cc: New
|
||
files.
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
|
||
libtgbaalgos_la_SOURCES): Add them/
|
||
* src/tgbatest/randtgba.cc, src/tgbatest/ltl2tgba.cc: Add option -m.
|
||
* src/tgbatest/emptchkr.test: Use -m.
|
||
|
||
2004-11-25 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
|
||
src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh,
|
||
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.hh,
|
||
src/tgbaalgos/tau03opt.cc: Fix comments and debug traces
|
||
|
||
* src/tgbatest/randtgba.cc: Adjust names of algorithms.
|
||
|
||
2004-11-25 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc: Add option -D.
|
||
|
||
* src/tgbaalgos/emptiness.hh (emptiness_check, emptiness_check_result):
|
||
Add the TGBA considered as a protected attribute, and provide an
|
||
automaton() accessor.
|
||
* src/tgbaalgos/gv04.cc, src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc,
|
||
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc,
|
||
src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/gtec.cc: Adjust to follow
|
||
this new interface.
|
||
|
||
2004-11-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: Revert
|
||
previous change (bfs_steps_with_path_conditions turned up
|
||
useless), and document bfs_step.
|
||
|
||
* src/tgbaalgos/bfssteps.hh (bfs_steps_with_path_conditions): New
|
||
class.
|
||
* src/tgbaalgos/bfssteps.cc: Remove includes that are now superfluous.
|
||
|
||
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run,
|
||
couvreur99_check_result::accepting_cycle): Rewrite the BFSs using
|
||
the bfs_steps class.
|
||
|
||
* src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: New files.
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
|
||
libtgbaalgos_la_SOURCES): Add them.
|
||
* src/tgbaalgos/gv04.cc (gv04::result::accepting_run): Use
|
||
the new bfs_steps class.
|
||
|
||
2004-11-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gv04.cc (gv04::result): New struct to compute
|
||
counter examples.
|
||
(gv04:check): Return a gv04::result.
|
||
|
||
2004-11-23 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/tau03opt.cc: Fix a warning.
|
||
|
||
2004-11-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gv04.cc (gv04): Inherit from ec_statistics.
|
||
(gv04::check, gv04::push, gv04::pop): Update the statistics for
|
||
randtgba.
|
||
(gv04::print_stats): Print them here too.
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check::check,
|
||
couvreur99_check_shy::check): Compute more statistics for
|
||
randtgba.
|
||
(couvreur99_check::print_stats): Print these here too.
|
||
|
||
* src/sanity/style.test: Allow "'" after ",".
|
||
|
||
* src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh: New files, partly
|
||
based on Thomas Martinez's src/tgbaalgos/tarjan_on_fly.cc and
|
||
src/tgbaalgos/tarjan_on_fly.hh former implementation.
|
||
* src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES,
|
||
tgbaalgos_HEADERS): Add them.
|
||
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Bind the
|
||
new algorithm.
|
||
* src/tgbatest/emptchk.test: Test it.
|
||
|
||
2004-11-22 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/emptiness_stats.hh, src/tgbaalgos/weight.cc,
|
||
src/tgbaalgos/weight.hh: New files.
|
||
* src/tgbaalgos/Makefile.am: Add them.
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc,
|
||
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc,
|
||
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/status.cc,
|
||
src/tgbaalgos/gtec/status.hh, : Add emptiness check statistics
|
||
capability.
|
||
* src/tgbatest/randtgba.cc: Print these statistics.
|
||
* src/tgbatest/ltl2tgba.cc: tau03opt search can deal without acceptance
|
||
condition.
|
||
* src/tgbatest/emptchk.test: Test tau03opt search.
|
||
|
||
2004-11-19 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc,
|
||
src/tgbaalgos/se05.hh, src/tgbaalgos/se05.cc,
|
||
src/tgbaalgos/tau03.hh, src/tgbaalgos/tau03.cc,
|
||
src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03opt.cc: Fix
|
||
copyright year, and do not include <iterator>.
|
||
|
||
2004-11-18 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/randtgba.cc (main): Add options -z and -Z for statistics.
|
||
(ce_stat): New struct.
|
||
|
||
2004-11-17 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/se05.hh, src/tgbaalgos/tau03.hh: Typo.
|
||
* src/tgbaalgos/tau03.cc: Suppress optimisations, the algorithm is now
|
||
the original one.
|
||
* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03opt.cc: New files
|
||
implementing most of all the optimisations of tau03.
|
||
* src/tgbaalgos/Makefile.am: Add them.
|
||
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Make them public.
|
||
* src/tgbatest/tba_samples_from_spin.test: Test them.
|
||
|
||
2004-11-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgba/tgba.hh, src/tgbaalgos/ltl2tgba_fm.hh,
|
||
src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/stats.hh: Typos.
|
||
|
||
* src/tgbatest/Makefile.am (EXTRA_DIST): Distribute the files
|
||
from tba_samples_from_spin.
|
||
* src/tgbatest/tba_samples_from_spin.test: Get these example files
|
||
from $srcdir, for the sake of VPATH builds.
|
||
(light_run): Remove, not needed.
|
||
|
||
* src/misc/bareword.hh, src/misc/bddalloc.hh, src/misc/bddlt.hh,
|
||
src/misc/escape.hh, src/misc/freelist.hh, src/misc/hash.hh,
|
||
src/misc/hashfunc.hh, src/misc/minato.hh, src/misc/modgray.hh,
|
||
src/misc/random.hh, src/misc/version.hh, src/tgba/state.hh: More
|
||
Doxygen groups.
|
||
|
||
2004-11-17 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.hh: Fix a comment and remove se05 interface.
|
||
* src/tgbaalgos/magic.cc: Fix a comment.
|
||
* src/tgbaalgos/se05.hh: New file.
|
||
* src/tgbaalgos/se05.cc: Fix a comment.
|
||
* src/tgbaalgos/tau03.hh: New file.
|
||
* src/tgbaalgos/tau03.cc: New file.
|
||
* src/tgbaalgos/Makefile.am: Add it.
|
||
* src/tgbatest/ltl2tgba.cc: Add tau03 new emptiness check.
|
||
* src/tgbatest/randtgba.cc: Add tau03 new emptiness check.
|
||
* src/tgbatest/emptchkr.test: Fix a comment.
|
||
* src/tgbatest/tba_samples_from_spin/explicit1_1.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit1_2.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit1_3.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit1_4.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit1_5.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit1_6.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit1_7.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit1_8.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit1_9.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_1.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_2.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_3.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_4.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_5.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_6.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_7.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_8.tba,
|
||
src/tgbatest/tba_samples_from_spin/explicit2_9.tba: New files
|
||
* src/tgbatest/tba_samples_from_spin.test : New test.
|
||
* src/tgbatest/Makefile.am: Add it.
|
||
|
||
2004-11-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgba/tgba.hh, src/tgbaalgos/dotty.hh,
|
||
src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh,
|
||
src/tgbaalgos/emptiness.hh, src/tgbaalgos/lbtt.hh,
|
||
src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh,
|
||
src/tgbaalgos/neverclaim.hh, src/tgbaalgos/powerset.hh,
|
||
src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.hh,
|
||
src/tgbaalgos/reachiter.hh, src/tgbaalgos/reductgba_sim.hh,
|
||
src/tgbaalgos/replayrun.hh, src/tgbaalgos/rundotdec.hh
|
||
src/tgbaalgos/save.hh, src/tgbaalgos/stats.hh,
|
||
src/tgbaparse/public.hh: Add Doxygen groups for TGBA algorithms.
|
||
|
||
* src/ltlast/atomic_prop.hh, src/ltlast/binop.hh,
|
||
src/ltlast/constant.hh, src/ltlast/formula.hh,
|
||
src/ltlast/multop.hh, src/ltlast/refformula.hh,
|
||
src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh,
|
||
src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
|
||
src/ltlparse/public.hh, src/ltlvisit/apcollect.hh,
|
||
src/ltlvisit/basicreduce.hh, src/ltlvisit/clone.hh,
|
||
src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh,
|
||
src/ltlvisit/dump.hh, src/ltlvisit/length.hh,
|
||
src/ltlvisit/lunabbrev.hh, src/ltlvisit/nenoform.hh: Add Doxygen
|
||
groups for LTL algorithms and types.
|
||
* doc/Makefile.am (fast-doc): New target.
|
||
|
||
* src/misc/hashfunc.hh: Include cstddef to define size_t, and guard
|
||
the file for multiple inclusions.
|
||
|
||
* src/tgba/bdddict.hh, src/tgba/state.hh, src/tgba/statebdd.hh,
|
||
src/tgba/succiter.hh, src/tgba/succiterconcrete.hh,
|
||
src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh,
|
||
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbaexplicit.hh,
|
||
src/tgba/tgbaproduct.hh, src/tgba/tgbareduc.hh,
|
||
src/tgba/tgbatba.hh, src/tgbaalgos/emptiness.hh,
|
||
src/tgbaalgos/magic.hh, src/tgbaalgos/replayrun.hh,
|
||
src/tgbaalgos/gtec/gtec.hh, iface/gspn/ssp.hh: Introduce Doxygen
|
||
groups in the documentation. Presently this only covers the
|
||
tgba/ directory, and the emptiness-check algorithms.
|
||
* doc/Doxyfile.in (EXCLUDE_PATTERNS): Skip Bison-generated files
|
||
in src/evtgbaparse/.
|
||
|
||
2004-11-16 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgba/tgbatba.hh (tgba_sba_proxy): New class, with the
|
||
functionality of the old tgba_tba_proxy.
|
||
* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator,
|
||
tgba_tba_proxy): Rewrite to produce TBA with at most N copies of
|
||
each state, skipping the `bddtrue' stage now used only in
|
||
tgba_sba_proxy. Doing so removes approximately 6% of states in
|
||
the degeneralized tests of spotlbtt.test.
|
||
(tgba_sba_proxy): Implement it.
|
||
* src/tgbaalgos/neverclaim.hh, src/tgbaalgos/neverclaim.cc: Adjust
|
||
to take a tgba_sba_proxy.
|
||
* src/tgbatest/ltl2tgba.cc: Add option -DS and adjust call to
|
||
never_claim_reachable().
|
||
|
||
* src/tgba/tgbatba.cc (state_tba_proxy::hash): Use wang32_hash.
|
||
* src/tgba/tgbaproduct.cc (state_product::hash): Likewise.
|
||
|
||
* src/misc/hashfunc.hh (wang32_hash): New file and function,
|
||
extracted from...
|
||
* src/evtgba/product.cc (evtgba_product_state::hash): ... here.
|
||
* src/misc/Makefile.am (misc_HEADERS): Add hashfunc.hh.
|
||
|
||
2004-11-15 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): For non-generalized emptiness
|
||
check, degeneralize the automaton only if it has too much
|
||
acceptance conditions. This makes it easier to reproduce runs
|
||
of randtgba.
|
||
* src/tgbatest/emptchk.test: Adjust.
|
||
|
||
2004-11-15 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.cc: Fix a stupid bug.
|
||
* src/tgbaalgos/se05.cc: Fix the same bug.
|
||
* src/tgbatest/Makefile.am: Signify that emptchkr.test pass.
|
||
|
||
2004-11-15 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* tgbatest/randtgba.cc: Add options -e and -r.
|
||
* tgbatest/emptchkr.test: New file.
|
||
* src/tgbatest/Makefile.am (TESTS, XFAIL_TESTS): Add emptchkr.test.
|
||
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Fix a memory leak
|
||
if debug==false.
|
||
|
||
* src/tgbaalgos/randomgraph.cc (random_graph): Do declare all the
|
||
acceptance conditions in the produced automaton, in case they are
|
||
not actually used.
|
||
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Write to the
|
||
supplied stream, not std::cout.
|
||
|
||
2004-11-15 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.cc: Add a bit state hashing version.
|
||
* src/tgbaalgos/se05.cc: Add a bit state hashing version.
|
||
* src/tgbaalgos/magic.hh: Make them public.
|
||
* src/tgbatest/ltl2tgba.cc: Add the two new emptiness checks.
|
||
* src/tgbatest/emptchk.test: Incorporate tests of src/tgbatest/dfs.test.
|
||
* src/tgbatest/dfs.test: Introduce new characteristic explicit tests.
|
||
|
||
2004-11-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Add options to check the produced
|
||
automata for emptiness, using the existing algorithms.
|
||
* wrap/python/spot.i: Declare spot::explicit_magic_search,
|
||
and spot::explicit_se05_search as allocating their output.
|
||
|
||
2004-11-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac: Check for srand48 and drand48.
|
||
* src/misc/random.cc (srand, drand): Use srand48 and drand48 if
|
||
available.
|
||
|
||
* src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh: New files.
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS)
|
||
(libtgbaalgos_la_SOURCES): Add them.
|
||
* src/tgba/tgbaexplicit.hh (tgba_explicit::add_state): Make it public.
|
||
* src/tgbatest/randtgba.cc: New file.
|
||
* src/tgbatest/Makefile.am (noinst_PROGRAMS, readsave_SOURCES): Add it.
|
||
* src/tgbatest/readsave.test: Check a random graph.
|
||
|
||
* misc/random.cc, misc/random.hh: New files.
|
||
* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
|
||
|
||
2004-11-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/evtgbaparse/public.hh (evtgba_parse): Fix doxygen comments.
|
||
* src/tgbaalgos/projrun.hh (project_tgba_run): Likewise.
|
||
|
||
* src/tgbaalgos/emptiness.hh (print_tgba_run): Document it.
|
||
|
||
* src/tgbaalgos/replayrun.hh,
|
||
src/tgbaalgos/replayrun.cc (replay_tgba_run): Take a `debug'
|
||
option to decide whether the output should look like that of
|
||
print_tgba_run() or a complete debug trace.
|
||
* src/tgbatest/ltl2tgba.cc (main): Call replay_tgba_run() with
|
||
debug=true.
|
||
|
||
* iface/gspn/ltlgspn.cc (main): Adjust to recent changes to
|
||
src/tgbaalgos/magic.cc, call explicit_magic_search() instead of
|
||
building a spot::magic_search.
|
||
* iface/gspn/udcseltl.test: Adjust to new output of print_tgba_run().
|
||
|
||
2004-11-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/Makefile.am (TESTS): Remove non-existing magic.test
|
||
and se05.test.
|
||
|
||
* src/tgbatest/ltl2tgba.cc (syntax): Fix old typos and reword
|
||
some help strings.
|
||
|
||
2004-11-09 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.cc: rewrite to externalize the heap and
|
||
prepare it to a bit state hashing version.
|
||
* src/tgbaalgos/magic.hh: adapt to the new interface of
|
||
magic_search and se05_search.
|
||
* src/tgbaalgos/se05.cc: new file.
|
||
* src/tgbaalgos/Makefile.am: Add it.
|
||
* src/tgbatest/ltl2tgba.cc: Add new emptiness check.
|
||
* src/tgbatest/emptchk.test: more tests.
|
||
* src/tgbatest/dfs.test: new file.
|
||
* src/tgbatest/Makefile.am: Add it.
|
||
|
||
2004-11-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptiness.cc (print_tgba_run): Output the
|
||
labels as formulae rather than bdd sets.
|
||
|
||
2004-11-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_path):
|
||
Rewrite as ...
|
||
(couvreur99_check_result::accepting_cycle): ... this less complex
|
||
implementation.
|
||
(couvreur99_check_result::complete_cycle): Delete.
|
||
* src/tgbatest/emptchke.test: More explicit examples.
|
||
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Do not leak
|
||
the initial state when no valid outgoing transition is found.
|
||
|
||
* src/tgbaparse/tgbaparse.yy: Add `%destructor's so the parser
|
||
does not leak on errors.
|
||
* src/tgbatest/ltl2tgba.cc: Free the automata if it could not be
|
||
fully parsed.
|
||
|
||
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run):
|
||
Remove spurious FIXME.
|
||
|
||
2004-11-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/evtgbaalgos/save.cc (save_bfs::output_acc_set): Sort
|
||
acceptance conditions in the output.
|
||
* src/evtgbatest/readsave.test, src/evtgbatest/product.test: Adjust.
|
||
|
||
* src/tgbaalgos/rundotdec.cc (tgba_run_dotty_decorator::link_decl):
|
||
Typo.
|
||
|
||
2004-11-04 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/neverclaim.cc (never_claim_bfs::process_link):
|
||
Adjust prototype.
|
||
|
||
* src/tgba/tgba.hh, src/tgba/tgba.cc
|
||
(tgba::number_of_acceptance_conditions): New method.
|
||
* src/tgbaalgos/lbtt.cc (lbtt_bfs::lbtt_bfs): Use it.
|
||
|
||
* wrap/python/spot.i: Generate bindings for tgbaalgos/dottydec.hh,
|
||
tgbaalgos/emptiness.hh, tgbaalgos/gtec/gtec.hh, and
|
||
tgbaalgos/rundotdec.hh.
|
||
|
||
* src/tgbaalgos/lbtt.cc (lbtt_bfs::process_link): Adjust prototype.
|
||
|
||
2004-11-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/dottydec.cc, src/tgbaalgos/dottydec.hh,
|
||
src/tgbaalgos/rundotdec.cc, src/tgbaalgos/rundotdec.hh: New files.
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
|
||
libtgbaalgos_la_SOURCES): Add them.
|
||
* src/tgbaalgos/dotty.hh (dotty_reachable): Take a dotty_decorator
|
||
as third parameter.
|
||
* src/tgbaalgos/dotty.cc (dotty_bfs::process_state,
|
||
dotty_bfs::process_link): Use the decorator.
|
||
* src/tgbatest/ltl2tgba.cc: Graph the accepting run if the -g option
|
||
is given.
|
||
* src/tgbatest/emptchk.test: Exercise -g.
|
||
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Add missing std::endl.
|
||
|
||
* tgbaalgos/reachiter.hh, tgbaalgos/reachiter.cc
|
||
(tgba_reachable_iterator::process_link): Take the state* as arguments
|
||
in addition to the state numbers.
|
||
* src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc
|
||
(tgba_explicit::copy_acceptance_conditions_of): New method.
|
||
* tgbaalgos/dupexp.cc (dupexp_iter::dupexp_iter): Call
|
||
copy_acceptance_conditions_of.
|
||
(dupexp_iter::process_state, duplex_iter::declare_state,
|
||
dupexp_iter::name_): Remove.
|
||
(dupexp_iter::process_link): Adjust prototype, and format
|
||
the state here rather than in process_state.
|
||
* tgbaalgos/stats.cc, tgbaalgos/dotty.cc: Adjust prototype
|
||
of process_link.
|
||
|
||
2004-11-02 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/reduce.hh (is_eventual, is_universal): More doc.
|
||
|
||
* src/tgbaalgos/projrun.hh, src/tgbaalgos/projrun.cc: New files.
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
|
||
libtgbaalgos_la_SOURCES): Add them.
|
||
* iface/gspn/ltlgspn.cc (main): Call project_tgba_run if -P.
|
||
|
||
* src/tgbaalgos/emptiness.cc,
|
||
src/tgbaalgos/emptiness.hh (print_tgba_run): Take the tgba*
|
||
argument before the tgba_run* argument (for consistency with
|
||
replay_tgba_run).
|
||
* src/tgbatest/ltl2tgba.cc, iface/gspn/ltlgspn.cc: Adjust
|
||
calls to print_tgba_run().
|
||
|
||
* src/ltlast/formula.hh (ltl::formula::~formula): Make it protected.
|
||
|
||
2004-10-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
A tgba can now annotate a transition (i.e., the position of a
|
||
tgba_succ_iterator) with some string. This comes handy to
|
||
associate that transition to its high-level name.
|
||
* src/tgba/tgba.hh, src/tgba/tgba.cc (tgba::transition_annotation):
|
||
New method.
|
||
* src/tgba/tgbaproduct.hh, src/tgba/tgbaproduct.cc
|
||
(tgba_product::transition_annotation): Implement it.
|
||
* src/tgba/tgbatba.hh, src/tgba/tgbatba.cc
|
||
(tgba_tba_proxy::transition_annotation): Likewise.
|
||
* src/tgbaalgos/replayrun.cc (print_annotation): New function.
|
||
(replay_tgba_run): Use it.
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc,
|
||
src/tgbaalgos/gtec/gtec.hh (couvreur99_check::print_stats): New.
|
||
* src/tgbatest/ltl2tgba.cc: Print emptiness-check statistics.
|
||
|
||
* src/sanity/style.test: Diagnose superfluous constructs such
|
||
as `if (x) delete x;'.
|
||
* iface/gspn/gspn.cc, iface/gspn/ssp.cc, src/ltlvisit/basicreduce.cc,
|
||
src/tgba/tgba.cc, src/tgba/tgbaproduct.cc, src/tgbaalgos/magic.cc,
|
||
src/tgbatest/ltl2tgba.cc: Remove such constructs.
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Replace -e, -E, -m, -M, and -n by
|
||
-eALGO and -EALGO to ease the addition of new algorithms.
|
||
* src/tgbatest/emptchk.test, src/tgbatest/emptchke.test: Adjust.
|
||
|
||
* src/misc/version.cc: Fix trailing whitespace.
|
||
* src/sanity/style.test: Diagnose trailing whitespace.
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Fix lines longer than 80 chars.
|
||
* src/sanity/80columns.test: Use expand to untabify, the previous
|
||
recipe was incomplete.
|
||
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Note duplicate states.
|
||
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Verify the run is
|
||
accepting.
|
||
|
||
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_path):
|
||
Initialize best_end to remove a spurious warning.
|
||
|
||
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run,
|
||
couvreur99_check_result::complete_cycle,
|
||
couvreur99_check_result::accepting_path): Record conditions and
|
||
acceptance conditions in the accepting run. Simplify the
|
||
todo BFS stack for accepting_run and complete_cycle.
|
||
* src/tgbatest/ltl2tgba.cc (main): Do use replay_tgba_run
|
||
now everything works.
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Be more verbose
|
||
when an outgoing transition is not found.
|
||
|
||
2004-10-28 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc (magic_search):
|
||
Record the acceptance conditions in the accepting run.
|
||
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Fix logic.
|
||
|
||
* src/tgbaalgos/replayrun.cc, src/tgbaalgos/replayrun.hh: New files.
|
||
Cannot test them because the run returned by the emptiness checks
|
||
are currently incomplete (they lack the acceptance conditions, and
|
||
sometimes even the labels in the prefix).
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
|
||
libtgbaalgos_la_SOURCES): Add them.
|
||
* src/tgbatest/ltl2tgba.cc (main): Prepare to use replay_tgba_run
|
||
when the emptiness checks are fixed.
|
||
|
||
2004-10-27 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
Introduce an emptiness-check interface, and modify the existing
|
||
algorithms to conform to it, uniformly. This will unfortunately
|
||
break third-party code that were using these algorithms.
|
||
* src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh: New files.
|
||
* src/tgbaalgos/Makefile.am: New files.
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh: Adjust to
|
||
conform to the new emptiness-check interface.
|
||
* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh,
|
||
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
|
||
src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh:
|
||
Likewise. The classes have been renamed are as following
|
||
emptiness_check -> couvreur99_check
|
||
emptiness_check_shy -> couvreur99_check_shy
|
||
emptiness_check_status -> couvreur99_check_status
|
||
counter_example -> couvreur99_check_result
|
||
* src/tgbatest/ltl2tgba.cc, iface/gspn/ltlgspn.cc, iface/gspn/ssp.hh,
|
||
iface/gspn/ssp.cc: Adjust to renaming and new interface.
|
||
|
||
* src/evtgbaalgos/tgba2evtgba.cc, src/evtgbaalgos/tgba2evtgba.hh:
|
||
New files.
|
||
* src/evtgbaalgos/Makefile.am (evtgbaalgos_HEADERS,
|
||
libevtgbaalgos_la_SOURCES): Add them.
|
||
* src/evtgbatest/ltl2evtgba.cc, src/evtgbatest/ltl2evtgba.test:
|
||
New files.
|
||
* src/evtgbatest/Makefile.am (check_PROGRAMS, TESTS): Add them.
|
||
(ltl2evtgba_SOURCES): New variable.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Do not assert
|
||
that the true state has only one link when unobs is used.
|
||
|
||
2004-10-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/evtgbatest/Makefile.am (CLEANFILES): New variable.
|
||
|
||
2004-10-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
Preliminary support for Event-based GBA.
|
||
* src/evtgba/Makefile.am, src/evtgba/evtgba.cc,
|
||
src/evtgba/evtgba.hh, src/evtgba/evtgbaiter.hh,
|
||
src/evtgba/explicit.cc, src/evtgba/explicit.hh,
|
||
src/evtgba/product.cc, src/evtgba/product.hh,
|
||
src/evtgba/symbol.cc, src/evtgba/symbol.hh,
|
||
src/evtgbaalgos/Makefile.am, src/evtgbaalgos/dotty.cc,
|
||
src/evtgbaalgos/dotty.hh, src/evtgbaalgos/reachiter.cc,
|
||
src/evtgbaalgos/reachiter.hh, src/evtgbaalgos/save.cc,
|
||
src/evtgbaalgos/save.hh, src/evtgbaparse/Makefile.am,
|
||
src/evtgbaparse/evtgbaparse.yy, src/evtgbaparse/evtgbascan.ll,
|
||
src/evtgbaparse/fmterror.cc, src/evtgbaparse/parsedecl.hh,
|
||
src/evtgbaparse/public.hh, src/evtgbatest/Makefile.am,
|
||
src/evtgbatest/defs.in, src/evtgbatest/explicit.cc,
|
||
src/evtgbatest/explicit.test, src/evtgbatest/product.cc,
|
||
src/evtgbatest/product.test, src/evtgbatest/readsave.cc,
|
||
src/evtgbatest/readsave.test: New files.
|
||
* configure.ac: Create the Makefiles in these new subdirectories.
|
||
* src/Makefile.am: Recurse them.
|
||
|
||
* src/misc/bareword.hh, src/misc/bareword.cc (quote_unless_bare_word):
|
||
New function.
|
||
|
||
* src/ltlvisit/tostring.cc (to_spin_string_visitor): Move to
|
||
anonymous namespace.
|
||
|
||
2004-10-21 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/Makefile.am (_spot_la_SOURCES): Add spot_wrap.h.
|
||
|
||
2004-10-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/modgray.hh (loopless_modular_mixed_radix_gray_code::done,
|
||
loopless_modular_mixed_radix_gray_code::last): Declare as const.
|
||
|
||
* src/misc/bareword.hh, src/misc/bareword.cc: New files.
|
||
* src/misc/Makefile.am (libmisc_la_SOURCES, misc_HEADERS): Add them.
|
||
|
||
* src/misc/modgray.hh, src/misc/modgray.cc: New files.
|
||
* src/misc/Makefile.am (libmisc_la_SOURCES, misc_HEADERS): Add them.
|
||
* wrap/python/spot.i: Activate directors, and interface modgray.hh.
|
||
* wrap/python/tests/modgray.py: New file.
|
||
* wrap/python/tests/Makefile.am (TESTS): Add it.
|
||
|
||
2004-10-18 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/gspn.cc, src/ltlvisit/basicreduce.cc,
|
||
src/ltlvisit/destroy.cc, src/ltlvisit/dotty.cc,
|
||
src/ltlvisit/dump.cc, src/ltlvisit/length.cc,
|
||
src/ltlvisit/nenoform.cc, src/ltlvisit/reduce.cc,
|
||
src/ltlvisit/syntimpl.cc, src/ltlvisit/tostring.cc,
|
||
src/tgba/formula2bdd.cc, src/tgba/tgbabddconcreteproduct.cc,
|
||
src/tgba/tgbatba.cc, src/tgbaalgos/dotty.cc,
|
||
src/tgbaalgos/dupexp.cc, src/tgbaalgos/lbtt.cc,
|
||
src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/neverclaim.cc,
|
||
src/tgbaalgos/save.cc, src/tgbaalgos/stats.cc,
|
||
src/tgbaalgos/gtec/nsheap.cc, src/tgbaalgos/gtec/nsheap.hh:
|
||
Declare private classes and helper function in anonymous namespaces.
|
||
* HACKING, src/sanity/style.test: Document and check this.
|
||
Also check for trailing { after namespace or class.
|
||
* src/ltlast/predecl.hh, src/ltlast/visitor.hh,
|
||
src/tgba/tgbareduc.hh: Fix trailing {.
|
||
|
||
2004-10-15 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/ce.cc: Reinstall change from 2004-09-21.
|
||
|
||
Back out all Thomas's changes on emptiness checks since
|
||
2004-08-23. Some of these will need to be reintegrated more
|
||
slowly and cleanly.
|
||
|
||
* src/tgbaalgos/Makefile.am, src/tgbaalgos/gtec/ce.cc,
|
||
src/tgbaalgos/gtec/ce.hh, src/tgbatest/Makefile.am,
|
||
src/tgbatest/emptchk.test, src/tgbatest/ltl2tgba.cc: Revert.
|
||
* src/tgbaalgos/colordfs.cc, src/tgbaalgos/colordfs.hh,
|
||
src/tgbaalgos/minimalce.cc, src/tgbaalgos/minimalce.hh,
|
||
src/tgbaalgos/nesteddfs.cc, src/tgbaalgos/nesteddfs.hh,
|
||
src/tgbaalgos/nesteddfsgen.cc, src/tgbaalgos/nesteddfsgen.hh,
|
||
src/tgbaalgos/tarjan_on_fly.cc, src/tgbaalgos/tarjan_on_fly.hh:
|
||
Delete.
|
||
|
||
2004-10-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/reduc.test: Do source ./defs. Revert mistaken
|
||
change from 2004-09-13.
|
||
|
||
* src/tgbatest/explicit.test: Typo.
|
||
|
||
2004-10-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
The computation of the counter example fails the valgrind tests
|
||
and is wrong into two ways: the search stack is generally not a
|
||
path, and does not run until the end of the STL container.
|
||
Remove it.
|
||
* src/tgbaalgos/tarjan_on_fly.cc, src/tgbaalgos/tarjan_on_fly.hh
|
||
(tarjan_on_fly): Do not inherit from the emptiness_search class,
|
||
because the check method will no longer return a counter example.
|
||
(tarjan_on_fly::check): Return only a boolean.
|
||
(tarjan_on_fly::build_counter): Delete.
|
||
* src/tgbatest/ltl2tgba.cc: Adjust.
|
||
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit_succ_iterator::current_state,
|
||
tgba_explicit_succ_iterator::current_condition,
|
||
tgba_explicit_succ_iterator::current_accepting_conditions): Assert
|
||
the iteration is not finished.
|
||
|
||
2004-10-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/tests/run.in: Typo. From Akim Demaille.
|
||
|
||
2004-10-11 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac: Empty CFLAGS and CXXFLAGS.
|
||
* m4/debug.m4: Update CXXFLAGS too.
|
||
|
||
2004-10-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* doc/Doxyfile.in: Upgrade to Doxygen 1.3.9.
|
||
|
||
2004-09-27 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/sanity/style.test: Suggest using "x->y", not "(*x).y".
|
||
* src/tgbaalgos/tarjan_on_fly.cc: Fix.
|
||
|
||
2004-09-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/sanity/style.test: Suggest ++i over i++ when it does not
|
||
matter, for consistency.
|
||
* src/tgbaalgos/tarjan_on_fly.cc, iface/gspn/ssp.cc,
|
||
src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.cc,
|
||
src/tgbaalgos/minimalce.cc, src/tgba/tgbareduc.cc: Adjust.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): New unobs argument.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Handle unobs.
|
||
* src/tgbatest/ltl2tgba.cc (syntax, main): New -U option.
|
||
|
||
2004-09-21 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/colordfs.hh, src/tgbaalgos/minimalce.cc,
|
||
src/tgbaalgos/minimalce.hh, src/tgbaalgos/nesteddfs.hh,
|
||
src/tgbaalgos/tarjan_on_fly.hh, src/tgbatest/ltl2tgba.cc: Rename
|
||
emptyness_search to emptiness_search.
|
||
|
||
* src/sanity/style.test: Warn about places where size() is used
|
||
instead of empty().
|
||
* src/misc/bddalloc.cc (bdd_allocator::extend): Use empty() rather
|
||
than size() when checking emptiness of lists.
|
||
* src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/minimalce.cc,
|
||
src/ltlvisit/basicreduce.cc, src/ltlvisit/reduce.cc,
|
||
src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/ltl2tgba_fm.cc,
|
||
src/misc/minato.cc: Likewise.
|
||
* src/ltlast/multop.cc (multop::instance): Call ->size() only once.
|
||
|
||
2004-09-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
Update to SWIG 1.3.22.
|
||
* wrap/python/libpy.c: Delete.
|
||
* wrap/python/swigpy.i: New file.
|
||
* wrap/python/Makefile.am (swigpy_wrap.c): Build this from swigpy.i
|
||
and use it instead of libpy.c.
|
||
|
||
* INSTALL, lbtt/INSTALL: New upstream version.
|
||
|
||
2004-09-14 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/emptchk.test
|
||
src/tgbaalgos/tarjan_on_fly.hh,
|
||
src/tgbaalgos/tarjan_on_fly.cc,
|
||
src/tgbaalgos/nesteddfs.hh,
|
||
src/tgbaalgos/nesteddfs.cc,
|
||
src/tgbaalgos/minimalce.hh,
|
||
src/tgbaalgos/minimalce.cc: To correct a bug.
|
||
|
||
* src/ltltest/reduc.test (FICH): bad file name.
|
||
|
||
2004-09-13 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/nesteddfsgen.hh src/tgbaalgos/nesteddfsgen.cc:
|
||
New algorithm for emptiness check.
|
||
|
||
* src/tgbatest/spotlbtt.test,
|
||
src/tgbatest/reductgba.cc,
|
||
src/tgbatest/ltl2tgba.cc:
|
||
Add option for reduction of TGBA.
|
||
|
||
* src/tgbatest/emptchk.test, src/tgbaalgos/Makefile.am,
|
||
src/tgbaalgos/tarjan_on_fly.hh, src/tgbaalgos/tarjan_on_fly.cc,
|
||
src/tgbaalgos/nesteddfs.hh, src/tgbaalgos/nesteddfs.cc,
|
||
src/tgbaalgos/minimalce.hh, src/tgbaalgos/minimalce.cc,
|
||
src/tgbaalgos/colordfs.hh, src/tgbaalgos/colordfs.cc:
|
||
Remove some bugs.
|
||
|
||
src/tgbaalgos/gtec/ce.cc:
|
||
Modification of construction of counter example.
|
||
|
||
* src/tgbaalgos/reductgba_sim.hh src/tgbaalgos/reductgba_sim.cc,
|
||
src/tgbaalgos/reductgba_sim_del.cc,
|
||
src/tgba/tgbareduc.hh, src/tgba/tgbareduc.cc:
|
||
Modification for delayed simulation.
|
||
|
||
|
||
2004-08-23 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/tarjan_on_fly.hh,
|
||
src/tgbaalgos/tarjan_on_fly.cc,
|
||
src/tgbaalgos/nesteddfs.hh,
|
||
src/tgbaalgos/nesteddfs.cc,
|
||
src/tgbaalgos/minimalce.hh,
|
||
src/tgbaalgos/minimalce.cc,
|
||
src/tgbaalgos/colordfs.hh,
|
||
src/tgbaalgos/colordfs.cc: four new algorithms for emptiness check.
|
||
|
||
* src/tgbaalgos/gtec/ce.hh,
|
||
src/tgbaalgos/gtec/ce.cc: Adapt the counter exemple for the ce
|
||
object in minimalce.hh.
|
||
|
||
* src/tgbatest/ltl2tgba.cc,
|
||
src/tgbatest/emptchk.test,
|
||
src/tgbaalgos/Makefile.am: Add files for emptiness-check.
|
||
|
||
2004-08-23 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/reductgba_sim_del.cc: Restrict to degeneralize automata.
|
||
* src/tgba/tgbareduc.hh: src/tgba/tgbareduc.cc: Merge transition
|
||
for scc reduce.
|
||
|
||
2004-08-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0y.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0x.
|
||
|
||
2004-08-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* doc/Doxyfile.in (GENERATE_TAGFILE): Build spot.tag.
|
||
* doc/Makefile.am (dist_pkgdata_DATA): Add spot.tag.
|
||
|
||
* src/tgbatest/ltl2tgba.cc (syntax): Typo.
|
||
|
||
* doc/Doxyfile.in (STRIP_FROM_PATH): Strip @srcdir@ so its
|
||
does not appear when listing mainpage.dox.
|
||
|
||
2004-08-11 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh:
|
||
Typos in Doxygen comments.
|
||
|
||
2004-08-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/apcollect.hh: Fix include guard. Report from Denis.
|
||
* src/sanity/includes.test: Include files twice to check include
|
||
guards.
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Fix another gcc warning in case
|
||
assert() is disabled.
|
||
|
||
* src/Makefile.am (nodist_EXTRA_libspot_la_SOURCES): New variable,
|
||
to force C++ linking.
|
||
|
||
* iface/gspn/ltlgspn.cc: Fix a gcc warning in case assert() is
|
||
disabled.
|
||
|
||
2004-08-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/apcollect.cc, src/ltlvisit/apcollect.hh: New files,
|
||
based on code from <Denis.Poitrenaud@lip6.fr>.
|
||
* src/ltlvisit/Makefile.am (libltlvisit_la_SOURCES, ltlvisit_HEADERS):
|
||
Add them.
|
||
|
||
* iface/gspn/common.cc, iface/gspn/common.hh,
|
||
src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
|
||
src/ltlparse/fmterror.cc, src/ltlparse/public.hh,
|
||
src/ltlvisit/dotty.cc, src/ltlvisit/dotty.hh,
|
||
src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
|
||
src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh,
|
||
src/misc/escape.cc, src/misc/escape.hh, src/tgba/bdddict.cc,
|
||
src/tgba/bdddict.hh, src/tgba/bddprint.cc, src/tgba/bddprint.hh,
|
||
src/tgbaalgos/dotty.cc, src/tgbaalgos/dotty.hh,
|
||
src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh,
|
||
src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh,
|
||
src/tgbaalgos/save.cc, src/tgbaalgos/save.hh,
|
||
src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh,
|
||
src/tgbaparse/fmterror.cc, src/tgbaparse/public.hh: Include <iosfwd>
|
||
in headers, and prefer <ostream> in the body whenever possible.
|
||
* src/sanity/style.test, HACKING: Check and document this.
|
||
|
||
* src/ltlast/allnodes.hh, src/ltlast/atomic_prop.hh,
|
||
src/ltlast/binop.hh, src/ltlast/constant.hh,
|
||
src/ltlast/formula.hh, src/ltlast/multop.hh,
|
||
src/ltlast/predecl.hh, src/ltlast/refformula.hh,
|
||
src/ltlast/unop.hh, src/ltlast/visitor.hh: Use \file to introduce
|
||
each file.
|
||
|
||
* doc/Doxyfile.in (STRIP_FROM_INC_PATH): Define, so that the
|
||
`#include' references are correct.
|
||
|
||
* README: Update.
|
||
|
||
* m4/gccoptim.m4: Compute optimization flags for CXX too.
|
||
|
||
* m4/ndebug.m4: Update CPPFLAGS, not CFLAGS.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Document all
|
||
parameters.
|
||
* src/tgbaalgos/ltl2tgba_lacim.hh (ltl_to_tgba_lacim): Likewise.
|
||
|
||
2004-08-07 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac: Call AC_PROG_CC and AM_PROG_CC_C_O.
|
||
* wrap/python/Makefile.am (_buddy_la_LDFLAGS): Move libspotswigpy.la ...
|
||
(_buddy_la_LIBADD): ... here.
|
||
|
||
2004-08-02 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* lbtt/: Merge lbtt 1.1.2.
|
||
|
||
2004-07-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* lbtt/: Merge lbtt 1.1.1.
|
||
|
||
2004-07-26 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* doc/Doxyfile.in: Update for Doxygen 1.3.8.
|
||
|
||
2004-07-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac: Call AC_LIBTOOL_WIN32_DLL
|
||
* src/Makefile.am (libspot_la_LDFLAGS): Add -no-undefined.
|
||
|
||
2004-07-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/explicit.test: Do not use `-i', it's not needed
|
||
and it is wrong to put it after `-e'. Caught by Denis too.
|
||
|
||
* src/ltltest/reduc.test: Use `test a = b' not `test a == b'.
|
||
Reported by <Denis.Poitrenaud@lip6.fr> (failure on Cygwin).
|
||
|
||
2004-07-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/defs.in (VALGRIND): Specify --tool=memcheck for
|
||
compatibility with valgrind 2.1.x.
|
||
* src/ltltest/defs.in (VALGRIND): Likewise.
|
||
|
||
2004-07-16 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* m4/gccwarn.m4: Do not check nor use -Wstrict-prototypes.
|
||
g++-3.4 complains it makes no sense in C++.
|
||
|
||
* iface/gspn/ssp.cc: Typos.
|
||
|
||
* iface/gspn/gspn.cc (tgba_succ_iterator_gspn::tgba_succ_iterator_gspn):
|
||
Set size_ to 1 when stuttering is needed, so that done() does not
|
||
return true immediately.
|
||
|
||
2004-07-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/gtec.hh: Typos in comments.
|
||
|
||
2004-07-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgba/state.hh (state_ptr_equal, state_ptr_hash): Fix Doxygen
|
||
example.
|
||
|
||
* src/tgbaalgos/reductgba_sim.hh (parity_game_graph_delayed,
|
||
reduc_tgba_sim): Fix warnings about Doxygen comment.
|
||
* src/ltlvisit/reduce.hh (reduce): Likewise.
|
||
|
||
* doc/footer.html: New file, link to RefDocComments on the wiki.
|
||
* doc/Doxyfile.in (HTML_FOOTER): Use footer.html.
|
||
* doc/Makefile.am (EXTRA_DIST): Add footer.html.
|
||
|
||
* THANKS: Fill in.
|
||
|
||
* src/tgbatest/ltl2baw.pl: Do not use -T anymore. Fix comments.
|
||
|
||
2004-07-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
lbtt 1.1.0 supports TGBAs, use that and remove old workarounds.
|
||
* src/tgbaalgos/lbtt.cc (state_acc_pair, state_acc_pair_equal,
|
||
state_acc_pair_hash, acp_seen_map, todo_set, seen_map, fill_todo
|
||
lbtt_reachable): Remove.
|
||
(nonacceptant_lbtt_bfs): Rename as ...
|
||
(lbtt_bfs): ... this, and adjust to output acceptance conditions
|
||
on transitions.
|
||
(nonacceptant_lbtt_reachable): Rename as ...
|
||
(lbtt_reachable): ... this.
|
||
* src/tgbaalgos/lbtt.hh (nonacceptant_lbtt_reachable): Delete.
|
||
* src/tgbatest/ltl2tgba.cc: Suppress option "-T".
|
||
|
||
Patch from Heikki Tauriainen <heikki.tauriainen@hut.fi>.
|
||
* src/tgbaalgos/gtec/ce.cc (counter_example::counter_example): Do
|
||
not parenthesize the type after the new operator (g++ 3.4 complains).
|
||
* src/tgbaalgos/dupexp.cc (dupexp_iter::process_state,
|
||
dupexp_iter::declare_state): Use this->automata_<61>instead of
|
||
automata_. Local protected member automata_ inherited from
|
||
template base class must be prefixed or g++ 3.4 will not look it
|
||
up (conforming to <20>14.6.2.3).
|
||
|
||
2004-07-07 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* lbtt/: Merge lbtt 1.1.0.
|
||
* src/tgbatest/spotlbtt.test: Adjust config file syntax to
|
||
please lbtt 1.1.0.
|
||
|
||
* src/tgbaalgos/gtec/gtec.hh (emptiness_check_shy::find_state): Add
|
||
comments.
|
||
* iface/gspn/ssp.cc (emptiness_check_shy_ssp::find_state): Likewise.
|
||
Soheib and I had a hard time figuring why we did this...
|
||
|
||
2004-07-02 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh,
|
||
src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh,
|
||
src/tgbaalgos/reductgba_sim_del.cc: Remove some comments.
|
||
|
||
* src/tgbatest/ltl2tgba.cc, src/tgbatest/reductgba.cc: Adjust ...
|
||
* src/tgbatest/spotlbtt.test: More test (delayed simulation)
|
||
|
||
2004-06-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0w.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0v.
|
||
|
||
2004-06-28 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/reduccmp.test: Bug.
|
||
|
||
* src/tgbatest/reductgba.test: More Test.
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Adjust ...
|
||
* src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.hh,
|
||
src/tgbaalgos/reductgba_sim.cc: try to optimize.
|
||
|
||
* src/tgba/tgbareduc.hh, src/tgba/tgbareduc.cc: Scc reduction
|
||
and we remove some acceptance condition in scc which are not accepting.
|
||
* src/ltlvisit/syntimpl.cc : Some case wasn't detect.
|
||
* src/ltlvisit/basicreduce.cc: Case FGa || FGb = F(Ga | Gb) added.
|
||
* src/ltltest/syntimpl.test: More Test.
|
||
* src/ltltest/syntimpl.cc: Put the formula in negative normal form.
|
||
|
||
2004-06-28 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* buddy/: Merge buddy-2-3.
|
||
|
||
2004-06-25 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Degeneralize before
|
||
the simulations.
|
||
|
||
2004-06-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/tostring.cc (is_bare_word): New function.
|
||
(to_string_visitor::visitor(const atomic_prop*)): Use is_bare_word
|
||
to better check which atomic proposition need to be quoted.
|
||
* src/ltlparse/ltlscan.ll: Do not allow identifiers starting with F_
|
||
or G_.
|
||
* src/ltltest/equals.test, src/ltltest/tostring.test: More tests.
|
||
|
||
* src/tgba/tgbatba.cc (tgba_tba_proxy::format_state): Use
|
||
bdd_format_accset to print the acceptance condition part of the state.
|
||
That produces more readable output.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Add "Formula Simplications" options.
|
||
* wrap/python/spot.i: Wrap src/ltlvisit/reduce.hh.
|
||
|
||
* src/ltlvisit/simpfg.cc, src/ltlvisit/simpfg.hh: New files,
|
||
extracted from ...
|
||
* src/ltlvisit/lunabbrev.cc: ... this one, which now work as documented
|
||
again.
|
||
* src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc: Adjust to call
|
||
simplify_f_g() in addition to unabbreviate_logic().
|
||
* src/ltlvisit/Makefile.am (ltlvisit_HEADERS, libltlvisit_la_SOURCES):
|
||
Add simpfg.cc and simpfg.hh.
|
||
|
||
* src/ltlvisit/reducform.hh, src/ltlvisit/reducform.cc: Rename to ...
|
||
* src/ltlvisit/reduce.hh, src/ltlvisit/reduce.cc: ... this, to match
|
||
the function name.
|
||
* ltltest/equals.cc, ltltest/reduc.cc, ltlvisit/Makefile.am,
|
||
tgbatest/ltl2tgba.cc, tgbatest/reductgba.cc: Adjust filenames.
|
||
|
||
* src/ltlvisit/basicreduce.cc (basic_reduce_visitor::visit(binop*)):
|
||
Factorize.
|
||
|
||
* src/ltlvisit/basicreduce.hh: New file, extracted from ...
|
||
* src/ltlvisit/reducform.hh: ... here.
|
||
* src/ltlvisit/basereduc.cc: Rename as ...
|
||
* src/ltlvisit/basicreduce.cc: ... this, to match the function name.
|
||
* src/ltlvisit/Makefile.am (ltlvisit_HEADERS, libltlvisit_la_SOURCES):
|
||
Adjust filenames.
|
||
* src/ltlvisit/reducform.cc: Adjust includes.
|
||
|
||
* src/ltlvisit/lunabbrev.hh: Revert superfluous change from
|
||
2004-05-10.
|
||
|
||
2004-06-22 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/ltlvisit/reducform.cc, src/tgba/tgbareduc.cc,
|
||
src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh
|
||
src/tgbaalgos/reductgba_sim_del.cc, src/tgbatest/reduccmp.test,
|
||
src/tgbatest/reductgba.cc: 80 columns and style.
|
||
|
||
2004-06-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/sanity/style.test: Typo.
|
||
|
||
2004-06-22 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc, src/tgbaalgos/reductgba_sim_del.cc,
|
||
src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/reductgba_sim.cc:
|
||
bug in delayed simulation.
|
||
|
||
* src/tgbatest/reduccmp.test, src/tgbatest/reductgba.test,
|
||
src/tgba/tgbareduc.cc: bug in scc reduction.
|
||
|
||
2004-06-21 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/reductgba.test, src/tgba/tgbareduc.cc:
|
||
There is bug in reduction with scc.
|
||
* src/tgbatest/reduccmp.test: More test.
|
||
|
||
2004-06-17 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/reductgba.test: Wrong test are removed.
|
||
|
||
2004-06-17 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/spotlbtt.test: We don't check the post-reduction
|
||
with scc and delayed simulation.
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Adjust parameters.
|
||
* src/tgbatest/reductgba.cc, src/tgbatest/Makefile.am: More Test.
|
||
* src/tgbaalgos/reductgba_sim_del.cc: Not finish, lot of bugs.
|
||
* src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/reductgba_sim.cc:
|
||
Remove some useless comments.
|
||
* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh: Bug in SCC.
|
||
|
||
* src/ltlvisit/reducform.cc: Correct some bug for multop.
|
||
* src/ltltest/reduc.cc: Thinko
|
||
* src/ltltest/equals.cc: Reduction compare
|
||
|
||
2004-06-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ssp.cc (emptiness_check_shy_ssp::find_state): Free s.
|
||
This fixes a memory leak observed by Soheib Baarir.
|
||
|
||
2004-06-16 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/reductgba.cc, src/tgbatest/reductgba.test: Test for
|
||
reduction of tgba.
|
||
|
||
2004-06-15 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Add some option for the reduction of
|
||
automata.
|
||
* src/tgbatest/spotlbtt.test, src/tgbatest/Makefile.am: Add some
|
||
test for reduction of automata.
|
||
* src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.cc,
|
||
src/tgbaalgos/reductgba_sim.hh: Compute some simulation relation
|
||
to reduce a tgba.
|
||
* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh: A implementation
|
||
of tgba for the reduction.
|
||
* src/tgbaalgos/Makefile.am, src/tgba/Makefile.am:
|
||
Add the reduction of automata.
|
||
* src/ltlvisit/syntimpl.cc, src/ltlvisit/basereduc.cc:
|
||
Lot of mistake are corrected.
|
||
* src/ltlvisit/syntimpl.hh, src/ltlvisit/reducform.cc,
|
||
src/ltlvisit/reducform.hh, src/ltltest/reduc.cc: Adjust.
|
||
* src/ltltest/equals.cc, src/ltltest/reduccmp.test,
|
||
src/ltltest/Makefile.am: Add a test for reduction.
|
||
|
||
2004-06-02 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/common.cc, iface/gspn/common.hh: Remove the
|
||
class gspn_environment, and move it to ...
|
||
* src/ltlenv/declenv.cc, src/ltlenv/declenv.hh: .. this new file
|
||
as class declarative_environment.
|
||
* src/ltlenv/Makefile.am (ltlenv_HEADERS): Add declenv.hh.
|
||
(libltlenv_la_SOURCES): Add declenv.cc.
|
||
* iface/gspn/dottygspn.cc, iface/gspn/dottyssp.cc,
|
||
iface/gspn/gspn.cc, iface/gspn/gspn.hh, iface/gspn/ltlgspn.cc,
|
||
iface/gspn/ssp.cc, iface/gspn/ssp.hh: Adjust references
|
||
to declarative_environment.
|
||
|
||
* HACKING, src/sanity/style.test: NULL is not portable, prohibit it.
|
||
* iface/gspn/ssp.cc, src/ltltest/reduc.cc, src/ltltest/syntimpl.cc,
|
||
src/ltlvisit/basereduc.cc, src/ltlvisit/reducform.cc,
|
||
src/ltlvisit/syntimpl.cc: Use 0 instead of NULL.
|
||
|
||
2004-06-01 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/inf.cc, src/ltltest/inf.test: Rename as ...
|
||
* src/ltltest/syntimpl.cc, src/ltltest/syntimpl.test: ... these.
|
||
* src/ltltest/Makefile.am: Adjust.
|
||
* src/ltlvisit/forminf.cc: Rename as...
|
||
* src/ltlvisit/syntimpl.cc: ... this.
|
||
* src/ltlvisit/syntimpl.hh: New file with definitions extracted
|
||
from ...
|
||
* src/ltlvisit/reducform.hh: ... this one.
|
||
* src/ltlvisit/Makefile.am, src/ltlvisit/reducform.cc: Adjust.
|
||
|
||
2004-05-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/forminf.cc (form_eventual_universal_visitor,
|
||
inf_form_right_recurse_visitor, inf_form_left_recurse_visitor): Rename
|
||
as ...
|
||
(eventual_universal_visitor, inf_right_recurse_visitor,
|
||
inf_left_recurse_visitor): ... these.
|
||
(is_GF, is_FG): Move ...
|
||
* src/ltlvisit/basereduc.cc (is_GF, is_FG): ... here, since they
|
||
are only used here.
|
||
(basic_reduce_form, basic_reduce_form_visitor): Rename as ...
|
||
(basic_reduce, basic_reduce_visitor): ... these.
|
||
* src/ltlvisit/reducform.cc (reduce_form_visitor): Rename as ...
|
||
(reduce_visitor): ... this.
|
||
* src/ltltest/inf.cc: Adjust calls.
|
||
* src/sanity/style.test: Improve missing-space after coma detection.
|
||
|
||
2004-05-26 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/reducform.cc (reduce_form_visitor::visit(constant)):
|
||
Simplify.
|
||
|
||
* src/ltlvisit/basereduc.cc, src/ltlvisit/reducform.cc: Use
|
||
dynamic_cast instead of node_type_form_visitor, this is usually
|
||
smaller.
|
||
* src/ltlvisit/reducform.hh,
|
||
src/ltlvisit/forminf.cc (node_type_form_visitor): Delete.
|
||
* src/sanity/style.test: Two more checks.
|
||
|
||
2004-05-25 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/formlength.cc: Rename as ...
|
||
* src/ltlvisit/length.cc: ... this.
|
||
* src/ltlvisit/length.hh: New file, extracted from ...
|
||
* src/ltlvisit/reducform.hh: ... here.
|
||
* src/ltlvisit/Makefile.am (ltlvisit_HEADERS): Add length.hh.
|
||
(libltlvisit_la_SOURCES): Rename formlength.cc as length.cc.
|
||
* src/ltltest/reduc.cc: Include length.hh.
|
||
|
||
* src/ltlvisit/formlength.cc (length_form_vistor): Rename as ..
|
||
(length_visitor): ... this.
|
||
(form_length): Rename as ...
|
||
(length): ... this.
|
||
* src/ltlvisit/reducform.hh (form_length): Rename as ...
|
||
(length): ... this.
|
||
* src/ltltest/reduc.cc: Adjust.
|
||
|
||
* src/ltlvisit/basereduc.cc, src/ltlvisit/formlength.cc: Remove
|
||
useless includes.
|
||
|
||
* AUTHORS: Update.
|
||
|
||
* src/ltlvisit/reducform.hh: Update Doxygen comments for
|
||
previous change.
|
||
|
||
* src/ltlvisit/reducform.hh (option): Rename as ...
|
||
(reduce_options): ... this, and use it as a bit field so
|
||
option can be combined easily.
|
||
(reduce): Adjust argument.
|
||
(reduce_form): Remove, not needed anymore.
|
||
* src/ltlvisit/reducform.cc, src/ltltest/reduc.cc,
|
||
src/tgbatest/ltl2tgba.cc: Adjust.
|
||
|
||
* src/sanity/style.test: Catch {.*{ and }.*}.
|
||
* src/sanity/80columns.test: Untabify files.
|
||
* iface/gspn/ltlgspn.cc, src/ltlvisit/basereduc.cc: Fix long lines.
|
||
|
||
* src/ltlvisit/basereduc.cc, src/ltlvisit/reducform.cc,
|
||
src/ltlvisit/forminf.cc: Remove superfluous spot::ltl:: prefixes.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Typos.
|
||
|
||
2004-05-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/sanity/style.test: Catch `;'-not-followed-by-space.
|
||
* src/ltlvisit/reducform.cc, src/ltlvisit/forminf.cc: Fix style.
|
||
|
||
* src/ltlvisit/reducform.hh: Fix some Doxygen comments.
|
||
|
||
* src/tgbatest/ltl2tgba.cc (syntax): Keep options sorted.
|
||
|
||
* src/sanity/Makefile.am (EXTRA_DIST): Distribute 80columns.test
|
||
and style.test.
|
||
|
||
* src/ltltest/Makefile.am (EXTRA_DIST): Distribute formulae.txt.
|
||
* src/ltltest/formulae.txt: New file (2200 LTL formulea generated
|
||
by Wring).
|
||
* src/ltltest/formules.ltl: Delete.
|
||
* src/reduc.test: Read formulae.txt.
|
||
|
||
2004-05-24 Soheib Baarir <Souheib.Baarir@lip6.fr>
|
||
|
||
* iface/gspn/ssp.hh (gspn_ssp_interface::gspn_ssp_interface): Add
|
||
the `inclusion' flag.
|
||
* iface/gspn/ssp.cc (gspn_ssp_interface::gspn_ssp_interface): Call
|
||
inclusion_version when inclusion is set.
|
||
* iface/gspn/ltlgspn.cc (main) [SSP]: Turn on inclusion for -e3,
|
||
-e4, and -e5.
|
||
|
||
2004-05-21 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/gspn.cc (tgba_gspn_private_): Define alive_prop,
|
||
and dead_prop from the dead argument passed to the constructor.
|
||
(tgba_succ_iterator_gspn): Stutter on dead transitions.
|
||
(tgba_gspn::tgba_gspn): Hand dead to tgba_gspn_private_.
|
||
(gspn_interface::gspn_interface): Hand dead to tgba_gspn.
|
||
* iface/gspn/gspn.hh (gspn_interface::gspn_interface): Take a
|
||
dead argument.
|
||
* iface/gspn/ltlgspn.cc [!SSP]: Add a option -d to specify the
|
||
dead property.
|
||
* iface/gspn/udcseltl.test: Try option -d.
|
||
|
||
* src/sanity/style.test: Check the iface/ tree too.
|
||
* iface/gspn/gspn.cc, iface/gspn/ssp.cc: Fix style.
|
||
|
||
* src/sanity/80columns.test: Check the iface/ tree too.
|
||
* iface/gspn/dcswaveltl.test, iface/gspn/dcswavefm.test,
|
||
iface/gspn/dcswaveeltl.test, iface/gspn/udcsltl.test,
|
||
iface/gspn/udcseltl.test, iface/gspn/udcsfm.test,
|
||
iface/gspn/udcsefm.test: Wrap to fit 80 columns.
|
||
|
||
2004-05-18 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* doc/Makefile.am (EXTRA_DIST, spot.html): Built the html
|
||
documentation in $(srcdir) since it is distributed.
|
||
* doc/Doxyfile.in (HTML_OUTPUT): Likewise. Upgrade to Doxygen 1.3.7.
|
||
|
||
2004-05-17 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/ltlvisit/basereduc.cc, src/ltltest/inf.cc (main): Style.
|
||
|
||
* src/ltlvisit/basereduc.cc (spot): 80 columns.
|
||
* src/ltlvisit/reducform.cc (spot), src/ltltest/inf.cc,
|
||
src/ltltest/reduc.cc (main), src/ltlvisit/reducform.hh,
|
||
src/tgbatest/ltl2tgba.cc (main): More option.
|
||
* src/ltltest/inf.test: More test.
|
||
|
||
2004-05-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/buddy.i: Define typemap for input_buf and use it
|
||
for fdd_extdomain. Define const_int_ptr and use it for fdd_vars.
|
||
|
||
* src/misc/bddalloc.cc (bdd_allocator::varnum): Suppress.
|
||
(bdd_allocator::bdd_allocator): Adjust.
|
||
(bdd_allocator::extvarnum): Always call bdd_varnum(), so that
|
||
it doesn't matter if the number of variable has been augmented
|
||
externally.
|
||
* src/misc/bddalloc.hh (bdd_allocator::varnum): Suppress.
|
||
|
||
* src/ltlvisit/formlength.cc: Fix style to please sanity checks.
|
||
|
||
* src/ltlvisit/lunabbrev.cc: Fix style to please sanity checks.
|
||
|
||
* src/tgbaalgos/neverclaim.cc: Fix them.
|
||
* sanity/style.test: Diagnose semicolons with leading spaces.
|
||
|
||
* src/ltlvisit/forminf.cc: Fix style to please sanity checks.
|
||
Also avoid node_type_form_visitor where a dynamic_cast is done.
|
||
|
||
2004-05-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/buddy.i: Preliminary bindings for FDD and BVEC.
|
||
|
||
* ltltest/inf.cc, ltltest/reduc.cc, ltlvisit/reducform.cc: Fix style.
|
||
* sanity/style.test: More tests.
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Fix style.
|
||
* HACKING: Mention `else if'.
|
||
|
||
* src/tgbaalgos/neverclaim.cc (never_claim_bfs): Do not output
|
||
space before colon, and do not output the top-level formula using
|
||
Spin's syntax.
|
||
|
||
2004-05-14 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Thinko.
|
||
|
||
* src/ltlvisit/basereduc.cc (spot): Correct some mistakes.
|
||
* src/ltlvisit/lunabbrev.cc (spot): Nothing change.
|
||
* src/tgbatest/ltl2tgba.cc (main): More option to reduce
|
||
formula.
|
||
* src/tgbatest/spotlbtt.test: One more test.
|
||
|
||
2004-05-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/tostring.cc (to_spin_string_visitor,
|
||
to_string_visitor): Do not parenthesize the top-level formula.
|
||
* tgbatest/explicit.test, tgbatest/explpro2.test,
|
||
tgbatest/explpro3.test, tgbatest/explprod.test,
|
||
tgbatest/readsave.test, tgbatest/tgbaread.test,
|
||
tgbatest/tripprod.test: Adjust expected output.
|
||
* sanity/style.test: Fix regexes to catch an error seen in
|
||
tostring.cc.
|
||
|
||
* src/tgbaalgos/gtec/gtec.cc (emptiness_check::remove_component):
|
||
Do not try to erase state that are not found in H.
|
||
Report from Soheib Baarir.
|
||
|
||
* src/ltltest/reduc.test: Use ./defs and clean result.data.
|
||
* src/ltltest/Makefile.am (CLEANFILES): Clean result.data.
|
||
|
||
2004-05-13 Thomas Martinez <martinez@src.lip6.fr>
|
||
|
||
* src/ltlvisit/Makefile.am: Copyright 2004.
|
||
* src/ltltest/inf.test: More test.
|
||
* src/ltlvisit/basereduc.cc, src/ltlvisit/forminf.cc (spot):
|
||
Use dynamic_cast.
|
||
* src/ltlvisit/reducform.cc, src/ltlvisit/reducform.hh,
|
||
src/ltltest/reduc.test, src/ltltest/reduc.cc: Add an option
|
||
to choose which rules applies to simplify the formula.
|
||
|
||
2004-05-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/reduc.test: Typo.
|
||
|
||
* src/ltlparse/ltlparse.yy (OP_POST_NEG, OP_POST_POS): New tokens.
|
||
(subformula): Recognize `ATOMIC_PROP OP_POST_POS' and
|
||
`ATOMIC_PROP OP_POST_NEG'.
|
||
* src/ltlparse/ltlscan.ll: Introduce the not_prop start condition,
|
||
to restrict the set of atomic propositions allowed in places
|
||
where they are not expected. Make `true' and `false' case insensitive.
|
||
* src/ltltest/parse.test, src/ltltest/tostring.test: More cases.
|
||
* src/ltlvisit/tostring.cc (to_string_visitor): Quote atomic
|
||
propositions equal to "true" or "false".
|
||
|
||
2004-05-11 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/Makefile.am (TESTS): Run inf.test and reduc.test last.
|
||
|
||
* src/ltltest/reduc.test: POSIXify.
|
||
|
||
2004-05-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/sanity/style.test: New file.
|
||
* src/sanity/Makefile.am (check-local): Run it.
|
||
* src/ltlvisit/nenoform.cc, src/ltlvisit/tostring.cc,
|
||
src/tgba/bdddict.cc, src/tgba/bddprint.cc, src/tgba/tgba.cc,
|
||
src/tgba/tgbaproduct.cc, src/tgbaalgos/lbtt.cc,
|
||
src/tgbaalgos/magic.cc, src/tgbaalgos/powerset.cc,
|
||
src/tgbaalgos/reachiter.cc, src/tgbaalgos/gtec/ce.cc,
|
||
src/tgbaalgos/gtec/gtec.cc, src/tgbatest/ltl2tgba.cc: Fix style
|
||
issues reported by style.test.
|
||
|
||
* src/ltltest/inf.cc, src/ltltest/inf.test, src/ltltest/reduc.test,
|
||
src/ltlvisit/formlength.cc, src/ltlvisit/reducform.cc,
|
||
src/ltlvisit/reducform.hh: Fix copyright year, these files were
|
||
created in 2004.
|
||
|
||
* src/sanity/80columns.test: New file.
|
||
* src/sanity/Makefile.am (check-local): Run it.
|
||
* src/ltltest/equals.test, src/ltltest/lunabbrev.test,
|
||
src/ltltest/nenoform.test, src/ltltest/parseerr.test
|
||
src/ltltest/tunabbrev.test, src/ltltest/reduc.cc,
|
||
src/ltltest/tunabbrev.test, src/ltlvisit/forminf.cc,
|
||
src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
|
||
src/tgbatest/explprod.test, src/tgbatest/spotlbtt.test,
|
||
src/tgbatest/tripprod.test: Wrap long lines.
|
||
|
||
2004-05-10 Thomas MARTINEZ <martinez@abacus.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (main): Add a option for reduce the formula.
|
||
|
||
* src/ltltest/formules.ltl: A pattern of 2000 formulas.
|
||
* src/ltltest/inf.test: Test some case of implies.
|
||
* src/ltltest/inf.cc: Test some case of implies.
|
||
* src/ltltest/reduc.test: Test reduction of a file of formula.
|
||
* src/ltltest/reduc.cc: Test reduction of a formula.
|
||
|
||
* src/ltlvisit/formlength.cc: Gives the lenght of a formula.
|
||
* src/ltlvisit/forminf.cc: To know if a formula implies an other.
|
||
* src/ltlvisit/basereduc.cc: Implement only basic reduction.
|
||
* src/ltlvisit/reducform.cc: Implement reduction.
|
||
* src/ltlvisit/reducform.hh: To reduce a formula.
|
||
|
||
2004-05-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Refine
|
||
fair_loop_approximation when branching postponement is not used.
|
||
|
||
Cache formula translations, and canonize formulae before doing
|
||
branching postponement.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (formula_canonizer): New class, with
|
||
bits extracted from fill_dests and ltl_to_tgba_fm.
|
||
(fill_dests, ltl_to_tgba_fm): Adjust to use formula_canonizer.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add argument
|
||
fair_loop_approx.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Implement the
|
||
fair_loop_approx optimization.
|
||
(ltl_promise_visitor, ltl_possible_fair_loop_visitor,
|
||
possible_fair_loop_checker): New classes.
|
||
* src/tgbatest/ltl2tgba.cc: Add the -L option.
|
||
* src/tgbatest/spotlbtt.test: Exercise fair_loop_approx.
|
||
* wrap/python/cgi/ltl2tgba.in: Make it an option.
|
||
|
||
2004-05-07 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add argument
|
||
branching_postponement.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (fill_dests): New function, extracted
|
||
from ltl_to_tgba_fm().
|
||
(ltl_to_tgba_fm): Implement the branching_postponement optimization.
|
||
* src/tgbatest/ltl2tgba.cc: Add the -p option.
|
||
* src/tgbatest/spotlbtt.test: Exercise branching postponement.
|
||
* wrap/python/cgi/ltl2tgba.in: Make it an option.
|
||
|
||
2004-05-04 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc: Add a superfluous return to pacify
|
||
some GCC version. Report from Denis Poitrenaud.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Fix output HTML.
|
||
|
||
2004-05-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Clone and then
|
||
free all formulae entered into canonical_succ, to avoid errors
|
||
when a formula is entered into canonical_succ but not into
|
||
formulae_seen.
|
||
* src/tgbatest/ltl2tgba.test: Add a new test, and check with -f.
|
||
Report from Thomas Martinez.
|
||
|
||
2004-04-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0u.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0t.
|
||
* HACKING: Update tools requirements.
|
||
* src/sanity/Makefile.am (EXTRA_DIST): Distribute includes.test.
|
||
|
||
* src/sanity/Makefile.am, src/sanity/includes.test: New files.
|
||
* src/Makefile.am (SUBDIRS): Add sanity.
|
||
* configure.ac: Output src/sanity/Makefile.in.
|
||
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Move ltl2tgba ...
|
||
(noinst_PROGRAMS): ... here.
|
||
* iface/gspn/Makefile.am (check_PROGRAMS): Rename as ...
|
||
(noinst_PROGRAMS): ... this.
|
||
|
||
2004-04-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/explicit.test: Reorder bdd variables in output.
|
||
Report from Denis Poitrenaud.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Print degeneralized statistics
|
||
when show_never_claim. Change the title to LTL-to-TGBA.
|
||
Suggested by Denis Poitrenaud.
|
||
|
||
2004-04-21 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/cgi/ltl2tgba.in (print_footer): Make ltl2tgba.py's
|
||
version a separate variable.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Pass the formula to
|
||
never_claim_reachable, and cgi.escape its output.
|
||
Lighten the color a bit.
|
||
|
||
* src/tgbaalgos/gtec/ce.hh, src/misc/freelist.hh,
|
||
src/tgba/bddprint.hh: Fix Doxygen comments.
|
||
|
||
* src/tgbaalgos/neverclaim.hh (never_claim_reachable): Document
|
||
arguments.
|
||
* src/tgbaalgos/neverclaim.cc (never_claim_bfs::state_is_accepting):
|
||
New method.
|
||
(never_claim_bfs::get_state_label, never_claim_bfs::process_state):
|
||
Use it.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Use darker color and introduce
|
||
the new variable dot_bgcolor.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in (add_options): Revamp options output
|
||
using this new function.
|
||
|
||
* wrap/python/spot.i: Process tgbaalgos/neverclaim.hh.
|
||
* wrap/python/cgi/ltl2tgba.in: Display the never claim on demand.
|
||
|
||
2004-04-21 Denis Poitrenaud <Denis.Poitrenaud@lip6.fr>
|
||
|
||
* src/ltlvisit/tostring.hh (to_spin_string): New function.
|
||
Convert a formula into a string parsable by Spin.
|
||
* src/tgbaalgos/neverclaim.hh, src/tgbaalgos/neverclaim.cc: New files.
|
||
Print the never claim in Spin format of a degeneralized TGBA.
|
||
* src/tgbaalgos/Makefile.am: Add them.
|
||
* src/tgbatest/ltl2tgba.cc: Add the option -N which outputs the
|
||
never claim in Spin format of a degeneralized TGBA.
|
||
* src/tgbatest/ltl2neverclaim.test: New file.
|
||
* src/tgbatest/Makefile.am: Add it.
|
||
|
||
2004-04-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/defs.in, src/tgbatest/defs.in: Correctly set exitcode
|
||
when valgrind is not used.
|
||
Reported by Denis Poitrenaud.
|
||
|
||
* src/tgba/tgba.hh (tgba::succ_iter): Doco.
|
||
* src/tgba/tgbatba.hh (tgba_tba_proxy::state_is_accepting): Document
|
||
it.
|
||
Reported by Denis Poitrenaud.
|
||
|
||
2004-04-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ltlgspn.cc (main) [SSP]: Use the standard
|
||
counter-example computation for -e5 too.
|
||
|
||
* iface/gspn/ltlgspn.cc (main) [!SSP]: Do not accept -e3, -e4, or -e5.
|
||
(main) [SSP]: Use the standard counter-example computation
|
||
for -e and -e1.
|
||
|
||
2004-04-15 Soheib Baarir <Souheib.Baarir@lip6.fr>
|
||
Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
Rename EESRG as SSP.
|
||
* iface/gspn/eesrg.cc, iface/gspn/eesrg.hh,
|
||
iface/gspn/dottyeesrg.cc: Rename as ...
|
||
* iface/gspn/ssp.cc, iface/gspn/ssp.hh, iface/gspn/dottyssp.cc:
|
||
... these. Adjust all classes and function names.
|
||
* iface/gspn/ltlgspn.cc, iface/gspn/Makefile.am: Adjust all classes
|
||
filenames and function names.
|
||
* m4/gspnlib.m4: Define WITH_GSPN_SSP and LIBGSPNSSP_LDFLAGS.
|
||
|
||
* src/tgbaalgos/gtec/nsheap.cc (numbered_state_heap_hash_map::find):
|
||
Rewrite.
|
||
(numbered_state_heap_hash_map::index): New functions.
|
||
(numbered_state_heap_hash_map::filter): Delete.
|
||
* src/tgbaalgos/gtec/nsheap.hh
|
||
(numbered_state_heap_hash_map::index): New functions.
|
||
(numbered_state_heap_hash_map::filter): Delete.
|
||
* iface/gspn/eesrg.cc (numbered_state_heap_eesrg_semi::find,
|
||
numbered_state_heap_eesrg_semi::index): Rewrite.
|
||
(numbered_state_heap_eesrg_semi::filter): Remove.
|
||
* src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/ce.cc:
|
||
Adjust to use find() and index() instead of filter()..
|
||
|
||
|
||
* iface/gspn/eesrg.cc (connected_component_eesrg::has_state):
|
||
Free filtered states.
|
||
(emptiness_check_shy_eesrg): New class.
|
||
(emptiness_check_eesrg_shy): New function.
|
||
* iface/gspn/eesrg.hh (emptiness_check_eesrg_shy): New function.
|
||
* iface/gspn/ltlgspn.cc (main) [EESRG]: Handle -e3, -e4, and -e5.
|
||
* * src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/gtec.cc
|
||
(emptiness_check_shy::check): Move arc, num, succ_queue, and todo
|
||
as attributes.
|
||
(emptiness_check_shy::find_state): New virtual function.
|
||
|
||
2004-04-14 Soheib Baarir <Souheib.Baarir@lip6.fr>
|
||
Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ltlgspn.cc (connected_component_eesrg,
|
||
connected_component_eesrg_factory, numbered_state_heap_eesrg_semi,
|
||
numbered_state_heap_eesrg_const_iterator,
|
||
numbered_state_heap_eesrg_factory_semi): New classes.
|
||
(emptiness_check_eesrg_semi, emptiness_check_eesrg_shy_semi,
|
||
counter_example_eesrg): New functions.
|
||
* iface/gspn/eesrg.hh (emptiness_check_eesrg_semi,
|
||
emptiness_check_eesrg_shy_semi, counter_example_eesrg): New
|
||
functions.
|
||
* iface/gspn/ltlgspn.cc [EESRG]: Adjust to call these new functions.
|
||
|
||
2004-04-14 Soheib Baarir <Souheib.Baarir@lip6.fr>
|
||
|
||
* iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg,
|
||
state_gspn_eesrg): Compute the array of all successors of the
|
||
right state beforehand, pass it to Greatspn (left automata) at
|
||
once, let it compute the resulting synchronized arcs, and iterate
|
||
on that result.
|
||
|
||
2004-04-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/gtec/nsheap.hh (numbered_state_heap_factory,
|
||
numbered_state_heap_hash_map_factory): New class.
|
||
* src/tgbaalgos/gtec/nsheap.cc (numbered_state_heap_hash_map_factory):
|
||
Implement it.
|
||
* src/tgbaalgos/gtec/gtec.hh (emptiness_check::emptiness_check,
|
||
emptiness_check_shy::emptiness_check_shy): Take a
|
||
numbered_state_heap_factory argument.
|
||
* tgbaalgos/gtec/status.hh
|
||
(emptiness_check_status::emptiness_check_status): Likewise.
|
||
(emptiness_check_status::h): Make it a numbered_state_heap*.
|
||
* src/tgbaalgos/gtec/ce.cc, tgbaalgos/gtec/gtec.cc,
|
||
tgbaalgos/gtec/status.cc: Adjust uses of ecs_->h.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/emptinesscheck.cc:
|
||
Delete and split into ...
|
||
* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh,
|
||
src/tgbaalgos/gtec/explscc.cc, src/tgbaalgos/gtec/explscc.hh,
|
||
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
|
||
src/tgbaalgos/gtec/nsheap.cc, src/tgbaalgos/gtec/nsheap.hh,
|
||
src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh,
|
||
src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh: ...
|
||
these new files.
|
||
* src/tgbaalgos/gtec/Makefile.am: New file.
|
||
* src/tgbaalgos/Makefile.am (SUBDIRS, libtgbaalgos_la_LIBADD):
|
||
Recurse into gtec and link gtec/libgtec.la.
|
||
(tgbaalgos_HEADERS, libtgbaalgos_la_SOURCES): Remove emptinesscheck.hh
|
||
and emptinesscheck.cc.
|
||
* configure.ac: Output src/tgbalagos/gtec/Makefile.
|
||
* iface/gspn/ltlgspn.cc, src/tgbatest/ltl2tgba.cc: Update includes.
|
||
* README: Update tree description.
|
||
|
||
2004-04-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh (numbered_state_heap_const_iterator,
|
||
numbered_state_heap, numbered_state_heap_hash_map): New classes.
|
||
* src/tgbaalgos/emptinesscheck.cc
|
||
(numbered_state_heap_hash_map_const_iterator): New class.
|
||
(numbered_state_heap_hash_map): Implement it.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh
|
||
(explicit_connected_component_factory,
|
||
connected_component_hash_set_factory): New classes.
|
||
(counter_example::counter_example): Take an
|
||
explicit_connected_component_factory factory argument.
|
||
* src/tgbaalgos/emptinesscheck.cc: Adjust.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh (explicit_connected_component):
|
||
New class.
|
||
(counter_example::connected_component_set): Rename as ...
|
||
(connected_component_hash_set): ... this, and inherit from
|
||
explicit_connected_component.
|
||
(counter_example::accepting_path, counter_example::complete_cycle):
|
||
Take an explicit_connected_component argument instead of a
|
||
connected_component_set.
|
||
* src/tgbaalgos/emptinesscheck.cc: Adjust.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh
|
||
(counter_example::connected_component_set::has_state): Return
|
||
a const state* and behave like h_filt.
|
||
* src/tgbaalgos/emptinesscheck.cc: Adjust.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::check2): Move
|
||
into ...
|
||
(emptiness_check_shy): This new subclass of emptiness_check.
|
||
* src/tgbaalgos/emptinesscheck.cc, src/tgbatest/ltl2tgba.cc,
|
||
iface/gspn/ltlgspn.cc: Adjust.
|
||
|
||
* src/tgba/bdddict.hh (bdd_dict::annon_free_list): Hide from Swig.
|
||
|
||
* src/tgbaalgo/semptinesscheck.hh (counter_example): New class,
|
||
extracted from ...
|
||
(emptiness_check): ... here.
|
||
* src/tgbaalgos/emptinesscheck.cc, src/tgbatest/ltl2tgba.cc,
|
||
iface/gspn/ltlgspn.cc: Adjust.
|
||
|
||
* wrap/python/Makefile.am ($(srcdir)/spot_wrap.cxx)
|
||
($(srcdir)/buddy_wrap.cxx): Use -noruntime instead of -c.
|
||
|
||
* src/tgbaalgo/semptinesscheck.hh (emptiness_check_status): New class,
|
||
extracted from ...
|
||
(emptiness_check): ... here.
|
||
* src/tgbaalgos/emptinesscheck.cc: Adjust.
|
||
|
||
* src/tgbaalgo/semptinesscheck.hh (scc_stack): New class, extracted
|
||
from ...
|
||
(emptiness_check): ... here.
|
||
(emptiness_check::root): Redefined as a scc_stack object.
|
||
* src/tgbaalgos/emptinesscheck.cc: Adjust.
|
||
|
||
2004-04-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::complete_cycle):
|
||
Do not visit a state more than once. Report from Soheib Baarir.
|
||
|
||
2004-03-25 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict): Reuse Acc and Var
|
||
variables from a shared bdd_dict. Register Next variables as
|
||
anonymous variables.
|
||
(translate_dict::translate_dict, translate_dict::~translate_dict,
|
||
translate_dict::register_proposition,
|
||
translate_dict::register_a_variable,
|
||
translate_dict::register_next_variable,
|
||
translate_dict::dump, translate_dict::var_to_formula,
|
||
ltl_to_tgba_fm): Adjust.
|
||
(translate_dict::dict): New attribute.
|
||
(translate_dict::a_map, translate_dict::a_formula_map,
|
||
translate_dict::var_map, translate_dict::var_formula_map): Delete.
|
||
|
||
* src/misc/freelist.cc (free_list::remove): Work around
|
||
invalidated iterators.
|
||
* tgba/bdddict.cc (unregister_variable): New methods,
|
||
extracted from ...
|
||
(bdd_dict::unregister_all_my_variables): ... here.
|
||
* tgba/bdddict.hh (unregister_variable): Declare them.
|
||
|
||
2004-03-23 Alexandre DURET-LUTZ <adl@src.lip6.fr>
|
||
|
||
* src/misc/freelist.hh (free_list::remove, free_list::insert): New
|
||
methods.
|
||
* src/misc/freelist.cc (free_list::register_n,
|
||
free_list::releases_n): Rewrite using free_list::remove and
|
||
free_list::insert.
|
||
(free_list::remove, free_list::insert): New methods.
|
||
* src/tgba/bdddict.hh (bdd_dict::register_anonymous_variables):
|
||
New method.
|
||
(bdd_dict::annon_free_list): New subclass.
|
||
(bdd_dict::free_annonymous_list_of_type_of): New attribute.
|
||
* src/tgba/bdddict.cc (bdd_dict::register_all_variables_of,
|
||
bdd_dict::unregister_all_my_variables): Handle anonymous variables
|
||
too.
|
||
(bdd_dict::register_anonymous_variables,
|
||
bdd_dict::annon_free_list::annon_free_list,
|
||
bdd_dict::annon_free_list::extend): New methods.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::accepting_path)
|
||
Fix handling of PATH when backtracking. Report from Soheib Baarir.
|
||
|
||
2004-03-18 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
Move the free_list management into a separate class for reuse.
|
||
|
||
* src/misc/freelist.hh, src/misc/freelist.cc: New files.
|
||
* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
|
||
* src/misc/bddalloc.hh (bdd_allocator): Inherit from free_list and
|
||
make dump_free_list visible.
|
||
* src/misc/bddalloc.cc (bdd_allocator::allocate_variables): Move
|
||
all the code into free_list::register_n() and
|
||
bdd_allocator::extend(), and call the former.
|
||
(bdd_allocator::release_variables): Move all the code into
|
||
free_list::release_n() and call it.
|
||
(bdd_allocator::extend): New method.
|
||
* src/tgba/bdddict.cc (bdd_dict::dump): Call dump_free_list;
|
||
|
||
2004-03-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0s.
|
||
|
||
2004-03-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0r.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm) <exprop>: Do not
|
||
blindly enumerate all combinations of atomic properties; initially
|
||
set all_props to the set of all possibly satisfiable combinations.
|
||
|
||
2004-02-21 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* lbtt/src/Makefile.am (lbtt_translate_SOURCES): Fix leftover
|
||
from 1.0.3 merge.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Process ltl2tgba.opt if it exists.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Color translators and their options.
|
||
|
||
2004-02-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Present the options in a table.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Remove the "print dot" options,
|
||
add a "dot source" source behind each picture instead. Do
|
||
not run `dot' on big automata.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Fix example
|
||
in comment. Skip false transitions, and do not compute
|
||
sub-formulae reachable only via false transitions.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Revert
|
||
yesterday's change. This optimization is NOT covered by exprop.
|
||
In fact it could be generalized.
|
||
|
||
2004-02-19 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Remove the
|
||
cond_for_true optimization. It is covered by exprop.
|
||
|
||
* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator::current_state):
|
||
Fix reference to Oddoux's thesis.
|
||
|
||
2004-02-16 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add the
|
||
symb_merge argument.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Likewise.
|
||
* src/tgbatest/ltl2tgba.cc (main): Rename -fx as -x, and add -y
|
||
to unset symb_merge.
|
||
* wrap/python/cgi/ltl2tgba.in: Remove the exprop version
|
||
of the FM translator, make exprop and symb_merge options.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_trad_visitor::visit) <unop::G>:
|
||
suppress the GFy optimisation introduced on 2003-11-26, it is
|
||
generalized by the identification of states with same symbolic
|
||
rewriting introduced on 2004-02-02.
|
||
|
||
* lbtt/: Merge lbtt 1.0.3.
|
||
|
||
2004-02-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2baw.pl (END): Ensure LTL2TGBA is always
|
||
closed.
|
||
|
||
2004-02-11 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (syntax): Recognize "-" as input
|
||
filename for the formula. Merge the transitions of automata
|
||
read with -X.
|
||
* src/tgbatest/spotlbtt.test: Add many disabled algorithms.
|
||
It is convenient to reuse the `config' file created by this
|
||
test when making statistics.
|
||
* src/tgbatest/ltl2baw.pl: New file.
|
||
* src/tgbatest/Makefile.am (EXTRA_DIST): Add ltl2baw.pl.
|
||
|
||
2004-02-10 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/libpy.c: Update from Swig 1.3.21.
|
||
* HACKING: Update versions.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Take an exprop
|
||
argument. Consider all possible combinations of propositions when
|
||
generating arcs. Suggested by Jean-Michel Couvreur.
|
||
* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Adjust.
|
||
* src/tgbatest/ltl2tgba.cc: Honor -fx.
|
||
* src/tgbatest/spotlbtt.test: Exercise -fx.
|
||
* wrap/python/cgi/ltl2tgba.in: Support Couvreur/FM with exploded
|
||
properties.
|
||
|
||
2004-02-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlparse/ltlparse.yy: Typo.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Use render_dot when
|
||
showing formula.
|
||
* wrap/python/cgi/README: Mention unique_id.
|
||
|
||
2004-02-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
This should help getting accurate statistics (on both the
|
||
formula automaton and the synchronized product) from LBTT.
|
||
Idea from Jean-Michel Couvreur.
|
||
|
||
* src/tgbaalgos/lbtt.cc (nonacceptant_lbtt_bfs): New class.
|
||
(nonacceptant_lbtt_reachable): New function.
|
||
* src/tgbaalgos/lbtt.hh (nonacceptant_lbtt_reachable): New
|
||
function.
|
||
* src/tgbatest/ltl2tgba.cc (main): Call nonacceptant_lbtt_reachable
|
||
if the -T option is used.
|
||
* src/tgbatest/spotlbtt.test: Setup the -T variants, disabled by
|
||
default.
|
||
|
||
2004-02-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/lbtt.hh: Typos.
|
||
|
||
* src/tgbatest/spotlbtt.test: Typo.
|
||
|
||
* wrap/python/spot.i (unblock_signal): New function.
|
||
* wrap/python/cgi/ltl2tgba.in (print_footer, alarm_handler)
|
||
(reset_alarm): New functions. Kill the script and its
|
||
children if it runs for too long.
|
||
(render_dot): Call reset_alarm.
|
||
|
||
2004-02-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0q.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0p.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Fix <table> setting to cope
|
||
with IE, Safari, konqueror, ... None of these support
|
||
rules="groups" frame="border" properly (Mozilla is OK).
|
||
|
||
2004-02-02 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Output a description of the syntax.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Import spot and redirect stderr
|
||
to stdout early.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in (print_stats): Compute and display
|
||
the number of acceptance conditions.
|
||
|
||
* wrap/python/tests/bddnqueen.py, wrap/python/tests/interdep.py,
|
||
wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py,
|
||
wrap/python/tests/ltlsimple.py: Specify coding system to
|
||
accommodate newer Python versions.
|
||
|
||
* src/misc/bddalloc.hh: Make all methods public.
|
||
* wrap/python/spot.i: Include misc/bddalloc.hh and misc/minato.hh.
|
||
* wrap/python/tests/minato.py: New file.
|
||
* wrap/python/tests/Makefile.am (TESTS): Add minato.py.
|
||
|
||
* src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
|
||
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
|
||
src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
|
||
src/tgbatest/readsave.cc, src/tgbatest/tgbaread.cc,
|
||
src/tgbatest/tripprod.cc: Add missing copyright license.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in (render_dot): Render .png directly
|
||
with dot, without using convert.
|
||
* wrap/python/cgi/README: Do not mention convert.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in (render_dot, render_automaton)
|
||
(render_bdd): New functions, extracted from the rest of the code.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in (default_translator): Default
|
||
to trans_fm.
|
||
(translators): Show trans_fm before trans_lacim.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in (print_stats): New function. Call
|
||
it to display the size of the generalized and degeneralized
|
||
automata.
|
||
|
||
* src/tgbalagos/stats.hh, src/tgbalagos/stats.cc: New files.
|
||
* src/tgbalagos/Makefile.am: Add them.
|
||
* wrap/python/spot.i: Include src/tgbalagos/dupexp.hh and
|
||
src/tgbalagos/stats.hh
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Identify states
|
||
with identical successors. This optimizes the translation
|
||
of `a R (b R c)', for instance.
|
||
* src/tgbatest/ltl2tgba.test: Add two new tests.
|
||
|
||
Hide the tgba_gspn and tgba_gspn_eesrg classes. Offer the
|
||
corresponding automaton via the automaton() method of the
|
||
gspn_interface and gspn_eesrg_interface classes.
|
||
|
||
* iface/gspn/gspn.hh (gspn_interface::gspn_interface): Take dict and
|
||
env arguments.
|
||
(gspn_interface::automaton): New method.
|
||
(tgba_gspn): Move all the declaration ...
|
||
* iface/gspn/gspn.cc (tgba_gspn): ... here.
|
||
(gspn_interface::automaton): Implement it.
|
||
* iface/gspn/eesrg.hh (gspn_eesrg_interface::gspn_eesrg_interface):
|
||
Take dict and env arguments.
|
||
(gspn_eesrg_interface::automaton): New method.
|
||
(tgba_gspn_eesrg): Move all the declaration ...
|
||
* iface/gspn/gspn.cc (tgba_gspn_eesrg): ... here.
|
||
(gspn_eesrg_interface::automaton): Implement it.
|
||
* iface/gspn/dottygspn.cc, iface/gspn/dottyeesrg.cc,
|
||
iface/gspn/ltlgspn.cc: Adjust.
|
||
|
||
2004-01-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltlvisit/tostring.cc: Fix output of F0, F1, G0, G1, X0, and X1.
|
||
* src/ltltest/tostring.test: Test these.
|
||
|
||
2004-01-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::get_acceptance_condition):
|
||
Do not treat true and false specially. Otherwise it breaks
|
||
translation of F(false).
|
||
* src/tgbatest/explprod.test, src/tgbatest/tripprod.test: Do not
|
||
use true as acceptance condition.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_trad_visitor): Use Acc[b] as
|
||
acceptance condition for Fb, not Acc[Fb].
|
||
|
||
After this change, degeneralized automata are 40% smaller
|
||
in LBTT's statistics.
|
||
|
||
* src/tgba/tgbatba.cc (state_tba_proxy): Store an iterator,
|
||
pointing somewhere into the acceptance conditions list, instead of
|
||
an acceptance condition.
|
||
(state_tba_proxy::acceptance_iterator): New method.
|
||
(tgba_tba_proxy_succ_iterator): Adjust to use iterators too.
|
||
(tgba_tba_proxy_succ_iterator::current_state): If the current
|
||
transition is in several consecutive acceptance steps after the
|
||
expected one, advance many steps at once.
|
||
(tgba_tba_proxy::tgba_tba_proxy): Build the acceptance cycle
|
||
as a list, not a map.
|
||
(tgba_tba_proxy::get_init_state, tgba_tba_proxy::succ_iter):
|
||
Adjust.
|
||
* src/tgba/tgbatba.hh (tgba_tba_proxy::acc_cycle_): Declare as
|
||
a list, not a map.
|
||
|
||
2004-01-26 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.cc (magic_search::~magic_search): Release
|
||
all iterators on the stack.
|
||
(magic_search::check): Release iterators that are popped off the
|
||
stack.
|
||
|
||
* src/tgbatest/explpro2.test: Fix reordering regex.
|
||
|
||
* src/tgbatest/defs.in (run): Use libtool --mode=execute.
|
||
|
||
2004-01-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Merge transitions
|
||
with same destination and acceptance conditions directly, without
|
||
calling a->merge_transition(). If one transitions goes to "True",
|
||
subtract its conditions from all other transitions; this optimizes
|
||
a U b.
|
||
|
||
* src/ltlast/refformula.hh (ref_formula::ref_count_): New method.
|
||
* src/ltlast/refformula.cc (ref_formula::ref_count_): New method.
|
||
* src/ltlast/atomic_prop.hh (atomic_prop::dump_instance): New method.
|
||
* src/ltlast/atomic_prop.cc (atomic_prop::dump_instance): New method.
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc: Typos in comments.
|
||
|
||
2004-01-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0o.
|
||
|
||
* configure.ac: Bump version to 0.0n.
|
||
* NEWS: Update.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::check,
|
||
emptiness_check::check2): Document them.
|
||
|
||
2004-01-12 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ltlgspn.cc (main): Typo, use MIN_ARG.
|
||
|
||
2004-01-09 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/dcswaveeltl.test, iface/gspn/udcsefm.test,
|
||
iface/gspn/udcseltl.test: Exercize -e2.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::check2):
|
||
New function, variant of emptiness_check::check().
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::check2):
|
||
Likewise.
|
||
* src/tgbatest/emptchk.test, src/tgbatest/emptchke.test: Exercize -e2.
|
||
* src/tgbatest/ltl2tgba.cc: Support -e2, for emptiness_check::check2().
|
||
* iface/gspn/Makefile.am [WITH_GSPN_EESRG] (check_PROGRAMS):
|
||
Compile ltlgspn-eesrg instead of ltleesrg.
|
||
(ltleesrg_SOURCES, ltleesrg_LDADD): Replace by...
|
||
(ltlgspn_eesrg_SOURCES, ltlgspn_eesrg_LDADD, LIBGSPNESRG_LDFLAGS):
|
||
... these.
|
||
* iface/gspn/ltleesrg.cc: Delete.
|
||
* iface/gspn/ltlgspn.cc [EESRG]: Support EESRG conditionally.
|
||
Support -e2.
|
||
|
||
* src/tgbaalgos/ltl2tgba_lacim.cc: Typo in comment.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::check): Typos
|
||
in comments.
|
||
|
||
|
||
* m4/gspnlib.m4 (AX_CHECK_GSPNLIB): Do not warn about a missing
|
||
library for eesrg. Define the WITH_GSPN_EESRG conditional.
|
||
* iface/gspn/Makefile.am (gspn_HEADERS, check_PROGRAMS): Add the
|
||
eesrg items in condition WITH_GSPN_EESRG.
|
||
(libspotgspneesrg_la_LIBADD, libspotgspneesrg_la_CPPFLAGS)
|
||
(libspotgspneesrg_la_SOURCES): Define only in condition
|
||
WITH_GSPN_EESRG.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::print_stats):
|
||
New function.
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::print_stats):
|
||
Likewise.
|
||
* iface/gspn/ltlgspn.cc (main) <Couvreur>: Call print_stats().
|
||
* iface/gspn/ltleesrg.cc (main): Likewise.
|
||
|
||
* iface/gspn/ltlgspn.cc: Add option -P.
|
||
|
||
2004-01-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
Run valgrind in test cases.
|
||
* src/tgbatest/defs.in (VALGRIND, run): Define.
|
||
* src/tgbatest/bddprod.test, src/tgbatest/dupexp.test,
|
||
src/tgbatest/emptchk.test, src/tgbatest/emptchke.test,
|
||
src/tgbatest/explicit.test, src/tgbatest/explpro2.test,
|
||
src/tgbatest/explpro3.test, src/tgbatest/explprod.test,
|
||
src/tgbatest/ltl2tgba.test, src/tgbatest/ltlprod.test,
|
||
src/tgbatest/mixprod.test, src/tgbatest/readsave.test,
|
||
src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test: Use run().
|
||
|
||
2004-01-06 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/eesrg.cc (format_state): Do not rewrite \n's,
|
||
just strip the last one. Escaping must be done at output.
|
||
* iface/gspn/gspm.cc (format_state): Likewise.
|
||
* src/misc/escape.hh, src/misc/escape.cc: New files.
|
||
* src/misc/Makefile.am: Add them.
|
||
* src/tgba/bddprint.cc (bdd_format_accset): New function.
|
||
* src/tgba/bddprint.hh (bdd_format_accset): New function.
|
||
* src/tgbaalgos/dotty.cc (dotty_bfs::process_state):
|
||
Escape the state name using escape_str().
|
||
(dotty_bfs::process_link): Escape conditions and acceptance
|
||
conditions using escape_str().
|
||
* src/tgbaalgos/save.cc (save_bfs::start): Call print_acc().
|
||
(save_bfs::print_acc): New function extracted from save_bfs::start().
|
||
Escape each acceptance condition.
|
||
(save_bfs::process_state): Use escape_str() and print_acc()
|
||
|
||
* src/ltlvisit/tostring.cc
|
||
(to_string_visitor::visit(const atomic_prop*)): Quote propositions
|
||
that start with F, G, or X.
|
||
* src/ltltest/tostring.test: Test quoted propositions.
|
||
* src/tgbaalgos/save.cc (save_bfs::process_state): Escape " and \
|
||
characters in formulae.
|
||
* src/tgbatest/readsave.test: Test for this.
|
||
|
||
* src/tgbaalgos/reachiter.hh: Typos in comments.
|
||
|
||
* iface/gspn/eesrg.cc (tgba_gspn_eesrg::all_acceptance_conditions,
|
||
tgba_gspn_eesrg::neg_acceptance_conditions): Forward to
|
||
data_->operand.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::complete_cycle):
|
||
Do not skip this computation if from == to but the period is empty.
|
||
|
||
* iface/gspn/eesrg.cc (state_gspn_eesrg::clone): Clone the right
|
||
state.
|
||
|
||
* iface/gspn/ltleesrg.cc: Emptinesscheck the full product, not
|
||
the control automaton.
|
||
|
||
* iface/gspn/eesrg.cc (tgba_gspn_eesrg::project_state): New method.
|
||
* iface/gspn/eesrg.hh: Likewise.
|
||
|
||
2004-01-05 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh: New files.
|
||
* src/tgbaalgos/Makefile.am: Add them.
|
||
* src/tgbatest/powerset.cc: New file.
|
||
* src/tgbatest/Makefile.am: Construct powerset and expldot from
|
||
powerset.cc.
|
||
|
||
* src/tgbaalgos/reachiter.cc (tgba_reachable_iterator::run)
|
||
Reuse s->second to avoid a hash lookup.
|
||
* src/tgbaalgos/save.cc (save_bfs::process_state): Delete dest.
|
||
|
||
* src/ltlparse/Makefile.am ($(FROM_LTLPARSE_YY_MAIN)):
|
||
Use $(FROM_LTLPARSE_YY_MAIN), not $@, because $@ can contains
|
||
VPATH and we do not want Bison to see absolute paths.
|
||
* src/tgbaparse/Makefile.am ($(FROM_TGBAPARSE_YY_MAIN)): Likewise.
|
||
|
||
* src/ltltest/parseerr.test: Adjust.
|
||
* src/ltlparse/ltlparse.yy: Simplify error handling now that Bison
|
||
will call destructors. Give each operator a full name, so that
|
||
Bison uses it in error messages.
|
||
|
||
2003-12-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ltleesrg.cc: New file.
|
||
* iface/gspn/Makefile.am (check_PROGRAMS): Add ltleesrg.
|
||
(ltleesrg_LDADD, ltleesrg_SOURCES): New variables.
|
||
|
||
* src/ltltest/defs.in (run): Rerun valgrind with --leak-check=yes.
|
||
* src/ltlparse/ltlparse.yy: Add `%destructor's.
|
||
|
||
2003-12-29 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/defs.in (run): New function, run valgrind.
|
||
* src/ltltest/equals.test, src/ltltest/lunabbrev.test,
|
||
src/ltltest/nenoform.test, src/ltltest/parse.test,
|
||
src/ltltest/parseerr.test, src/ltltest/tostring.test,
|
||
src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test: Use run().
|
||
* Makefile.am (EXTRA_DIST): Don't list the m4/*.m4 files,
|
||
Automake 1.8 find them automatically.
|
||
* configure.ac: Require Automake 1.8, in gnits mode, and check
|
||
for valgrind.
|
||
* THANKS: New empty file.
|
||
|
||
* doc/Doxyfile.in: Upgrade to Doxygen 1.3.5. Build
|
||
documentation for iface/.
|
||
* dox/mainpage.dox: Fix reference to ltl_to_tgba.
|
||
* src/ltlenv/environment.hh: Typo.
|
||
|
||
2003-12-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh
|
||
(tgba_explicit::merge_transitions): New method.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Factorize all
|
||
variables (not just Next and A) when computing prime implicants,
|
||
and then call merge_transitions().
|
||
|
||
2003-12-01 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac: Bump version to 0.0m.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0l.
|
||
* doc/Makefile.am ($(srcdir)/spotref.pdf): Do not assume spot.latex is
|
||
in the srcdir.
|
||
|
||
2003-11-28 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaparse/tgbaparse.yy (cond_list): Simplify into...
|
||
(condition): ... this. We now accept only one condition, which
|
||
is a formula.
|
||
* src/tgba/tgbaexplicit.hh (tgba_explicit::add_neg_condition,
|
||
tgba_explicit::get_condition): Remove, unused.
|
||
* src/tgba/tgbaexplicit.cc: Likewise.
|
||
|
||
* iface/gspn/eesrg.cc, iface/gspn/eesrg.hh, iface/gspn/gspn.cc,
|
||
iface/gspn/gspn.hh, src/tgba/bdddict.cc, src/tgba/bdddict.hh,
|
||
src/tgba/bddprint.hh, src/tgba/succiter.hh,
|
||
src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh,
|
||
src/tgba/tgba.hh, src/tgba/tgbabddconcrete.cc,
|
||
src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcretefactory.cc,
|
||
src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbabddcoredata.cc,
|
||
src/tgba/tgbabddcoredata.hh, src/tgba/tgbaexplicit.cc,
|
||
src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.cc,
|
||
src/tgba/tgbaproduct.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
|
||
src/tgbaalgos/dotty.cc, src/tgbaalgos/dupexp.cc,
|
||
src/tgbaalgos/emptinesscheck.cc, src/tgbaalgos/emptinesscheck.hh,
|
||
src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh,
|
||
src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc,
|
||
src/tgbaalgos/save.cc, src/tgbatest/explicit.cc,
|
||
src/tgbatest/ltl2tgba.cc, src/tgbaparse/tgbaparse.yy,
|
||
wrap/python/tests/ltl2tgba.py:
|
||
Rewrite `accepting condition' as `acceptance condition'.
|
||
The symbols which have been renamed are:
|
||
tgba::all_accepting_conditions
|
||
tgba::neg_accepting_conditions
|
||
succ_iterator::current_accepting_conditions
|
||
bdd_dict::register_accepting_variable
|
||
bdd_dict::register_accepting_variables
|
||
bdd_dict::is_registered_accepting_variable
|
||
tgba_bdd_concrete_factory::declare_accepting_condition
|
||
tgba_bdd_core_data::accepting_conditions
|
||
tgba_bdd_core_data::all_accepting_conditions
|
||
tgba_explicit::declare_accepting_condition
|
||
tgba_explicit::complement_all_accepting_conditions
|
||
tgba_explicit::has_accepting_condition
|
||
tgba_explicit::get_accepting_condition
|
||
tgba_explicit::add_accepting_condition
|
||
tgba_explicit::all_accepting_conditions
|
||
tgba_explicit::neg_accepting_conditions
|
||
state_tba_proxy::acceptance_cond
|
||
accepting_cond_splitter
|
||
|
||
2003-11-26 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_trad_visitor::visit) <G>:
|
||
Optimize translation of GFy.
|
||
|
||
* src/tgba/bddprint.cc (print_accset_handler, bdd_print_accset): New
|
||
functions.
|
||
* src/tgba/bddprint.cc (bdd_print_accset): Declare it.
|
||
* src/tgbaalgos/dotty.cc (dotty_bfs::process_link): Use it.
|
||
* src/tgbatest/tgbaread.test, src/tgbatest/explicit.test: Adjust
|
||
expected output.
|
||
|
||
2003-11-25 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaparse/tgbaparse.yy: Remove a random character.
|
||
* src/tgba/formula2bdd.cc: Include cassert.
|
||
|
||
2003-11-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
Explicit automata can now have arbitrary logic formula on their
|
||
arcs. ltl2tgba_fm benefits from this and join multiple arcs with
|
||
the same destination and acceptance conditions.
|
||
* src/tgba/formula2bdd.cc, src/tgba/formula2bdd.hh: New files.
|
||
* src/tgba/Makefile.am (tgba_HEADERS, libtgba_la_SOURCES): Add them.
|
||
* src/tgba/bddprint.cc, src/tgba/bddprint.hh (bdd_pring_formula,
|
||
bdd_format_formula): New functions.
|
||
* src/tgba/tgbaexplicit.hh (tgba_explicit::get_condition,
|
||
tgba_explicit::add_condition, tgba_explicit::add_neg_condition,
|
||
tgba_explicit::declare_accepting_condition,
|
||
tgba_explicit::has_accepting_condition,
|
||
tgba_explicit::get_accepting_condition,
|
||
tgba_explicit::add_accepting_condition): Take a const formula*.
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::add_condition):
|
||
Rewrite using formula_to_bdd.
|
||
* src/tgbaalgos/dotty.cc (dotty_bfs::process_link): Use
|
||
bdd_print_formula to display conditions.
|
||
* src/tgbaalgos/save.cc (save_bfs::process_state): Likewise.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict::bdd_to_formula):
|
||
New function.
|
||
(translate_dict::conj_bdd_to_atomic_props): Remove.
|
||
(ltl_to_tgba_fm): Factor successors on accepting conditions
|
||
and destinations, not conditions. Use bdd_to_formula to translate
|
||
the conditions.
|
||
* src/tgbaparse/tgbaparse.yy: Expect conditions as a formula
|
||
in a string, call the LTL parser for this.
|
||
* src/tgbaparse/tgbascan.ll: Process \" and \\ escapes in
|
||
strings.
|
||
* src/tgbatest/emptchke.test, src/tgbatest/explicit.test,
|
||
src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
|
||
src/tgbatest/explprod.test, src/tgbatest/mixprod.test,
|
||
src/tgbatest/readsave.test, src/tgbatest/tgbaread.test,
|
||
src/tgbatest/tripprod.test: Adjust to new syntax for explicit
|
||
automata.
|
||
|
||
* src/misc/minato.hh (minato_isop(bdd,bdd)): New constructor variant.
|
||
(minato_isop::local_vars::vars): New attribute.
|
||
(minato_isop::local_vars::local_vars): Add the vars arguments.
|
||
(minato_isop::todo, minato_isop::cube, minato_isop::ret): Rename as ...
|
||
(minato_isop::todo_, minato_isop::cube_, minato_isop::ret_): ... these.
|
||
* src/misc/minato.cc: Adjust to factorize only variables in vars.
|
||
|
||
* m4/devel.m4: Fix quoting and simplify default setting of
|
||
enable_devel.
|
||
|
||
2003-11-21 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* AUTHORS: New file.
|
||
* configure.ac (AM_INIT_AUTOMAKE): Remove `foreign' option.
|
||
|
||
* COPYING: New file.
|
||
* Makefile.am, configure.ac, doc/Makefile.am, iface/Makefile.am,
|
||
iface/gspn/Makefile.am, iface/gspn/common.cc,
|
||
iface/gspn/common.hh, iface/gspn/dottyeesrg.cc,
|
||
iface/gspn/dottygspn.cc, iface/gspn/eesrg.cc, iface/gspn/eesrg.hh,
|
||
iface/gspn/gspn.cc, iface/gspn/gspn.hh, iface/gspn/ltlgspn.cc,
|
||
src/Makefile.am, src/ltlast/Makefile.am, src/ltlast/allnodes.hh,
|
||
src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
|
||
src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/constant.cc,
|
||
src/ltlast/constant.hh, src/ltlast/formula.cc,
|
||
src/ltlast/formula.hh, src/ltlast/multop.cc, src/ltlast/multop.hh,
|
||
src/ltlast/predecl.hh, src/ltlast/refformula.cc,
|
||
src/ltlast/refformula.hh, src/ltlast/unop.cc, src/ltlast/unop.hh,
|
||
src/ltlast/visitor.hh, src/ltlenv/Makefile.am,
|
||
src/ltlenv/defaultenv.cc, src/ltlenv/defaultenv.hh,
|
||
src/ltlenv/environment.hh, src/ltlparse/Makefile.am,
|
||
src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy,
|
||
src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
|
||
src/ltlparse/public.hh, src/ltltest/Makefile.am,
|
||
src/ltltest/defs.in, src/ltltest/equals.cc,
|
||
src/ltltest/equals.test, src/ltltest/lunabbrev.test,
|
||
src/ltltest/nenoform.test, src/ltltest/parse.test,
|
||
src/ltltest/parseerr.test, src/ltltest/readltl.cc,
|
||
src/ltltest/tostring.cc, src/ltltest/tostring.test,
|
||
src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test,
|
||
src/ltlvisit/Makefile.am, src/ltlvisit/clone.cc,
|
||
src/ltlvisit/clone.hh, src/ltlvisit/destroy.cc,
|
||
src/ltlvisit/destroy.hh, src/ltlvisit/dotty.cc,
|
||
src/ltlvisit/dotty.hh, src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
|
||
src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh,
|
||
src/ltlvisit/nenoform.cc, src/ltlvisit/nenoform.hh,
|
||
src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
|
||
src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh,
|
||
src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh,
|
||
src/misc/Makefile.am, src/misc/bddalloc.cc, src/misc/bddalloc.hh,
|
||
src/misc/bddlt.hh, src/misc/hash.hh, src/misc/minato.cc,
|
||
src/misc/minato.hh, src/misc/version.cc, src/misc/version.hh,
|
||
src/tgba/Makefile.am, src/tgba/bdddict.cc, src/tgba/bdddict.hh,
|
||
src/tgba/bddprint.cc, src/tgba/bddprint.hh, src/tgba/public.hh,
|
||
src/tgba/state.hh, src/tgba/statebdd.cc, src/tgba/statebdd.hh,
|
||
src/tgba/succiter.hh, src/tgba/succiterconcrete.cc,
|
||
src/tgba/succiterconcrete.hh, src/tgba/tgba.cc, src/tgba/tgba.hh,
|
||
src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
|
||
src/tgba/tgbabddconcretefactory.cc,
|
||
src/tgba/tgbabddconcretefactory.hh,
|
||
src/tgba/tgbabddconcreteproduct.cc,
|
||
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddcoredata.cc,
|
||
src/tgba/tgbabddcoredata.hh, src/tgba/tgbabddfactory.hh,
|
||
src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh,
|
||
src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh,
|
||
src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
|
||
src/tgbaalgos/Makefile.am, src/tgbaalgos/dotty.cc,
|
||
src/tgbaalgos/dotty.hh, src/tgbaalgos/dupexp.cc,
|
||
src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptinesscheck.cc,
|
||
src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/lbtt.cc,
|
||
src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2tgba_fm.cc,
|
||
src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.cc,
|
||
src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/magic.cc,
|
||
src/tgbaalgos/magic.hh, src/tgbaalgos/reachiter.cc,
|
||
src/tgbaalgos/reachiter.hh, src/tgbaalgos/save.cc,
|
||
src/tgbaalgos/save.hh, src/tgbaparse/Makefile.am,
|
||
src/tgbaparse/fmterror.cc, src/tgbaparse/parsedecl.hh,
|
||
src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy,
|
||
src/tgbaparse/tgbascan.ll, src/tgbatest/Makefile.am,
|
||
src/tgbatest/bddprod.test, src/tgbatest/defs.in,
|
||
src/tgbatest/dupexp.test, src/tgbatest/emptchk.test,
|
||
src/tgbatest/emptchke.test, src/tgbatest/explicit.test,
|
||
src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
|
||
src/tgbatest/explprod.test, src/tgbatest/ltl2tgba.test,
|
||
src/tgbatest/ltlprod.test, src/tgbatest/mixprod.test,
|
||
src/tgbatest/readsave.test, src/tgbatest/spotlbtt.test,
|
||
src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test,
|
||
wrap/Makefile.am, wrap/python/Makefile.am, wrap/python/buddy.i,
|
||
wrap/python/spot.i, wrap/python/cgi/Makefile.am,
|
||
wrap/python/cgi/ltl2tgba.in, wrap/python/tests/Makefile.am,
|
||
wrap/python/tests/bddnqueen.py, wrap/python/tests/interdep.py,
|
||
wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltl2tgba.test,
|
||
wrap/python/tests/ltlparse.py, wrap/python/tests/ltlsimple.py,
|
||
wrap/python/tests/run.in: Add Copyright license.
|
||
|
||
* src/misc/minato.cc: Include cassert.
|
||
|
||
* src/misc/minato.cc, src/misc/minato.hh: New files.
|
||
* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Use minato_isop.
|
||
|
||
2003-11-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/ltltest/Makefile.am (AM_CXXFLAGS): New variable.
|
||
* tgba/bdddict.hh (bdd_dict::register_propositions,
|
||
bdd_dict::register_accepting_variables): New methods.
|
||
* src/bdddict.cc: Likewise.
|
||
* tgba/tgbaexplicit.cc (tgba_explicit::add_conditions,
|
||
tgba_explicit::add_accepting_conditions): New methods.
|
||
(tgba_explicit::get_init_state): Add an "empty" initial
|
||
state to empty automata.
|
||
* tgba/tgbaexplicit.hh: (tgba_explicit::add_conditions,
|
||
tgba_explicit::add_accepting_conditions): New methods.
|
||
* tgbaalgos/Makefiles.am (tgbaalgos_HEADERS, libtgbaalgos_la_SOURCES):
|
||
Add dupexp.hh and dupexp.cc.
|
||
* tgbaalgos/dupexp.hh, tgbaalgos/dupexp.cc: New files.
|
||
* tgbatest/Makefile.am (AM_CXXFLAGS): New variable.
|
||
(check_SCRIPTS): Add dupexp.test.
|
||
(CLEANFILES): Add output1 and output2.
|
||
* tgbatest/dupexp.test: New file.
|
||
* tgbatest/ltl2tgba.cc: Handle -s and -S.
|
||
* tgbatest/tgbaread.cc: Remove unused variable exit_code.
|
||
|
||
* src/ltlparse/ltlscan.ll: Include ltlparse/parsedecl.hh,
|
||
not parsedecl.hh.
|
||
* src/tgbaparse/tgbascan.ll: Likewise, include tgbaparse/parsedecl.hh.
|
||
|
||
2003-11-13 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::complete_cycle):
|
||
Check whether the state is in the current SCC before passing it
|
||
to h_filt().
|
||
|
||
2003-11-07 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg::first_): New
|
||
attribute.
|
||
(tgba_succ_iterator_gspn_eesrg::step): Use first_. Loop until
|
||
succ returns some successors.
|
||
Report from Soheib Baarir.
|
||
|
||
2003-11-06 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg::step): Fix
|
||
the iteration logic.
|
||
(tgba_succ_iterator_gspn_eesrg::tgba_succ_iterator_gspn_eesrg): Make
|
||
sure not to free successors_ twice.
|
||
(tgba_succ_iterator_gspn_eesrg::done): Fix definition.
|
||
|
||
* iface/gspn/eesrg.cc (tgba_gspn_eesrg::get_init_state): Do not
|
||
call get_init_state(), use 0 instead.
|
||
(tgba_gspn_eesrg::format_state): Handle the case where s->left() == 0.
|
||
Reported by Soheib Baarir.
|
||
|
||
* src/ltlparse/ltlscan.ll: Cosmetics.
|
||
|
||
* configure.ac: Bump version to 0.0k.
|
||
|
||
2003-11-03 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg::step):
|
||
Really Skip unknown variables.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0j.
|
||
|
||
* iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg::step):
|
||
Skip unknown variables.
|
||
|
||
* iface/gspn/gspn.cc
|
||
(tgba_gspn_eesrg_private_::tgba_gspn_eesrg_private_): Show prop_index()
|
||
and prop_kind() arguments on error.
|
||
|
||
* iface/gspn/eesrg.cc
|
||
(tgba_gspn_eesrg_private_::tgba_gspn_eesrg_private_): Show prop_index()
|
||
argument on error.
|
||
|
||
* src/ltlparse/Makefile.am ($(FROM_LTLPARSE_YY_MAIN)): cd into
|
||
$(srcdir) before running bison, so that bison does not put
|
||
absolute filenames in generated files.
|
||
* src/tgbaparse/Makefile.am ($(FROM_TGBAPARSE_YY_MAIN)): Likewise.
|
||
Reported by Soheib Baarir.
|
||
|
||
* iface/gspn/Makefile.am (gspn_HEADERS): Add eesrg.hh.
|
||
Reported by Soheib Baarir.
|
||
|
||
2003-10-31 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* README: More build instructions.
|
||
* HACKING: Update.
|
||
|
||
* doc/Makefile.am ($(srcdir)/spotref.pdf): Make sure to work in
|
||
$(srcdir).
|
||
|
||
2003-10-30 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* m4/gspnlib.m4: Define LIBGSPNESRG_LDFLAGS.
|
||
* iface/gspn/Makefile.am (gspn_HEADERS): Add common.hh.
|
||
(libspotgspn_la_SOURCES): Add common.cc.
|
||
(libspotgspneesrg_la_LIBADD, libspotgspneesrg_la_CPPFLAGS)
|
||
(libspotgspneesrg_la_SOURCES, ltlgspn_eesrg_SOURCES)
|
||
(dotty_eesrg_LDADD, dotty_eesrg_CPPFLAGS): New variables.
|
||
(lib_LTLIBRARIES): Add libspotgspneesrg.la.
|
||
(check_PROGRAMS): Add dottygspn-eesrg.
|
||
* iface/gspn/gspn.hh, iface/gspn/gspn.cc
|
||
(gspn_exeption, operator<<(gspn_exeption), gspn_environment): Move ...
|
||
* iface/gspn/common.hh, iface/gspn/common.cc: ... in these new files.
|
||
* iface/gspn/eesrg.hh, iface/gspn/eesrg.cc, iface/gspn/dottyeesrg.cc:
|
||
New files.
|
||
|
||
2003-10-28 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::complete_cycle):
|
||
Simplify, comment, and free memory.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (triplet): New class.
|
||
(emptiness_check::accepting_path): Simplify, comment,
|
||
derecursive, and free memory...
|
||
|
||
2003-10-27 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (connected_component): Split
|
||
into ...
|
||
(emptiness_check::connected_component,
|
||
emptiness_check::connected_component_set): ... these.
|
||
* src/tgbaalgos/emptinesscheck.cc: Adjust.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::h_filt,
|
||
emptiness_check::~emptiness_check) New methods.
|
||
(emptiness_check::check): Release all iterators in todo on exit.
|
||
(emptiness_check::counter_example): Rewrite the BFS logic.
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::h_filt,
|
||
emptiness_check::~emptiness_check): New methods.
|
||
|
||
* src/tgba/tgbatba.cc
|
||
(tgba_tba_proxy_succ_iterator::~tgba_tba_proxy_succ_iterator):
|
||
Delete the proxied iterator.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::counter_example):
|
||
Remove unused tmp_last, best_lst, and tmp_acc variables.
|
||
|
||
2003-10-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::counter_example):
|
||
Rewrite initialization.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::print_result):
|
||
Fix memory leak.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::check):
|
||
Simplify, reorganize, and comment.
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::root_component):
|
||
Rename as ...
|
||
(emptiness_check::root): ... this, to follow the paper.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc: Remove some superfluous
|
||
`emptiness_check::'.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::remove_component):
|
||
Rewrite.
|
||
|
||
2003-10-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::check,
|
||
emptiness_check::counter_example): Simplify access to hashes
|
||
after calls to find() for the same element..
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh (connected_component::set_of_state):
|
||
Rename as ...
|
||
(connected_component::set_type): ... this, and define as a hash_set.
|
||
(connected_component::has_state): New method.
|
||
* src/tgbaalgos/emptinesscheck.cc (connected_component::has_state):
|
||
New method.
|
||
(emptiness_check::counter_example, emptiness_check::complete_cycle,
|
||
emptiness_check::accepting_path): Simplify using has_state().
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::seen_state_num):
|
||
Rename as ...
|
||
(emptiness_check::h): ... this, and define as a hash_map.
|
||
(emptiness_check::remove_component): Remove superfluous state_map
|
||
argument.
|
||
* src/tgbaalgos/emptinesscheck.cc: Adjust.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/emptinesscheck.cc:
|
||
Remove superfluous includes.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::emptiness_check):
|
||
New, take the automaton to work on, and store it ...
|
||
(emptiness_check::aut_): ... in this new attribute.
|
||
(emptiness_check::tgba_emptiness_check): Rename as ...
|
||
(emptiness_check::check): ... this, and remove the automata
|
||
argument.
|
||
(emptiness_check::counter_example, emptiness_check::print_result,
|
||
emptiness_check::remove_component, emptiness_check::accepting_path,
|
||
emptiness_check::complete_cycle): Remove the automata argument.
|
||
* src/tgbaalgos/emptinesscheck.cc, src/tgbatest/ltl2tgba.cc,
|
||
iface/gspn/ltlgspn.cc: Adjust.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh (connected_component::not_null,
|
||
connected_component::transition_acc,
|
||
connected_component::nb_transition,
|
||
connected_component::nb_state): Remove these unused attributes.
|
||
(connected_component::connected_component): Merge the two
|
||
definitions into one.
|
||
(connected_component::~connected_component): Remove.
|
||
(connected_component::isAccepted): Delete, unused.
|
||
* src/tgbaalgos/emptinesscheck.cc
|
||
(connected_component::connected_component,
|
||
connected_component::~connected_component): Adjust.
|
||
(connected_component::isAccepted): Delete.
|
||
(spot):
|
||
|
||
* src/tgbatest/emptchk.test: Typo.
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh
|
||
(emptiness_check::remove_component, emptiness_check::root_component,
|
||
emptiness_check::seen_state_num, emptiness_check::suffix): Move in
|
||
private part.
|
||
(emptiness_check::arc_accepting, emptiness_check::todo): Move ...
|
||
* src/tgbaalgos/emptinesscheck.cc
|
||
(emptiness_check::tgba_emptiness_check): ... as local variables
|
||
of this function.
|
||
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::vec_component):
|
||
Move ...
|
||
(emptiness_check::counter_example): ... as local variable of this
|
||
function.
|
||
* src/tgbaalgos/emptinesscheck.hh (pair_state_iter, triplet):
|
||
Move ...
|
||
* src/tgbaalgos/emptinesscheck.cc (pair_state_iter, triplet):
|
||
... here.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc (emptiness_check::print_result):
|
||
Indent output as in the magic search.
|
||
|
||
* src/tgbatest/spotlbtt.test: Add notice about long run time.
|
||
|
||
Merge emptinesscheckexplicit into ltl2tgba.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Remove
|
||
emptinesscheckexplicit.
|
||
(emptinesscheckexplicit_SOURCES): Remove.
|
||
(TESTS): Replace emptinesscheckexplicit.test by emptchke.test.
|
||
* src/tgbatest/emptinesscheckexplicit.cc,
|
||
src/tgbatest/emptinesscheckexplicit.test: Delete.
|
||
* src/tgbatest/empchke.test: New file.
|
||
* src/tgbatest/ltl2tgba.cc: Add support for -X.
|
||
|
||
Merge emptiness-checks tests into ltl2tgba.
|
||
* src/tgbatest/Makefile (check_PRORGRAMS): Remove
|
||
emptinesscheck and ltlmagic.
|
||
(emptinesscheck_SOURCES, ltlmagic_SOURCES): Remove.
|
||
(TESTS): Replace emptinesscheck.test and ltlmagic.test by
|
||
emptchk.test.
|
||
* src/tgbatest/emptinesscheck.test, src/tgbatest/ltlmagic.test:
|
||
Delete.
|
||
* src/tgbatest/emptchk.test: New file.
|
||
* src/tgbatest/emptinesscheck.cc, src/tgbatest/ltlmagic.cc:
|
||
Delete.
|
||
* src/tgbatest/ltl2tgba.cc: Add support for -e, -E, -m, -M, and -n.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc
|
||
(emptiness_check::tgba_emptiness_check): Do not print anything.
|
||
(emptiness_check::counter_example): Assume that tgba_emptiness_check
|
||
has already been called.
|
||
|
||
2003-10-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/emptinesscheck.cc
|
||
(emptiness_check::seq_counter, emptiness_check::periode): Rename as ...
|
||
(emptiness_check::prefix, emptiness_check::period): ... these.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc
|
||
(emptiness_check::tgba_emptiness_check,
|
||
emptiness_check::accepting_path): Simplify BDD operations.
|
||
|
||
* src/tgbaalgos/emptinesscheck.cc, src/tgbaalgos/emptinesscheck.hh:
|
||
Reindent.
|
||
(emptiness_check::~emptiness_check, emptiness_check::emptiness_check):
|
||
Remove, unused.
|
||
|
||
2003-10-15 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ltlgspn.cc (main): Allow invocations with
|
||
only one atomic proposition.
|
||
|
||
2003-10-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* src/misc/bddalloc.cc (bdd_allocator::initialize): Augment
|
||
bdd_init()'s arguments.
|
||
|
||
2003-10-08 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/ltlgspn.cc: Use command-line options to
|
||
select algorithms, not #defines.
|
||
* iface/gspn/Makefile.am (check_PROGRAMS): Remove eltlgspn-srg,
|
||
efmgspn-srg, fmgspn-rg, and fmgspn-srg and their associated
|
||
source variables. These are all replaced by
|
||
ltlgspn-rg and ltlgspn-srg.
|
||
* iface/gspn/dcswavefm.test, iface/gspn/dcswaveltl.test,
|
||
iface/gspn/dcswaveeltl.test, iface/gspn/udcsefm.test,
|
||
iface/gspn/udcseltl.test, iface/gspn/udcsfm.test,
|
||
iface/gspn/udcsltl.test: Adjust calls to ltlgspn-srg.
|
||
|
||
* iface/gspn/Makefile.am (XFAIL_TESTS): Remove.
|
||
|
||
2003-10-06 Rachid REBIHA <rebiha@src.lip6.fr>
|
||
|
||
* iface/gspn/ltlgspn.cc: We call tgba_emptiness_check before
|
||
counter_example. And we print the prefix and the periode of
|
||
counter_example's result.
|
||
* src/tgbatest/emptinesscheckexplicit.cc (main):
|
||
We call tgba_emptiness_check before counter_example.
|
||
* src/tgbatest/emptinesscheck.cc (main):
|
||
We call tgba_emptiness_check before counter_example.
|
||
* src/tgbaalgos/emptinesscheck.hh (spot):
|
||
(spot::print_result): New methode to print the prefix and the
|
||
periode of counter_example's result.
|
||
* src/tgbaalgos/emptinesscheck.cc (spot): counter_example doesn't
|
||
call tgba_emptiness_check. counter_example must be executed after
|
||
calling tgba_emptiness_check. Remove tgba_emptiness_check calls.
|
||
(print_result): New methode to print the prefix and the
|
||
periode of counter_example's result. Remove most of all std::cout
|
||
during execution of emptiness_check's methodes.
|
||
|
||
2003-10-02 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* iface/gspn/udcsfm.test, iface/gspn/udcsefm.test: New files.
|
||
* iface/gspn/Makefile.am (TESTS) Add them.
|
||
(check_PROGRAMS): Add emgspn-srg.
|
||
(efmgspn_srg_SOURCES, efmgspn_srg_LDADD, efmgspn_srg_CPPFLAGS): New
|
||
variables.
|
||
* iface/gspn/udcsltl.test, iface/gspn/udcseltl.test: Complete.
|
||
|
||
* src/ltlparse/ltlscan.ll: Allow doubly quoted atomic propositions.
|
||
|
||
2003-10-01 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* iface/gspn/udcsltl.test, iface/gspn/udcseltl.test,
|
||
iface/gspn/dcswaveltl.test, iface/gspn/dcswaveeltl.test,
|
||
iface/gspn/dcswavefm.test: Do not accept $? = 0 when
|
||
a failure is expected.
|
||
|
||
* iface/gspn/udcsltl.test, iface/gspn/udcseltl.test: New files
|
||
* iface/gspn/Makefile.am (TESTS): Add them.
|
||
(XFAIL_TESTS): Add udcseltl.test.
|
||
* iface/gspn/example/udcs/udcs.net, iface/gspn/example/udcs/udcs.def
|
||
iface/gspn/example/udcs/udcs.tobs: New files.
|
||
* iface/gspn/Makefile.am (EXTRA_DIST): Add them.
|
||
|
||
* iface/gspn/Makefile.am (check_PROGRAMS): Add eltlgspn-srg.
|
||
(eltlgspn_srg_SOURCES, eltlgspn_srg_LDADD, eltlgspn_srg_CPPFLAGS):
|
||
New variables.
|
||
(TESTS): Add dcswaveeltl.test.
|
||
* iface/gspn/dcswaveeltl.test: New file.
|
||
* iface/gspn/ltlgspn.cc [CEC]: Use emptiness_check.
|
||
|
||
* m4/debug.m4, m4/devel.m4, m4/gccoptim.m4, m4/ndebug.m4: New files.
|
||
* Makefile.am (EXTRA_DIST): Add them.
|
||
* configure.ac: Call adl_ENABLE_DEVEL, adl_ENABLE_DEBUG, ad_GCC_OPTIM,
|
||
and adl_NDEBUG.
|
||
|
||
2003-09-30 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/state.hh (state_ptr_less_than, state_ptr_equal):
|
||
Declare as std::binary_function.
|
||
(state_ptr_hash): Declare as std::unary_function.
|
||
* src/tgbaalgos/lbtt.cc (state_acc_pair_equal,
|
||
state_acc_pair_hash): Likewise.
|
||
* src/misc/bddlt.hh (bdd_less_than): Likewise.
|
||
* src/misc/hash.hh (ptr_hash, string_hash): Likewise.
|
||
|
||
2003-09-25 Rachid REBIHA <rebiha@src.lip6.fr>
|
||
|
||
* src/tgbatest/emptinesscheckexplicit.test,
|
||
src/tgbatest/emptinesscheckexplicit.cc
|
||
src/tgbatest/emptinesscheck.test,
|
||
src/tgbatest/emptinesscheck.cc,
|
||
src/tgbaalgos/emptinesscheck.cc,
|
||
src/tgbaalgos/emptinesscheck.hh: New files.
|
||
|
||
2003-09-22 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.hh: Rename as ...
|
||
* src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/ltl2tgba_lacim.hh:
|
||
... this, and rename ltl_to_tgba() as ltl_to_tgba_lacim as well.
|
||
* iface/gspn/ltlgspn.cc, src/tgbatest/explprod.cc,
|
||
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlmagic.cc,
|
||
src/tgbatest/ltlprod.cc, src/tgbatest/mixprod.cc,
|
||
src/tgbatest/tripprod.cc, wrap/python/spot.i,
|
||
wrap/python/cgi/ltl2tgba.in, wrap/python/tests/interdep.py,
|
||
wrap/python/tests/ltl2tgba.py: Adjust.
|
||
|
||
2003-09-11 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/state.hh: Include cassert.
|
||
|
||
2003-08-29 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/state.hh (state::hash): New method.
|
||
(state_ptr_equal, state_ptr_hash): New functors.
|
||
* src/tgba/statebdd.hh, src/tgba/statebdd.cc (state_bdd::hash):
|
||
New method.
|
||
* src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc
|
||
(state_explicit::hash): New method.
|
||
(ns_map, sn_map): Use Sgi::hash_map instead of std::map.
|
||
* src/tgba/tgbaproduct.hh, src/tgba/tgbaproduct.cc
|
||
(state_product::hash): New method.
|
||
* src/tgba/tgbatba.cc (state_tba_proxy::hash): New method.
|
||
* src/tgbaalgos/lbtt.cc (acp_seen, todo_set, seen_map): Redefine
|
||
using Sgi::hash_map or Sgi::hash_set.
|
||
(lbtt_reachable): Don't erase a key that is pointed to by an
|
||
iterator.
|
||
* src/tgbaalgos/reachiter.cc
|
||
(tgba_reachable_iterator::~tgba_reachable_iterator): Likewise.
|
||
* src/tgbaalgos/magic.cc (magic_search::~magic_search()): Likewise.
|
||
* src/tgbaalgos/magic.hh (hash_type): Redefine using Sgi::hash_map.
|
||
* src/tgbaalgos/reachiter.hh (seen_map): Redefine using Sgi::hash_map.
|
||
* iface/gspn/gspn.cc (state_gspn::hash): New method.
|
||
* src/misc/hash.hh (string_hash): New functor.
|
||
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::all_accepting_conditions)
|
||
Compute all_accepting_conditions_ from neg_accepting_conditions_,
|
||
not by browsing the dictionary. The dictionary also contains
|
||
accepting conditions from other automata... This bug was a
|
||
consequence of the change from 2003-07-14.
|
||
* src/tgbaalgos/save.cc (save_bfs::start()): Likewise, do not
|
||
browse the dictionary to print accepting conditions. Call
|
||
->all_accepting_conditions() instead.
|
||
* src/tgba/tgbaproduct.cc (tgba_product::tgba_product): Typo
|
||
from 2003-08-22 in the computation of all_accepting_conditions_.
|
||
* src/tgbatest/explpro3.test: New file.
|
||
* src/tgbatest/Makefile.am (TESTS): Add explpro3.test.
|
||
* src/tgbatest/explprod.test, src/tgbatest/explpro2.test,
|
||
src/tgbatest/tripprod.test: Sort the output using Perl.
|
||
|
||
2003-08-28 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
Rewrite all std::map<const formula*, ...> as
|
||
Sgi::hash_map<const formula*, ...>.
|
||
|
||
* src/misc/hash.hh: New file.
|
||
* src/misc/Makefile.am (misc_HEADERS): Add it.
|
||
* src/ltlvisit/dotty.cc (dotty_visitor::map): Use a hash_map instead
|
||
of a map.
|
||
* src/tgba/bdddict.hh (bdd_dict::fv_map, bdd_dict::vf_map,
|
||
bdd_dict::ref_set, bdd_dict::var_map): Define as hash_map or
|
||
hash_set.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict::fv_map,
|
||
translate_dict::vf_map): Likewise.
|
||
* src/tgba/tgbabddconcretefactory.hh
|
||
(tgba_bdd_concrete_factory::acc_map_): Likewise.
|
||
* src/tgba/tgbatba.hh, src/tgbaalgos/reachiter.hh: Include <map>.
|
||
|
||
2003-08-25 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/state.hh (state_ptr_less_than): Make sure left is
|
||
non-null. Suggested by Denis Poitreneaud.
|
||
|
||
2003-08-23 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* wrap/python/Makefile.am (MAINTAINERCLEANFILES): Add
|
||
buddy_wrap.cxx and buddy.py.
|
||
|
||
2003-08-22 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/magic.cc (seen_with_magic, seen_without_magic): Remove.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Fix display of relations for
|
||
tgba_bdd_concrete automata.
|
||
|
||
Fix computation of product acceptance conditions, when the
|
||
two operands share some acceptance conditions.
|
||
* src/tgba/tgbaproduct.hh (tgba_product::left_acc_complement_,
|
||
tgba_product::right_acc_complement_): New attribute.
|
||
* src/tgba/tgbaproduct.cc (tgba_product::tgba_product): Set them.
|
||
(tgba_product::succ_iter): Use them.
|
||
* src/tgba/explpro2.test: New file.
|
||
* src/tgba/Makefile.am (TESTS): Add it.
|
||
|
||
2003-08-20 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* tgba/tgbaproduct.cc, tgba/tgbaproduct.hh:
|
||
(state_bdd_product, tgba_product_succ_iterator): Rename as ...
|
||
(state_product, tgba_succ_iterator_product): ... these.
|
||
|
||
* iface/gspn/dcswavefm.test: New file.
|
||
* iface/gspn/Makefile.am (check_PROGRAMS): Add fmgspn-rg and
|
||
fmgspn-srg.
|
||
(fmgspn_rg_SOURCES, fmgspn_rg_CPPFLAGS, fmgspn_rg_LDADD,
|
||
fmgspn_srg_SOURCES, fmgspn_srg_CPPFLAGS, fmgspn_srg_LDADD):
|
||
New variables.
|
||
(TESTS): Add dcswavefm.test.
|
||
|
||
2003-08-19 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlast/formula.hh: Make it clear that ref() and unref()
|
||
deals with one node, not a entire formula.
|
||
|
||
2003-08-18 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* configure.ac: Bump version to 0.0i.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0h.
|
||
|
||
* wrap/python/cgi/Makefile.am (CLEANFILES): Clean ltl2tgba.py.
|
||
|
||
* wrap/python/tests/ltl2tgba.test: Run $srcdir/ltl2tgba.py, not
|
||
ltl2tgba.py.
|
||
|
||
2003-08-15 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
This implements Couvreur's FM'99 ltl2tgba translation.
|
||
* src/tgba/bdddict.cc (bdd_dict::is_registered): Split as ...
|
||
(bdd_dict::is_registered_proposition, bdd_dict::is_registered_state,
|
||
bdd_dict::is_registered_accepting_variable): ... these.
|
||
* src/tgba/bdddict.hh: Likewise.
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::set_init_state): New method.
|
||
(tgba_explicit::declare_accepting_condition): Arrange so that this
|
||
function can be called during the construction of the automaton.
|
||
(tgba_explicit::complement_all_accepting_conditions): New method.
|
||
(tgba_explicit::has_accepting_condition): Adjust to call
|
||
bdd_dict::is_registered_accepting_variable.
|
||
* src/tgba/tgbaexplicit.hh (tgba_explicit::set_init_state,
|
||
tgba_explicit::complement_all_accepting_conditions): New methods.
|
||
* src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh:
|
||
New files.
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
|
||
libtgbaalgos_la_SOURCES): Add them.
|
||
* src/tgbaalgos/ltl2tgba.hh: Add bibtex entry in comment.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Remove spotlbtt
|
||
and tbalbtt.
|
||
(tbalbtt_SOURCES, tbalbtt_CXXFLAGS, spotlbtt_SOURCES): Remove.
|
||
* src/tgbatest/spotlbtt.cc: Delete, superseded by "ltl2tgba -F -t".
|
||
* src/tgbatest/ltl2tgba.cc: Implement the -f and -F options.
|
||
* src/tgbatest/spotlbtt.test: Use "ltl2tgba -F -t" instead of
|
||
"spotlbtt", "ltl2tgba -F -t -D" instead of "tbalbtt", and add
|
||
also check the ltl2tgba_fm translator.
|
||
* wrap/python/spot.i: Wrap ltl2tgba_fm.
|
||
* wrap/python/cgi/ltl2tgba.in: Add radio buttons to select
|
||
between ltl2tgba and ltl2tgba_fm.
|
||
* wrap/python/tests/ltl2tgba.py: Add support for the -f option.
|
||
* wrap/python/tests/ltl2tgba.test: Try the -f option.
|
||
|
||
varnum can be augmented by other allocator. Keep track
|
||
of a local varnum (lvarnum) in each allocator.
|
||
* src/misc/bddalloc.cc (bdd_allocator::bdd_allocator): Initialize
|
||
lvarnum.
|
||
(bdd_allocator::extvarnum): New method.
|
||
(bdd_allocator::allocate_variables): Use lvarnum and extvarnum.
|
||
* src/misc/bddalloc.hh (bdd_allocator::extvarnum): New mathod.
|
||
(bdd_allocator::lvarnum): New variable.
|
||
|
||
2003-08-14 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/state.hh, src/tgba/statebdd.hh, src/tgba/statebdd.cc:
|
||
Remove the translate() method. Useless since 2003-07-14.
|
||
|
||
2003-08-11 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* wrap/python/Makefile.am (SUBDIRS): Build `.' first.
|
||
* wrap/python/cgi/Makefile.am (ltl2tgba.py): Depend on Makefile.
|
||
|
||
2003-08-10 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
Revamp the multop interface to allow some basic optimizations like
|
||
not constructing a single-child multop.
|
||
* src/ltlast/multop.hh (multop::instance(type)): Remove.
|
||
(multop::instance(type, formula*, formula*)): Return a formula*.
|
||
(multop::instance(type, vec*)): Make it public and return a formula*.
|
||
(multop::add_sorted, multop::add):
|
||
* src/ltlast/multop.cc (multop::instance(type, vec*)): Rewrite.
|
||
(multop::instance(type)): Delete.
|
||
(multop::instance(type, formula*, formula*)): Adjust.
|
||
(multop::add_sorted, multop::add): Remove.
|
||
* src/ltlvisit/clone.cc (clone_visitor::visit(multop*)) Adjust.
|
||
* src/ltlvisit/nenoform.cc
|
||
(negative_normal_form_visitor::::visit(multop*)) Adjust.
|
||
* src/ltltest/equals.test: Make sure `a & a' and `a' are equals.
|
||
* wrap/python/tests/ltlsimple.py: Adjust.
|
||
|
||
* src/tgba/succiterconcrete.cc, src/tgba/tgbaexplicit.cc,
|
||
src/tgba/tgbatba.cc, src/tgbaalgos/lbtt.cc: Use `-' instead of `& !'
|
||
between two BDDs. That's one less call to BuDDy.
|
||
|
||
* src/tgbatest/tgbaread.test, src/tgbatest/explicit.test:
|
||
Adjust expected output after 2003-08-07's change.
|
||
|
||
* src/tgba/bdddict.hh: Typo in comments.
|
||
|
||
* src/ltlenv/environment.hh: Typo in comments.
|
||
|
||
2003-08-08 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlparse/ltlparse.yy: Handle and diagnose mismatched parentheses.
|
||
* src/ltltest/parseerr.test: Add some examples.
|
||
|
||
2003-08-07 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Convert GIFs to PNGs. Restrict
|
||
the size of dot's output to 1024x1024.
|
||
* src/tgbaalgos/dotty.cc (dotty_bfs::start): Do not preset
|
||
the size of the graph. Set height=0 for the invisible state.
|
||
|
||
2003-08-06 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlparse/ltlparse.yy: Fix precedence OP_OR < OP_XOR < OP_AND.
|
||
* src/ltlast/binop.cc (binop::instance): Order operands for
|
||
associative operators, so that e.g. "a xor b" and "b xor a" are
|
||
mapped to the same formula.
|
||
* src/ltltest/equals.test: Check this.
|
||
|
||
* src/ltlvisit/dotty.cc (draw_node_): s/shabe/shape/.
|
||
(visit): Draw rectangular nodes for atomic propositions and
|
||
constant. This is an attempt to mimic BuDDy's output.
|
||
|
||
* wrap/python/cgi/ltl2tgba.in: Handle show_formula_dot and
|
||
show_formula_gif.
|
||
|
||
* src/ltlvisit/dotty.hh (dotty): Move the ostream argument first.
|
||
* src/ltlvisit/dump.hh (dump): Likewise.
|
||
* src/ltltest/equals.cc, src/ltltest/readltl.cc,
|
||
src/ltlvisit/dotty.cc, src/ltlvisit/dump.cc: Adjust.
|
||
|
||
2003-08-05 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/misc/version.hh, src/misc/version.cc: New files.
|
||
* src/misc/Makefile.am (libmisc_la_SOURCES, misc_HEADERS): Add them.
|
||
* wrap/python/spot.i: Include misc/version.hh.
|
||
* wrap/python/cgi/ltl2tgba.in: Print spot.version().
|
||
|
||
* README: Update layout.
|
||
|
||
* wrap/python/cgi/Makefile.am, wrap/python/cgi/ltl2tgba.in,
|
||
wrap/python/cgi/README: New files.
|
||
* wrap/python/Makefile.am (SUBDIRS): Add cgi.
|
||
* configure.ac: Output wrap/python/cgi/Makefile.
|
||
|
||
* wrap/python/spot.i: Add an ostringstream emulation.
|
||
|
||
2003-08-04 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* wrap/python/spot.i: Add an ofstream emulation.
|
||
|
||
* wrap/python/spot.i: Declare spot::tgba::get_init_state,
|
||
spot::tgba::succ_iter, and spot::tgba_succ_iterator::current_state
|
||
as constructors.
|
||
|
||
* wrap/python/Makefile.am (lib_LTLIBRARIES)
|
||
(libspotswigpy_la_SOURCES, libspotswigpy_la_CFLAGS)
|
||
(libspotswigpy_la_LDFLAGS): New variables.
|
||
(_spot_la_LIBADD, _buddy_la_LDFLAGS): Link with libspotswigpy.la
|
||
($(srcdir)/spot_wrap.cxx, $(srcdir)/buddy_wrap.cxx): Run
|
||
swig with -c.
|
||
* wrap/python/tests/libpy.c: New file.
|
||
* wrap/python/tests/run.in: Run python if no arguments are given.
|
||
* wrap/python/tests/interdep.py: New file.
|
||
* wrap/python/tests/Makefile.am (TESTS): Add interdep.py.
|
||
|
||
* wrap/python/spot.i: Declare spot::ltl_to_tgba as a constructor.
|
||
* wrap/python/tests/ltl2tgba.py: Do not force `thisown=1' on tgba
|
||
objects.
|
||
|
||
* wrap/python/spot.i: Include headers from tgba/ and tgbaalgos/.
|
||
* wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltl2tgba.test:
|
||
New files.
|
||
|
||
* wrap/python/tests/Makefile.am (TESTS): Add ltl2tgba.test.
|
||
(EXTRA_DIST): Add ltl2tgba.py.
|
||
* wrap/python/tests/run.in: Distinguish *.py and *.test.
|
||
|
||
* wrap/python/tests/ltlparse.py: New file.
|
||
* wrap/python/tests/Makefile.am (TESTS): Add it.
|
||
|
||
2003-08-01 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* wrap/python/buddy.i: New file.
|
||
* wrap/python/Makefile.am (EXTRA_DIST): Add it.
|
||
(python_PYTHON, MAINTAINERCLEANFILES): Add buddy.py.
|
||
(pyexec_LTLIBRARIES): Add _buddy.la.
|
||
(_buddy_la_SOURCES, _buddy_la_LDFLAGS, $(srcdir)/buddy_wrap.cxx)
|
||
($(srcdir)/buddy.py): New.
|
||
* wrap/python/tests/bddnqueen.py: New file.
|
||
* wrap/python/tests/Makefile.am (TESTS): Add it.
|
||
|
||
* src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh: Merge the
|
||
two unabbreviate_logic definitions (const and non-const) into a
|
||
function that takes a const formula* and return a non-const
|
||
formula*. Since formula* is convertible to const formula*, and
|
||
the const version of the function just called the non-onst one, it
|
||
makes no sense to keep both. Also, it confused Swig.
|
||
* src/ltlvisit/nenoform.cc, src/ltlvisit/nenoform.hh: Likewise
|
||
for negative_normal_form.
|
||
* src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh: Likewise
|
||
for unabbreviate_ltl.
|
||
* src/ltlvisit/clone.cc, src/ltlvisit/clone.hh: Likewise for clone.
|
||
* src/ltlvisit/destroy.cc, src/ltlvisit/destroy.hh: Likewise
|
||
for destroy.
|
||
|
||
* configure.ac: Bump version to 0.0g.
|
||
|
||
* configure.ac, NEWS: Bump version to 0.0f.
|
||
|
||
* iface/gspn/simple.test, iface/gspn/dcswave.test,
|
||
iface/gspn/dcswaveltl.test: Make sure the example directory
|
||
is writable.
|
||
* m4/lbtt.m4, m4/buddy.m4: Always configure buddy/ and lbtt/,
|
||
regardless of the --with-included-buddy and --with-included-lbtt
|
||
settings.
|
||
|
||
* wrap/python/Makefile.am (python_PYTHON, _spot_la_SOURCES):
|
||
Explicitely refer to spot_wrap.cxx and spot.py as
|
||
$(srcdir)/spot_wrap.cxx and $(srcdir)/spot.py.
|
||
(spot_wrap.cxx, spot.py):
|
||
|
||
* wrap/python/Makefile.am (spot_wrap.cxx, spot.py): Lookup
|
||
spot.i in $(srcdir).
|
||
|
||
2003-07-31 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||
|
||
* configure.ac: Output wrap/python/tests/Makefile
|
||
and wrap/python/tests/run.
|
||
* wrap/python/Makefile.am (SUBDIRS): New variable.
|
||
* wrap/python/spot.i: Include all formulae headers from ltlast/,
|
||
as well as ltlvisit/destroy.hh.
|
||
(spot::ltl::formula::__cmp__, spot::ltl::formula::__str__): New
|
||
functions.
|
||
* wrap/python/tests/Makefile.am, wrap/python/tests/ltlsimple.py,
|
||
wrap/python/tests/run.in: New files.
|
||
|
||
* wrap/python/ltihooks.py: New file.
|
||
* wrap/python/Makefile.am (EXTRA_DIST): Add ltihooks.py.
|
||
|
||
* wrap/Makefile.am, wrap/spot.i: Move ...
|
||
* wrap/python/Makefile.am, wrap/python/spot.i: ... here.
|
||
|
||
* wrap/Makefile.am: New file.
|
||
* configure.ac: Output wrap/python/Makefile.
|
||
|
||
* src/misc/const_sel.hh: Delete.
|
||
* src/misc/Makefile.am (misc_HEADERS): Remove const_sel.hh.
|
||
|
||
* src/tgbaalgos/magic.cc, src/tgbaalgos/reachiter.cc: Include cassert.
|
||
* iface/Makefile.am (SUBDIRS): Recurse in gspn only if condition
|
||
WITH_GSPN.
|
||
|
||
2003-07-30 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* iface/gspn/gspn.cc (tgba_gspn::format_state): Call gspn's
|
||
print_state.
|
||
|
||
* iface/gspn/dcswaveltl.test: Check for a false formula too.
|
||
|
||
* iface/gspn/dcswaveltl.test, iface/gspn/ltlgspn.cc: New files.
|
||
* iface/gspn/Makefile.am (TESTS): Add dcswaveltl.test.
|
||
(ltlgspn_rg_LDADD, ltlgspn_srg_LDADD, ltlgspn_rg_SOURCES)
|
||
(ltlgspn_srg_SOURCES): New variables.
|
||
(check_PROGRAMS): Add ltlgspn-rg and ltlgspn-srg.
|
||
|
||
* iface/gspn/Makefile.am (gspn_HEADERS, gspndir): Install
|
||
gspn.hh.
|
||
|
||
* src/tgba/tgba.hh, src/tgba/tgba.cc
|
||
(tgba::project_state): New method.
|
||
* src/tgba/tgbaproduct.hh, src/tgba/tgbaproduct.cc
|
||
(tgba_product::project_state): New method.
|
||
* src/tgba/tgbabta.hh, src/tgba/tgbabta.cc
|
||
(tgba_bta_proxy::project_state): New method.
|
||
* src/tgbaalgos/magic.cc (magic_search::print_result): Take
|
||
a restrict argument.
|
||
|
||
2003-07-29 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlparse/ltlscan.ll: Allow /\, \/, and xor, used in LBTT.
|
||
* src/ltltest/parse.test: Test them.
|
||
|
||
* src/tgbaalgos/lbtt.cc: Typos.
|
||
|
||
* lbtt/: Upgrade to lbtt 1.0.2.
|
||
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add tbalbtt.
|
||
(tbalbtt_SOURCES, tbalbtt_CXXFLAGS): New variables.
|
||
* src/tgbatest/spotlbtt.cc [TBA]: Build tba proxies conditionally.
|
||
* src/tgbatest/spotlbtt.test: Include tbalbtt in the tests.
|
||
|
||
2003-07-28 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbatba.hh, src/tgba/tgbatba.cc
|
||
(tgba_tba_proxy::state_is_accepting): New method.
|
||
* src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc: New files.
|
||
* src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES,
|
||
tgbaalgos_HEADERS): Add them.
|
||
* src/tgbatest/ltlmagic.cc, src/tgbatest/ltlmagic.test: New files.
|
||
* src/tgbatest/Makefile.am (TESTS, ltlmagic_SOURCES,
|
||
check_PROGRAMS): Add them.
|
||
|
||
2003-07-25 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgba.hh (tgba::~tgba): Make it public.
|
||
* src/tgba/tgbatba.cc, src/tgba/tgbatba.hh: New files.
|
||
* src/tgba/Makefile.am (tgba_HEADERS): Add tgbatba.hh.
|
||
(libtgba_la_SOURCES): Add tgbatba.cc.
|
||
* src/tgbatest/ltl2tgba.cc: Add option -D.
|
||
|
||
* src/tgbaalgos/lbtt.cc (bdd_less_than): Move ...
|
||
* src/misc/bddlt.hh: ... in this new file.
|
||
* src/misc/Makefile.am (misc_HEADERS): Add bddlt.hh.
|
||
|
||
* iface/gspn/dcswave.test: Comment state space sizes.
|
||
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS): Add reachiters.hh.
|
||
(libtgbaalgos_la_SOURCES): Add reachiters.cc.
|
||
* src/tgbaalgos/dotty.cc, src/tgbaalgos/save.cc: Rewrite using
|
||
spot::tgba_reachable_iterator_breadth_first.
|
||
* src/tgbatest/explicit.test, src/tgbatest/tgbaread.test,
|
||
src/tgbatest/tripprod.test: Adjust expected output.
|
||
|
||
2003-07-24 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* configure.ac: Output iface/gspn/defs.
|
||
* iface/gspn/Makefile.am (EXTRA_DIST): Add $(TESTS).
|
||
(TESTS, check_SCRIPTS, distclean-local): New.
|
||
* iface/gspn/dcswave.test, iface/gspn/simple.test,
|
||
iface/gspn/defs.in: New files.
|
||
* iface/gspn/dottygspn.cc (main): Take the list of properties
|
||
of interest in argument.
|
||
|
||
2003-07-23 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* iface/gspn/examples/DCSwave/DCSWave.def,
|
||
iface/gspn/examples/DCSwave/DCSWave.net
|
||
iface/gspn/examples/DCSwave/DCSWave.tobs,
|
||
iface/gspn/examples/simple/simple.def,
|
||
iface/gspn/examples/simple/simple.net,
|
||
iface/gspn/examples/simple/simple.tobs: New files, from
|
||
Yann Thierry-Mieg.
|
||
* iface/gspn/Makefile.am (EXTRA_DIST): New variables.
|
||
|
||
* iface/gspn/gspn.cc (tgba_gspn_private_::tgba_gspn_private_):
|
||
Rethrow caught expections.
|
||
|
||
2003-07-22 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* m4/gspnlib.m4: Check for libgspnRG.a and libgspnSRG.a.
|
||
Define LIBGSPNRG_LDFLAGS and LIBGSPNSRG_LDFLAGS, not
|
||
LIBGSPN_LDFLAGS.
|
||
* iface/gspn/Makefile.am: Adjust, build dottygspn-rg and
|
||
dottygspn-srg instead of dottygspn.
|
||
* iface/gspn/gspn.cc (EVENT_TRUE): Undefine.
|
||
(tgba_gspn_private_::~tgba_gspn_private_): Free all_indexes.
|
||
* iface/gspn/dottygspn.cc (main): Destroy the automaton before
|
||
its dictionary.
|
||
|
||
2003-07-17 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
Now succ_iter() can fetch extra information from
|
||
the root of a product to reduce its number of successors.
|
||
* src/tgba/Makefile.am (libtgba_la_SOURCES): Add tgba.cc.
|
||
* src/tgba/tgba.hh (tgba::succ_iter): Add the global_state and
|
||
global_automaton arguments.
|
||
(tgba::support_conditions, tgba::support_variables,
|
||
tgba::compute_support_conditions, tgba::compute_support_variables):
|
||
New functions.
|
||
(tgba::last_support_conditions_input_,
|
||
tgba::last_support_conditions_output_,
|
||
tgba::last_support_variables_input_,
|
||
tgba::last_support_variables_output_): New attributes.
|
||
* src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::succ_iter):
|
||
Handle the two new arguments.
|
||
(tgba_bdd_concrete::compute_support_conditions,
|
||
tgba_bdd_concrete::compute_support_variables): Implement them.
|
||
* src/tgba/tgbabddconcrete.hh: Adjust.
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::succ_iter): Ignore
|
||
the two new arguments.
|
||
(tgba_explicit::compute_support_conditions,
|
||
tgba_explicit::compute_support_variables): Implement them.
|
||
* src/tgba/tgbaexplicit.hh: Adjust.
|
||
* src/tgba/tgbaproduct.cc (tgba_product::succ_iter): Handle the
|
||
two new arguments.
|
||
(tgba_product::compute_support_conditions,
|
||
tgba_product::compute_support_variables): Implement them.
|
||
* src/tgba/tgbaproduct.hh: Adjust.
|
||
* iface/gspn/gspn.cc (tgba_gspn_private_::last_state_cond_input,
|
||
tgba_gspn_private_::last_state_cond_output,
|
||
(tgba_gspn_private_::tgba_gspn_private_): Set last_state_cond_input.
|
||
(tgba_gspn_private_::~tgba_gspn_private_): Delete
|
||
last_state_cond_input.
|
||
(tgba_gspn_private_::state_conds): New function, eved out
|
||
from tgba_gspn::succ_iter.
|
||
(tgba_gspn::succ_iter): Use it. Use the two new arguments.
|
||
(tgba_gspn::compute_support_conditions,
|
||
tgba_gspn::compute_support_variables): New functions.
|
||
* iface/gspn/gspn.hh: Adjust.
|
||
|
||
* iface/gspn/gspn.cc (EVENT_TRUE): Override temporarily.
|
||
(tgba_gspn::succ_iter): Fix usage of cube.
|
||
|
||
2003-07-16 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* m4/gspnlib.m4: New file.
|
||
* configure.ac: Call AX_CHECK_GSPNLIB.
|
||
* Makefile.am (EXTRA_DIST): Add m4/gspnlib.m4.
|
||
* iface/gspn/Makefile.am (AM_CPPFLAGS): Add $(LIBGSPN_CPPFLAGS).
|
||
(libspotgspn_la_LIBADD, check_PROGRAMS, dottygspn_SOURCES,
|
||
dottygspn_LDADD): New variables.
|
||
* iface/gspn/gspn.hh (gspn_interface): New class.
|
||
(gspn_exeption): Take a string argument and adjust all callers.
|
||
(operator<<): Define for gspn_exeption.
|
||
* iface/gspn/gspn.cc (gspn_interface::gspn_interface,
|
||
gspn_interface::~gspn_interface): New.
|
||
* iface/gspn/gspnlib.h: Delete, it belongs to GSPN.
|
||
* iface/gspn/dottygspn.cc: New file.
|
||
|
||
2003-07-15 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* m4/lbtt.m4 (AX_CHECK_LBTT): Set LBTT and LBTT_TRANSLATE
|
||
when using an already installed lbtt.
|
||
|
||
Homogenize passing of automata as pointers, not references.
|
||
Disallow copy for security.
|
||
|
||
* src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete): Disallow copy.
|
||
* src/tgba/tgbaexplicit.hh (tgba_explicit): Likewise.
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::operator=,
|
||
tgba_explicit::tgba_explicit(tgba_explicit)): Remove.
|
||
* src/tgba/tgbabddconcreteproduct.cc
|
||
(tgba_bdd_concrete_product_factory::tgba_bdd_concrete_product_factory,
|
||
product): Take operand automata as pointers.
|
||
* src/tgba/tgbabddconcreteproduct.hh (product): Likewise.
|
||
* src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh:
|
||
(tgba_product): Disallow copy.
|
||
(tgba_product::tgba_product): Take operand automata as pointers.
|
||
* src/tgbaalgos/dotty.cc (dotty_state, dotty_rec, dotty_reachable):
|
||
Take tgba arguments as pointer.
|
||
* src/tgbaalgos/dotty.hh (dotty_reachable): Likewise.
|
||
* src/tgbaalgos/lbtt.cc (fill_todo, lbtt_reachable): Likewise.
|
||
* src/tgbaalgos/lbtt.hh (lbtt_reachable): Likewise.
|
||
* src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.hh (ltl_to_tgba):
|
||
Likewise.
|
||
* src/tgbaalgos/save.cc (save_rec, tgba_save_reachable): Likewise.
|
||
* src/tgbaalgos/save.hh (save): Likewise.
|
||
* src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
|
||
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
|
||
src/tgbatest/mixprod.cc, src/tgbatest/readsave.cc,
|
||
src/tgbatest/spotlbtt.cc, src/tgbatest/tgbaread.cc,
|
||
src/tgbatest/tripprod.cc: Likewise.
|
||
|
||
2003-07-14 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
Before this change, all automata would construct their own
|
||
dictionaries (map of BDD variables to LTL formulae). This was
|
||
cumbersome, because to multiply two automata we had to build a
|
||
common dictionary (the union of the two LTL formula spaces), and
|
||
install wrappers to translate each automaton's BDD answers into
|
||
the common dictionary. This translation, that had to be repeated
|
||
when several products were nested, was time consuming and was a
|
||
hindrance for some optimizations.
|
||
In the new scheme, all automata involved in a product must
|
||
share the same dictionary. An empty dictionary should be
|
||
constructed by the user and passed to the automaton' constructors
|
||
as necessary.
|
||
This huge change removes more code than it adds.
|
||
|
||
* src/Makefile.am (libspot_la_LIBADD): Add misc/libmisc.la.
|
||
* src/misc/bddalloc.hh, src/misc/bddalloc.cc: New files. These
|
||
partly replace src/tgba/bddfactory.hh and src/tgba/bddfactory.cc.
|
||
* src/misc/Makefile.am: Adjust to build bddalloc.hh and bddalloc.cc.
|
||
* src/tgba/bddfactory.hh, src/tgba/bddfactory.cc,
|
||
src/tgba/dictunion.hh, src/tgba/dictunion.cc,
|
||
src/tgba/tgbabdddict.hh, src/tgba/tgbabdddict.cc,
|
||
src/tgba/tgbabddtranslatefactory.hh,
|
||
src/tgba/tgbabddtranslatefactory.cc,
|
||
src/tgba/tgbatranslateproxy.hh, src/tgba/tgbatranslateproxy.cc:
|
||
Delete.
|
||
* src/tgba/bdddict.hh, src/tgba/bdddict.cc: New files. These
|
||
replaces tgbabdddict.hh and tgbabdddict.cc, and also part of
|
||
bddfactory.hh and bddfactory.cc.
|
||
* src/tgba/bddprint.cc, src/tgba/bddprint.hh: Adjust to
|
||
use bdd_dict* instead of tgba_bdd_dict&.
|
||
* src/tgba/succiterconcrete.cc (succ_iter_concrete::next()):
|
||
Get next_to_now from the dictionary.
|
||
* src/tgba/tgba.hh (tgba::get_dict): Return a bdd_dict*,
|
||
not a const tgba_bdd_dict*.
|
||
* src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh:
|
||
Adjust to use the new dictionary, stored in data_.
|
||
* src/tgba/tgbabddconcretefactory.cc,
|
||
src/tgba/tgbabddconcretefactory.hh: Likewise. Plus
|
||
now_to_next_ is now also stored in the dictionary.
|
||
* src/tgba/tgbabddconcreteproduct.cc: Likewise. Now
|
||
that both operand share the same product, there is not
|
||
point in using tgba_bdd_translate_factory.
|
||
* src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh:
|
||
Store a bdd_dict (taken as constructor argument).
|
||
(tgba_bdd_core_data::~tgba_bdd_core_data): Remove.
|
||
(tgba_bdd_core_data::translate): Remove.
|
||
(tgba_bdd_core_data::next_to_now): Remove (now in dict).
|
||
(tgba_bdd_core_data::dict): New pointer.
|
||
* src/tgba/tgbabddfactory.hh: (tgba_bdd_factory::get_dict): Remove.
|
||
* src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh:
|
||
Adjust to use the new dictionary.
|
||
* src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh: Likewise. Do
|
||
not use tgba_bdd_dict_union and tgba_bdd_translate_proxy anymore.
|
||
* src/tgbaalgos/lbtt.cc, src/tgbaalgos/save.cc: Adjust to
|
||
use bdd_dict* instead of tgba_bdd_dict&.
|
||
* src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.cc: Likewise.
|
||
(ltl_to_tgba): Take a dict argument.
|
||
* src/tgbaparse/public.hh (tgba_parse): Take a dict argument.
|
||
* src/tgbaparse/tgbaparse.yy (tgba_parse): Take a dict argument.
|
||
* src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
|
||
src/tgbatest/ltlprod.cc, src/tgbatest/mixprod.cc,
|
||
src/tgbatest/readsave.cc, src/tgbatest/spotlbtt.cc,
|
||
src/tgbatest/tgbaread.cc, src/tgbatest/tripprod.cc: Instantiate
|
||
a dictionary, and pass it to the automata' constructors.
|
||
* src/tgbatest/ltl2tgba.cc: Likewise, and remove the -o (defrag)
|
||
option.
|
||
* iface/gspn/gspn.hh (tgba_gspn::tgba_gspn): Take a bdd_dict argument.
|
||
(tgba_gspn::get_dict): Adjust return type.
|
||
* iface/gspn/gspn.cc: Do not use bdd_factory, adjust to
|
||
use the new dictionary instead.
|
||
|
||
2003-07-13 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* configure.ac: Bump version to 0.0e.
|
||
|
||
* configure.ac: Bump version to 0.0d.
|
||
* NEWS, README: New files.
|
||
|
||
2003-07-12 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* m4/lbtt.m4: Run lbtt-translate, not lbtt.
|
||
|
||
* iface/gspn/gspn.cc: Include cassert.
|
||
|
||
2003-07-10 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba.cc (ltl_trad_visitor::visit(multop)):
|
||
Forward root_ to children of And.
|
||
(ltl_trad_visitor::recurse): Take a root argument.
|
||
|
||
* src/tgba/tgbabddconcretefactory.hh
|
||
(tgba_bdd_concrete_factory::add_relation): Rename as ...
|
||
(tgba_bdd_concrete_factory::constrain_relation): ... this.
|
||
* src/tgba/tgbabddconcretefactory.cc, src/tgbaalgos/ltl2tgba.cc:
|
||
Adjust.
|
||
|
||
* src/tgbaalgos/ltl2tgba.cc (ltl_trad_visitor::visit(unop::G)): Do
|
||
not create Now/Next variable when G is the root of the formula.
|
||
(ltl_trad_visitor::ltl_trad_visitor): Take a root argument.
|
||
(ltl_trad_visitor::recurse): Create a new visitor, do not copy
|
||
the current one.
|
||
(ltl_to_tgba): Build ltl_trad_visitor with root = true.
|
||
|
||
* src/tgbaalgos/ltl2tgba.cc (ltl_trad_visitor::visit(unop::X)):
|
||
Remove FIXME about handling X(a U b) and X(a R b) better, it's
|
||
done naturally.
|
||
|
||
* src/tgbatest/spotlbtt.test: Make 100 rounds.
|
||
|
||
* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next):
|
||
Fix so that !p.!Acc[g].Acc[f] + p.!Acc[g].Acc[f] + p.Acc[g].!Acc[f]
|
||
is factored as !p.!Acc[g].Acc[f] + p.(!Acc[g].Acc[f] + Acc[g].!Acc[f]),
|
||
not !Acc[g].Acc[f] + p.Acc[g].!Acc[f].
|
||
|
||
2003-07-09 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* lbtt/: New directory. Contains a patched version of lbtt 1.0.1.
|
||
* Makefile.am (MAYBE_LBTT): New variables.
|
||
(SUBDIRS): Add $(MAYBE_LBTT).
|
||
(EXTRA_DIST): Add m4/lbtt.m4.
|
||
* configure.ac: Call AX_CHECK_LBTT.
|
||
* m4/lbtt.m4: New file.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add spotlbtt.
|
||
(spotlbtt_SOURCES): New variables.
|
||
(TESTS): Add spotlbtt.test.
|
||
(CLEANFILE): Add config.
|
||
* src/tgbatest/defs.in (top_builddir, LBTT, LBTT_TRANSLATE): New
|
||
substitutions.
|
||
* src/tgbatest/spotlbtt.cc, src/tgbatest/spotlbtt.test: New files.
|
||
|
||
* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next):
|
||
Fix computation of states sharing the same accepting set.
|
||
|
||
Make sure we only output one initial state in LBTT's output.
|
||
* src/tgbaalgos/lbtt.cc (fill_todo): Add the 'first' argument
|
||
to designate initial states.
|
||
(lbtt_reachable): Adjust calls to fill_todo. Handle the
|
||
fake initial state accepting conditions specially.
|
||
* src/tgbaalgos/lbtt.hh: Update comments.
|
||
|
||
* src/tgbaalgos/lbtt.cc (lbtt_reachable): Do not end transitions
|
||
guards with -1 in output.
|
||
|
||
2003-07-08 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Add option -t to output the LBTT automata.
|
||
* src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh: New files.
|
||
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS): Add lbtt.hh.
|
||
(libtgbaalgos_la_SOURCES): Add lbtt.cc.
|
||
* src/tgba/bddprint.cc (print_sat_handler): Put a space after "!".
|
||
* src/tgbatest/readsave.test: Adjust spaces after "!".
|
||
|
||
* src/ltlvisit/dump.cc: Strip useless spot::ltl:: prefixes.
|
||
|
||
2003-07-07 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
First sketch of the GSPN wrapper objects.
|
||
* iface/gspn/gspn.cc, iface/gspn/gspn.hh: New files.
|
||
* iface/gspn/Makefile.am (libspotgspn_la_SOURCES): Add them.
|
||
|
||
* src/tgba/succiter.hh (current_state, current_conditions
|
||
current_accepting_conditions): Mark as const.
|
||
* src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh,
|
||
src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh,
|
||
src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh,
|
||
src/tgba/tgbatranslateproxy.cc, src/tgba/tgbatranslateproxy.hh:
|
||
Likewise.
|
||
|
||
* iface/gspn/gspnlib.h: Fit 80 columns.
|
||
[__cplusplus]: Wrap everything under extern "C".
|
||
|
||
* src/tgba/succiterconcrete.hh
|
||
(tgba_succ_iterator_concrete::current_acc_): New attribute.
|
||
* src/tgba/succiterconcrete.cc
|
||
(tgba_succ_iterator_concrete::next): Set current_acc_.
|
||
(tgba_succ_iterator_concrete::current_accepting_conditions):
|
||
Simply return it.
|
||
|
||
* configure.ac: Output iface/Makefile and iface/gspn/Makefile.
|
||
* iface/Makefile.am, iface/gspn/Makefile.am: New files.
|
||
* Makefile.am (SUBDIRS): Add iface.
|
||
* iface/gspn/gspnlib.h: New file, from Yann and Souheib.
|
||
|
||
* src/tgba/tgbabddcoredata.cc (tgba_bdd_core_data::tgba_bdd_core_data,
|
||
tgba_bdd_core_data::translate): Handle all_accepting_conditions.
|
||
* src/tgba/tgbabddconcretefactory.cc
|
||
(tgba_bdd_concrete_factory::finish): Fill all_accepting_conditions.
|
||
|
||
2003-07-04 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/ltl2tgba.cc (ltl_trad_visitor::visit): Declare
|
||
accepting conditions w.r.t. to Now variables, not Next.
|
||
|
||
2003-07-03 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbaproduct.cc (tgba_product_succ_iterator::first):
|
||
Simplify, do not call next_non_false_() if either side is done.
|
||
|
||
* src/tgba/succiter.hh (tgba_succ_iterator::current_condition):
|
||
State that this is a boolean function.
|
||
* src/tgba/succiterconcrete.hh
|
||
(tgba_succ_iterator_concrete::trans_dest_,
|
||
tgba_succ_iterator_concrete::trans_set_,
|
||
tgba_succ_iterator_concrete::trans_set_left_,
|
||
tgba_succ_iterator_concrete::neg_trans_set_): Remove.
|
||
* src/tgba/succiterconcrete.cc
|
||
(tgba_succ_iterator_concrete::tgba_succ_iterator_concrete,
|
||
tgba_succ_iterator_concrete::first): Adjust to removed members.
|
||
(tgba_succ_iterator_concrete::next): Simplify, transitions
|
||
are no labelled by boolean functions, not only conjunctions.
|
||
Suggested by Denis Poitrenaud.
|
||
|
||
2003-07-02 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbabddcoredata.hh (tgba_bdd_core_data::translate): New
|
||
function.
|
||
* src/tgba/tgbabddcoredata.cc (tgba_bdd_core_data::translate):
|
||
Likewise.
|
||
* src/tgba/tgbabddtranslatefactory.cc
|
||
(tgba_bdd_translate_factory::tgba_bdd_translate_factory): Use
|
||
tgba_bdd_core_data::translate.
|
||
|
||
* src/tgba/tgbabddcoredata.hh (tgba_bdd_core_data::nownext_set):
|
||
New attribute.
|
||
* tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc:
|
||
Handle nownext_set.
|
||
* src/tgba/succiterconcrete.cc
|
||
(tgba_succ_iterator_concrete::next): Use nownext_set to simplify.
|
||
|
||
Rewrite tgba_succ_iterator_concrete::next for the fourth time
|
||
(or is it the fifth?).
|
||
|
||
* src/tgba/succiterconcrete.hh
|
||
(tgba_succ_iterator_concrete::trans_dest_,
|
||
tgba_succ_iterator_concrete::trans_set_,
|
||
tgba_succ_iterator_concrete::trans_set_left_,
|
||
tgba_succ_iterator_concrete::neg_trans_set_): New attributes.
|
||
* src/tgba/succiterconcrete.cc
|
||
(tgba_succ_iterator_concrete::tgba_succ_iterator_concrete): Initialize
|
||
new members.
|
||
(tgba_succ_iterator_concrete::first): Likewise.
|
||
(tgba_succ_iterator_concrete::next): Rewrite.
|
||
* tgba/tgbabddcoredata.hh (tgba_bdd_core_data::acc_set): New attribute.
|
||
* tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc:
|
||
Handle acc_set.
|
||
|
||
2003-07-01 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbabddtranslatefactory.cc
|
||
(tgba_bdd_translate_factory::tgba_bdd_translate_factory): Translate
|
||
varandnext_set.
|
||
|
||
2003-06-30 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbaparse/tgbaparse.yy (lines): Expect at last one line.
|
||
|
||
* doc/Doxyfile.in (HAVE_DOT): Set to YES to output
|
||
collaboration diagrams.
|
||
* doc/mainpage.dox: Typo.
|
||
|
||
* src/tgba/state.hh (state::as_bdd): Delete.
|
||
* src/tgba/tgbaproduct.hh (state_bdd_product): Inherit from state,
|
||
not state_bdd.
|
||
(state_bdd_product::state_bdd_product): Adjust.
|
||
* src/tgba/tgbaproduct.cc (state_bdd_product::state_bdd_product):
|
||
Adjust.
|
||
|
||
* src/tgba/succiter.hh (tgba_bdd_succ_iterator::done):
|
||
Mark as const.
|
||
* src/tgba/succiterconcrete.cc
|
||
(tgba_succ_iterator_concrete::done): Likewise.
|
||
* src/tgba/succiterconcrete.hh
|
||
(tgba_succ_iterator_concrete::done): Likewise.
|
||
* src/tgba/tgbaexplicit.cc
|
||
(tgba_explicit_succ_iterator::done): Likewise.
|
||
* src/tgba/tgbaexplicit.hh
|
||
(tgba_explicit_succ_iterator::done): Likewise.
|
||
* src/tgba/tgbaproduct.cc
|
||
(tgba_product_succ_iterator::done): Likewise.
|
||
* src/tgba/tgbaproduct.hh
|
||
(tgba_product_succ_iterator::done): Likewise.
|
||
* src/tgba/tgbatranslateproxy.hh
|
||
(tgba_translate_proxy_succ_iterator::done): Likewise.
|
||
* src/tgba/tgbatranslateproxy.cc
|
||
(tgba_translate_proxy_succ_iterator::done): Likewise.
|
||
|
||
* src/tgba/succiterconcrete.cc
|
||
(tgba_succ_iterator_concrete::next): Call bdd_satoneset
|
||
on data_.varandnext_set. The previous implementation
|
||
was wrong for GFa.
|
||
* src/tgba/tgbabddcoredata.hh: Declare varandnext_set.
|
||
* src/tgba/tgbabddcoredata.cc: Handle varandnext_set.
|
||
|
||
* doc/Doxygen.in: Enable LaTeX output.
|
||
* doc/Makefile.am (spotref.pdf): New rule.
|
||
(EXTRA_DIST): Add spotref.pdf.
|
||
|
||
* src/tgba/tgbabddconcretefactory.cc:
|
||
(tgba_bdd_concrete_factory::tgba_bdd_concrete_factory): New.
|
||
(tgba_bdd_concrete_factory::create_state): Update now_to_next_.
|
||
(tgba_bdd_concrete_factory::finish): Constraint Next variables
|
||
in the relation.
|
||
* src/tgba/tgbabddconcretefactory.hh
|
||
(tgba_bdd_concrete_factory::now_to_next_): New variable.
|
||
|
||
2003-06-28 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
Fix errors reported by ICC.
|
||
|
||
* src/tgba/state.hh (state_ptr_less_than::operator()): Make it const.
|
||
* src/tgba/tgbaproduct.cc: Include string.hh.
|
||
* src/ltlast/multop.hh (multop::add, multop::add_sorted): Do
|
||
not use qualified names in declarations.
|
||
* m4/gccwarn.m4 (CF_GXX_WARNINGS): Fix GXX test.
|
||
* src/ltlenv/defaultenv.hh, src/ltlenv/defaultenv.cc,
|
||
src/ltlenv/environment.hh: Add virtual destructors.
|
||
|
||
2003-06-26 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* Makefile.am (EXTRA_DIST): Add HACKING.
|
||
|
||
* configure.ac: Bump version to 0.0c.
|
||
|
||
* configure.ac: Bump version to 0.0b.
|
||
|
||
* INSTALL: New file.
|
||
|
||
* src/tgba/ltl2tgba.hh, src/tgba/ltl2tgba.cc: Move ...
|
||
* src/tgbaalgos/ltl2tgba.hh, src/tgbaalgos/ltl2tgba.cc: ... here.
|
||
* src/tgba/Makefile.am, src/tgbaalgos/Makefile.am: Adjust.
|
||
* src/tgba/public.hh: Do not include ltl2tgba.hh.
|
||
* src/tgbatests/explprod.cc, src/tgbatests/ltl2tgba.cc,
|
||
src/tgbatests/ltlprod.cc, src/tgbatests/mixprod.cc,
|
||
src/tgbatests/reach.cc, src/tgbatests/tripprod.cc: Adjust inclusions.
|
||
|
||
* src/tgba/tgbabddcoredata.hh: Fix some Doxygen comments.
|
||
* src/ltlast/formula.hh: More Doxygen comments.
|
||
* src/tgba/tgba.hh: Use <tt> in Doxygen comments.
|
||
|
||
* doc/mainpage.dox: New file.
|
||
* doc/Makefile.am (EXTRA_DIST): Add mainpage.dox.
|
||
* doc/Doxyfile.in (INPUT): Add @srcdir@/mainpage.dox
|
||
|
||
* src/tgba/succiter.hh: Adjust comments about promises to
|
||
refer to accepting conditions.
|
||
* src/tgba/tgbabddconcretefactory.hh: Likewise.
|
||
* src/tgba/tgbabddcoredata.hh: Likewise.
|
||
* src/tgba/dictunion.cc: Likewise.
|
||
* src/tgba/tgba.hh: Likewise.
|
||
|
||
* doc/Makefile.am (doc): Typo.
|
||
* src/ltlvisit/tostring.hh (to_string): Add doxygen comments.
|
||
* src/ltlast/multop.hh (multop::paircmp): Add doxygen comments.
|
||
* src/tgba/tgbaexplicit.hh (tgba_explicit::transtion,
|
||
state_explicit, tgba_explicit_succ_iterator): Add doxygen comments.
|
||
* src/ltlvisit/postfix.hh: Typo.
|
||
|
||
* src/ltlast/Makefile.am (ltlastdir, ltlast_HEADERS): New variables.
|
||
(libltlast_la_SOURCES): Move all headers to ltlast_HEADERS.
|
||
* src/ltlenv/Makefile.am (ltlenvdir, ltlenv_HEADERS): New variables.
|
||
(libltlenv_la_SOURCES): Move all headers to ltlenv_HEADERS.
|
||
* src/ltlparse/Makefile.am (ltlparsedir, ltlparse_HEADERS): New
|
||
variables.
|
||
(libltlparse_la_SOURCES): Move all public headers to ltlparse_HEADERS.
|
||
* src/ltlvisit/Makefile.am (ltlvisitdir, ltlvisit_HEADERS): New
|
||
variables.
|
||
(libltlvisit_la_SOURCES): Move all headers to ltlparse_HEADERS.
|
||
* src/misc/Makefile.am (include_HEADERS): Rename as ..
|
||
(misc_HEADERS): ... this.
|
||
(miscdir): New variable.
|
||
* src/tgba/Makefile.am (tgbadir, tgba_HEADERS): New variables.
|
||
(libtgba_la_SOURCES): Move all headers to tgba_HEADERS.
|
||
* src/tgbaalgos/Makefile.am (tgbaalgosdir, tgbaalgos_HEADERS):
|
||
New variables.
|
||
(libtgbaalgos_la_SOURCES): Move all headers to tgbaalgos_HEADERS.
|
||
* src/tgbaparse/Makefile.am (tgbaparsedir, tgbaparse_HEADERS): New
|
||
variables.
|
||
(libtgbaparse_la_SOURCES): Move all public headers to
|
||
tgbaparse_HEADERS.
|
||
* src/tgbaparse/public.hh: Include ltlparse/location.hh, not
|
||
location.hh.
|
||
|
||
* doc/Makefile.am (stamp): Prefix $(srcdir) explicitely.
|
||
|
||
* m4/buddy.m4 (BUDDY_LDFLAGS): Use $(top_builddir), not $(top_srcdir).
|
||
* src/tgbaparse/Makefile.am (AM_CPPFLAGS): Add $(BUDDY_CPPFLAGS).
|
||
|
||
* doc/Makefile.am: Rewrite to run Doxygen whenever Doxyfile.in
|
||
or configure.ac changes. Distribute the html doc.
|
||
* doc/Doxyfile.in (EXCLUDE_PATTERNS): Complete with
|
||
useless Bison classes.
|
||
(FILE_PATTERNS): Remove *.cc files.
|
||
|
||
Distribute BuDDy. Compile and link with the included version if
|
||
explicitely requested (--with-included-buddy) or if there is now
|
||
stuitable version already installed.
|
||
|
||
* buddy/: New directory. Contains a patched version of BuDDy 2.2.
|
||
* m4/buddy.m4: Make sure the installed BuDDy supports bdd_mergepairs.
|
||
Honor --with-included-buddy and --without-included-buddy. Define
|
||
the BUDDY_LDFLAGS and BUDDY_CPPFLAGS output variables, and the
|
||
WITH_INCLUDED_BUDDY Automake conditional
|
||
* Makefile.am [WITH_INCLUDED_BUDDY] (MAYBE_SUBDIRS): New variable.
|
||
(SUBDIRS): Prepend $(MAYBE_SUBDIRS).
|
||
* src/Makefile.am (libspot_LDFLAGS): New variable.
|
||
* src/tgba/Makefile.am (AM_CPPFLAGS): Add $(BUDDY_CPPFLAGS).
|
||
* src/tgbaalgos/Makefile.am (AM_CPPFLAGS): Likewise.
|
||
* src/tgbatest/Makefile.am (AM_CPPFLAGS): Likewise.
|
||
|
||
2003-06-25 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next):
|
||
Rewrite using bdd_satoneset. This time it's for real. (I hope.)
|
||
* src/tgba/succiterconcrete.hh (current_base_,
|
||
current_base_left_): Delete.
|
||
* tgba/tgbabddcoredata.hh (next_set): New variable.
|
||
* tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc: Adjust
|
||
to update next_set.
|
||
|
||
* src/tgba/bddprint.hh, src/tgba/tgbabddconcretefactory.hh,
|
||
src/tgba/tgbaproduct.hh: Fix Doxygen comments.
|
||
|
||
* src/tgba/succiterconcrete.hh (next_succ_set_): Rename as ...
|
||
(succ_set_left_): ... this.
|
||
(current_base_, current_base_left_): New variables.
|
||
* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::first):
|
||
Reset current_.
|
||
(tgba_succ_iterator_concrete::next): Rewrite.
|
||
(tgba_succ_iterator_concrete::current_state): Simplify.
|
||
(tgba_succ_iterator_concrete::current_accepting_conditions): Remove
|
||
atomic proposition with universal quantification.
|
||
* src/tgba/ltl2tgba.cc (ltl_to_tgba): Normalize the formula.
|
||
* src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::set_init_state):
|
||
Complete the initial state.
|
||
(tgba_bdd_concrete::succ_iter): Do not remove Now variable
|
||
from the BDD passed to the iterator.
|
||
* tgba/tgbabddcoredata.hh (notnow_set, var_set): New variables.
|
||
* tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc: Adjust
|
||
to update notnow_set and var_set.
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Support -v.
|
||
|
||
2003-06-24 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbatest/ltl2tgba.cc (syntax): Fix usage message.
|
||
|
||
* src/tgbatest/tripprod.test, src/tgbatest/explprod.test: Sort
|
||
accepting conditions.
|
||
|
||
* src/ltlvisit/nenoform.cc (negative_normal_form): New const variant.
|
||
* src/ltlvisit/nenoform.hh (negative_normal_form): New const variant.
|
||
* src/ltlvisit/lunabbrev.cc (unabbreviate_logic): New const variant.
|
||
* src/ltlvisit/lunabbrev.hh (unabbreviate_logic): New const variant.
|
||
* src/ltlvisit/tunabbrev.cc (unabbreviate_ltl): New const variant.
|
||
* src/ltlvisit/tunabbrev.hh (unabbreviate_ltl): New const variant.
|
||
|
||
2003-06-23 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
Switch from "promises" to "accepting sets". Fix the definitions
|
||
of these accepting sets so that they are really useful. Provide
|
||
an all_accepting_conditions() method for use in the emptiness
|
||
check, and a neg_accepting_conditions() for products. Predeclare
|
||
TGBA accepting conditions in the i/o.
|
||
|
||
* src/tgba/bddprint.cc (want_prom): Rename as ...
|
||
(want_prom): ... this.
|
||
(print_handler): Adjust to display Acc[].
|
||
(print_acc_handler, bdd_print_acc): New functions.
|
||
* src/tgba/bddprint.hh (print_acc_handler, bdd_print_acc):
|
||
New functions.
|
||
* src/tgba/succiter.hh (current_promise): Rename as ...
|
||
(current_accepting_conditions): ... this.
|
||
* src/tgba/succiterconcrete.cc (current_state):
|
||
Rename next to now.
|
||
(current_promise): Rename as ...
|
||
(current_accepting_conditions): ... this, and compute
|
||
the accepting conditions.
|
||
* src/tgba/dictunion.cc, src/tgba/ltl2tgba.cc,
|
||
src/tgba/succiterconcrete.hh,
|
||
src/tgba/tgbabddconcretefactory.cc,
|
||
src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh,
|
||
src/tgba/tgbabdddict.hh, src/tgba/tgbabdddict.cc,
|
||
src/tgba/tgbabddtranslatefactory.cc,
|
||
src/tgbaalgos/dotty.cc: Adjust to new names.
|
||
* src/tgba/tgba.hh (all_accepting_conditions,
|
||
neg_accepting_conditions): New functions.
|
||
* src/tgba/tgbabddconcretefactory.cc: Adjust to new
|
||
names, and record accepting conditions instead of promises.
|
||
* src/tgba/tgbabddcoredata.hh (accepting_conditions,
|
||
all_accepting_conditions, negacc_set): New variables.
|
||
(notnow_set, notprom_set, declare_promise): Rename as ...
|
||
(notnext_set, notacc_set, declare_accepting_condition): ... these.
|
||
* src/tgba/tgbaexplicit.hh
|
||
(tgba_explicit_succ_iterator::current_promise): Rename as ...
|
||
(tgba_explicit_succ_iterator::current_accepting_conditions): ... this.
|
||
(tgba_explicit::add_promise): Rename as ...
|
||
(tgba_explicit::add_accepting_condition): ... this.
|
||
(tgba_explicit::declare_accepting_condition,
|
||
tgba_explicit::has_accepting_condition): New variables.
|
||
(tgba_explicit::get_promise): Rename as ...
|
||
(tgba_explicit::get_accepting_condition): ... this.
|
||
(tgba_explicit::all_accepting_conditions,
|
||
tgba_explicit::neg_accepting_conditions): Implement them.
|
||
(all_accepting_conditions, neg_accepting_conditions,
|
||
all_accepting_conditions): New variables.
|
||
(tgba_explicit_succ_iterator): Embed all_accepting_conditions_.
|
||
* src/tgba/tgbaexplicit.cc: Likewise.
|
||
* src/tgba/tgbaproduct.hh
|
||
(tgba_product_succ_uterator): Embed left_neg_ and right_neg_.
|
||
(tgba_product::all_accepting_conditions,
|
||
tgba_product::neg_accepting_conditions): Implement them.
|
||
* src/tgba/tgbatranslateproxy.hh:
|
||
(tgba_translate_proxy::all_accepting_conditions,
|
||
tgba_translate_proxy::neg_accepting_conditions): Implement them.
|
||
* src/tgba/tgbatranslateproxy.cc: Likewise.
|
||
* src/tgbaalgos/save.cc (save_rec): Call bdd_print
|
||
(tgba_save_reachable): Output the `acc =' line.
|
||
* src/tgbaparse/tgbaparse.yy: Support the for
|
||
accepting conditions definitions using an "acc =" line
|
||
at the start. Later, use has_accepting_condition while
|
||
parsing accepting conditions to ensure they were declared.
|
||
Disallow !cond in accepting conditions.
|
||
* src/tgbaparse/tgbascan.ll (ACC_DEF): New token.
|
||
* src/tgbatest/explicit.cc (main): Declare accepting conditions.
|
||
* src/tgbatest/ltl2tgba.cc (main): Add support for the -a, -A,
|
||
and -R new options.
|
||
* src/tgbatest/tgbaread.cc (main): Really exit on parse error.
|
||
* src/tgbatest/explicit.test, src/tgbatest/explprod.test,
|
||
src/tgbatest/mixprod.test, src/tgbatest/readsave.test,
|
||
src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test: Reflect
|
||
recent changes.
|
||
|
||
2003-06-22 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbatest/tripprod.test, src/tgbatest/explprod.test:
|
||
Sort out some possible inversions in the output.
|
||
|
||
2003-06-19 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbabddconcretefactory.cc
|
||
(tgba_bdd_concrete_factory::~tgba_bdd_concrete_factory): destroy the
|
||
formulae used as keys in prom_.
|
||
(tgba_bdd_concrete_factory::create_promise): Delete.
|
||
(tgba_bdd_concrete_factory::declare_promise,
|
||
tgba_bdd_concrete_factory::finish): New functions.
|
||
* src/tgba/tgbabddconcretefactory.hh
|
||
(tgba_bdd_concrete_factory::create_promise): Delete.
|
||
(tgba_bdd_concrete_factory::declare_promise,
|
||
tgba_bdd_concrete_factory::finish): New functions.
|
||
(tgba_bdd_concrete_factory::prom_): New map.
|
||
* src/tgba/ltl2tgba.cc (ltl_trad_visitor::visit): Adjust
|
||
the Fx and aUb cases to register promises with
|
||
tgba_bdd_concrete_factory::declare_promise().
|
||
(ltl2tgba): Call tgba_bdd_concrete_factory::finish().
|
||
|
||
* src/tgba/tgbabddconcrete.cc (set_init_state, succ_iter):
|
||
Revert the change from 2003-06-12, it needs more work (the
|
||
automaton generated on Xa&(b U !a) was bogus, with that
|
||
patch).
|
||
|
||
* src/tgbatest/ltl2tgba.cc: Handle the -o and -r options.
|
||
|
||
* src/tgbatest/tripprod.test, src/tgbatest/explprod.test,
|
||
src/tgbatest/readsave.test: Adjust to reflect yesterday's
|
||
bddprint.cc change.
|
||
|
||
2003-06-18 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/bddprint.cc (print_handler): Quote promises
|
||
when !want_prom.
|
||
* src/tgbaparse/tgbaparse.yy (prop_list): Accept strings or
|
||
identifiers. Discard empty strings.
|
||
* src/tgbatest/mixprod.cc, src/tgbatest/mixprod.test: New file.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add mixprod.
|
||
(mixprod_SOURCES): New variable.
|
||
(TESTS): Add mixprod.test.
|
||
|
||
2003-06-17 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbaproduct.cc (state_bdd_product::state_bdd_product):
|
||
New constructor.
|
||
* src/tgba/tgbaproduct.hh (state_bdd_product::state_bdd_product):
|
||
New constructor.
|
||
* tgbatest/tripprod.cc, tgbatest/tripprod.test: New files.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add explprod.
|
||
(tripprod_SOURCES): New variable.
|
||
(CLEANFILES): Add input3.
|
||
(TESTS): Add tripprod.test.
|
||
|
||
2003-06-16 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbabddprod.cc, src/tgba/tgbabddprod.hh: Rename as ...
|
||
* src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh: ... these.
|
||
(tgba_bdd_product, tgba_bdd_product_succ_iterator): Rename as ...
|
||
(tgba_product, tgba_product_succ_iterator): ... these, and adjust
|
||
all uses.
|
||
* src/tgba/tgbabddtranslateproxy.cc,
|
||
src/tgba/tgbabddtranslateproxy.hh: Rename as ...
|
||
* src/tgba/tgbatranslateproxy.cc,
|
||
src/tgba/tgbatranslateproxy.hh: ... these.
|
||
(tgba_bdd_translate_proxy, tgba_bdd_translate_proxy_succ_iterator):
|
||
Rename as ...
|
||
(tgba_translate_proxy, tgba_translate_proxy_succ_iterator): ... these,
|
||
and adjust all uses.
|
||
|
||
Make sure we can multiply two tgba_explicit.
|
||
|
||
* tgba/state.hh (state::translate, state::clone, state::as_bdd):
|
||
New virtual methods.
|
||
* tgba/stataebdd.cc (state::translate, state::clone): New methods.
|
||
* tgba/stataebdd.hh (state::translate, state::clone): New methods.
|
||
* tgba/tgbabddprod.cc (state_bdd_product::clone,
|
||
tgba_bdd_product_succ_iterator::~tgba_bdd_product_succ_iterator):
|
||
New methods.
|
||
(tgba_bdd_product_succ_iterator::first): Reset right_
|
||
if any of left_ or right_ is already done (i.e., is empty).
|
||
(tgba_bdd_product_succ_iterator::done): Return true
|
||
if right_ is NULL.
|
||
(tgba_bdd_product_succ_iterator::current_state,
|
||
tgba_bdd_product::get_init_state): Work directory with `state's.
|
||
* tgba/tgbabddprod.hh (state_bdd_product::clone,
|
||
tgba_bdd_product_succ_iterator::~tgba_bdd_product_succ_iterator):
|
||
New methods.
|
||
* tgba/tgbabddtranslateproxy.cc
|
||
(tgba_bdd_translate_proxy_succ_iterator::
|
||
tgba_bdd_translate_proxy_succ_iterator): Work on any kind of iteraator.
|
||
(tgba_bdd_translate_proxy_succ_iterator::
|
||
~tgba_bdd_translate_proxy_succ_iterator): New method.
|
||
(tgba_bdd_translate_proxy_succ_iterator::current_state,
|
||
tgba_bdd_translate_proxy::get_init_state,
|
||
tgba_bdd_translate_proxy::succ_iter): Work on `state's and
|
||
`tgba_succ_iterator's directlry.
|
||
(tgba_bdd_translate_proxy::format_state): Delegate formating
|
||
to the proxied automata.
|
||
* tgba/tgbaexplicit.cc (state_explicit::clone): New method.
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::get_condition,
|
||
tgba_explicit::get_promise): Call ltl::destroy on existing formulae.
|
||
* tgbatest/explprod.cc, tgbatest/explprod.test: New files.
|
||
* tgbatest/Makefile.am (check_PROGRAMS): Add explprod.
|
||
(explprod_SOURCES): New variable.
|
||
(TESTS): Add explprod.test.
|
||
(CLEANFILES): Add input1 and input2.
|
||
|
||
2003-06-12 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbabddconcrete.cc (set_init_state, succ_iter): Make
|
||
sure to compute the status of the most Now variables possible.
|
||
This helps to identify equivalant states.
|
||
(tgba_bdd_concrete): Call set_init_state.
|
||
|
||
2003-06-10 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/ltl2tgba.cc (ltl_trad_visitor::visit): Handle F and G.
|
||
* src/tgbatest/ltl2tgba.test: Use F and G.
|
||
|
||
2003-06-06 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbatest/bddprod.test: New file.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add bddprod.
|
||
(bddprod_SOURCES, bddprod_CXXFLAGS): New variables.
|
||
(TESTS): Add bddprod.test.
|
||
* src/tgbatest/ltlprod.c: Handle BDD_CONCRETE_PRODUCT.
|
||
|
||
* src/tgba/dictunion.cc (tgba_bdd_dict_union): Clone formulae
|
||
while building new dictionary.
|
||
* src/tgbatest/ltlprod.test, src/tgbatest/ltlprod.cc: New files.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add ltlprod.
|
||
(ltlprod_SOURCES): New variable.
|
||
(TESTS): Add ltlprod.test.
|
||
|
||
* src/ltlvisit/clone.cc (clone): New const version.
|
||
* src/ltlvisit/clone.hh (clone): Likewise.
|
||
* src/ltlvisit/destroy.cc (destroy): New const version.
|
||
* src/ltlvisit/destroy.hh (destroy): Likewise.
|
||
* src/tgba/tgbabddconcretefactory.cc
|
||
(tgba_bdd_concrete_factory::create_state,
|
||
tgba_bdd_concrete_factory::create_atomic_prop,
|
||
tgba_bdd_concrete_factory::promise): Clone new formulae.
|
||
* src/tgba/tgbabdddict.cc (tgba_bdd_dict::tgba_bdd_dict,
|
||
tgba_bdd_dict::~tgba_bdd_dict, tgba_bdd_dict::operator=): New methods
|
||
that clone and destroy formulae.
|
||
* src/tgbatest/ltl2tgba.test, src/tgbatest/ltl2tgba.cc: New files.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add ltl2tgba.
|
||
(ltl2tgba_SOURCES): New variable.
|
||
(TESTS): Add ltl2tgba.test.
|
||
|
||
* src/ltltest/equals.cc, src/ltltest/readltl.cc,
|
||
src/tgba/bddprint.cc, src/ltltest/tostring.cc: Include <cassert>.
|
||
|
||
2003-06-05 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/bddprint.cc (dict): Make this variable static.
|
||
(want_prom): New global static variable.
|
||
(print_handle): Honor want_prom.
|
||
(print_sat_handler, bdd_print_sat, bdd_format_sat): New functions.
|
||
(bdd_print_set, bdd_print_dot, bdd_print_table): Set want_prom.
|
||
* src/tgba/bddprint.hh (bdd_print_sat, bdd_format_sat): New functions.
|
||
* src/tgbaalgos/save.cc, src/tgbaalgos/save.hh,
|
||
src/tgbatest/readsave.cc, src/tgbatest/readsave.test: New files.
|
||
* src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES): Add
|
||
save.cc and save.hh.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add readsave.
|
||
(readsave_SOURCES): New variable.
|
||
(TESTS): Add readsave.test.
|
||
|
||
* configure.ac: Output src/tgbaparse/Makefile.
|
||
* src/Makefile.am (SUBDIRS): Add tgbaparse.
|
||
(libspot_la_LDADD): Add tgbaparse/libtgbaparse.la.
|
||
* src/tgba/tgbaexplicit.cc (tgba_explicit::get_condition,
|
||
tgba_explicit::get_promise, tgba_explicit::add_neg_condition,
|
||
tgba_explicit::add_neg_promise): New methods.
|
||
* src/tgba/tgbaexplicit.hh: Declare them.
|
||
* src/tgbaparse/Makefile.am, src/tgbaparse/fmterror.cc,
|
||
src/tgbaparse/parsedecl.hh, src/tgbaparse/public.hh,
|
||
src/tgbaparse/tgbaparse.yy, src/tgbaparse/tgbascan.ll,
|
||
src/tgbatest/tgbaread.cc, src/tgbatest/tgbaread.test: New files.
|
||
* src/tgbatest/Makefile.am (check_PROGRAMS): Add tgbaread.
|
||
(TESTS): Add tgbaread.cc.
|
||
(CLEANFILES): Add input.
|
||
(tgbaread_SOURCES): New variable.
|
||
|
||
* src/ltlparse/ltlparse.yy: Typo in comment.
|
||
|
||
* configure.ac: Output src/tgbatest/Makefile and src/tgbatest/defs.
|
||
* src/Makefile.am (SUBDIRS): Add tgbatest.
|
||
* src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc: New file.
|
||
* src/tgba/Makefile.am (libtgba_la_SOURCES): Add tgbaexplicit.cc
|
||
and tgbaexplicit.hh.
|
||
* src/tgbatest/Makefile.am, src/tgbatest/defs.in,
|
||
src/tgbatest/explicit.cc, src/tgbatest/explicit.test: New files.
|
||
|
||
2003-06-04 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlparse/ltlparse.yy (result): Suppress unused definition.
|
||
|
||
* src/Makefile.am (SUBDIRS): Build `ltltest' after `.'.
|
||
|
||
* src/ltlparse/ltlscan.ll: Use ltlyy as %prefix.
|
||
* src/ltlparse/parsedecl.hh (YY_DECL): Rename yylex to ltlyylex.
|
||
* src/ltlparse/ltlparse.yy: Define yylex as ltlyylex.
|
||
|
||
2003-06-03 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/dictunion.cc, src/tgba/ltl2tgba.cc,
|
||
src/tgba/succiterconcrete.cc, src/tgba/tgbabddconcrete.cc,
|
||
src/tgba/tgbabddprod.cc, src/tgba/tgbabddtranslatefactory.cc,
|
||
src/tgba/tgbabddtranslateproxy.cc: Include <cassert>.
|
||
|
||
2003-06-02 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/tgbabdddict.cc, src/tgba/tgbabdddict.hh: New files.
|
||
* src/tgba/Makefile.am (libtgba_la_SOURCES): Add them.
|
||
* src/tgba/tgbabdddict.cc (tgba_bdd_dict::contains): New function.
|
||
* src/tgba/tgbabdddict.hh (tgba_bdd_dict::contains): Likewise.
|
||
|
||
2003-05-28 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/statebdd.hh (state_bdd::as_bdd): Add non-const variant.
|
||
* src/tgba/tgbabddtranslateproxy.cc,
|
||
src/tgba/tgbabddtranslateproxy.hh: New files.
|
||
* src/tgba/Makefile.am (libtgba_la_SOURCES): Add them.
|
||
|
||
2003-05-27 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgba/bddprint.cc, src/tgba/bddprint.hh,
|
||
src/tgba/dictunion.hh, src/tgba/ltl2tgba.cc, src/tgba/ltl2tgba.hh,
|
||
src/tgba/tgbabddconcretefactory.hh,
|
||
src/tgba/tgbabddconcreteproduct.cc,
|
||
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddfactory.hh,
|
||
src/tgba/tgbabddtranslatefactory.hh, src/tgbaalgos/dotty.cc:
|
||
Add Doxygen comments.
|
||
|
||
* src/tgba/bddfactory.hh, src/tgba/statebdd.hh,
|
||
src/tgba/succiterconcrete.hh, src/tgba/tgbabddconcrete.hh,
|
||
src/tgba/tgbabddcoredata.hh, src/tgba/tgbabdddict.hh: Add
|
||
Doxygen comments.
|
||
|
||
* src/tgba/bddprint.hh (bdd_format_set): New function.
|
||
* src/tgba/bddprint.cc (bdd_format_set): Likewise.
|
||
* src/tgba/state.hh: Add Doxygen comments.
|
||
(state::compare): Take a state*, not a state&.
|
||
(state_ptr_less_than): New functor.
|
||
* src/tgba/statebdd.hh (state_bdd::compare): Take a state*, not a
|
||
state&.
|
||
* src/tgba/statebdd.cc (state_bdd::compare): Likewise.
|
||
* src/tgba/succiter.hh: Add Doxygen comments.
|
||
* src/tgba/tgba.hh: Mention promises.
|
||
(tgba::formate_state): New pure virtual method.
|
||
* src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete::formate_state):
|
||
New method.
|
||
* src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::formate_state):
|
||
Likewise.
|
||
* src/tgbaalgos/dotty.cc: Adjust to use state_ptr_less_than
|
||
and tgba::formate_state.
|
||
|
||
* src/tgba/succiter.hh (tgba_succ_iterator::current_state):
|
||
Return a state*, not a state_bdd.
|
||
* src/tgba/succiterconcrete.hh
|
||
(tgba_succ_iterator_concrete::current_state): Return a state_bdd*,
|
||
not a state_bdd.
|
||
* src/tgba/tgba.hh: Add Doxygen comments.
|
||
(tgba::succ_iter, tgba::get_init_state): Use state*, not state_bdd.
|
||
* src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete::get_init_state):
|
||
Return a state_bdd*, not a state_bdd.
|
||
(tgba_bdd_concrete::get_init_bdd): New method.
|
||
(tgba_bdd_concrete::succ_uter): Take a state* as argument.
|
||
* src/tgba/tgbabddconcrete.cc: Likewise.
|
||
* src/tgba/tgbabddtranslatefactory.cc
|
||
(tgba_bdd_translate_factory::tgba_bdd_translate_factory): Use
|
||
tgba_bdd_concrete::get_init_bdd.
|
||
* src/tgbaalgos/dotty.cc (dotty_state, dotty_rec, dotty): Adjust
|
||
to use state* instead of state_bdd.
|
||
* src/tgba/succlist.hh: Delete. (Leftover from a previous
|
||
draft.)
|
||
|
||
2003-05-26 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/tgbaalgos/dotty.cc, src/tgbaalgos/dotty.hh: New files.
|
||
* src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES): Add them.
|
||
|
||
* src/tgba/tgbabddtranslatefactory.cc
|
||
(tgba_bdd_translate_factory::compute_pairs): Be quiet.
|
||
|
||
* src/Makefile.am (SUBDIRS): Add tgbaalgos.
|
||
(libspot_la_LIBADD): Add tgba/libtgbaalgos.
|
||
* src/tgbaalgos/Makefile.am: New file.
|
||
* configure.ac: Output src/tgbaalgos/Makefile.
|
||
|
||
* src/tgba/bddprint.hh, src/tgba/bddprint.cc: New files.
|
||
* src/tgba/Makefile.am (libtgba_la_SOURCES): Add them.
|
||
* src/tgba/public.hh: Include bddprint.hh.
|
||
|
||
* src/tgba/tgba.hh: Rename as ...
|
||
* src/tgba/public.hh: .. this.
|
||
* src/tgba/tgba.hh: New file.
|
||
* src/tgba/Makefile.am (libtgba_la_SOURCES): Add public.hh.
|
||
* src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete): Inherit from tgba.
|
||
(tgba_bdd_concrete::init_iter): Delete.
|
||
(tgba_bdd_concrete::succ_iter): Take a state_bdd as argument,
|
||
not a bdd.
|
||
* src/tgba/tgbabddconcrete.cc: Likewise.
|
||
|
||
Initial code for TGBA (Transition Generalized B<>chi Automata).
|
||
Contains tgba_bdd, a BDD-encoded TGBA, and ltl_to_tgba,
|
||
a LTL-to-TGBA translator using Couvreur's algorithm.
|
||
|
||
* src/Makefile.am (SUBDIRS): Add tgba.
|
||
(libspot_la_LIBADD): Add tgba/libtgba.la.
|
||
* configure.ac: Output src/tgba/Makefile.
|
||
* src/tgba/Makefile.am, src/tgba/bddfactory.cc,
|
||
src/tgba/bddfactory.hh, src/tgba/dictunion.cc,
|
||
src/tgba/dictunion.hh, src/tgba/ltl2tgba.cc, src/tgba/ltl2tgba.hh,
|
||
src/tgba/state.hh, src/tgba/statebdd.cc, src/tgba/statebdd.hh,
|
||
src/tgba/succiter.hh, src/tgba/succiterconcrete.cc,
|
||
src/tgba/succiterconcrete.hh, src/tgba/succlist.hh,
|
||
src/tgba/tgba.hh, src/tgba/tgbabddconcrete.cc,
|
||
src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcretefactory.cc,
|
||
src/tgba/tgbabddconcretefactory.hh,
|
||
src/tgba/tgbabddconcreteproduct.cc,
|
||
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddcoredata.cc,
|
||
src/tgba/tgbabddcoredata.hh, src/tgba/tgbabdddict.cc,
|
||
src/tgba/tgbabdddict.hh, src/tgba/tgbabddfactory.hh,
|
||
src/tgba/tgbabddtranslatefactory.cc,
|
||
src/tgba/tgbabddtranslatefactory.hh: New files.
|
||
|
||
2003-05-23 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* m4/gccwarn.m4: Do not use -Winline, this is inappropriate
|
||
with STL.
|
||
* src/ltlast/atomic_prop.cc, src/ltlvisit/lunabbrev.cc,
|
||
src/ltlvisit/nenoform.cc: Include <cassert>.
|
||
|
||
2003-05-16 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlvisit/dotty.cc: Rewrite to display formulae as
|
||
graphs rather than trees, to show how nodes are shared.
|
||
|
||
* src/ltlvisit/dump.hh (dump): Return the passed ostream.
|
||
* src/ltlvisit/dump.cc (dump): Likewise.
|
||
* src/ltlvisit/dotty.hh (dotty): Likewise.
|
||
* src/ltlvisit/dotty.cc (dotty): Likewise.
|
||
* src/ltlvisit/tostring.hh (to_string): Likewise.
|
||
* src/ltlvisit/tostring.cc (to_string): Likewise.
|
||
|
||
* src/ltlvisit/dump.hh (dump): Take a formula* as argument,
|
||
not a formula&. This is more homogeneous.
|
||
* src/ltlvisit/dump.cc (dump): Likewise.
|
||
* src/ltlvisit/dotty.hh (dotty): Likewise.
|
||
* src/ltlvisit/dotty.cc (dotty): Likewise.
|
||
* src/ltlvisit/tostring.hh (to_string): Likewise.
|
||
* src/ltlvisit/tostring.cc (to_string): Likewise.
|
||
* src/ltltest/readltl.cc, src/ltltest/equals.cc,
|
||
src/ltltest/tostring.cc: Adjust usage.
|
||
|
||
Check trivial multop equality at build time. This makes the equal
|
||
visitor useless, since two equals formulae will now share the same
|
||
address.
|
||
|
||
* src/ltlast/multop.hh (add_sorted): New function.
|
||
(paircmp): New comparison functor.
|
||
(map): Use paircmp, we want to compare the vectors' contents,
|
||
not their addresses.
|
||
* src/ltlast/multop.cc (add_sorted): New function.
|
||
(add): Use it.
|
||
* src/ltltest/equals.cc, src/ltltest/tostring.cc: Compare
|
||
pointers instead of calling equal.
|
||
* src/ltlvisit/equals.cc, src/ltlvisit/equals.hh: Delete.
|
||
* src/ltlvisit/Makefile.am (libltlvisit_la_SOURCES): Remove
|
||
equals.cc and equals.hh.
|
||
* wrap/spot.i: Do not include equals.hh.
|
||
|
||
2003-05-15 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
Implement spot::ltl::destroy() and exercise it.
|
||
|
||
* src/ltlast/atomic_prop.hh: Declare instance_count().
|
||
* src/ltlast/binop.hh, src/ltlast/unop.hh, src/ltlast/multop.hh:
|
||
Likewise. Also, really inherit for ref_formula this time.
|
||
* src/ltlast/atomic_prop.cc, src/ltlast/binop.cc,
|
||
src/ltlast/unop.cc, src/ltlast/multop.cc: On destruction, suppress
|
||
the instance from the instance map. Implement instance_count().
|
||
* src/ltlast/formula.cc, src/ltlast/formula.hh,
|
||
src/ltlast/ref_formula.cc, src/ltlast/ref_formula.hh: Add virtual
|
||
destructors.
|
||
* src/ltlparse/ltlparse.yy: Recover from binary operators with
|
||
missing right hand operand (the point is just to destroy the
|
||
the left hand operand).
|
||
* src/ltltest/equals.cc, src/ltltest/readltl.cc,
|
||
src/ltltest/tostring.cc: Destroy used formulae. Make sure
|
||
instance_count()s are null are the end.
|
||
* src/ltltest/parseerr.test: Adjust expected result, now
|
||
that the parser lnows about missing right hand operands.
|
||
* src/ltlvisit/destroy.hh, src/ltlvisit/destroy.cc,
|
||
src/ltlvisit/postfix.hh, src/ltlvisit/postfix.cc: New files.
|
||
* src/ltlvisit/Makefile.am (libltlvisit_la_SOURCES): Add them.
|
||
* src/ltlvisit/lunabbrev.cc (Xor, Equiv): Clone formulae
|
||
occurring twice in the rewritten expression.
|
||
|
||
Massage the AST so that identical sub-formula share the same
|
||
reference-counted formula*. One can't call constructors for AST
|
||
items anymore, everything need to be acquired through instance()
|
||
class methods.
|
||
|
||
* src/ltlast/formula.cc, src/ltlast/refformula.cc,
|
||
src/ltlast/refformula.hh: New files.
|
||
* src/ltlast/Makefile.am (libltlast_la_SOURCES): Add them.
|
||
* src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
|
||
src/ltlast/unop.cc, src/ltlast/unop.hh,
|
||
src/ltlast/binop.cc, src/ltlast/binop.hh: Make the constructor
|
||
and destructor protected. Define a static function `instance()'
|
||
to get an instance with specific argument. Use a map called
|
||
`instances' to store all known instances. Inherit from
|
||
ref_formula.
|
||
* src/ltlast/constant.hh, src/ltlast/constant.cc: Protect
|
||
the constructor and destructor. Provide the false_instance()
|
||
and true_instance() functions instead.
|
||
* src/formula.hh (ref, unref, ref_, unref_): New methods.
|
||
* src/ltlast/multop.cc, src/ltlast/multop.hh: Protect
|
||
the constructor, destructor, as well as the add() method.
|
||
Provides the instance(), and add() class methods instead.
|
||
Store children_ as a pointer.
|
||
* src/ltlenv/defaultenv.cc (require): Adjust to
|
||
call atomic_prop::instance.
|
||
* src/ltlparse/ltlparse.yy: Adjust to call instance() functions
|
||
instead of constructors.
|
||
* src/ltltest/Makefile.am (LDADD): Tweak library ordering.
|
||
* src/ltlvisit/clone.hh (clone_visitor): Inherit from visitor,
|
||
not const_visitor, and adjust all prototypes appropriately.
|
||
* src/ltlvisit/clone.cc (clone_visitor): Likewise.
|
||
Call ref() or instance() methods instead of copy constructors.
|
||
* src/ltlvisit/equals.cc: Simplify atomic_prop and constant
|
||
cases.
|
||
* src/ltlvisit/lunabbrev.hh, src/ltlvisit/lunabbrev.cc,
|
||
src/ltlvisit/tunabbrev.hh, src/ltlvisit/tunabbrev.cc,
|
||
src/ltlvisit/nenoform.hh, src/ltlvisit/nenoform.cc: Use instance()
|
||
methods instead of constructor. Make these children of visitor, not
|
||
const_visitor.
|
||
* src/ltltest/readltl.c (main): Do not delete the formula.
|
||
|
||
* src/ltlparse/ltlscan.ll (to_parse_size): Declare as size_t to
|
||
remove a warning with newer versions of Flex.
|
||
|
||
* src/ltlparse/ltlparse.yy (error_list, parse_environment, result):
|
||
CVS Bison now supports %parse-param for the C++ skeleton; pass these
|
||
variables as arguments to the Parser::Parser constructor instead of
|
||
using globals.
|
||
(parse): Adjust Parser::Parser call.
|
||
|
||
2003-05-12 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlvisit/tostring.cc: Reindent and strip out superfluous
|
||
spot::ltl:: prefixes.
|
||
(to_string(formula)): New function.
|
||
* src/ltlvisit/tostring.hh (to_string(formula)): Likewise.
|
||
* src/ltltest/tostring.cc: Use this new to_string function to
|
||
simplify.
|
||
|
||
2003-05-05 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* m4/buddy.m4: New file.
|
||
* Makefile.am (EXTRA_DIST): Add m4/buddy.m4.
|
||
* configure.ac: Call AX_CHECK_BUDDY.
|
||
|
||
2003-04-30 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlvisit/Makefile.am (lib_LTLIBRARIES): Rename as ...
|
||
(noinst_LTLIBRARIES): ... this.
|
||
* src/ltlenv/Makefile.am, src/ltlast/Makefile.am,
|
||
src/ltlparse/Makefile.am: Likewise.
|
||
* src/Makefile.am (lib_LTLIBRARIES, libspot_la_SOURCES,
|
||
libspot_la_LIBADD): New variable. Build a libspot.la library
|
||
from all the sub-libraries.
|
||
|
||
* m4/pypath.m4: New file.
|
||
* Makefile.am (SUBDIRS): Add wrap.
|
||
* wrap/Makefile.am: New file.
|
||
* wrap/spot.i: New file. Preliminary bindings for Python.
|
||
* configure.ac: Call adl_CHECK_PYTHON and output wrap/Makefile.
|
||
|
||
2003-04-29 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* configure.ac: Call AC_PROG_LIBTOOL.
|
||
* src/ltlast/Makefile.am, src/ltlenv/Makefile.am,
|
||
src/ltlparse/Makefile.am, src/ltltest/Makefile.am,
|
||
src/ltlvisit/Makefile.am: Adust to build libtool libraries.
|
||
|
||
* src/ltlenv/defaultenv.hh: Do not include atomic_prop.hh here...
|
||
* src/ltlenv/defaultenv.cc: ... but here.
|
||
|
||
* src/ltltest/tostring.test: Simplify with set -e. Move the
|
||
description of the test ...
|
||
* src/ltltest/tostring.cc: ... here, where it is actually coded.
|
||
* src/ltltest/lunabbrev.test, src/ltltest/tunabbrev.test,
|
||
src/ltltest/nenoform.test, src/ltltest/tunenoform.test:
|
||
Simplify with set -e.
|
||
|
||
* configure.ac (AM_INIT_AUTOMAKE): Use nostdinc, to make
|
||
sure we always use paths relative to src/ in src/'s
|
||
subdirectories.
|
||
|
||
2003-04-28 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlparse/Makefile.am (CXXFLAGS): Turn on GCC warnings
|
||
now that CVS Bison is fixed.
|
||
* src/ltlparse/ltlscan.ll: Use yyunput to shut up a GCC warning.
|
||
|
||
2003-04-24 Rachid REBIHA <rebiha@src.lip6.fr>
|
||
|
||
* src/ltltest/tostring.test: New file.
|
||
* src/ltltest/tostring.cc: New files.
|
||
* src/ltlvisit/tostring.hh: From ast to string New files.
|
||
* src/ltlvisit/tostring.cc: From ast to string New files.
|
||
|
||
2003-04-18 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlparse/Makefile.am (EXTRA_DIST): Distribute ltlparse.yy.
|
||
* src/ltlast/Makefile.am (libltlast_a_SOURCES): Add visitor.hh.
|
||
|
||
* src/ltlast/atomic_prop.hh, src/ltlast/binop.hh,
|
||
src/ltlast/constant.hh, src/ltlast/formula.hh,
|
||
src/ltlast/multop.hh, src/ltlast/unop.hh, src/ltlast/visitor.hh,
|
||
src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
|
||
src/ltlparse/public.hh, src/ltlvisit/clone.hh,
|
||
src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh,
|
||
src/ltlvisit/equals.hh, src/ltlvisit/lunabbrev.hh,
|
||
src/ltlvisit/nenoform.hh, src/ltlvisit/tunabbrev.hh: Add
|
||
Doxygen comments.
|
||
* src/visitor.hh: Do not use const_sel. This clarifies
|
||
the code and helps Doxygen.
|
||
|
||
* configure.ac: Output doc/Doxyfile and doc/Makefile.
|
||
* doc/Makefile.am, doc/Doxyfile.in: New files.
|
||
* Makefile.am (SUBDIRS): Add doc.
|
||
|
||
* src/ltlparse/ltlscan.ll: Recognize && and ||.
|
||
* src/ltltest/parse.test, src/ltltest/parseerr.test,
|
||
src/ltltest/equals.test: Use these operators..
|
||
|
||
2003-04-17 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltltest/readltl.cc, src/ltltest/equals.cc: Cosmetics.
|
||
|
||
* src/ltlenv/environment.hh (require): Return a formula, not
|
||
an atomic_prop.
|
||
* src/ltlast/atomic_prop.hh (atomic_prop): New argument env.
|
||
(environment_): New member.
|
||
(env): New method.
|
||
* src/ltlast/atomic_prop.cc (atomic_prop, env): Likewise.
|
||
* src/ltlenv/defaultenv.cc (require): Pass *this as the
|
||
environment argument to atomic_prop.
|
||
* src/ltlvisit/clone.cc (visit(const atomic_prop*)): Also copy
|
||
the environment.
|
||
* src/ltlvisit/nenoform.cc (visit(const atomic_prop*)): Likewise.
|
||
|
||
* configure.ac: Output src/ltlenv/Makefile.
|
||
* src/ltlenv/Makefile.am, src/ltlenv/defaultenv.cc,
|
||
src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh: New files.
|
||
* src/ltlparse/public.hh (parse): Take an environment as third
|
||
argument.
|
||
* src/ltlparse/ltlparse.yy (ATOMIC_PROP, parse): Require the
|
||
atomic proposition via the environment.
|
||
* src/ltltest/readltl.cc (main): Adjust the call to parse().
|
||
* src/ltltest/Makefile.am (LDADD): Add ../ltlenv/libltlenv.a.
|
||
|
||
* src/ltlvisit/clone.hh, src/ltlvisit/clone.cc: New files.
|
||
* src/ltlvisit/Makefile.am (libltlvisit_a_SOURCES): Add them.
|
||
* src/ltlvisit/lunabbrev.hh, src/ltlvisit/lunabbrev.cc: Inherit
|
||
from clone_visitor and remove all useless methods (now inherited).
|
||
|
||
* src/ltlvisit/nenoform.hh, src/ltlvisit/nenoform.cc: New files.
|
||
* src/ltlvisit/Makefile.am (libltlvisit_a_SOURCES): Add them.
|
||
* src/ltltest/equals.cc (main) [NENOFORM]: Call negative_normal_form.
|
||
* src/ltltest/nenoform.test, src/ltltest/tunenoform.test: New files.
|
||
* src/ltltest/Makefile.am (check_PROGRAMS): Add nenoform and
|
||
tunenoform.
|
||
(nenoform_SOURCES, nenoform_CPPFLAGS, tunenoform_SOURCES,
|
||
tunenoform_CPPFLAGS): New variables.
|
||
(TESTS): Add nenoform.test and tunenoform.test.
|
||
|
||
* src/ltlvisit/lunabbrev.hh: Fix include guard.
|
||
|
||
2003-04-16 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh: New files.
|
||
* src/ltlvisit/Makefile.am (libltlvisit_a_SOURCES): Add them.
|
||
* src/ltltest/tunabbrev.test: New file.
|
||
* src/ltltest/lunabbrev.test: Fix comment.
|
||
* src/ltltest/Makefile.am (TESTS): Add tunabbrev.test.
|
||
(check_PROGRAMS): Add tunabbrev.
|
||
(tunabbrev_SOURCES, tunabbrev_CPPFLAGS): New variables.
|
||
* src/ltltest/equals.cc (main) [TUNABBREV]: Call unabbreviate_ltl.
|
||
* src/ltlvisit/lunabbrev.hh (unabbreviate_logic_visitor::recurse):
|
||
New virtual function.
|
||
* src/ltlvisit/lunabbrev.cc (unabbreviate_logic_visitor::recurse):
|
||
Likewise.
|
||
(unabbreviate_logic_visitor::visit): Use it instead of calling
|
||
unabbreviate_logic directly.
|
||
|
||
* src/ltlvisit/lunabbrev.hh: Add missing include guard.
|
||
|
||
* src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh: New files.
|
||
* src/ltlvisit/Makefile.am (libltlvisit_a_SOURCES): Add them.
|
||
* src/ltlast/multop.cc (multop::multop(type)): New constructor.
|
||
* src/ltlast/multop.hh (multop::multop(type)): New constructor.
|
||
* src/ltltest/lunabbrev.test: New file.
|
||
* src/ltltest/Makefile.am (TESTS): Add lunabbrev.test.
|
||
(check_PROGRAMS): Add lunabbrev.
|
||
(lunabbrev_SOURCES, lunabbrev_CPPFLAGS): New variables.
|
||
* src/ltltest/equals.cc (main) [LUNABBREV]: Call unabbreviate_logic.
|
||
|
||
* src/ltltest/equals.test (check0, check1): Remove. Use check 0, and
|
||
check 1 instead.
|
||
|
||
* src/ltlast/formulae.hh: Rename as ...
|
||
* src/ltlast/formula.hh: ... this.
|
||
* src/ltlast/Makefile.am (libltlast_a_SOURCES): Adjust.
|
||
* src/ltlast/formula.hh (formulae): Rename as ...
|
||
(formula): ... this.
|
||
Adjust all uses.
|
||
|
||
* src/ltlparse/public.hh (format_parse_errors): New function.
|
||
* src/ltlparse/fmterror.cc: New file.
|
||
* src/ltlparse/Makefile.am (libltlparse_a_SOURCES): Add fmterror.cc.
|
||
* src/ltltests/equals.cc, src/ltltests/readltl.cc: Simplify using
|
||
format_parse_errors.
|
||
|
||
* src/ltlvisit/equals.cc, src/ltlvisit/equals.hh: New files.
|
||
* src/ltlvisit/Makefile.am (libltlvisit_a_SOURCES): Add equals.hh
|
||
and equals.cc.
|
||
* src/ltltest/equals.cc, src/ltltest/equals.test: New files.
|
||
* src/ltltest/Makefile.am (check_PROGRAMS): Add equals.
|
||
(equals_SOURCES): New variable.
|
||
(TESTS): Add equals.test.
|
||
|
||
* src/ltlast/multop.cc (multop::multop): Use multop::add.
|
||
(multop::add): If the formulae we add is itself a multop for the
|
||
same operator, merge its children with ours.
|
||
* src/ltltest/parseerr.test: Add two tests for multop merging.
|
||
|
||
2003-04-15 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||
|
||
* src/ltlast/formulae.hh (formulae::equals): Remove.
|
||
* src/ltlast/unop.hh (unop::equals): Remove.
|
||
* src/ltlast/unop.cc (unop::equals): Remove.
|
||
* src/ltlast/binop.hh (binop::equals): Remove.
|
||
* src/ltlast/binop.cc (binop::equals): Remove.
|
||
* src/ltlast/multop.hh (multop::equals): Remove.
|
||
* src/ltlast/multop.cc (multop::equals): Remove.
|
||
* src/ltlast/atomic_prop.hh (atomic_prop::equals): Remove.
|
||
* src/ltlast/atomic_prop.cc (atomic_prop::equals): Remove.
|
||
* src/ltlast/constant.hh (constant::equals): Remove.
|
||
* src/ltlast/constant.cc (constant::equals): Remove.
|
||
|
||
* HACKING, Makefile.am, configure.ac, m4/gccwarn.m4,
|
||
src/Makefile.am, src/ltlast/Makefile.am, src/ltlast/allnodes.hh,
|
||
src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
|
||
src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/constant.cc,
|
||
src/ltlast/constant.hh, src/ltlast/formulae.hh,
|
||
src/ltlast/multop.cc, src/ltlast/multop.hh, src/ltlast/predecl.hh,
|
||
src/ltlast/unop.cc, src/ltlast/unop.hh, src/ltlast/visitor.hh,
|
||
src/ltlparse/Makefile.am, src/ltlparse/ltlparse.yy,
|
||
src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
|
||
src/ltlparse/public.hh, src/ltlvisit/Makefile.am,
|
||
src/ltlvisit/dotty.cc, src/ltlvisit/dotty.hh,
|
||
src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
|
||
src/ltlvisit/rewrite.cc, src/ltlvisit/rewrite.hh,
|
||
src/ltltest/Makefile.am, src/ltltest/defs.in, src/ltltest/readltl.cc,
|
||
src/ltltest/parse.test, src/ltltest/parseerr.test,
|
||
src/misc/Makefile.am, src/misc/const_sel.hh: New files.
|