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.
This commit is contained in:
parent
ac6b042e2c
commit
59202bd5de
5 changed files with 119 additions and 23 deletions
|
|
@ -121,8 +121,8 @@ namespace spot
|
|||
"true", // 1 doesn't work from the command line
|
||||
"[*0]", // not supported
|
||||
" xor ", // rewritten
|
||||
" -> ", // rewritten, although supported
|
||||
" <-> ", // rewritten, although supported
|
||||
" -> ",
|
||||
" <-> ",
|
||||
" U ",
|
||||
" V ",
|
||||
" W ", // rewritten
|
||||
|
|
@ -985,8 +985,8 @@ namespace spot
|
|||
std::ostream&
|
||||
print_spin_ltl(std::ostream& os, const formula* f, bool full_parent)
|
||||
{
|
||||
// Remove xor, ->, and <-> first.
|
||||
const formula* fu = unabbreviate_logic(f);
|
||||
// Rewrite xor.
|
||||
const formula* fu = unabbreviate_logic(f, "^");
|
||||
// Also remove W and M.
|
||||
f = unabbreviate_wm(fu);
|
||||
fu->destroy();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue