* src/ltlvisit/length.cc (length_visitor): Rewrite using
postfix_visitor.
This commit is contained in:
parent
dd1bc78786
commit
ecaedbba4c
2 changed files with 10 additions and 39 deletions
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue