#include <FSARep.h>
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 106 of file FSARep.h.
typedef FSAState::edge_type FSARep::edge_type [private] |
| FSARep::FSARep | ( | ) | [private] |
Referenced by clone().
| void FSARep::addFSA | ( | int | vert1, | |
| int | vert2, | |||
| const FSARep & | fsa | |||
| ) | [inline] |
| void FSARep::addLoop | ( | int | vert, | |
| ConstIntIterator | F, | |||
| ConstIntIterator | L | |||
| ) | [inline] |
Add a loop to a FSA at a vertex vert labelled with [F,L).
Definition at line 169 of file FSARep.h.
References newEdge(), and newState().
Referenced by FSA::addLoop().
| void FSARep::addRay | ( | int | vert, | |
| ConstIntIterator | F, | |||
| ConstIntIterator | L | |||
| ) | [inline] |
Add a ray to a FSA at a vertex vert labelled with [F,L).
Definition at line 186 of file FSARep.h.
References newEdge(), and newState().
Referenced by FSA::addRay().
| FSARep* FSARep::clone | ( | ) | const [inline] |
| void FSARep::eraseEdge | ( | int | state1, | |
| int | state2, | |||
| int | label | |||
| ) |
Erase an edge from a FSA.
| void FSARep::eraseState | ( | int | state | ) |
Erase a state from a FSA.
| void FSARep::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.
| const set< int >& FSARep::getInitStates | ( | ) | const [inline] |
Definition at line 212 of file FSARep.h.
References initStates.
| map< int , FSAState >& FSARep::getStates | ( | ) | [inline] |
| const map< int , FSAState >& FSARep::getStates | ( | ) | const [inline] |
| const set< int >& FSARep::getTermStates | ( | ) | const [inline] |
Definition at line 213 of file FSARep.h.
References termStates.
| void FSARep::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.
| void FSARep::makeInitial | ( | int | s | ) | [inline] |
Definition at line 208 of file FSARep.h.
References initStates.
| void FSARep::makeNonInitial | ( | int | s | ) | [inline] |
Definition at line 210 of file FSARep.h.
References initStates.
| void FSARep::makeNonTerminal | ( | int | s | ) | [inline] |
Definition at line 211 of file FSARep.h.
References termStates.
| void FSARep::makeTerminal | ( | int | s | ) | [inline] |
Definition at line 209 of file FSARep.h.
References termStates.
| void FSARep::newEdge | ( | int | state1, | |
| int | state2, | |||
| int | label | |||
| ) |
| void FSARep::pinch | ( | int | state1, | |
| int | state2 | |||
| ) |
Pinch two vertices.
| void FSARep::unfold | ( | const list< FoldDetails > & | details | ) |
Unfold 2 vertices using details of the previous fold.
set< int > FSARep::initStates [private] |
Definition at line 230 of file FSARep.h.
Referenced by getInitStates(), makeInitial(), and makeNonInitial().
int FSARep::maxState [private] |
set< int > FSARep::termStates [private] |
Definition at line 232 of file FSARep.h.
Referenced by getTermStates(), makeNonTerminal(), and makeTerminal().
map< int , FSAState > FSARep::theStates [private] |
Definition at line 225 of file FSARep.h.
Referenced by getStates().
1.6.1