spot  1.2.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
spot::couvreur99_check_shy Class Reference

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
Collaboration diagram for spot::couvreur99_check_shy:
Collaboration graph

Classes

struct  successor
 
struct  todo_item
 

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 emptiness_check_resultcheck ()
 Check whether the automaton's language is empty. More...
 
virtual std::ostream & print_stats (std::ostream &os) const
 Print statistics, if any. More...
 
const couvreur99_check_statusresult () const
 Return the status of the emptiness-check. More...
 
const tgbaautomaton () const
 The automaton that this emptiness-check inspects. More...
 
const option_mapoptions () const
 Return the options parametrizing how the emptiness check is realized. More...
 
const char * parse_options (char *options)
 Modify the algorithm options. More...
 
virtual bool safe () const
 Return false iff accepting_run() can return 0 for non-empty automata. More...
 
virtual const unsigned_statisticsstatistics () const
 Return statistics, if available. More...
 
virtual void options_updated (const option_map &old)
 Notify option updates. More...
 
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 ()
 
void dump_queue (std::ostream &os=std::cerr)
 Dump the queue for debugging. More...
 
virtual
numbered_state_heap::state_index_p 
find_state (const state *s)
 find the SCC number of a unprocessed state. More...
 
void remove_component (const state *start_delete)
 Remove a strongly component from the hash. More...
 
unsigned get_removed_components () const
 
unsigned get_vmsize () const
 

Protected Attributes

std::stack< bdd > arc
 
int num
 
succ_queue::iterator pos
 
todo_list todo
 
bool group_
 Whether successors should be grouped for states in the same SCC. More...
 
bool group2_
 
bool onepass_
 
couvreur99_check_statusecs_
 
bool poprem_
 Whether to store the state to be removed. More...
 
unsigned removed_components
 Number of dead SCC removed by the algorithm. More...
 
const tgbaa_
 The automaton. More...
 
option_map o_
 The options. More...
 

Detailed Description

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

See the documentation for spot::couvreur99.

Member Function Documentation

const tgba* spot::emptiness_check::automaton ( ) const
inlineinherited

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::dump_queue ( std::ostream &  os = std::cerr)
protected

Dump the queue for debugging.

virtual numbered_state_heap::state_index_p spot::couvreur99_check_shy::find_state ( const state s)
protectedvirtual

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.

const option_map& spot::emptiness_check::options ( ) const
inlineinherited

Return the options parametrizing how the emptiness check is realized.

virtual void spot::emptiness_check::options_updated ( const option_map old)
virtualinherited

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
virtualinherited

Print statistics, if any.

Reimplemented from spot::emptiness_check.

void spot::couvreur99_check::remove_component ( const state start_delete)
protectedinherited

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
virtualinherited

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

virtual const unsigned_statistics* spot::emptiness_check::statistics ( ) const
virtualinherited

Return statistics, if available.

Member Data Documentation

const tgba* spot::emptiness_check::a_
protectedinherited

The automaton.

bool spot::couvreur99_check_shy::group_
protected

Whether successors should be grouped for states in the same SCC.

option_map spot::emptiness_check::o_
protectedinherited

The options.

bool spot::couvreur99_check::poprem_
protectedinherited

Whether to store the state to be removed.

unsigned spot::couvreur99_check::removed_components
protectedinherited

Number of dead SCC removed by the algorithm.


The documentation for this class was generated from the following file:

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Sat Dec 6 2014 12:28:44 for spot by doxygen 1.8.4