#include <FSARep.h>
Inheritance diagram for FSARep:
Public Member Functions | |
FSARep * | clone () const |
void | fold (const set< int > *candidates=NULL, list< FoldDetails > *details=NULL) |
Fold a FSA. Outputs details of the fold, that will allow to unfold latter. Argument candidates is a list of vertices to check for fold (all others won't be checked). If candidates=NULL then all vertices will be checked. | |
void | pinch (int state1, int state2) |
Pinch two vertices. | |
void | unfold (const list< FoldDetails > &details) |
Unfold 2 vertices using details of the previous fold. | |
void | liftup (const list< FoldDetails > &details, list< FSAEdge > &path, int init_state) |
Function allows to lift a path in the folded FSA up to unfolded one. | |
int | newState () |
Add a new state to a FSA. | |
void | eraseState (int state) |
Erase a state from a FSA. | |
void | newEdge (int state1, int state2, int label) |
Add a new edge to a FSA. | |
void | eraseEdge (int state1, int state2, int label) |
Erase an edge from a FSA. | |
template<class ConstIntIterator> | |
void | addLoop (int vert, ConstIntIterator F, ConstIntIterator L) |
Add a loop to a FSA at a vertex vert labelled with [F,L). | |
template<class ConstIntIterator> | |
void | addRay (int vert, ConstIntIterator F, ConstIntIterator L) |
Add a ray to a FSA at a vertex vert labelled with [F,L). | |
void | addFSA (int vert1, int vert2, const FSARep &fsa) |
not implemented yet | |
const map< int, FSAState > & | getStates () const |
map< int, FSAState > & | getStates () |
void | makeInitial (int s) |
void | makeTerminal (int s) |
void | makeNonInitial (int s) |
void | makeNonTerminal (int s) |
const set< int > & | getInitStates () const |
const set< int > & | getTermStates () const |
Private Types | |
typedef FSAState::edge_type | edge_type |
Private Member Functions | |
FSARep () | |
Private Attributes | |
map< int, FSAState > | theStates |
int | maxState |
set< int > | initStates |
set< int > | termStates |
Friends | |
class | FSA |
Definition at line 104 of file FSARep.h.
|
|
|
Referenced by clone(). |
|
not implemented yet
Definition at line 195 of file FSARep.h. Referenced by FSA::addFSA(). |
|
Add a loop to a FSA at a vertex vert labelled with [F,L).
Definition at line 167 of file FSARep.h. References newEdge(), and newState(). Referenced by FSA::addLoop(). |
|
Add a ray to a FSA at a vertex vert labelled with [F,L).
Definition at line 184 of file FSARep.h. References FSA::newEdge(), and FSA::newState(). Referenced by FSA::addRay(). |
|
Definition at line 129 of file FSARep.h. References FSARep(). |
|
Erase an edge from a FSA.
|
|
Erase a state from a FSA.
|
|
Fold a FSA. Outputs details of the fold, that will allow to unfold latter. Argument candidates is a list of vertices to check for fold (all others won't be checked). If candidates=NULL then all vertices will be checked.
|
|
|
|
|
|
Definition at line 197 of file FSARep.h. Referenced by FSA::getStates(). |
|
|
|
Function allows to lift a path in the folded FSA up to unfolded one.
|
|
|
|
|
|
|
|
|
|
Add a new edge to a FSA.
Referenced by addLoop(). |
|
Add a new state to a FSA.
Referenced by addLoop(). |
|
Pinch two vertices.
|
|
Unfold 2 vertices using details of the previous fold.
|
|
|
|
|
|
|
|
|
|
|