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

gautomata::BNfa Class Reference

#include <bnfa.h>

Inheritance diagram for gautomata::BNfa:

gautomata::Nfa gautomata::WordAutomaton gautomata::Automaton List of all members.

Public Member Functions

Factoryptr_factory () const
 BNfa (Space *space)
 Creates a new automaton.

 BNfa (Space *space, bool v)
 BNfa (const BNfa &bnfa)
 BNfa (const Nfa &nfa)
 ~BNfa ()
BNfaptr_clone () const
SymbolSet alphabet () const
StateSet states () const
StateSet states_starting () const
Relation transitions () const
StateSet states_accepting () const
Space * get_space () const
unsigned int get_n_states () const
BNfaptr_product (const Nfa &a2, bool(*fn)(bool v1, bool v2)) const
BNfaptr_concatenation (const Nfa &a2) const
BNfaptr_deterministic () const
BNfaptr_minimize () const
BNfaptr_project (Domain vs) const
BNfaptr_rename (VarMap map) const
BNfaptr_rename (Domain vs1, Domain vs2) const
BNfaptr_kleene () const
BNfaptr_reverse () const
BNfaptr_negate () const
BNfaptr_with_starting_accepting (StateSet starting, StateSet accepting) const
 Change starting and accepting states of automaton.

BNfaptr_filter_states (StateSet s) const
BNfaptr_filter_states_live () const
BNfaptr_filter_states_reachable () const
BNfaptr_filter_states_productive () const
State add_state (bool accepting, bool starting=false)
 Adds a new state to the automaton.

void add_edge (StateSet from, SymbolSet on, StateSet to)
 Adds an edge in the automaton.

void add_edge (State from, SymbolSet on, State to)
 Adds an edge in the automaton.

void add_transitions (Relation new_transitions)
 Adds transitions to the automaton.

virtual SymbolSet edge_between (StateSet q, StateSet r) const
virtual SymbolSet edge_between (State q, State r) const
BNfa deterministic () const
BNfa minimize () const
BNfa project (Domain vs) const
BNfa rename (VarMap map) const
BNfa rename (Domain vs1, Domain vs2) const
BNfa kleene () const
BNfa reverse () const
BNfa negate () const
BNfa operator! ()
BNfa with_starting_accepting (StateSet starting, StateSet accepting) const
BNfa filter_states (StateSet s) const
BNfa filter_states_live () const
BNfa filter_states_reachable () const
BNfa filter_states_productive () const
bool is_true () const
bool is_false () const

Static Public Member Functions

BNfa epsilon (Space *space)
BNfa symbol (Space *space, SymbolSet sym)
BNfa product (BNfa a1, BNfa a2, bool(*fn)(bool v1, bool v2))
BNfa color (vector< BNfa > automata, vector< gbdd::Relation > &out_color_maps)

Friends

BNfa operator & (const BNfa &a1, const BNfa &a2)
BNfa operator| (const BNfa &a1, const BNfa &a2)
BNfa operator- (const BNfa &a1, const BNfa &a2)
BNfa operator * (const BNfa &a1, const BNfa &a2)
bool operator== (const BNfa &a1, const BNfa &a2)
bool operator!= (const BNfa &a1, const BNfa &a2)
bool operator< (const BNfa &a1, const BNfa &a2)
bool operator<= (const BNfa &a1, const BNfa &a2)
bool operator> (const BNfa &a1, const BNfa &a2)
bool operator>= (const BNfa &a1, const BNfa &a2)

Constructor & Destructor Documentation

gautomata::BNfa::BNfa Space *  space  ) 
 

Creates a new automaton.

Parameters:
space The BDD space which will be used for the representation

gautomata::BNfa::BNfa Space *  space,
bool  v
 

gautomata::BNfa::BNfa const BNfa bnfa  ) 
 

gautomata::BNfa::BNfa const Nfa nfa  ) 
 

gautomata::BNfa::~BNfa  ) 
 


Member Function Documentation

void gautomata::BNfa::add_edge State  from,
SymbolSet  on,
State  to
[virtual]
 

Adds an edge in the automaton.

For all symbols a in on, adds an edge (from, a, to) to the automaton.

Parameters:
from State where the edge should originate
on Set on symbol on the new edge
to State where the edge should be destined

Reimplemented from gautomata::WordAutomaton.

void gautomata::BNfa::add_edge StateSet  from,
SymbolSet  on,
StateSet  to
[virtual]
 

Adds an edge in the automaton.

For all states q in from, all symbols a in on, and for all states q' in to, adds an edge (q, a, q') to the automaton.

Parameters:
from Set of states where the edge should originate
on Set on symbol on the new edge
to Set of states where the edge should be destined

Reimplemented from gautomata::WordAutomaton.

State gautomata::BNfa::add_state bool  accepting,
bool  starting = false
[virtual]
 

Adds a new state to the automaton.

