#include <archon/util/dfa.H>
Collaboration diagram for Archon::Utilities::DFA:
Public Member Functions | |
DFA (const NFA &, vector< set< int > > *stateSets=0, AnchorInfo *anchorInfo=0) | |
Construct a DFA that accepts exactly the same language as the NFA passed as argument. | |
DFA (Minimize) | |
Construct the DFA with the minimal number of states that accepts exactly the same language as the DFA passed as argument. | |
int | getNumberOfStates () const |
const State & | getState (int i) const |
string | print (const Printer &printer=getDefaultPrinter(), int width=0) const |
Static Public Member Functions | |
static const Printer & | getDefaultPrinter () |
Classes | |
struct | AnchorInfo |
class | Edge |
struct | Minimize |
struct | Printer |
class | State |
As an extension to a standard DFA, this one may have more than one start state.
Definition at line 45 of file dfa.H.
|
Construct a DFA that accepts exactly the same language as the NFA passed as argument. The resulting DFA will never have more start states than the NFA and if the NFA has at least one start state then so has the DFA. In particular, if the NFA has one start state then the DFA gets one start state. The start states will always be the first states in the DFA.
Definition at line 288 of file dfa.C. References Archon::Utilities::NFA::constructDFA(), and Archon::Utilities::NFA::states. |
|
Construct the DFA with the minimal number of states that accepts exactly the same language as the DFA passed as argument. The new DFA will never have more start states than the old one and if the old one has at least one start state then so has the new. In particular, if the old DFA has one start state then the new DFA gets one start state. The start states will always be the first states in the new DFA. Definition at line 295 of file dfa.C. References Archon::Utilities::DFA::Minimize::a, and minimize(). |