Commit graph

87 commits

Author SHA1 Message Date
Etienne Renault
11b9ada2bb Ease atomic proposition manipulation for twa.
* doc/org/tut22.org, src/ltlvisit/apcollect.cc,
src/ltlvisit/apcollect.hh, src/parseaut/parseaut.yy,
src/tests/ikwiad.cc, src/tests/tgbagraph.test,
src/tests/twagraph.cc, src/twa/twa.cc,
src/twa/twa.hh, src/twaalgos/ltl2tgba_fm.cc,
src/twaalgos/randomgraph.cc, src/twaalgos/relabel.cc,
src/twaalgos/stutter.cc, src/twaalgos/stutter.hh: here.
2015-09-24 14:45:22 +02:00
Alexandre Duret-Lutz
953181bbb7 parseaut: store names from states in the dstar format
* src/parseaut/parseaut.yy: Keep track of named states.
* src/tests/parseaut.test: Test it.
2015-09-09 01:07:16 +02:00
Alexandre Duret-Lutz
a26dd5af1d parseaut: better recovery from dstar errors
* src/parseaut/parseaut.yy: Do not call YYABORT on errors
in headers.
* src/tests/parseaut.test: Test this.
2015-09-09 00:49:13 +02:00
Alexandre Duret-Lutz
6f99829a1d help git --status by ignoring more files
* .gitignore, bench/dtgbasat/.gitignore, debian/.gitignore,
doc/org/.gitignore, src/tests/.gitignore, wrap/python/.gitignore: More
files to ignore.
* doc/org/ltlfilt.org: Erase some temporary files.
2015-09-09 00:49:13 +02:00
Alexandre Duret-Lutz
3b72826e6d parseaut: better error recovery for dstar automata
* src/parseaut/parseaut.yy: Here.
* src/tests/parseaut.test: More tests.
2015-09-09 00:49:13 +02:00
Alexandre Duret-Lutz
c59e994a2c parseaut: support multiple dstar automata
* src/parseaut/parseaut.yy, src/parseaut/scanaut.ll: All multiple
dstar automata to be chained.
* src/bin/dstar2tgba.cc: Loop over multiple automata in a file.
* src/tests/dstar.test: Test that.
2015-09-08 00:59:55 +02:00
Alexandre Duret-Lutz
209e89a94c parseaut: swallow the dstarparser
Note that the parser is still not able to reader multiple dstar
automata.

* src/dstarparse/: Delete.
* configure.ac, src/Makefile.am, README: Adjust.
* src/parseaut/parseaut.yy, src/parseaut/scanaut.ll: Merge in the
dstarparser rules.
* src/bin/common_trans.cc, src/bin/common_trans.hh,
src/bin/dstar2tgba.cc, src/bin/ltlcross.cc, src/bin/ltldo.cc,
src/tests/ikwiad.cc: Adjust usage.
* src/tests/parseaut.test: Adjust expected output.
2015-09-08 00:59:50 +02:00
Alexandre Duret-Lutz
5098c91bd4 parseaut: fix typo in error message
* src/parseaut/parseaut.yy: Here.
* src/tests/parseaut.test: Adjust.
2015-09-08 00:59:41 +02:00
Alexandre Duret-Lutz
3378d72a88 dtgbasat: add a colored option
This was suggested by one of the reviewers of our LPAR'15 paper.

* src/twaalgos/dtgbasat.cc, src/twaalgos/dtgbasat.hh: Implement
the colored option.
* src/tests/satmin2.test: Test it.
* doc/org/satmin.org, NEWS: Document it.
2015-09-03 18:27:02 +02:00
Alexandre Duret-Lutz
c2f0a5f02c Fix bitvect.test.
* src/tests/bitvect.cc: Fix it, it was failing an assert() on 32bit
architectures because the subset test was done in the wrong order.
Reported by Christopher Ziegler.
* NEWS: Mention it.
2015-08-25 22:54:50 +02:00
Alexandre Duret-Lutz
0510e4dfe8 ltlcross: recover from out-of-memory during state-space product
Fixes #96, reported by Vitus Lam & Christopher Ziegler.

* src/bin/ltlcross.cc: Catch std::bad_alloc, skip those
products and the related tests.  Display a count of
those skipped tests at the end.
* NEWS: Mention it.
* src/tests/ltlcross3.test: Adjust expected error
message.
2015-08-24 07:55:46 +02:00
Alexandre Duret-Lutz
63969b13fa Fix spurious uniq.test failure.
Reported by Christopher Ziegler.

* src/tests/uniq.test: For LC_ALL=C before sort.
2015-08-23 17:38:30 +02:00
Alexandre Duret-Lutz
308833788b unabbreviate: enable removal of R
This implies learning alternative rules for G, and W as well, since
those would use R.

Fixes #103.  Suggested by Joachim Klein.

* src/ltlvisit/unabbrev.cc, src/ltlvisit/unabbrev.hh: Implement the
new rules.
* doc/tl/tl.tex: Document the rules.
* src/tests/unabbrevwm.test: Test them.
* src/bin/ltlfilt.cc, NEWS: Mention that --unabbreviate accepts R.
2015-08-21 16:02:52 +02:00
Alexandre Duret-Lutz
9c922252a6 * src/tests/ltl2dstar.test: Fix for recent change to ltlcross. 2015-08-21 10:51:29 +02:00
Alexandre Duret-Lutz
f831f729e1 homogenize dstar_parse() and parse_aut() outputs
* src/dstarparse/dstarparse.yy, src/dstarparse/dstarscan.ll
src/dstarparse/parsedecl.hh, src/dstarparse/public.hh:
Adjust to return the same return types as parse_aut.
* src/dstarparse/fmterror.cc: Delete, we can use
the one of parse_aut.
* src/dstarparse/Makefile.am: Adjust.
* src/tests/ikwiad.cc, src/bin/dstar2tgba.cc,
src/bin/ltldo.cc: Adjust usage.
* src/bin/ltlcross.cc: The the result of dstar_parse() as-is, now that
it is a TωA like those produced by parse_aut().  As a consequence,
get rid of all the code storing statistics about the input
automaton.
* src/tests/ltlcross3.test, src/tests/ltl2dstar.test: Adjust expected
CSV output.
* doc/org/ltlcross.org, src/bin/man/ltlcross.x: Adjust to not
mention that %D performs a tranformation to Büchi.
2015-08-20 23:21:20 +02:00
Alexandre Duret-Lutz
62f5b9769b remove algorithms that where only used by dstar's dra2ba conversion
Since we just removed that conversion, those can go as well.  Yay!

* src/tests/kv.test, src/twa/twamask.cc,
src/twa/twamask.hh, src/twa/twaproxy.cc,
src/twa/twaproxy.hh, src/twaalgos/scc.cc,
src/twaalgos/scc.hh: Delete.
* src/twaalgos/Makefile.am, src/twa/Makefile.am,
src/tests/Makefile.am, src/tests/ikwiad.cc: adjust.
2015-08-20 21:35:39 +02:00
Alexandre Duret-Lutz
9b5340b90a dstarparse: get rid of the deticated data structures and conversions
* src/dstarparse/dstarparse.yy: Use the twa_graph_ptr to store the
acceptance condition.
* src/dstarparse/dra2ba.cc, src/dstarparse/dstar2tgba.cc,
src/dstarparse/nra2nba.cc, src/dstarparse/nsa2tgba.cc: Delete
all these conversion routines.
* src/dstarparse/public.hh, src/dstarparse/Makefile.am: Adjust.
* src/bin/dstar2tgba.cc: Adjust to call to_generalized_buchi()
instead.
* src/bin/ltlcross.cc: Adjust to call remove_fin() instead.
* src/bin/ltldo.cc: Use the parsed automaton as-is.
* src/tests/degenid.test, src/tests/dstar.test, src/tests/ikwiad.cc:
Adjust test cases.
2015-08-20 21:34:38 +02:00
Alexandre Duret-Lutz
5f0b6dc36c remfin: deal with almost-Rabin automata
I.e., automata that could be Rabin if we add some empty Fin(x) or full
Inf(y) sets.   This way it does not matter when remove_fin() is called
after cleanup_acceptance().

* src/twaalgos/remfin.cc: Implement that.
* src/tests/remfin.test: More tests.
2015-08-20 19:53:43 +02:00
Alexandre Duret-Lutz
ef1bbfc659 remfin: make sure Rabin automata are always converted to Büchi
Because using multiple acceptance condition is pointless in this case.

* src/twaalgos/remfin.cc (ra_to_ba): Extract most of the RA->BA code
into this new function for clarity.
* src/tests/remfin.test: Adjust.
2015-08-20 13:40:10 +02:00
Alexandre Duret-Lutz
4bef219d8f remfin: implement the BA-type check
* src/twaalgos/remfin.cc: Here.
* src/tests/remfin.test: Add a single test.
* src/twa/acc.hh (mark_t::lowest): New function.
2015-08-19 18:23:31 +02:00
Alexandre Duret-Lutz
818b58ec70 ltl: allow \" and \\ in double-quoted atomic propositions
* src/ltlparse/ltlscan.ll: Adjust parser.
* src/ltlvisit/print.cc: Adjust printer.
* src/tests/ltlfilt.test: Add some tests.
* NEWS: Mention it.
2015-08-18 15:47:16 +02:00
Alexandre Duret-Lutz
56cbc3c813 ltlfilt: add --unabbreviate
* src/bin/ltlfilt.cc: Add option --unabbreviate.
* src/tests/ltlfilt.test: Add a test case.
* NEWS: Mention it.
2015-08-17 17:38:47 +02:00
Alexandre Duret-Lutz
d1f915c748 merge tunnabrev/lunnabrev/wmunabbrev into a single function
* src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh,
src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh,
src/ltlvisit/wmunabbrev.cc, src/ltlvisit/wmunabbrev.hh: Delete.
* src/ltlvisit/unabbrev.cc, src/ltlvisit/unabbrev.hh: New files.
* src/ltlvisit/Makefile.am: Adjust.
* src/ltlvisit/print.cc, src/tests/equalsf.cc, src/tests/Makefile.am,
src/twaalgos/ltl2taa.cc, wrap/python/spot_impl.i, src/bin/ltlfilt.cc:
Adjust callers.
* src/ltlvisit/contain.cc, src/tests/syntimpl.cc: Remove useless
include.
* wrap/python/tests/formulas.ipynb: New test cases.
* doc/tl/tl.tex: Group all rules in a single section.
* NEWS: Mention it.
2015-08-17 17:38:47 +02:00
Alexandre Duret-Lutz
59202bd5de do not rewrite <-> and -> for Spin LTL output
Fixes #39, reported by Joachim Klein.

* src/ltlvisit/lunabbrev.hh, src/ltlvisit/lunabbrev.cc: Take an option
to specify which of xor/equiv/implies should be rewritten.
* src/ltlvisit/print.cc (print_spin): Rewrite only xor.
* src/tests/ltlfilt.test: Add a test case.
* NEWS: Mention this.
2015-08-14 20:33:56 +02:00
Alexandre Duret-Lutz
0143f0d435 sccsimpl: Remove Fin sets between SCCs
We do not remove them in rejecting SCCs (as it might make the SCC
accepting), but we can remove them between SCCs.

Fixes #101.

* src/twaalgos/sccfilter.cc: Here.
* src/tests/sccsimpl.test: Add test case.
* NEWS: Mention this.
2015-08-14 11:42:28 +02:00
Alexandre Duret-Lutz
2eab0344b9 fix latex escaping
* src/ltlvisit/print.cc: Property output the double
quotes in latex mode, not only sclatex.
* src/misc/escape.cc: Fix LaTeX escape to work in math mode.
* src/tests/latex.test: Add a test.
* wrap/python/tests/formulas.ipynb: Adjust expected output
* NEWS: Mention the fix.
2015-08-13 17:25:00 +02:00
Alexandre Duret-Lutz
3edd55fcd5 print_hoa: diagnose unknown options
* src/twaalgos/hoa.cc: Here.
* src/tests/readsave.test: Test it.
* NEWS: Mention it.
* src/twaalgos/dot.cc, src/twaalgos/neverclaim.cc: Fix the
error message.
2015-07-24 23:23:55 +02:00
Alexandre Duret-Lutz
e76596e1bf acc: fix detection of generalized-Rabin
Fixes #99.

* src/tests/parseaut.test: New test case.
* src/twa/acc.cc (is_generalized_rabin): Fix detection
of Fin(0)|Fin(1)|Fin(2)&Inf(3).
* NEWS: Mention it.
2015-07-23 17:56:42 +02:00
Alexandre Duret-Lutz
29052c4619 bin: better shell quoting for ltlcross and ltldo
* src/bin/common_trans.cc: Use double-quotes when single-quotes
cannot do.
* src/tests/ltlcross3.test: Add a test case.
* NEWS: Mention it.
2015-07-16 22:39:26 +02:00
Alexandre Duret-Lutz
31f5ea75b2 bin: document %% for ltldo and ltlcross
I had no idea this was working...
Reported by Joachim Klein.

* src/bin/common_trans.cc: Document it.
* src/tests/ltlcross3.test: Test it.
2015-07-16 20:01:24 +02:00
Alexandre Duret-Lutz
d8a1dafad1 new conversion for Streett->GBA
* src/twaalgos/totgba.hh, src/twaalgos/totgba.cc: Implement
the new function.
* NEWS: Mention this new function.
* src/bin/man/spot-x.x: Document SPOT_STREETT_CONV_MIN.
* src/tests/ltl2dstar4.test: Add tests.
* src/tests/Makefile.am: Add it.
* src/bin/autfilt.cc: Do do call remove_fin explicitely
when --tgba is used, let the postprocessor do it.
* src/twa/acc.hh: Add shift operators for acceptance marks.
* src/twaalgos/remfin.cc: Use the new algorithm.
* src/twaalgos/sccinfo.cc, src/twaalgos/sccinfo.hh: Add
a new method to supply the acceptance sets visited by an SCC.
2015-07-10 19:43:34 +02:00
Alexandre Duret-Lutz
5cb19a290b scc_filter: do not remove Fin sets from rejecting SCCs
* src/twaalgos/sccfilter.cc (acc_filter_some, acc_filter_all): Merge
into...
(acc_filter_mask): ... this single parametrized class, and only
remove sets that are only used as Inf.
* src/twa/acc.hh: Add missing operator~.
* src/tests/sccsimpl.test: Add test case.
* src/tests/sccdot.test: Adjust.
* NEWS: Mention the bug.
2015-06-30 17:18:27 +02:00
Alexandre Duret-Lutz
5d9e7d1f93 ltl: fix detection of some siPSL formulas
* src/ltlast/bunop.cc: Fix detection of f[:*2] as siPSL if f is siPSL
* src/tests/kind.test: Test it.
* NEWS: Mention it.
2015-06-23 19:27:30 +02:00
Alexandre Duret-Lutz
813c3799c0 ltl: remove is_eltl_formula()
* doc/tl/tl.tex, src/ltlast/atomic_prop.cc, src/ltlast/binop.cc,
src/ltlast/bunop.cc, src/ltlast/constant.cc, src/ltlast/formula.cc,
src/ltlast/formula.hh, src/ltlast/multop.cc, src/ltlast/unop.cc:
Remove is_eltl_formula().
* src/tests/kind.test: Adjust.
2015-06-20 15:21:31 +02:00
Alexandre Duret-Lutz
b2e812b105 ltlcross: skip product that require too much acceptance sets
Reported by Fanda when he was testing ltl3dra 0.2.2.

