Reimplement basic_reduce()'s rules in ltl_simplifier.

So far I have only checked these rewritings with reduccmp.test.
There are probably a few kinks to iron out.

* src/ltlvisit/simplify.cc: Reimplement most of the basic
rewriting rules, leaving some FIXME comments for dubious ones.
* src/ltlast/multop.cc, src/ltlast/multop.hh: Ignore NULL
pointers in the vector.
* src/ltlvisit/reduce.cc (reduce): Do not call basic_reduce().
* src/ltltest/reduccmp.test: Adjust tests.
This commit is contained in:
Alexandre Duret-Lutz 2011-08-22 19:34:09 +02:00
parent e3e0f913b6
commit ca2fe4f3f8
5 changed files with 1020 additions and 45 deletions

View file

@ -22,7 +22,6 @@
// 02111-1307, USA.
#include "reduce.hh"
#include "basicreduce.hh"
#include "ltlast/allnodes.hh"
#include <cassert>
@ -74,13 +73,6 @@ namespace spot
f2->destroy();
f2 = f1;
if (opt & Reduce_Basics)
{
f1 = basic_reduce(f2);
f2->destroy();
f2 = f1;
}
f1 = simplifier.simplify(f2);
f2->destroy();
f2 = f1;

File diff suppressed because it is too large Load diff