spot/src
Alexandre Duret-Lutz 86dac4aadf ltlparse: add a lenient parsing mode
Spin 6 supports formulas such as []<>(a < b) so that atomic properties
need not be specified using #define.  Of course we don't want to
implement all the syntax of Spin in our LTL parser because other tools
may have different syntaxes for their atomic propositions.  The
lenient mode tells the scanner to return any (...), {...}, or {...}!
block as a single token.  The parser will try to recursively parse
this block as a LTL/SERE formula, and if this fails, it will consider
the block to be an atomic proposition.  The drawback is that most
syntax errors will no be considered to be atomic propositions.  For
instance (a U b U) is a single atomic proposition in lenient mode, and
a syntax error in default mode.

* src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll,
src/ltlparse/parsedecl.hh, src/ltlparse/public.hh: Add a
lenient parsing mode.  Simplify the lexer using yy_scan_string.
* src/bin/common_finput.cc: Add a --lenient option.
* src/ltltest/lenient.test: New file.
* src/ltltest/Makefile.am: Add it.
* src/neverparse/neverclaimparse.yy: Parse the guards in lenient mode.
* src/tgbatest/neverclaimread.test: Adjust.
* src/ltlvisit/tostring.cc: When outputing a formula in Spin's syntax,
output (a < b) instead of "a < b".
* src/misc/escape.cc, src/misc/escape.hh (trim): New helper function.
2012-10-17 18:26:42 +02:00
..
bin ltlparse: add a lenient parsing mode 2012-10-17 18:26:42 +02:00
eltlparse Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
eltltest Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
evtgba Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
evtgbaalgos Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
evtgbaparse Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
evtgbatest Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
kripke Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
kripkeparse Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
kripketest Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
ltlast Add a has_lbt_atomic_props() method to LTL formulas. 2012-10-14 17:42:25 +02:00
ltlenv Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
ltlparse ltlparse: add a lenient parsing mode 2012-10-17 18:26:42 +02:00
ltltest ltlparse: add a lenient parsing mode 2012-10-17 18:26:42 +02:00
ltlvisit ltlparse: add a lenient parsing mode 2012-10-17 18:26:42 +02:00
misc ltlparse: add a lenient parsing mode 2012-10-17 18:26:42 +02:00
neverparse ltlparse: add a lenient parsing mode 2012-10-17 18:26:42 +02:00
saba Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
sabaalgos Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
sabatest Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
sanity Clean up the misc/formater.hh file. 2012-10-13 13:36:40 +02:00
ta Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
taalgos Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
tgba Add a parser for automata in LBTT's format. 2012-10-13 13:36:40 +02:00
tgbaalgos lbtt_parse: add support for state-based acceptance 2012-10-13 17:38:32 +02:00
tgbaparse Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00
tgbatest ltlparse: add a lenient parsing mode 2012-10-17 18:26:42 +02:00
.cvsignore * src/ltlvisit/Makefile.am (lib_LTLIBRARIES): Rename as ... 2003-04-30 12:46:12 +00:00
.gitignore more files to ignore 2009-09-02 10:41:18 +02:00
Makefile.am Upgrade GPL v2+ to GPL v3+. 2012-10-12 22:05:18 +02:00