move spot/bin/ and spot/tests/ up by one level
* spot/bin/: Move... * bin/: ... here. * spot/tests/: Move... * tests/: ... here. * Makefile.am, README, bench/stutter/Makefile.am, bench/stutter/stutter_invariance_formulas.cc, doc/Makefile.am, configure.ac, debian/rules, spot/Makefile.am, spot/ltsmin/Makefile.am, spot/ltsmin/kripke.test, spot/sanity/style.test, python/tests/run.in: Adjust.
This commit is contained in:
parent
ff4837f4f2
commit
134dfc73de
220 changed files with 35 additions and 30 deletions
52
bin/README
Normal file
52
bin/README
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
This directory contains the source of some command-line tools that
|
||||
expose some of Spot's algorithms to Unix users.
|
||||
|
||||
Man pages are generated from the --help output of each tool,
|
||||
supplemented by any text in the man/*.x files. Usually the extra text
|
||||
contains either some bibliographical references, some formal
|
||||
definitions or some examples that are too long for --help. Having a
|
||||
few short examples at the end of --help is good.
|
||||
|
||||
This directory also build some non-installed binaries, like spot-x,
|
||||
whose purpose is just to generate a man-page with the same format as
|
||||
the other man pages (this includes keeping the version number
|
||||
up-to-date).
|
||||
|
||||
There is also a script called 'options.py' that summerizes how the
|
||||
different short options are used among the tools.
|
||||
|
||||
Routines that are shared by multiple command-line tools are stored in
|
||||
files called common_*.{cc,hh}.
|
||||
|
||||
|
||||
Recommendations when adding new tools or features:
|
||||
--------------------------------------------------
|
||||
|
||||
- Tools should be designed to work on multiple inputs (e.g., read
|
||||
different outputs from multiple files, and accept many inputs from
|
||||
the same file, including stdin). They should also all be designed
|
||||
to produce several outputs, usually one per input. This way they
|
||||
can be piped one onto the other easily.
|
||||
|
||||
- When naming an option, seek inspiration from the POSIX standard, or
|
||||
from GNU extensions. For instance ltlfilt and autfilt both have a
|
||||
-v option to invert the filter; this is inspired from grep's -v
|
||||
option. The long version of this option (--invert-match) is also
|
||||
the same as in grep.
|
||||
|
||||
- When adding a new option, implement only the --long-option by
|
||||
default. Do not add a short version unless
|
||||
(1) you are sure it will be frequently used interactively
|
||||
(if it is only used in scripts, then a long option is enough)
|
||||
(2) this option can be shared by multiple tools.
|
||||
|
||||
- As much as possible, use the same option names across tools. Use
|
||||
the script options.py in this directory to check what short options
|
||||
are used. It's OK if the same short option correspond to different
|
||||
long names in the various tools, as long as the intent is similar.
|
||||
For instance -n has different long options depending on the tool:
|
||||
autfilt -n N means --max-count=N
|
||||
randltl -n N means --formulas=N
|
||||
randaut -n N means --automata=N
|
||||
but in all cases, the intent is to specify the number of items
|
||||
to output.
|
||||
Loading…
Add table
Add a link
Reference in a new issue