diff --git a/iface/dve2/dve2check.cc b/iface/dve2/dve2check.cc
index 897f69b54..a1c95bac5 100644
--- a/iface/dve2/dve2check.cc
+++ b/iface/dve2/dve2check.cc
@@ -379,12 +379,10 @@ main(int argc, char **argv)
spot::ltl::unop::dump_instances(std::cerr);
spot::ltl::binop::dump_instances(std::cerr);
spot::ltl::multop::dump_instances(std::cerr);
- spot::ltl::automatop::dump_instances(std::cerr);
assert(spot::ltl::atomic_prop::instance_count() == 0);
assert(spot::ltl::unop::instance_count() == 0);
assert(spot::ltl::binop::instance_count() == 0);
assert(spot::ltl::multop::instance_count() == 0);
- assert(spot::ltl::automatop::instance_count() == 0);
exit(exit_code);
}
diff --git a/src/ltlast/Makefile.am b/src/ltlast/Makefile.am
index b2b49b2b0..5ac7cace9 100644
--- a/src/ltlast/Makefile.am
+++ b/src/ltlast/Makefile.am
@@ -1,6 +1,6 @@
## -*- coding: utf-8 -*-
-## Copyright (C) 2009, 2010, 2011, 2013 Laboratoire de Recherche et
-## Développement de l'Epita (LRDE).
+## Copyright (C) 2009, 2010, 2011, 2013, 2014 Laboratoire de Recherche
+## et Développement de l'Epita (LRDE).
## Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6),
## département Systèmes Répartis Coopératifs (SRC), Université Pierre
## et Marie Curie.
@@ -29,13 +29,11 @@ ltlastdir = $(pkgincludedir)/ltlast
ltlast_HEADERS = \
allnodes.hh \
atomic_prop.hh \
- automatop.hh \
binop.hh \
bunop.hh \
constant.hh \
formula.hh \
multop.hh \
- nfa.hh \
predecl.hh \
refformula.hh \
unop.hh \
@@ -44,14 +42,10 @@ ltlast_HEADERS = \
noinst_LTLIBRARIES = libltlast.la
libltlast_la_SOURCES = \
atomic_prop.cc \
- automatop.cc \
binop.cc \
bunop.cc \
constant.cc \
formula.cc \
- formula_tree.cc \
- formula_tree.hh \
multop.cc \
- nfa.cc \
refformula.cc \
unop.cc
diff --git a/src/ltlast/allnodes.hh b/src/ltlast/allnodes.hh
index 4e71c2621..30c4bbcaa 100644
--- a/src/ltlast/allnodes.hh
+++ b/src/ltlast/allnodes.hh
@@ -1,5 +1,8 @@
-// Copyright (C) 2003, 2004, 2010 Laboratoire d'Informatique de Paris 6 (LIP6),
-// département Systèmes Répartis Coopératifs (SRC), Université Pierre
+// -*- coding: utf-8 -*-
+// Copyright (C) 2010, 2014 Laboratoire de Recherche et Développement
+// de l'Epita (LRDE).
+// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
+// département Systèmes Répartis Coopératifs (SRC), Université Pierre
// et Marie Curie.
//
// This file is part of Spot, a model checking library.
@@ -31,7 +34,6 @@
# include "multop.hh"
# include "atomic_prop.hh"
# include "constant.hh"
-# include "automatop.hh"
# include "bunop.hh"
#endif // SPOT_LTLAST_ALLNODES_HH
diff --git a/src/ltlast/automatop.cc b/src/ltlast/automatop.cc
deleted file mode 100644
index fcc7930a1..000000000
--- a/src/ltlast/automatop.cc
+++ /dev/null
@@ -1,137 +0,0 @@
-// -*- coding: utf-8 -*-
-// Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Laboratoire
-// de Recherche et Développement de l'Epita (LRDE)
-//
-// This file is part of Spot, a model checking library.
-//
-// Spot is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-//
-// Spot is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-// License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see .
-
-#include "config.h"
-#include
-#include
-#include "automatop.hh"
-#include "nfa.hh"
-#include "visitor.hh"
-
-namespace spot
-{
- namespace ltl
- {
- automatop::automatop(const nfa::ptr nfa, vec* v, bool negated)
- : ref_formula(AutomatOp), nfa_(nfa), children_(v), negated_(negated)
- {
- assert(nfa);
-
- is.boolean = false;
- is.sugar_free_boolean = true;
- is.in_nenoform = true;
- is.X_free = true;
- is.sugar_free_ltl = true;
- is.ltl_formula = false;
- is.eltl_formula = true;
- is.psl_formula = false;
- is.sere_formula = false;
- is.finite = false;
- is.eventual = false;
- is.universal = false;
- is.syntactic_safety = false;
- is.syntactic_guarantee = false;
- is.syntactic_obligation = false;
- is.syntactic_recurrence = false;
- is.syntactic_persistence = false;
- is.not_marked = true;
- is.accepting_eword = false;
-
- unsigned s = v->size();
- for (unsigned i = 0; i < s; ++i)
- props &= (*v)[i]->get_props();
- }
-
- automatop::~automatop()
- {
- // Get this instance out of the instance map.
- size_t c = instances.erase(key(get_nfa(), negated_, children_));
- assert(c == 1);
- (void) c; // For the NDEBUG case.
-
- // Dereference children.
- unsigned s = size();
- for (unsigned n = 0; n < s; ++n)
- nth(n)->destroy();
-
- delete children_;
- }
-
- std::string
- automatop::dump() const
- {
- std::string r = is_negated() ? "!" : "";
- r += get_nfa()->get_name();
- r += "(";
- r += nth(0)->dump();
- for (unsigned n = 1; n < size(); ++n)
- r += ", " + nth(n)->dump();
- r += ")";
- return r;
- }
-
- void
- automatop::accept(visitor& v) const
- {
- v.visit(this);
- }
-
- automatop::map automatop::instances;
-
- const automatop*
- automatop::instance(const nfa::ptr nfa, vec* v, bool negated)
- {
- assert(nfa);
- const automatop* res;
- auto ires = instances.insert(std::make_pair(key(nfa, negated, v),
- nullptr));
- if (!ires.second)
- {
- // The instance already exists.
- for (vec::iterator vi = v->begin(); vi != v->end(); ++vi)
- (*vi)->destroy();
- delete v;
- res = ires.first->second;
- }
- else
- {
- res = ires.first->second = new automatop(nfa, v, negated);
- }
- res->clone();
- return res;
- }
-
- unsigned
- automatop::instance_count()
- {
- return instances.size();
- }
-
- std::ostream&
- automatop::dump_instances(std::ostream& os)
- {
- for (const auto& i: instances)
- os << i.second << " = "
- << i.second->ref_count_() << " * "
- << i.second->dump()
- << std::endl;
- return os;
- }
- }
-}
diff --git a/src/ltlast/automatop.hh b/src/ltlast/automatop.hh
deleted file mode 100644
index 3b27f7854..000000000
--- a/src/ltlast/automatop.hh
+++ /dev/null
@@ -1,121 +0,0 @@
-// -*- coding: utf-8 -*-
-// Copyright (C) 2008, 2009, 2012, 2013, 2014 Laboratoire de Recherche et
-// Développement de l'Epita (LRDE)
-//
-// This file is part of Spot, a model checking library.
-//
-// Spot is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-//
-// Spot is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-// License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see .
-
-/// \file ltlast/automatop.hh
-/// \brief ELTL automaton operators
-#ifndef SPOT_LTLAST_AUTOMATOP_HH
-# define SPOT_LTLAST_AUTOMATOP_HH
-
-# include "refformula.hh"
-# include
-# include
-# include
-# include