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

* src/ltlvisit/Makefile.am (libltlvisit_a_SOURCES): Add them.
* src/ltlvisit/lunabbrev.hh, src/ltlvisit/lunabbrev.cc: Inherit
from clone_visitor and remove all useless methods (now inherited).
This commit is contained in:
Alexandre Duret-Lutz 2003-04-17 13:59:15 +00:00
parent 0c7a2412a4
commit ae7fdeba59
6 changed files with 125 additions and 50 deletions

View file

@ -1,8 +1,7 @@
#ifndef SPOT_LTLVISIT_LUNABBREV_HH
# define SPOT_LTLVISIT_LUNABBREV_HH
#include "ltlast/formula.hh"
#include "ltlast/visitor.hh"
#include "clone.hh"
namespace spot
{
@ -10,24 +9,17 @@ namespace spot
{
// This visitor is public, because it's convenient
// to derive from it and override part of its methods.
class unabbreviate_logic_visitor : public const_visitor
class unabbreviate_logic_visitor : public clone_visitor
{
typedef clone_visitor super;
public:
unabbreviate_logic_visitor();
virtual ~unabbreviate_logic_visitor();
formula* result() const;
void visit(const atomic_prop* ap);
void visit(const unop* uo);
using super::visit;
void visit(const binop* bo);
void visit(const multop* mo);
void visit(const constant* c);
virtual formula* recurse(const formula* f);
protected:
formula* result_;
};
formula* unabbreviate_logic(const formula* f);