diff --git a/ChangeLog b/ChangeLog index 620ee0032..6c503c306 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2003-06-24 Alexandre Duret-Lutz + + * src/ltlvisit/nenoform.cc (negative_normal_form): New const variant. + * src/ltlvisit/nenoform.hh (negative_normal_form): New const variant. + * src/ltlvisit/lunabbrev.cc (unabbreviate_logic): New const variant. + * src/ltlvisit/lunabbrev.hh (unabbreviate_logic): New const variant. + * src/ltlvisit/tunabbrev.cc (unabbreviate_ltl): New const variant. + * src/ltlvisit/tunabbrev.hh (unabbreviate_ltl): New const variant. + 2003-06-23 Alexandre Duret-Lutz Switch from "promises" to "accepting set". Fix the definitions diff --git a/src/ltlvisit/lunabbrev.cc b/src/ltlvisit/lunabbrev.cc index 3676113df..0a8252229 100644 --- a/src/ltlvisit/lunabbrev.cc +++ b/src/ltlvisit/lunabbrev.cc @@ -73,5 +73,10 @@ namespace spot return v.result(); } + const formula* + unabbreviate_logic(const formula* f) + { + return unabbreviate_logic(const_cast(f)); + } } } diff --git a/src/ltlvisit/lunabbrev.hh b/src/ltlvisit/lunabbrev.hh index e24286e0b..3ce95eb7c 100644 --- a/src/ltlvisit/lunabbrev.hh +++ b/src/ltlvisit/lunabbrev.hh @@ -38,6 +38,10 @@ namespace spot /// binop::Equals, and binop::Xor, using only unop::Not, multop::Or, /// and multop::And. formula* unabbreviate_logic(formula* f); + /// \brief Clone rewrite a formula to remove most of the abbreviated + /// logical operators. + const formula* unabbreviate_logic(const formula* f); + } } diff --git a/src/ltlvisit/nenoform.cc b/src/ltlvisit/nenoform.cc index e8d18dfb8..5d02bb33f 100644 --- a/src/ltlvisit/nenoform.cc +++ b/src/ltlvisit/nenoform.cc @@ -174,5 +174,11 @@ namespace spot f->accept(v); return v.result(); } + + const formula* + negative_normal_form(const formula* f) + { + return negative_normal_form(const_cast(f)); + } } } diff --git a/src/ltlvisit/nenoform.hh b/src/ltlvisit/nenoform.hh index 2290fc30e..b35743a31 100644 --- a/src/ltlvisit/nenoform.hh +++ b/src/ltlvisit/nenoform.hh @@ -23,6 +23,8 @@ namespace spot /// after spot::ltl::negative_normal_form would likely produce a /// formula which is not in negative normal form.) formula* negative_normal_form(formula* f, bool negated = false); + /// \brief Build the negative normal form of \a f. + const formula* negative_normal_form(const formula* f); } } diff --git a/src/ltlvisit/tunabbrev.cc b/src/ltlvisit/tunabbrev.cc index eb1c23a98..eec8a0db8 100644 --- a/src/ltlvisit/tunabbrev.cc +++ b/src/ltlvisit/tunabbrev.cc @@ -49,5 +49,11 @@ namespace spot return v.result(); } + const formula* + unabbreviate_ltl(const formula* f) + { + return unabbreviate_ltl(const_cast(f)); + } + } } diff --git a/src/ltlvisit/tunabbrev.hh b/src/ltlvisit/tunabbrev.hh index 6854d81cc..813077180 100644 --- a/src/ltlvisit/tunabbrev.hh +++ b/src/ltlvisit/tunabbrev.hh @@ -42,6 +42,9 @@ namespace spot /// This will also rewrite unary operators such as unop::F, /// and unop::G, using only binop::U, and binop::R. formula* unabbreviate_ltl(formula* f); + /// \brief Clone and rewrite a formula to remove most of the + /// abbreviated LTL and logical operators. + const formula* unabbreviate_ltl(const formula* f); } }