ltlfilt, ltlsynt, ltlmix: add a --part-file option

* bin/common_ioap.cc, bin/common_ioap.hh (read_part_file): New
function.
* bin/ltlfilt.cc, bin/ltlmix.cc, bin/ltlsynt.cc: Use it.
* doc/org/ltlfilt.org, doc/org/ltlmix.org, doc/org/ltlsynt.org:
Mention that new option, and improve the links to its description
in ltlsynt.org.
* NEWS: Mention the new option.
* tests/core/ltlfilt.test, tests/core/ltlmix.test,
tests/core/ltlsynt.test: Adjust test cases.
This commit is contained in:
Alexandre Duret-Lutz 2024-09-03 14:20:17 +02:00
parent 388d005635
commit e6ebbdf65f
12 changed files with 271 additions and 138 deletions

View file

@ -314,7 +314,7 @@ to be told using options such as =--ins= or =--outs= which atomic
propositions are input or output. Often these atomic propositions
can have very long names, so it is useful to be able to rename
them without fogeting about their nature. Option =--relabel=io=
combined with one if =--ins= or =--outs= will do exactly that:
combined with one if =--ins=, =--outs=, or =--part-file= will do exactly that:
#+BEGIN_SRC sh
ltlfilt -f 'G(req -> Fack) & G(go -> Fgrant)' --relabel=io --ins=req,go
@ -322,16 +322,14 @@ ltlfilt -f 'G(req -> Fack) & G(go -> Fgrant)' --relabel=io --ins=req,go
#+RESULTS:
: G(i1 -> Fo1) & G(i0 -> Fo0)
Like in [[file:ltlsynt.org][=ltlsynt=]], options =--ins= and =--outs= take a comma-separated
list of atomic propositions as argument. Additionally, if an atomic
proposition in this list is enclosed in slashes (as in
=--out=req,/^go/=), it is used as a regular expression for matching
atomic propositions.
The syntax for options =--ins=, =--outs= and =--part-file= is the
same as for [[file:ltlsynt.org::#input-options][=ltlsynt=]].
By the way, such an IO-renamed formula can be given to [[file:ltlsynt.org][=ltlsynt=]] without
having to specify =--ins= or =--outs=, because when these two options
are missing the convention is that anything starting with =i= is an
input, and anything starting with =o= is an output.
By the way, such an IO-renamed formula can be given to [[file:ltlsynt.org][=ltlsynt=]]
without having to specify =--ins=, =--outs=, or =--part-file=, because
when these two options are missing the convention is that anything
starting with =i= is an input, and anything starting with =o= is an
output.
An example showing how to use the =--from-ltlf= option is on [[file:tut12.org][a
separate page]].