Commit graph

2507 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
bc9cb1e5bb * configure.ac: Prefer swig-3.0 when available. 2014-12-04 11:42:04 +01:00
Alexandre Duret-Lutz
946f7e80dd * src/bin/randltl.cc: Fix typos in examples. 2014-11-29 18:05:29 +01:00
Alexandre Duret-Lutz
ef5b0417e7 hoa: fix handling of escaped characters in atomic propositions
(No test, this is just a simple backport of a fix from the development
branch, where it is tested.)

* src/tgbaalgos/hoaf.cc: Do not call to_string() to display names, as
this would add another level of escaping.
* NEWS: Mention it.
2014-11-25 16:41:28 +01:00
Alexandre Duret-Lutz
f8cf2aa9b3 fix line number tracking in files with DOS newlines
* src/dstarparse/dstarscan.ll, src/kripkeparse/kripkescan.ll,
src/neverparse/neverclaimscan.ll, src/tgbaparse/tgbascan.ll:
Distinguish between 1-sized EOL and 2-sized EOL.
* src/kripketest/bad_parsing.test, src/tgbatest/neverclaimread.test,
src/tgbatest/readsave.test: Add more tests.
* NEWS: Mention it.
* src/kripkeparse/scankripke.ll: Remove this unused file.
2014-11-18 11:59:49 +01:00
Alexandre Duret-Lutz
becfcbcf79 * NEWS: Mention the std::set assignment workaround. 2014-11-14 08:38:16 +01:00
Alexandre Duret-Lutz
6e2151dc18 futurecondcol: avoid gcc-snapshot bug
* src/tgba/futurecondcol.cc: Use swap instead of assignement.  It is
more efficient, and it avoid the bug of gcc-snapshot mentionned two
commits below.
2014-11-13 23:41:07 +01:00
Alexandre Duret-Lutz
4ea63f8404 ltl2tgba_fm: fix non-deterministic output
The ltl_to_tgba_fm() translation function was using a hash_map of
maps (ugh!) to merge transitions on output.  However recent libstd++
changed the implementation of hash_map (a.k.a. unordered_map) causing
transitions to be output in a different order.  This
implementation-dependent order caused the ltl2ta.test to fail because
the BA->TA transformation can produce TA of different sizes if you
simply change the order of transitions in the input BA! This does not
sound like a nice property for the BA->TA transformation, but Ala Eddine
isn't sure how to fix it yet.  In the meantime, this patch makes sure
ltl_to_tgba_fm() will return the same output regardless of the
implementation of hash_map.

The ltl2ta.test failure has been observed with g++ 4.9.2 on Arch Linux,
and with gcc-snapshot (5.0.0 20141016) on Debian.

* src/tgbaalgos/ltl2tgba_fm.cc: Rewrite the transition merging
using a std::vector and std::sort instead of nested maps tables.
* NEWS: Mention the fix.
2014-11-13 21:11:00 +01:00
Alexandre Duret-Lutz
2745381097 tgbasafracomplement: avoid some std::set copies
* src/tgba/tgbasafracomplement.cc: Here.  Beside being more efficient,
the use of std::swap instead of an assignment also protects us from a
bug recently introduced in the development version of G++.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698
2014-11-10 13:37:38 +01:00
Alexandre Duret-Lutz
09242d3f78 org: compatibility with org 8
* doc/org/init.el.in: Add compatibility with org 8.
* NEWS: Mention it.
2014-10-24 11:52:40 +02:00
Alexandre Duret-Lutz
c7f98fd7f7 hoaf: rename I(i) as Inf(i).
We just changed the format specification today.

* src/tgbaalgos/hoaf.cc: Here.
* NEWS: mention it.
2014-09-06 11:19:30 +02:00
Alexandre Duret-Lutz
d401fadc65 neverparse: diagnose redefinition of state labels
Reported by Joachim Klein.

* src/neverparse/neverclaimparse.yy: Store labels and the
location of their first definition in a global map to catch
redefinitions.
* src/tgbatest/neverclaimread.test: Test it.
* NEWS: Mention it.
2014-08-31 19:56:24 +02:00
Alexandre Duret-Lutz
9a8becb8d8 ltlcross: fix missing check for complement of negative automata
* src/bin/ltlcross.cc: Fix it.
* src/tgbatest/ltl2dstar.test: Test it.
* NEWS: Mention it.
2014-08-31 19:56:24 +02:00
Alexandre Duret-Lutz
49a0997866 ltlcross: add --verbose option
* src/bin/ltlcross.cc: Implement it.
* NEWS: Mention it.
2014-08-31 19:56:24 +02:00
Alexandre Duret-Lutz
261b073ae7 * doc/org/ltlcross.org: Typos. 2014-08-31 17:01:49 +02:00
Alexandre Duret-Lutz
4d82ca7055 * src/tgbaalgos/hoaf.hh: Typos in comments. 2014-08-22 17:38:55 +02:00
Alexandre Duret-Lutz
3152c1a6cb * NEWS, configure.ac: Bump version to 1.2.5a. 2014-08-22 00:11:00 +02:00
Alexandre Duret-Lutz
290106b0a4 Release Spot 1.2.5.
* configure.ac, doc/org/tools.org, NEWS: Bump version to 1.2.5.
2014-08-21 23:16:39 +02:00
Alexandre Duret-Lutz
a72b84b0b4 * src/tgbatest/ltlcross.test: More formulas from Joachim. 2014-08-21 23:16:39 +02:00
Alexandre Duret-Lutz
408dc878e5 ltl2tgba_fm: fix translation of !{f} as done last year for {f}
* src/tgbaalgos/ltl2tgba_fm.cc: Fix.
* src/tgbatest/randpsl.test: Rewrite using ltlcross and add a testcase.
* NEWS: Mention it.
2014-08-21 23:16:39 +02:00
Alexandre Duret-Lutz
d3ddd724c9 * doc/org/satmin.org: Tweak so org-mode does not botch the output. 2014-08-21 23:16:39 +02:00
Alexandre Duret-Lutz
bab579cf9d ltl2tgba.html: Separate the ltl3ba tabs from the others.
Suggested by Joachim Klein.

