Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
#include <ToRegExpAlgebraic.h>
Static Public Member Functions | |
template<class SymbolType , class StateType > | |
static regexp::UnboundedRegExp< SymbolType > | convert (const automaton::EpsilonNFA< SymbolType, StateType > &automaton) |
template<class SymbolType , class StateType > | |
static regexp::UnboundedRegExp< SymbolType > | convert (const automaton::MultiInitialStateNFA< SymbolType, StateType > &automaton) |
template<class T > requires isDFA < T > || isNFA < T > | |
static regexp::UnboundedRegExp< typename T::SymbolType > | convert (const T &automaton) |
Converts a finite automaton to a regular expression using using the Brzozowski's algebraic method (Melichar: Jazyky a překlady 2.122). The algorithm creates a system of right regular equations that is then solved. The regular expression is returned as regexp::UnboundedRegExp.
|
static |
Performs the actual conversion.
automaton | The automaton that is to be converted to the regular expression. |
automaton
.
|
static |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
static |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.