|
reglibcpp
1.0.0
(Naïve) C++ implementation of models for regular languages
|
Private implementation details of NFAs. More...
Public Member Functions | |
| pImpl () | |
| Constructs private implementation object for an NFA accepting the empty language ∅. More... | |
| pImpl (vector< char32_t > &alphabet, vector< vector< valarray< bool >>> &transitions, vector< string > &labels, valarray< bool > &acceptingStates) | |
| Constructs private implementation object with provided members and empty ε-closure cache. More... | |
| dfa const & | getEquivalentDfa (nfa const *owner) |
| Returns the equivalent DFA safely, constructing it if it wasn't already. More... | |
Public Attributes | |
| shared_ptr< dfa const > | equivalent |
| Stores a minimal DFA accepting the same language as this object's NFA. More... | |
| valarray< bool > | accepting |
A true value marks an index as belonging to an accept state. More... | |
| vector< char32_t > | alphabet |
| Represents the set of processable symbols. More... | |
| vector< string > | utf8Alphabet |
| Represents the set of processable symbols as UTF-8-encoded strings. More... | |
| vector< valarray< bool > > | epsClosures |
| Cache for every state's ε-closures. More... | |
| vector< string > | labels |
| Stores the names of states. More... | |
| vector< vector< valarray< bool > > > | transitions |
Stores the transition function as a table viz state index × symbol index → list of bools with true at reached state indices. More... | |
|
inline |
Constructs private implementation object for an NFA accepting the empty language ∅.
Definition at line 41 of file nfa.cpp.
|
inline |
Constructs private implementation object with provided members and empty ε-closure cache.
Definition at line 51 of file nfa.cpp.
Returns the equivalent DFA safely, constructing it if it wasn't already.
| owner | pointer to the NFA calling the method |
Definition at line 73 of file nfa.cpp.
| valarray<bool> reg::nfa::pImpl::accepting |
| vector<char32_t> reg::nfa::pImpl::alphabet |
|
mutable |
| shared_ptr<dfa const> reg::nfa::pImpl::equivalent |
| vector<string> reg::nfa::pImpl::labels |
| vector<vector<valarray<bool> > > reg::nfa::pImpl::transitions |
| vector<string> reg::nfa::pImpl::utf8Alphabet |
1.8.14