Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

spot::couvreur99_check_shy Class Reference
[Emptiness-check algorithms]

A version of spot::couvreur99_check that tries to visit known states first. More...

#include <tgbaalgos/gtec/gtec.hh>

Inheritance diagram for spot::couvreur99_check_shy:

Inheritance graph
[legend]
Collaboration diagram for spot::couvreur99_check_shy:

Collaboration graph
[legend]
List of all members.

Public Types

typedef unsigned(unsigned_statistics::* unsigned_fun )() const
typedef std::map< const char *,
unsigned_fun, char_ptr_less_than
stats_map

Public Member Functions

 couvreur99_check_shy (const tgba *a, option_map o=option_map(), const numbered_state_heap_factory *nshf=numbered_state_heap_hash_map_factory::instance())
virtual ~couvreur99_check_shy ()
virtual emptiness_check_resultcheck ()
 Check whether the automaton's language is empty.
virtual std::ostream & print_stats (std::ostream &os) const
 Print statistics, if any.
const couvreur99_check_statusresult () const
 Return the status of the emptiness-check.
const tgbaautomaton () const
 The automaton that this emptiness-check inspects.
const option_mapoptions () const
 Return the options parametrizing how the emptiness check is realized.
const char * parse_options (char *options)
 Modify the algorithm options.
virtual bool safe () const
 Return false iff accepting_run() can return 0 for non-empty automata.
virtual const unsigned_statisticsstatistics () const
 Return statistics, if available.
virtual void options_updated (const option_map &old)
 Notify option updates.
void set_states (unsigned n)
void inc_states ()
void inc_transitions ()
void inc_depth (unsigned n=1)
void dec_depth (unsigned n=1)
unsigned states () const
unsigned transitions () const
unsigned max_depth () const
unsigned depth () const
unsigned get (const char *str) const

Public Attributes

stats_map stats

Protected Types

typedef std::list< successorsucc_queue
typedef std::list< todo_itemtodo_list

Protected Member Functions

void clear_todo ()
virtual int * find_state (const state *s)
 find the SCC number of a unprocessed state.
void remove_component (const state *start_delete)
 Remove a strongly component from the hash.

Protected Attributes

std::stack< bdd > arc
int num
todo_list todo
bool group_
couvreur99_check_statusecs_
bool poprem_
 Whether to store the state to be removed.
const tgbaa_
 The automaton.
option_map o_
 The options.

Classes

struct  successor
struct  todo_item

Detailed Description

A version of spot::couvreur99_check that tries to visit known states first.

See the documentation for spot::couvreur99.


Member Typedef Documentation

typedef std::map<const char*, unsigned_fun, char_ptr_less_than> spot::unsigned_statistics::stats_map [inherited]
 

typedef std::list<successor> spot::couvreur99_check_shy::succ_queue [protected]
 

typedef std::list<todo_item> spot::couvreur99_check_shy::todo_list [protected]
 

typedef unsigned(unsigned_statistics::* spot::unsigned_statistics::unsigned_fun)() const [inherited]
 


Constructor & Destructor Documentation

spot::couvreur99_check_shy::couvreur99_check_shy const tgba a,
option_map  o = option_map(),
const numbered_state_heap_factory nshf = numbered_state_heap_hash_map_factory::instance()
 

virtual spot::couvreur99_check_shy::~couvreur99_check_shy  )  [virtual]
 


Member Function Documentation

const tgba* spot::emptiness_check::automaton  )  const [inline, inherited]
 

The automaton that this emptiness-check inspects.

virtual emptiness_check_result* spot::couvreur99_check_shy::check  )  [virtual]
 

Check whether the automaton's language is empty.

Reimplemented from spot::couvreur99_check.

void spot::couvreur99_check_shy::clear_todo  )  [protected]
 

void spot::ec_statistics::dec_depth unsigned  n = 1  )  [inline, inherited]
 

unsigned spot::ec_statistics::depth  )  const [inline, inherited]
 

virtual int* spot::couvreur99_check_shy::find_state const state s  )  [protected, virtual]
 

find the SCC number of a unprocessed state.

Sometimes we want to modify some of the above structures when looking up a new state. This happens for instance when find() must perform inclusion checking and add new states to process to TODO during this step. (Because TODO must be known, sub-classing spot::numbered_state_heap is not enough.) Then overriding this method is the way to go.

unsigned spot::unsigned_statistics::get const char *  str  )  const [inline, inherited]
 

void spot::ec_statistics::inc_depth unsigned  n = 1  )  [inline, inherited]
 

void spot::ec_statistics::inc_states  )  [inline, inherited]
 

void spot::ec_statistics::inc_transitions  )  [inline, inherited]
 

unsigned spot::ec_statistics::max_depth  )  const [inline, inherited]
 

const option_map& spot::emptiness_check::options  )  const [inline, inherited]
 

Return the options parametrizing how the emptiness check is realized.

virtual void spot::emptiness_check::options_updated const option_map old  )  [virtual, inherited]
 

Notify option updates.

const char* spot::emptiness_check::parse_options char *  options  )  [inherited]
 

Modify the algorithm options.

virtual std::ostream& spot::couvreur99_check::print_stats std::ostream &  os  )  const [virtual, inherited]
 

Print statistics, if any.

Reimplemented from spot::emptiness_check.

void spot::couvreur99_check::remove_component const state start_delete  )  [protected, inherited]
 

Remove a strongly component from the hash.

This function remove all accessible state from a given state. In other words, it removes the strongly connected component that contains this state.

const couvreur99_check_status* spot::couvreur99_check::result  )  const [inherited]
 

Return the status of the emptiness-check.

When check() succeed, the status should be passed along to spot::counter_example.

This status should not be deleted, it is a pointer to a member of this class that will be deleted when the couvreur99 object is deleted.

virtual bool spot::emptiness_check::safe  )  const [virtual, inherited]
 

Return false iff accepting_run() can return 0 for non-empty automata.

void spot::ec_statistics::set_states unsigned  n  )  [inline, inherited]
 

unsigned spot::ec_statistics::states  )  const [inline, inherited]
 

virtual const unsigned_statistics* spot::emptiness_check::statistics  )  const [virtual, inherited]
 

Return statistics, if available.

unsigned spot::ec_statistics::transitions  )  const [inline, inherited]
 


Member Data Documentation

const tgba* spot::emptiness_check::a_ [protected, inherited]
 

The automaton.

std::stack<bdd> spot::couvreur99_check_shy::arc [protected]
 

couvreur99_check_status* spot::couvreur99_check::ecs_ [protected, inherited]
 

bool spot::couvreur99_check_shy::group_ [protected]
 

int spot::couvreur99_check_shy::num [protected]
 

option_map spot::emptiness_check::o_ [protected, inherited]
 

The options.

bool spot::couvreur99_check::poprem_ [protected, inherited]
 

Whether to store the state to be removed.

stats_map spot::unsigned_statistics::stats [inherited]
 

todo_list spot::couvreur99_check_shy::todo [protected]
 


The documentation for this class was generated from the following file:
Please comment this page and report errors about it on the RefDocComments page.
Generated on Fri Apr 8 21:19:47 2005 for spot by doxygen 1.4.0