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

#include <fasttgba/fasttgba_explicit.hh>

Inheritance diagram for spot::fasttgbaexplicit:
Inheritance graph
Collaboration diagram for spot::fasttgbaexplicit:
Collaboration graph

Public Member Functions

 fasttgbaexplicit (ap_dict *aps, acc_dict *acc)
 Constructor for a fasttgba. More...
 
virtual fasttgba_stateget_init_state () const
 Get the initial state of the automaton. More...
 
virtual fasttgba_succ_iteratorsucc_iter (const fasttgba_state *local_state) const
 Get an iterator over the successors of state. More...
 
virtual fasttgba_succ_iteratorswarm_succ_iter (const fasttgba_state *state) const
 Get a Swarm iterator over the sucessors of a state. More...
 
virtual ap_dictget_dict () const
 Get the dictionary associated to the automaton. More...
 
virtual acc_dictget_acc () const
 Get the acceptance dictionary associated to the automaton. More...
 
virtual std::string format_state (const fasttgba_state *state) const
 Format the state as a string for printing. More...
 
virtual std::string transition_annotation (const fasttgba_succ_iterator *t) const
 Return a possible annotation for the transition pointed to by the iterator. More...
 
virtual fasttgba_stateproject_state (const fasttgba_state *s, const fasttgba *t) const
 Project a state on an automaton. More...
 
virtual markset all_acceptance_marks () const
 Return the set of all acceptance marks used by this automaton. More...
 
virtual unsigned int number_of_acceptance_marks () const
 The number of acceptance marks. More...
 
aut_strength get_strength () const
 Ease to detect the strength of an automaton. More...
 
fast_explicit_stateadd_state (int s)
 Provide the manner to add a new state to this automaton. More...
 
void add_transition (int src, int dst, cube cond, markset acc)
 Provide the way to create a transision between two states. More...
 
void set_strength (aut_strength s)
 set the strength of an automaton More...
 

Protected Types

typedef Sgi::hash_map< int,
fast_explicit_state
*, identity_hash< int > > 
sm
 

Protected Attributes

markset all_marks_
 the set of acceptance mark More...
 
ap_dictaps_
 The set of atomic proposition. More...
 
acc_dictacc_
 The set of acceptance mark. More...
 
const fasttgba_stateinit_
 
sm state_map_
 The states of the automaton. More...
 
aut_strength strength_
 
int num_acc_
 The number of acceptance mark. More...
 
int num_var_
 The number of variables. More...
 

Detailed Description

This class is the concrete implementation of the fasttgba interface. Moreover this interface provides all what is needed to build such an automaton

Constructor & Destructor Documentation

spot::fasttgbaexplicit::fasttgbaexplicit ( ap_dict aps,
acc_dict acc 
)

Constructor for a fasttgba.

Parameters
apsa set of atomic proposition name
acca set of acceptance variable name

Member Function Documentation

fast_explicit_state* spot::fasttgbaexplicit::add_state ( int  s)

Provide the manner to add a new state to this automaton.

If it's the first state added to this automaton, then this state becomes the initial one

Parameters
sthe integer name for the state
Returns
true if the state was not already in the automaton
void spot::fasttgbaexplicit::add_transition ( int  src,
int  dst,
cube  cond,
markset  acc 
)

Provide the way to create a transision between two states.

Parameters
srcthe label of the source state
dstthe label of the destination state
condthe atomic proposition labelling the transition
condthe accepting mark on this transition
virtual markset spot::fasttgbaexplicit::all_acceptance_marks ( ) const
virtual

Return the set of all acceptance marks used by this automaton.

The goal of the emptiness check is to ensure that a strongly connected component walks through each of these acceptance conditions. I.e., the union of the acceptance conditions of all transition in the SCC should be equal to the result of this function.

Implements spot::fasttgba.

virtual std::string spot::fasttgbaexplicit::format_state ( const fasttgba_state state) const
virtual

Format the state as a string for printing.

This formating is the responsability of the automata that owns the state.

Implements spot::fasttgba.

virtual acc_dict& spot::fasttgbaexplicit::get_acc ( ) const
virtual

Get the acceptance dictionary associated to the automaton.

Implements spot::fasttgba.

virtual ap_dict& spot::fasttgbaexplicit::get_dict ( ) const
virtual

Get the dictionary associated to the automaton.

Implements spot::fasttgba.

virtual fasttgba_state* spot::fasttgbaexplicit::get_init_state ( ) const
virtual

Get the initial state of the automaton.

The state has been allocated with new. It is the responsability of the caller to destroy it when no longer needed.

Implements spot::fasttgba.

aut_strength spot::fasttgbaexplicit::get_strength ( ) const
inline

Ease to detect the strength of an automaton.

The strength of an automaton is the strength of the highest SCC. If we are not able to detect the strength of an SCC, the automaton must be consider strong.

virtual unsigned int spot::fasttgbaexplicit::number_of_acceptance_marks ( ) const
virtual

The number of acceptance marks.

Implements spot::fasttgba.

virtual fasttgba_state* spot::fasttgbaexplicit::project_state ( const fasttgba_state s,
const fasttgba t 
) const
virtual

Project a state on an automaton.

Implements spot::fasttgba.

void spot::fasttgbaexplicit::set_strength ( aut_strength  s)
inline

set the strength of an automaton

virtual fasttgba_succ_iterator* spot::fasttgbaexplicit::succ_iter ( const fasttgba_state state) const
virtual

Get an iterator over the successors of state.

Parameters
stateThe state whose successors are to be explored. This pointer is not adopted in any way by succ_iter, and it is still the caller's responsability to destroy it when appropriate (this can be done during the lifetime of the iterator).

Implements spot::fasttgba.

virtual fasttgba_succ_iterator* spot::fasttgbaexplicit::swarm_succ_iter ( const fasttgba_state state) const
virtual

Get a Swarm iterator over the sucessors of a state.

Such an iterator visits randomly once each outgoing transitions

Parameters
statethe states whose successors are to be explored.

Implements spot::fasttgba.

virtual std::string spot::fasttgbaexplicit::transition_annotation ( const fasttgba_succ_iterator t) const
virtual

Return a possible annotation for the transition pointed to by the iterator.

Implements spot::fasttgba.

Member Data Documentation

acc_dict* spot::fasttgbaexplicit::acc_
protected

The set of acceptance mark.

markset spot::fasttgbaexplicit::all_marks_
protected

the set of acceptance mark

ap_dict* spot::fasttgbaexplicit::aps_
protected

The set of atomic proposition.

int spot::fasttgba::num_acc_
mutableprotectedinherited

The number of acceptance mark.

int spot::fasttgba::num_var_
mutableprotectedinherited

The number of variables.

sm spot::fasttgbaexplicit::state_map_
protected

The states of the automaton.


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 Tue Jan 21 2014 16:52:02 for spot by doxygen 1.8.5