* wrap/python/ajax/ltl2tgba.html: Name the tab.
* wrap/python/ajax/css/ltl2tgba.css: Give it some space.
2014-08-21 23:16:39 +02:00
Alexandre Duret-Lutz
85beeec2e4 ltl2tgba.html: Add option to output LBT format.
Suggested by Joachim Klein.

* wrap/python/ajax/ltl2tgba.html: New option.
* wrap/python/ajax/protocol.txt, NEWS: Document it.
* wrap/python/ajax/spot.in: Implement it.
* wrap/python/spot.i: Export src/ltlvisit/lbt.hh.
2014-08-21 23:16:39 +02:00
Alexandre Duret-Lutz
d9d9837e55 * wrap/python/ajax/ltl2tgba.html: Update tooltips. 2014-08-21 23:16:39 +02:00
Alexandre Duret-Lutz
829012fe43 ltlcross: implement a --save-bogus=FILENAME option
Suggested by Joachim Klein.

* src/bin/ltlcross.cc: Implement it.
* src/tgbatest/ltlcross3.test: Test it.
* doc/org/ltlcross.org, NEWS: Document it.
2014-08-21 23:16:39 +02:00
Alexandre Duret-Lutz
2227ad60cf randltl: do not reset the seed between formulas
Reported by Joachim Klein.

* src/bin/randltl.cc: Here.
* NEWS: Mention the fix.
2014-08-21 13:23:36 +02:00
Alexandre Duret-Lutz
44fc323e7b randltl: accept a number of atomic propositions
Suggested by Joachim Klein.

* src/bin/randltl.cc: Implement it.
* src/ltltest/rand.test: Test it.
* doc/org/randltl.org, NEWS: Document it.
2014-08-21 13:17:18 +02:00
Alexandre Duret-Lutz
310a98c15a hoaf: first implementation of the HOA Format output.
The specifications are at http://adl.github.io/hoaf/

* src/tgbaalgos/hoaf.cc, src/tgbaalgos/hoaf.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc,
src/tgbatest/ltl2tgba.cc: Add option to output HOA.
* NEWS: Mention it.
2014-08-20 23:10:01 +02:00
Alexandre Duret-Lutz
e997676c3e Support LBT formula in ltl2tgba.html.
Suggested by Joachim Klein.

* wrap/python/ajax/spot.in: Try parse_lbt() when parse() fails.
* NEWS: Mention it.
2014-08-20 23:10:01 +02:00
Alexandre Duret-Lutz
e78548ebae ltlcross: display formulas in blue instead of white
So that people using white-background terminal can still read them...
Reported by Joachim Klein.

* src/bin/ltlcross.cc: Adjust.
* NEWS: Mention it.
2014-08-20 23:10:01 +02:00
Alexandre Duret-Lutz
795c2f1720 ltl2tgba_fm: Fix incorrect simplification of promises for M
The bug was reported by Joachim Klein.

* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict::register_a_variable):
Reduce P(a M b) to P(a & b), not to P(a).
* src/tgbatest/ltlcross.test: Test Joachim's formula.
* src/tgbatest/ltl2ta.test: Adjust some expected values.
* NEWS: Mention the bug.
2014-08-20 23:10:01 +02:00
Alexandre Duret-Lutz
e7dc62e3c8 * NEWS: Add more news. 2014-08-19 14:57:35 +02:00
Alexandre Duret-Lutz
e5124faa13 man: more doc about TGBA and monitors
This was prompted by an exchange of emails with Caroline Lemieux.

* src/bin/man/ltl2tgba.x: Add notes and references.
* NEWS, THANKS: Update.
2014-08-19 14:52:51 +02:00
Alexandre Duret-Lutz
d4e3a9521b [buddy] Fix a harmless uninitialized read.
This can only cause failure when running under valgrind (i.e., in the
test suite), but is not a problem in practice as the test is certain
to fail the entry->c check whenever entry->b is uninitialized.