Parameters:
accepting Whether the new state should be accepting
starting Whether the new state should be starting
Returns:
The new state added

Implements gautomata::Nfa.

void gautomata::BNfa::add_transitions Relation  new_transitions  )  [virtual]
 

Adds transitions to the automaton.

Parameters:
new_transitions Transitions to add

Reimplemented from gautomata::WordAutomaton.

SymbolSet gautomata::BNfa::alphabet  )  const [virtual]
 

Reimplemented from gautomata::WordAutomaton.

BNfa gautomata::BNfa::color vector< BNfa automata,
vector< gbdd::Relation > &  out_color_maps
[static]
 

BNfa gautomata::BNfa::deterministic  )  const
 

deterministic:

Applies the subset construction to obtain a deterministic automaton

Returns: A deterministic automaton equivalent to this automaton

SymbolSet gautomata::BNfa::edge_between State  q,
State  r
const [virtual]
 

Reimplemented from gautomata::WordAutomaton.

SymbolSet gautomata::BNfa::edge_between StateSet  q,
StateSet  r
const [virtual]
 

Reimplemented from gautomata::WordAutomaton.

BNfa gautomata::BNfa::epsilon Space *  space  )  [static]
 

BNfa gautomata::BNfa::filter_states StateSet  s  )  const
 

BNfa gautomata::BNfa::filter_states_live  )  const
 

BNfa gautomata::BNfa::filter_states_productive  )  const
 

BNfa gautomata::BNfa::filter_states_reachable  )  const
 

unsigned int gautomata::BNfa::get_n_states  )  const
 

Space * gautomata::BNfa::get_space  )  const [virtual]
 

Reimplemented from gautomata::WordAutomaton.

bool gautomata::BNfa::is_false  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

bool gautomata::BNfa::is_true  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa gautomata::BNfa::kleene  )  const
 

BNfa gautomata::BNfa::minimize  )  const
 

BNfa gautomata::BNfa::negate  )  const
 

BNfa gautomata::BNfa::operator!  )  [inline]
 

BNfa gautomata::BNfa::product BNfa  a1,
BNfa  a2,
bool(*  fn)(bool v1, bool v2)
[static]
 

BNfa gautomata::BNfa::project Domain  vs  )  const
 

BNfa * gautomata::BNfa::ptr_clone  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_concatenation const Nfa a2  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_deterministic  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa::Factory * gautomata::BNfa::ptr_factory  )  const [virtual]
 

Implements gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_filter_states StateSet  s  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_filter_states_live  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_filter_states_productive  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_filter_states_reachable  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_kleene  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_minimize  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_negate  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_product const Nfa a2,
bool(*  fn)(bool v1, bool v2)
const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_project Domain  vs  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_rename Domain  vs1,
Domain  vs2
const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_rename VarMap  map  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_reverse  )  const [virtual]
 

Reimplemented from gautomata::Nfa.

BNfa * gautomata::BNfa::ptr_with_starting_accepting StateSet  starting,
StateSet  accepting
const [virtual]
 

Change starting and accepting states of automaton.

Parameters:
starting New set of starting states
accepting New set of accepting states
Returns:
The same automaton but with starting and accepting as starting and accepting states

Reimplemented from gautomata::Nfa.

BNfa gautomata::BNfa::rename Domain  vs1,
Domain  vs2
const
 

BNfa gautomata::BNfa::rename VarMap  map  )  const
 

BNfa gautomata::BNfa::reverse  )  const
 

StateSet gautomata::BNfa::states  )  const [virtual]
 

Implements gautomata::WordAutomaton.

StateSet gautomata::BNfa::states_accepting  )  const [virtual]
 

Implements gautomata::Nfa.

StateSet gautomata::BNfa::states_starting  )  const [virtual]
 

Implements gautomata::Nfa.

BNfa gautomata::BNfa::symbol Space *  space,
SymbolSet  sym
[static]
 

Relation gautomata::BNfa::transitions  )  const [virtual]
 

Reimplemented from gautomata::WordAutomaton.

BNfa gautomata::BNfa::with_starting_accepting StateSet  starting,
StateSet  accepting
const
 


Friends And Related Function Documentation

BNfa operator & const BNfa a1,
const BNfa a2
[friend]
 

BNfa operator * const BNfa a1,
const BNfa a2
[friend]
 

bool operator!= const BNfa a1,
const BNfa a2
[friend]
 

BNfa operator- const BNfa a1,
const BNfa a2
[friend]
 

bool operator< const BNfa a1,
const BNfa a2
[friend]
 

bool operator<= const BNfa a1,
const BNfa a2
[friend]
 

bool operator== const BNfa a1,
const BNfa a2
[friend]
 

bool operator> const BNfa a1,
const BNfa a2
[friend]
 

bool operator>= const BNfa a1,
const BNfa a2
[friend]
 

BNfa operator| const BNfa a1,
const BNfa a2
[friend]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 1 04:11:18 2005 for gautomata by doxygen 1.3.6