* src/ltlvisit/length.cc (length_visitor): Rewrite using

postfix_visitor.
This commit is contained in:
Alexandre Duret-Lutz 2005-02-23 00:35:45 +00:00
parent dd1bc78786
commit ecaedbba4c
2 changed files with 10 additions and 39 deletions

View file

@ -1,3 +1,8 @@
2005-02-23 Alexandre Duret-Lutz <adl@src.lip6.fr>
* src/ltlvisit/length.cc (length_visitor): Rewrite using
postfix_visitor.
2005-02-22 Alexandre Duret-Lutz <adl@src.lip6.fr> 2005-02-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
* src/tgbaalgos/tau03opt.cc (tau03_opt_search): Add options "weights" * src/tgbaalgos/tau03opt.cc (tau03_opt_search): Add options "weights"

View file

@ -20,8 +20,7 @@
// 02111-1307, USA. // 02111-1307, USA.
#include "length.hh" #include "length.hh"
#include "ltlast/allnodes.hh" #include "ltlvisit/postfix.hh"
#include "ltlast/visitor.hh"
namespace spot namespace spot
{ {
@ -29,17 +28,11 @@ namespace spot
{ {
namespace namespace
{ {
class length_visitor: public const_visitor class length_visitor: public postfix_visitor
{ {
public: public:
length_visitor() length_visitor()
{ : result_(0)
result_ = 0;
}
virtual
~length_visitor()
{ {
} }
@ -49,37 +42,10 @@ namespace spot
return result_; return result_;
} }
void virtual void
visit(const atomic_prop*) doit_default(formula*)
{ {
result_ = 1;
}
void
visit(const constant*)
{
result_ = 1;
}
void
visit(const unop* uo)
{
result_ = 1 + length(uo->child());
}
void
visit(const binop* bo)
{
result_ = 1 + length(bo->first()) + length(bo->second());
}
void
visit(const multop* mo)
{
unsigned mos = mo->size();
++result_; ++result_;
for (unsigned i = 0; i < mos; ++i)
result_ += length(mo->nth(i));
} }
protected: protected: