* src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: New files.

* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
libtgbaalgos_la_SOURCES): Add them.
* src/tgbaalgos/gv04.cc (gv04::result::accepting_run): Use
the new bfs_steps class.
This commit is contained in:
Alexandre Duret-Lutz 2004-11-24 14:38:21 +00:00
parent df1bf80d1f
commit 2b74398a62
5 changed files with 218 additions and 160 deletions

43
src/tgbaalgos/bfssteps.hh Normal file
View file

@ -0,0 +1,43 @@
// Copyright (C) 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.
//
// 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 2 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 Spot; see the file COPYING. If not, write to the Free
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
#ifndef SPOT_TGBAALGOS_BFSSTEPS_HH
# define SPOT_TGBAALGOS_BFSSTEPS_HH
#include "emptiness.hh"
namespace spot
{
class bfs_steps
{
public:
bfs_steps(const tgba* a);
virtual ~bfs_steps();
const state* search(const state* start, tgba_run::steps& l);
virtual const state* filter(const state* s) = 0;
virtual bool match(tgba_run::step& step, const state* dest) = 0;
protected:
const tgba* a_;
};
}
#endif // SPOT_TGBAALGOS_BFSSTEPS_HH