Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
#include <Normalize.h>
Static Public Member Functions | |
template<class SymbolType , class StateType > | |
static automaton::DFA< SymbolType, unsigned > | normalize (const automaton::DFA< SymbolType, StateType > &fsm) |
template<class SymbolType , class StateType > | |
static automaton::CompactDFA< SymbolType, unsigned > | normalize (const automaton::CompactDFA< SymbolType, StateType > &fsm) |
template<class InputSymbolType , class PushdownStoreSymbolType , class StateType > | |
static automaton::RealTimeHeightDeterministicDPDA< InputSymbolType, unsigned, unsigned > | normalize (const automaton::RealTimeHeightDeterministicDPDA< InputSymbolType, PushdownStoreSymbolType, StateType > &pda) |
template<class InputSymbolType , class PushdownStoreSymbolType , class StateType > | |
static automaton::DPDA< InputSymbolType, unsigned, unsigned > | normalize (const automaton::DPDA< InputSymbolType, PushdownStoreSymbolType, StateType > &pda) |
template<class SymbolType , class StateType > | |
static automaton::DFTA< SymbolType, unsigned > | normalize (const automaton::DFTA< SymbolType, StateType > &fta) |
Normalization of an automaton. Basically, we rename the automaton's properties (states, pushdown symbols, ...) in such fashion, that the naming is same for isomorphic automata.
Unlike Rename, we can normalize only deterministic automata.
|
static |
Normalization of compact deterministic finite automata. The process of normalization is a BFS traversal through the graph representing the automaton. The states are named by integers in the visited order.
SymbolType | Type for input symbols. |
StateType | Type for states. |
dfa | compact determinsitic finite automaton to normalize |
compact
dfa with state labels normalizedexception::CommonException | if the passed dfa was not minimal connected dfa |
|
static |
Normalization of deterministic finite automata. The process of normalization is a BFS traversal through the graph representing the automaton. The states are named by integers in the visited order.
SymbolType | Type for input symbols. |
StateType | Type for states. |
dfa | determinsitic finite automaton to normalize |
dfa
with state labels normalizedexception::CommonException | if the passed dfa was not minimal connected dfa |
|
static |
Normalization of deterministic finite tree automata. The process of normalization is a BFS traversal through the graph representing the automaton. The states are named by integers in the visited order.
SymbolType | Type for input symbols. |
RankType | Type for input symbols rank. |
StateType | Type for states. |
dfa | determinsitic finite tree automaton to normalize |
fta
with state labels normalizedexception::CommonException | if the passed dfa was not minimal dfta |
|
static |
Normalization of deterministic pushdown automata. The process of normalization of states is a BFS traversal through the graph representing the automaton. The states are named by integers in the visited order. We normalize also the pushdown store symbols.
InputSymbolType | Type for input symbols. |
PushdownStoreSymbolType | Type for pushdown store symbols. |
StateType | Type for states. |
dpda | determinsitic pushdown automaton to normalize |
dpda
with state labels normalizedexception::CommonException | if the passed dpda was not deterministic connected pda |
|
static |
Normalization of deterministic pushdown automata. The process of normalization of states is a BFS traversal through the graph representing the automaton. The states are named by integers in the visited order. We normalize also the pushdown store symbols.
InputSymbolType | Type for input symbols. |
PushdownStoreSymbolType | Type for pushdown store symbols. |
StateType | Type for states. |
pda | determinsitic pushdown automaton to normalize |
pda
with state labels normalizedexception::CommonException | if the passed dpda was not deterministic connected pda |