* src/ltlvisit/equals.cc, src/ltlvisit/equals.hh: New files.

* src/ltlvisit/Makefile.am (libltlvisit_a_SOURCES): Add equals.hh
and equals.cc.
* src/ltltest/equals.cc, src/ltltest/equals.test: New files.
* src/ltltest/Makefile.am (check_PROGRAMS): Add equals.
(equals_SOURCES): New variable.
(TESTS): Add equals.test.
This commit is contained in:
Alexandre Duret-Lutz 2003-04-16 12:30:21 +00:00
parent eec66e6d07
commit 7425f4a91e
8 changed files with 299 additions and 3 deletions

34
src/ltlvisit/equals.hh Normal file
View file

@ -0,0 +1,34 @@
#include "ltlast/formulae.hh"
#include "ltlast/visitor.hh"
namespace spot
{
namespace ltl
{
// This visitor is public, because it's convenient
// to derive from it and override part of its methods.
class equals_visitor : public const_visitor
{
public:
equals_visitor(const formulae* f);
virtual ~equals_visitor();
// Return true iff the visitor has visited a
// formulae which is equal to `f'.
bool result() const;
void visit(const atomic_prop* ap);
void visit(const unop* uo);
void visit(const binop* bo);
void visit(const multop* bo);
void visit(const constant* c);
private:
const formulae* f_;
bool result_;
};
bool equals(const formulae* f1, const formulae* f2);
}
}