* src/bin/ltlcross.cc: Here.
* src/tests/ltl3dra.test: New file.
* src/tests/Makefile.am: Add it.
2015-06-15 23:35:31 +02:00
Alexandre Duret-Lutz
17dc2f8654 Rename src/tests/ltl2tgba as src/tests/ikwiad.
Fixes #23.

* src/tests/ltl2tgba.cc: Rename as ...
* src/tests/ikwiad.cc: ... this.
* src/tests/Makefile.am, src/tests/babiak.test, src/tests/checkta.cc,
src/tests/complementation.test, src/tests/cycles.test,
src/tests/dbacomp.test, src/tests/degendet.test,
src/tests/degenid.test, src/tests/det.test, src/tests/dfs.test,
src/tests/dstar.test, src/tests/dupexp.test, src/tests/emptchke.test,
src/tests/kv.test, src/tests/ltl2neverclaim-lbtt.test,
src/tests/ltl2neverclaim.test, src/tests/ltl2tgba.test,
src/tests/ltlcounter.test, src/tests/ltlcross.test,
src/tests/neverclaimread.test, src/tests/obligation.test,
src/tests/parseaut.test, src/tests/randaut.test,
src/tests/randpsl.test, src/tests/renault.test,
src/tests/satmin2.test, src/tests/sccsimpl.test, src/tests/sim2.test,
src/tests/simdet.test, src/tests/spotlbtt.test, src/tests/wdba.test,
src/tests/wdba2.test, bench/emptchk/README, bench/emptchk/defs.in,
bench/ltlclasses/run, bench/ltlcounter/run, bench/wdba/run: Adjust.
2015-06-12 20:52:34 +02:00
Alexandre Duret-Lutz
af8634d8c4 graph: rename num_transitions() as num_edges()
And in fact, rename most "trans*" as "edges*", because that what they
really are.

* src/bin/autfilt.cc, src/bin/ltlcross.cc, src/bin/randaut.cc,
src/dstarparse/dra2ba.cc, src/dstarparse/dstarparse.yy,
src/dstarparse/nra2nba.cc, src/dstarparse/nsa2tgba.cc,
src/graph/graph.hh, src/graph/ngraph.hh, src/ltlvisit/exclusive.cc,
src/parseaut/parseaut.yy, src/tests/complementation.cc,
src/tests/graph.cc, src/tests/ltl2tgba.cc, src/tests/ngraph.cc,
src/tests/twagraph.cc, src/twa/twagraph.cc, src/twa/twagraph.hh,
src/twa/twamask.hh, src/twaalgos/are_isomorphic.cc,
src/twaalgos/are_isomorphic.hh, src/twaalgos/canonicalize.cc,
src/twaalgos/cleanacc.cc, src/twaalgos/complete.cc,
src/twaalgos/compsusp.cc, src/twaalgos/cycles.cc,
src/twaalgos/degen.cc, src/twaalgos/dot.cc, src/twaalgos/dtbasat.cc,
src/twaalgos/dtgbacomp.cc, src/twaalgos/dtgbasat.cc,
src/twaalgos/dupexp.cc, src/twaalgos/emptiness.cc,
src/twaalgos/isunamb.cc, src/twaalgos/isweakscc.cc,
src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/mask.hh,
src/twaalgos/minimize.cc, src/twaalgos/postproc.cc,
src/twaalgos/powerset.cc, src/twaalgos/product.cc,
src/twaalgos/randomgraph.cc, src/twaalgos/randomize.cc,
src/twaalgos/randomize.hh, src/twaalgos/relabel.cc,
src/twaalgos/remfin.cc, src/twaalgos/safety.cc, src/twaalgos/sbacc.cc,
src/twaalgos/sccfilter.cc, src/twaalgos/sepsets.cc,
src/twaalgos/simulation.cc, src/twaalgos/stutter.cc,
src/twaalgos/totgba.cc: Rename these.
2015-06-11 23:52:02 +02:00
Alexandre Duret-Lutz
a86391ab77 hoaparse: rename to parseaut
Because this parser is not specific to HOA anymore.

* src/hoaparse/Makefile.am, src/hoaparse/fmterror.cc,
src/hoaparse/hoaparse.yy, src/hoaparse/parsedecl.hh,
src/parseaut/public.hh, src/hoaparse/hoascan.ll,
src/tests/hoaparse.test: Rename to...
* src/parseaut/Makefile.am, src/parseaut/fmterror.cc,
src/parseaut/parseaut.yy, src/parseaut/parsedecl.hh,
src/hoaparse/public.hh, src/parseaut/scanaut.ll,
src/tests/parseaut.test: ... these, and also adjust the name internally.
For instance hoa_aut_ptr is now parsed_aut_ptr; hoa_stream_parser is now
automaton_stream_parser, and hoa_parse() has become parse_aut().
* NEWS, README, configure.ac, doc/org/tut20.org, src/Makefile.am,
src/bin/autfilt.cc, src/bin/common_aoutput.cc,
src/bin/common_aoutput.hh, src/bin/common_conv.cc,
src/bin/ltlcross.cc, src/bin/ltldo.cc, src/tests/Makefile.am,
src/tests/complementation.cc, src/tests/ltl2tgba.cc,
src/tests/readsave.test, wrap/python/ajax/spot.in,
wrap/python/spot.py, wrap/python/spot_impl.i,
wrap/python/tests/automata-io.ipynb, wrap/python/tests/parsetgba.py:
Adjust.
2015-06-11 13:31:13 +02:00
Alexandre Duret-Lutz
9f32021e0f lbtt: take options as a string like other print functions
* src/twaalgos/lbtt.hh (print_lbtt): Take a const char* opt argument.
* src/twaalgos/lbtt.cc: Use it, select state-based
vs. transition-based using automaton property, and implement output
for generalized state-based acceptance.
* src/bin/common_aoutput.cc, src/bin/common_aoutput.hh,
src/bin/dstar2tgba.cc: Adjust usage.  We do not need to handle
--lbtt=t as a special case anymore.
* src/tests/lbttparse.test, wrap/python/spot.py,
wrap/python/tests/automata-io.ipynb, wrap/python/tests/piperead.ipynb:
Adjust.
2015-06-10 23:29:41 +02:00
Alexandre Duret-Lutz
b229bfc224 rename hoa_reachable as print_hoa
As actually claimed (but not done) by
738f939ff8.

* src/twaalgos/hoa.hh, src/twaalgos/hoa.cc: Rename it.
* src/bin/common_aoutput.cc, src/bin/dstar2tgba.cc,
src/bin/ltlcross.cc, src/tests/complementation.cc,
src/tests/ltl2tgba.cc, src/tests/randtgba.cc, src/twaalgos/hoa.cc,
wrap/python/spot.py: Adjust.
2015-06-10 00:10:22 +02:00
Alexandre Duret-Lutz
da5ba0b138 hoaparse: catch non-Boolean guard in LBTT format
Fixes #90.

* src/hoaparse/hoaparse.yy: Here.
* src/tests/hoaparse.test: Test it.
2015-06-09 08:33:37 +02:00
Alexandre Duret-Lutz
240d5b4605 * src/tests/ltl2dstar.test: Fix after recent change to relabeling_map. 2015-06-07 19:11:48 +02:00
Alexandre Duret-Lutz
738f939ff8 adjust names for automata printers
The following renamings are made:

  never_claim_reachable -> print_never_claim
  hoa_reachable   -> print_hoa
  lbtt_reachable  -> print_lbtt
  dotty_reachable -> print_dot
  ltl::dotty      -> print_dot_psl

Fixes #89.

* src/ltlvisit/dotty.cc, src/ltlvisit/dotty.hh, src/taalgos/dotty.cc,
src/taalgos/dotty.hh src/twaalgos/dotty.cc, src/twaalgos/dotty.hh:
Rename...
* src/ltlvisit/dot.cc, src/ltlvisit/dot.hh src/taalgos/dot.cc,
src/taalgos/dot.hh src/twaalgos/dot.cc, src/twaalgos/dot.hh:
... those.
* bench/stutter/stutter_invariance_randomgraph.cc,
iface/ltsmin/modelcheck.cc, src/bin/common_aoutput.cc,
src/bin/dstar2tgba.cc, src/bin/ltl2tgta.cc, src/dstarparse/dra2ba.cc,
src/ltlvisit/Makefile.am, src/taalgos/Makefile.am,
src/tests/checkpsl.cc, src/tests/checkta.cc,
src/tests/complementation.cc, src/tests/emptchk.cc,
src/tests/ltl2tgba.cc, src/tests/ltlprod.cc, src/tests/randtgba.cc,
src/tests/readltl.cc, src/tests/taatgba.cc, src/tests/twagraph.cc,
src/twa/twa.hh, src/twa/twasafracomplement.cc,
src/twaalgos/Makefile.am, src/twaalgos/dtbasat.cc,
src/twaalgos/dtgbasat.cc, src/twaalgos/dupexp.cc,
src/twaalgos/lbtt.cc, src/twaalgos/lbtt.hh,
src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/neverclaim.cc,
src/twaalgos/neverclaim.hh, wrap/python/ajax/spot.in,
wrap/python/spot.py, wrap/python/spot_impl.i,
wrap/python/tests/ltl2tgba.py, wrap/python/tests/parsetgba.py: Adjust.
2015-06-05 21:42:29 +02:00
Alexandre Duret-Lutz
8fb7b279f7 ltlvisit: rename tostring.hh as print.hh and rename printer functions
This actually performs three related changes, but separating them
would be quite inconvenient.

1) rename tostring.hh to print.hh a welcome side-effect is that
I could fix several files that included this file for not reason.

2) de-overload some of the to_string functions, and rename them
as follow:

  to_string -> print_psl, print_sere, str_psl, str_sere
  to_utf8_string -> print_utf8_psl, print_utf8_sere,
                    str_utf8_psl, str_utf8_sere
  to_spin_string -> print_spin_ltl, str_spin_ltl
  to_wring_string -> print_wring_ltl, str_wing_ltl
  to_lbt_string -> print_lbt_ltl, str_lbt_ltl
  to_latex_string -> print_latex_psl, str_latex_psl
  to_sclatex_string -> print_sclatex_psl, str_sclatex_psl

Now it is clearer what these functions do, and their restrictions.

3) all those print_* functions now take the stream to write onto
as their first argument.  This fixes #88.

* src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh: Rename into...
* src/ltlvisit/print.cc, src/ltlvisit/print.hh: ... those, and make
the changes listed above.
* doc/org/tut01.org, src/bin/common_output.cc,
src/bin/common_trans.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc,
src/bin/ltlcross.cc, src/bin/ltldo.cc, src/bin/ltlfilt.cc,
src/bin/randltl.cc, src/ltlparse/ltlparse.yy,
src/ltlvisit/Makefile.am, src/ltlvisit/mark.cc,
src/ltlvisit/relabel.cc, src/ltlvisit/simplify.cc,
src/ltlvisit/snf.cc, src/ta/taexplicit.cc, src/ta/tgtaexplicit.cc,
src/taalgos/tgba2ta.cc, src/tests/equalsf.cc, src/tests/ltl2tgba.cc,
src/tests/ltlrel.cc, src/tests/randtgba.cc, src/tests/reduc.cc,
src/tests/syntimpl.cc, src/tests/tostring.cc, src/twa/bdddict.cc,
src/twa/bddprint.cc, src/twa/taatgba.cc, src/twa/taatgba.hh,
src/twa/twagraph.cc, src/twaalgos/compsusp.cc, src/twaalgos/lbtt.cc,
src/twaalgos/ltl2taa.cc, src/twaalgos/ltl2tgba_fm.cc,
src/twaalgos/neverclaim.cc, src/twaalgos/remprop.cc,
src/twaalgos/stats.cc, wrap/python/ajax/spot.in, wrap/python/spot.py,
wrap/python/spot_impl.i: Adjust.
2015-06-04 22:56:57 +02:00
Alexandre Duret-Lutz
98790f5345 ltlparse: rename the main functions
parse         -> parse_infix_psl
parse_lbt     -> parse_prefix_ltl
parse_sere    -> parse_infix_sere
parse_boolean -> parse_infix_boolean

Fixes #87.

* src/ltlparse/ltlparse.yy, src/ltlparse/public.hh:
Do the above changes.
* doc/mainpage.dox, doc/org/tut01.org, iface/ltsmin/modelcheck.cc,
src/bin/common_finput.cc, src/hoaparse/hoaparse.yy,
src/kripkeparse/kripkeparse.yy, src/tests/checkpsl.cc,
src/tests/checkta.cc, src/tests/complementation.cc,
src/tests/consterm.cc, src/tests/emptchk.cc, src/tests/equalsf.cc,
src/tests/kind.cc, src/tests/length.cc, src/tests/ltl2tgba.cc,
src/tests/ltlprod.cc, src/tests/ltlrel.cc, src/tests/randtgba.cc,
src/tests/readltl.cc, src/tests/reduc.cc, src/tests/syntimpl.cc,
src/tests/tostring.cc, wrap/python/ajax/spot.in,
wrap/python/tests/alarm.py, wrap/python/tests/interdep.py,
wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py: Adjust.
2015-06-04 09:26:57 +02:00
Alexandre Duret-Lutz
203d07693d bin: generalized shorthands for ltldo and ltlcross
* src/bin/common_trans.cc: Skip leading directories, and
do not require that the prefix is followed by space of 0.
* src/tests/ltldo.test: Add a test.
* doc/org/ltlcross.org: Update.
2015-06-02 18:22:55 +02:00
Alexandre Duret-Lutz
715805fad3 randaut: add a --colored option
Fixes #83.

* src/bin/randaut.cc: Add option.
* src/twaalgos/randomgraph.cc, src/twaalgos/randomgraph.hh: Honor it.
* src/tests/randaut.test: Add tests.
* doc/org/randaut.org: Document it.
2015-06-01 21:56:39 +02:00
Alexandre Duret-Lutz
97665a584e hoa: detect colored automata
Fixes #84.

* src/twaalgos/hoa.cc: Detect and output the colored property.
* src/tests/hoaparse.test, src/tests/satmin2.test: Update.
2015-06-01 20:36:03 +02:00
Alexandre Duret-Lutz
a75a9c091c random: fix rounding in barand()
This fixes #85.

* src/misc/random.hh (barand): Use round() before casting.
* doc/org/oaut.org: Recompute example.
* src/tests/randaut.test, wrap/python/tests/randaut.ipynb: Adjust.
2015-06-01 19:54:51 +02:00
Alexandre Duret-Lutz
0ac35a1591 randaut: rename -S as -Q for consistency
This way -S means --state-based-acc like with other tools
producing automata.   This fixes #82.

* src/bin/randaut.cc: Rename -S as -Q, rename --state-acc as
--state-based-acc (with --sbacc as a synonym), and declare -S as the
short version of --state-based-acc.
* doc/org/autfilt.org, doc/org/oaut.org, doc/org/randaut.org,
src/tests/isomorph.test, src/tests/randaut.test,
src/tests/randtgba.test, src/tests/readsave.test, src/tests/uniq.test,
wrap/python/tests/randaut.ipynb: Adjust all calls to randaut.
2015-06-01 09:20:52 +02:00