* src/bddop.c (bdd_implies): Here.
2014-08-11 08:52:38 +02:00
Alexandre Duret-Lutz
c7da4003a7 * src/tgba/taatgba.cc: Fix a memory leak. 2014-07-09 18:10:26 +02:00
Alexandre Duret-Lutz
5187752c9a org: Prevent a race on the buildfarm.
* doc/org/init.el.in (org-publish-timestamp-directory): Use a build
directory, not $HOME.
2014-05-29 16:16:36 +02:00
Alexandre Duret-Lutz
6c76ba408e neverparse: Fix parsing of Modella's neverclaims.
Reported by František Blahoudek.

* src/neverparse/neverclaimparse.yy: Fix.
* src/tgbatest/neverclaimread.test: Test it.
* NEWS: Mention the fix.
2014-05-29 15:48:31 +02:00
Alexandre Duret-Lutz
a4934c4f71 * NEWS: Mention recent fix. 2014-05-17 15:13:35 +02:00
Alexandre Duret-Lutz
8315cad6db * src/ltltest/equals.cc: Fix style. 2014-05-17 12:56:45 +02:00
Alexandre Duret-Lutz
139f7b49b4 snf: Fix the handling of bounded repetition.
star_normal_form() used to be called under bounded
repetitions like [*0..4], but some of these rewritings
are only correct for [*0..].  For instance
     (a*|1)[*]      can be rewritten to    1[*]
but  (a*|1)[*0..1]  cannot be rewritten to 1[*0..1]
it would be correct to rewrite the latter as (a[+]|1)[*0..1],
canceling the empty word in a*.

Also (a*;b*)[*]     can be rewritten to    (a|b)[*]
but  (a*;b*)[*0..1]  cannot be rewritten to (a|b)[*0..1]
and it cannot either be rewritten to (a[+]|b[+])[*0..1].

This patch introduces a new function to implement
rewritings under bounded repetition.

* src/ltlvisit/snf.hh, src/ltlvisit/snf.cc (star_normal_form_unbounded):
New function.
* src/ltlvisit/simplify.cc: Use it.
* src/ltltest/reduccmp.test: Add tests.
* doc/tl/tl.tex: Document the rewritings implemented.
2014-05-17 12:56:37 +02:00
Alexandre Duret-Lutz
f431852af9 * NEWS, configure.ac: Bump version to 1.2.4a. 2014-05-15 12:13:29 +02:00
Alexandre Duret-Lutz
c11f15c76c Release Spot 1.2.4
* NEWS, configure.ac, doc/org/tools.org: Bump version.
2014-05-15 11:07:25 +02:00
Alexandre Duret-Lutz
9761703736 doc: update bibliographic references
* doc/org/satmin.org, src/bin/man/dstar2tgba.x, src/bin/man/ltl2tgba.x:
Cite the FORTE'14 paper.
* doc/org/tools.org, src/bin/man/ltl2tgba.x: Replace the VECOS'11
citation by IJCCBS'14.
* src/bin/man/ltl2tgba.x: Cite SPIN'13.
2014-05-14 18:16:12 +02:00
Alexandre Duret-Lutz
c46d6cee9a * src/ltlast/multop.hh: Typo in comment. 2014-05-13 18:26:32 +02:00
Alexandre Duret-Lutz
d741d9266d simplify: remove an incorrect simplification rule
Fortunately was only enabled with the
ltl_simplifier_options::favor_event_univ option, which cannot yet be
turned on from the command-line tools.

* src/ltlvisit/simplify.cc, doc/tl/tl.tex: Remove the rule.
* src/ltltest/eventuniv.test: Adjust.
* NEWS: Mention the bug.
2014-05-13 17:31:51 +02:00
Alexandre Duret-Lutz
362862dace llt2tgba_fm: fix translation of ":" in some SERE
* src/tgbaalgos/ltl2tgba_fm.cc: Here.
* src/ltltest/reduccmp.test: Add a test case.
* NEWS: Mention it.
2014-05-13 17:09:11 +02:00
Alexandre Duret-Lutz
48471b5114 simplify: fix 3 incorrect simplification rules
* src/ltlvisit/simplify.cc: Remove two incorrect rules, and
partially disable another one.
* doc/tl/tl.tex: Reflect the change.
* src/ltltest/reduccmp.test: Likewise.
* src/ltltest/equals.cc: Add safety checks to catch such errors in the
future.
* NEWS: Mention the bug.
2014-05-13 16:59:51 +02:00
Alexandre Duret-Lutz
34fd27a381 * AUTHORS: Fix So[u]heib's name at his request. 2014-04-11 11:37:25 +02:00
Alexandre Duret-Lutz
a5b6865c0b ltl2ta: fix a crash with --ta.
* src/taalgos/tgba2ta.cc: Do not assume the input is an sba.
* src/tgbatest/ltl2ta2.test: New file.
* src/tgbatest/Makefile.am: Add it.
* NEWS: Mention the fix.
2014-04-07 18:21:10 +02:00
Alexandre Duret-Lutz
c4307e21ae * NEWS: Mention recent changes. 2014-04-07 18:21:10 +02:00
Alexandre Duret-Lutz
ae62265ec8 Adjust to Swig 3.0.
* wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py: Use
Boolean instead of integers.
2014-04-07 18:21:10 +02:00