* lbtt/: Merge lbtt 1.0.3.

This commit is contained in:
Alexandre Duret-Lutz 2004-02-16 12:09:29 +00:00
parent f4708a0179
commit 4741dc02bf
34 changed files with 817 additions and 1033 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,15 +20,11 @@
#ifndef BUCHIAUTOMATON_H
#define BUCHIAUTOMATON_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <iostream>
#include <map>
#include <string>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BitArray.h"
#include "EdgeContainer.h"
#include "Exception.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,10 +20,6 @@
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <iostream>
#include <map>
@ -31,7 +27,7 @@
#include <string>
#include <utility>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Exception.h"
#include "FormulaRandomizer.h"
#include "StateSpaceRandomizer.h"
@ -55,22 +51,22 @@ public:
~Configuration(); /* Destructor. */
void read(int argc, char* argv[]); /* Reads the program
* configuration.
* configuration.
*/
void print /* Writes the current */
(ostream& stream = cout, int indent = 0) const; /* configuration (in a
* textual form) to a
* stream.
* textual form) to a
* stream.
*/
struct AlgorithmInformation; /* See below. */
string algorithmString /* Formats the the id */
(vector<AlgorithmInformation, /* of an algorithm and */
ALLOC(AlgorithmInformation) >::size_type/* the name of the */
ALLOC(AlgorithmInformation) >::size_type/* the name of the */
algorithm_id) const; /* algorithm into a
* string.
* string.
*/
static void showCommandLineHelp /* Prints the list of */
@ -79,52 +75,52 @@ public:
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
enum InteractionMode {NEVER, ALWAYS, ONERROR}; /* Enumeration constants
* affecting the behaviour
* of the program as
* regards user control.
* affecting the behaviour
* of the program as
* regards user control.
*/
enum FormulaMode {NORMAL, NNF}; /* Enumeration constants
* affecting the generation
* and output of random
* formulae.
* affecting the generation
* and output of random
* formulae.
*/
enum StateSpaceMode {RANDOMGRAPH = 1, /* Enumeration constants */
RANDOMCONNECTEDGRAPH = 2, /* affecting the */
RANDOMCONNECTEDGRAPH = 2, /* affecting the */
GRAPH = 3, /* generation of random */
RANDOMPATH = 4, /* state spaces. */
ENUMERATEDPATH = 8,
PATH = 12};
RANDOMPATH = 4, /* state spaces. */
ENUMERATEDPATH = 8,
PATH = 12};
enum ProductMode {LOCAL, GLOBAL}; /* Enumeration constants
* for controlling the
* scope of synchronous
* products.
* for controlling the
* scope of synchronous
* products.
*/
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
struct AlgorithmInformation /* A structure for storing
* information about a
* particular algorithm
* (name, path to
* executable, command-line
* parameters).
* information about a
* particular algorithm
* (name, path to
* executable, command-line
* parameters).
*/
{
string* name; /* Name of the algorithm.
*/
*/
string* path_to_program; /* Path to the executable
* required for running
* the algorithm.
* required for running
* the algorithm.
*/
string* extra_parameters; /* Additional command-line
* parameters required for
* running the executable.
*/
* parameters required for
* running the executable.
*/
bool enabled; /* Determines whether the
* algorithm is enabled
@ -136,42 +132,42 @@ public:
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
struct GlobalConfiguration /* A structure for storing
* all the information
* affecting the general
* behaviour of the
* program.
* all the information
* affecting the general
* behaviour of the
* program.
*/
{
int verbosity; /* Determines the verbosity
* of program output (0-5,
* the bigger the value,
* the more information
* will be shown).
* of program output (0-5,
* the bigger the value,
* the more information
* will be shown).
*/
InteractionMode interactive; /* Controls the behaviour
* of the program as
* regards the ability of
* the user to enter
* commands between test
* rounds. Possible values
* and their meanings are:
*
* NEVER:
* Run all tests without
* interruption.
* ALWAYS:
* Pause after each test
* round to wait for
* user commands.
* ONERROR:
* Try to run the tests
* without interruption.
* However, in case of
* an error, pause and
* wait for user
* commands.
*/
* of the program as
* regards the ability of
* the user to enter
* commands between test
* rounds. Possible values
* and their meanings are:
*
* NEVER:
* Run all tests without
* interruption.
* ALWAYS:
* Pause after each test
* round to wait for
* user commands.
* ONERROR:
* Try to run the tests
* without interruption.
* However, in case of
* an error, pause and
* wait for user
* commands.
*/
unsigned long int number_of_rounds; /* Number of test rounds.
*/
@ -181,22 +177,22 @@ public:
*/
unsigned long int statespace_change_interval; /* Determines the frequency
* (in rounds) of how often
* a new state space is
* generated.
* (in rounds) of how often
* a new state space is
* generated.
*/
StateSpaceMode statespace_generation_mode; /* Random state space
* generation mode.
* Available options are:
*
* RANDOMGRAPH:
* Generate random
* connected graphs as
* state spaces.
* RANDOMPATH:
* Generate paths as
* state spaces, choose
*
* RANDOMGRAPH:
* Generate random
* connected graphs as
* state spaces.
* RANDOMPATH:
* Generate paths as
* state spaces, choose
* the loop and the
* truth assignments for
* atomic propositions
@ -207,47 +203,47 @@ public:
* enumerating all
* possible paths of a
* given length.
*/
*/
unsigned long int formula_change_interval; /* Determines the frequency
* (in rounds) of how often
* a new formula is
* generated.
* (in rounds) of how often
* a new formula is
* generated.
*/
ProductMode product_mode; /* Determines the scope of
* the synchronous products
* computed by the program.
* Possible values and
* their meanings are:
*
* LOCAL:
* The synchronous
* products are computed
* only with respect to
* the initial state of
* the system. This will
* save memory but makes
* the algorithm cross-
* comparisons less
* powerful, possibly
* at the cost of
* chances for finding
* inconsistencies in the
* results.
* GLOBAL:
* The synchronous
* products are computed
* with respect to each
* system state (i.e.
* the formula is model
* checked in each system
* state separately).
* This will usually
* the synchronous products
* computed by the program.
* Possible values and
* their meanings are:
*
* LOCAL:
* The synchronous
* products are computed
* only with respect to
* the initial state of
* the system. This will
* save memory but makes
* the algorithm cross-
* comparisons less
* powerful, possibly
* at the cost of
* chances for finding
* inconsistencies in the
* results.
* GLOBAL:
* The synchronous
* products are computed
* with respect to each
* system state (i.e.
* the formula is model
* checked in each system
* state separately).
* This will usually
* require more memory
* than the other
* alternative.
*/
* than the other
* alternative.
*/
string cfg_filename; /* Name for the
* configuration file.
@ -269,7 +265,7 @@ public:
bool do_cons_test; /* Is the model checking
* result consistency check
* enabled?
* enabled?
*/
bool do_intr_test; /* Is the automata
@ -285,9 +281,9 @@ public:
};
struct FormulaConfiguration /* A structure for storing
* specific information
* affecting the generation
* of random formulae.
* specific information
* affecting the generation
* of random formulae.
*/
{
int default_operator_priority; /* Default priority for all
@ -304,79 +300,79 @@ public:
*/
bool allow_abbreviated_operators; /* Determines whether the
* operators ->, <->, xor,
* operators ->, <->, xor,
* <>, [], W and M should
* be allowed when
* generating random
* formulae (these are
* `abbreviated' operators
* since they could be
* written in an equivalent
* form by using another
* operators).
* generating random
* formulae (these are
* `abbreviated' operators
* since they could be
* written in an equivalent
* form by using another
* operators).
*/
Configuration::FormulaMode output_mode; /* Determines whether the
* generated formulae are
* to be converted to
* negation normal form
* before passing them to
* the different
* algorithms. Possible
* values are:
*
* NORMAL:
* No conversion.
* NNF:
* Do the conversion
* (this may affect the
* size of the formulae!)
*/
* generated formulae are
* to be converted to
* negation normal form
* before passing them to
* the different
* algorithms. Possible
* values are:
*
* NORMAL:
* No conversion.
* NNF:
* Do the conversion
* (this may affect the
* size of the formulae!)
*/
Configuration::FormulaMode generate_mode; /* Determines whether the
* formulae are to be
* generated in negation
* normal form (strict
* size requirement for
* formulae). Possible
* values are:
*
* NORMAL:
* Allow more flexibility
* in the generation of
* formulae.
* NNF:
* Force generation into
* negation normal form.
*/
* formulae are to be
* generated in negation
* normal form (strict
* size requirement for
* formulae). Possible
* values are:
*
* NORMAL:
* Allow more flexibility
* in the generation of
* formulae.
* NNF:
* Force generation into
* negation normal form.
*/
::Ltl::FormulaRandomizer formula_generator; /* Interface to the random
* LTL formula generation
* algorithm.
*/
* LTL formula generation
* algorithm.
*/
};
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
vector<AlgorithmInformation, /* A vector containing */
ALLOC(AlgorithmInformation) > algorithms; /* information about the
* algorithms used in
* the tests.
ALLOC(AlgorithmInformation) > algorithms; /* information about the
* algorithms used in
* the tests.
*/
GlobalConfiguration global_options; /* General configuration
* information.
* information.
*/
FormulaConfiguration formula_options; /* Configuration
* information for
* generating random
* formulae.
* information for
* generating random
* formulae.
*/
Graph::StateSpaceRandomizer /* Interface to the */
statespace_generator; /* random state space
* generation
* generation
* algorithms.
*/
@ -392,10 +388,10 @@ public:
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
class ConfigurationException : public Exception /* A class for reporting
* errors when reading
* the configuration file.
*/
{
* errors when reading
* the configuration file.
*/
{
public:
ConfigurationException /* Constructors. */
(const string& info = "",
@ -458,7 +454,7 @@ private:
OPT_CONSISTENCYTEST, OPT_DISABLE, OPT_ENABLE,
OPT_FORMULACHANGEINTERVAL, OPT_FORMULAFILE,
OPT_FORMULARANDOMSEED, OPT_HELP = 'h',
OPT_GLOBALPRODUCT = 20000, OPT_INTERACTIVE,
OPT_GLOBALPRODUCT = 20000, OPT_INTERACTIVE,
OPT_INTERSECTIONTEST, OPT_LOGFILE,
OPT_MODELCHECK, OPT_NOCOMPARISONTEST,
OPT_NOCONSISTENCYTEST, OPT_NOINTERSECTIONTEST,
@ -497,12 +493,12 @@ private:
OPT_STATESPACESIZE, OPT_TRUTHPROBABILITY};
typedef map<pair<int, int>, double, /* Type definitions for */
less<pair<int, int> >, /* the result cache used */
ALLOC(double) > /* for computing the */
less<pair<int, int> >, /* the result cache used */
ALLOC(double) > /* for computing the */
ProbabilityMapElement; /* probability */
typedef map<int, ProbabilityMapElement, /* distribution of LTL */
less<int>, /* formula operators. */
ALLOC(ProbabilityMapElement) >
less<int>, /* formula operators. */
ALLOC(ProbabilityMapElement) >
ProbabilityMap;
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@ -514,8 +510,8 @@ private:
*/
void reset(); /* Initializes the
* configuration data
* to default values.
* configuration data
* to default values.
*/
long int parseCommandLineInteger /* Converts an integer */

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -17,14 +17,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifdef __GNUC__
#pragma implementation
#endif /* __GNUC__ */
#include <config.h>
#include <deque>
#include <stack>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "DispUtil.h"
/******************************************************************************

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -74,7 +74,7 @@ public:
virtual ~UserBreakException() throw(); /* Destructor. */
UserBreakException& /* Assignment operator. */
operator=(const UserBreakException& e);
operator=(const UserBreakException& e);
/* `what' inherited from class Exception */
@ -289,13 +289,13 @@ public:
Exceptional_istream /* Constructor. */
(istream *istr,
ios::iostate mask = ios::goodbit);
/* default copy constructor */
~Exceptional_istream(); /* Destructor. */
/* default assignment operator */
template<class T> /* Operator for reading */
Exceptional_istream &operator>>(T &t); /* from the stream. */
@ -337,9 +337,9 @@ public:
Exceptional_ostream /* Constructor. */
(ostream* ostr,
ios::iostate mask = ios::goodbit);
/* default copy constructor */
~Exceptional_ostream(); /* Destructor. */
/* default assignment operator */
@ -353,7 +353,7 @@ public:
* aware output stream into
* a regular output stream.
*/
private:
ostream* stream; /* A pointer to the
* `regular' output stream
@ -482,7 +482,7 @@ inline UserBreakException& UserBreakException::operator=
(const UserBreakException& e)
/* ----------------------------------------------------------------------------
*
* Descrption: Assignment operator for class UserBreakException. Assigns the
* Descrption: Assignment operator for class UserBreakException. Assigns the
* value of another UserBreakException to `this' one.
*
* Argument: e -- A reference to a constant UserBreakException.
@ -808,7 +808,7 @@ inline FileWriteException::FileWriteException() :
inline FileWriteException::FileWriteException
(const string& filename, const string& details) :
IOException("error writing to " + filename
+ string(details.empty() ? "" : " " + details))
+ string(details.empty() ? "" : " " + details))
/* ----------------------------------------------------------------------------
*
* Description: Constructor for class FileWriteException. This constructor
@ -954,7 +954,7 @@ inline Exceptional_istream::Exceptional_istream
*
* Arguments: istr -- A pointer to an object of type istream.
* mask -- A bit mask determining when the Exceptional_istream
* should throw exceptions. The most useful constants
* should throw exceptions. The most useful constants
* for the bit mask are
* ios::badbit Throw an exception if the input
* stream (after performing an input
@ -1060,7 +1060,7 @@ inline Exceptional_ostream::Exceptional_ostream
*
* Arguments: ostr -- A pointer to an object of type ostream.
* mask -- A bit mask determining when the Exceptional_ostream
* should throw exceptions. The most useful constants
* should throw exceptions. The most useful constants
* for the bit mask are
* ios::badbit Throw an exception if the output
* stream (after performing an output

View file

@ -17,10 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifdef __GNUC__
#pragma implementation
#endif /* __GNUC__ */
#include <config.h>
#include <csignal>
#include <cstdio>

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,10 +20,6 @@
#ifndef EXTERNALTRANSLATOR_H
#define EXTERNALTRANSLATOR_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <deque>
#include <stack>
@ -33,7 +29,7 @@
#else
#include <strstream>
#endif /* HAVE_SSTREAM */
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Exception.h"
#include "LtlFormula.h"
#include "translate.h"
@ -210,8 +206,8 @@ private:
*/
stack<TempFileObject*, /* Stack for storing */
deque<TempFileObject*, /* temporary file */
ALLOC(TempFileObject*) > > /* information. */
deque<TempFileObject*, /* temporary file */
ALLOC(TempFileObject*) > > /* information. */
temporary_file_objects;
friend class KecWrapper; /* Friend declarations. */

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,14 +20,10 @@
#ifndef FORMULARANDOMIZER_H
#define FORMULARANDOMIZER_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <vector>
#include <utility>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "LtlFormula.h"
namespace Ltl

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -34,7 +34,7 @@ using SLIST_NAMESPACE::slist;
#include <utility>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BitArray.h"
#include "Exception.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,17 +20,13 @@
#ifndef LTLFORMULA_H
#define LTLFORMULA_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <deque>
#include <iostream>
#include <map>
#include <stack>
#include <string>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BitArray.h"
#include "Exception.h"

View file

@ -16,10 +16,10 @@ lbtt_SOURCES = \
FormulaRandomizer.cc \
FormulaRandomizer.h \
FormulaWriter.h \
LbttAlloc.h \
LtlFormula.cc \
LtlFormula.h \
main.cc \
ObstackAlloc.h \
PathEvaluator.cc \
PathEvaluator.h \
PathIterator.cc \

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,16 +20,12 @@
#ifndef NEVERCLAIMAUTOMATON_H
#define NEVERCLAIMAUTOMATON_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <map>
#include <string>
#include <utility>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Exception.h"
using namespace std;

View file

@ -1,166 +0,0 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program 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.
*
* This program 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef ALLOC_H
#define ALLOC_H
#include <config.h>
#ifdef HAVE_SINGLE_CLIENT_ALLOC
#define ALLOC(typename) single_client_alloc
#else
#define ALLOC(typename) allocator<typename>
#endif /* HAVE_SINGLE_CLIENT_ALLOC */
#ifdef HAVE_OBSTACK_H
/* GNU libc 2.3's copy of obstack.h uses a definition of __INT_TO_PTR
which does not compile in C++. Fortunately it will not override
an existing definition. */
#if __GLIBC__ == 2 && __GLIBC_MINOR__ == 3
# define __INT_TO_PTR(P) ((P) + (char *) 0)
#endif
#include <obstack.h>
#include <cstdlib>
#include <new>
/******************************************************************************
*
* A wrapper class for allocating memory through an obstack.
*
*****************************************************************************/
class ObstackAllocator
{
public:
ObstackAllocator(); /* Constructor. */
~ObstackAllocator(); /* Destructor. */
void* alloc(int size); /* Allocates memory. */
void free(void* obj); /* Deallocates memory. */
static void failure(); /* Callback function for
* reporting a memory
* allocation failure.
*/
private:
ObstackAllocator(const ObstackAllocator&); /* Prevent copying and */
ObstackAllocator& operator= /* assignment of */
(const ObstackAllocator&); /* ObstackAllocator
* objects.
*/
struct obstack store; /* The obstack. */
};
#define obstack_chunk_alloc std::malloc
#define obstack_chunk_free std::free
/******************************************************************************
*
* Inline function definitions for class ObstackAllocator.
*
*****************************************************************************/
/* ========================================================================= */
inline ObstackAllocator::ObstackAllocator()
/* ----------------------------------------------------------------------------
*
* Description: Constructor for class ObstackAllocator.
*
* Arguments: None.
*
* Returns: Nothing.
*
* ------------------------------------------------------------------------- */
{
obstack_init(&store);
}
/* ========================================================================= */
inline ObstackAllocator::~ObstackAllocator()
/* ----------------------------------------------------------------------------
*
* Description: Destructor for class ObstackAllocator.
*
* Arguments: None.
*
* Returns: Nothing.
*
* ------------------------------------------------------------------------- */
{
obstack_free(&store, NULL);
}
/* ========================================================================= */
inline void* ObstackAllocator::alloc(int size)
/* ----------------------------------------------------------------------------
*
* Description: Interface to the memory allocator.
*
* Argument: size -- Number of bytes to allocate.
*
* Returns: A pointer to the beginning of the newly allocated memory.
*
* ------------------------------------------------------------------------- */
{
return obstack_alloc(&store, size);
}
/* ========================================================================= */
inline void ObstackAllocator::free(void* obj)
/* ----------------------------------------------------------------------------
*
* Description: Interface to the memory deallocation function.
*
* Argument: obj -- A pointer to the object to deallocate. (Because the
* underlying memory allocator is an obstack, freeing
* an object also releases all objects allocated after
* the given object.)
*
* Returns: Nothing.
*
* ------------------------------------------------------------------------- */
{
obstack_free(&store, obj);
}
/* ========================================================================= */
inline void ObstackAllocator::failure()
/* ----------------------------------------------------------------------------
*
* Description: Callback function for reporting memory allocation failures.
*
* Arguments: None.
*
* Returns: Nothing.
*
* ------------------------------------------------------------------------- */
{
throw std::bad_alloc();
}
#endif /* HAVE_OBSTACK_H */
#endif /* !ALLOC_H */

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,13 +20,9 @@
#ifndef PATHEVALUATOR_H
#define PATHEVALUATOR_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <iostream>
#include <map>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BitArray.h"
#include "Exception.h"
#include "LtlFormula.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,15 +20,11 @@
#ifndef PRODUCTAUTOMATON_H
#define PRODUCTAUTOMATON_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <deque>
#include <iostream>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BitArray.h"
#include "BuchiAutomaton.h"
#include "EdgeContainer.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -25,7 +25,7 @@
#include <set>
#include <stack>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Graph.h"
using namespace std;

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -21,7 +21,7 @@
#define SHAREDTESTDATA_H
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Exception.h"
#include "TestRoundInfo.h"
#include "TestStatistics.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,14 +20,10 @@
#ifndef STATDISPLAY_H
#define STATDISPLAY_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <iostream>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Configuration.h"
#include "TestStatistics.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,12 +20,8 @@
#ifndef STATESPACE_H
#define STATESPACE_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BitArray.h"
#include "EdgeContainer.h"
#include "Graph.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -17,14 +17,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifdef __GNUC__
#pragma implementation
#endif /* __GNUC__ */
#include <climits>
#include <config.h>
#include <map>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BitArray.h"
#include "Exception.h"
#include "StateSpaceRandomizer.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,10 +20,6 @@
#ifndef STRINGUTIL_H
#define STRINGUTIL_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <set>
#include <string>
@ -33,7 +29,7 @@
#include <strstream>
#endif /* HAVE_SSTREAM */
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Exception.h"
using namespace std;

View file

@ -17,10 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifdef __GNUC__
#pragma implementation
#endif /* __GNUC__ */
#include <config.h>
#include <csignal>
#include <cstdio>

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,16 +20,12 @@
#ifndef TESTOPERATIONS_H
#define TESTOPERATIONS_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Configuration.h"
#include "Exception.h"
#include "StateSpace.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -25,7 +25,7 @@
#include <fstream>
#include <iostream>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Exception.h"
#include "LtlFormula.h"
#include "ProductAutomaton.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,14 +20,10 @@
#ifndef TESTSTATISTICS_H
#define TESTSTATISTICS_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <utility>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BuchiAutomaton.h"
#include "Configuration.h"
#include "ProductAutomaton.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,15 +20,11 @@
#ifndef USERCOMMANDREADER_H
#define USERCOMMANDREADER_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <string>
#include <utility>
#include <vector>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Configuration.h"
#include "Exception.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -20,17 +20,13 @@
#ifndef USERCOMMANDS_H
#define USERCOMMANDS_H
#ifdef __GNUC__
#pragma interface
#endif /* __GNUC__ */
#include <config.h>
#include <deque>
#include <iostream>
#include <string>
#include <vector>
#include <utility>
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "BuchiAutomaton.h"
#include "Configuration.h"
#include "ProductAutomaton.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -28,7 +28,7 @@
#include <readline/readline.h>
#include <readline/history.h>
#endif /* HAVE_READLINE */
#include "ObstackAlloc.h"
#include "LbttAlloc.h"
#include "Configuration.h"
#include "DispUtil.h"
#include "Exception.h"

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 1999, 2000, 2001, 2002, 2003
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
*
* This program is free software; you can redistribute it and/or
@ -17,10 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifdef __GNUC__
#pragma implementation
#endif /* __GNUC__ */
#include <config.h>
#include <csignal>
#include <fstream>