* 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:
parent
eec66e6d07
commit
7425f4a91e
8 changed files with 299 additions and 3 deletions
34
src/ltlvisit/equals.hh
Normal file
34
src/ltlvisit/equals.hh
Normal 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);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue