reglibcpp
2.0.0
A C++ implementation of models for regular languages
|
Where this library lives. More...
Classes | |
class | dfa |
Represents deterministic finite automata. More... | |
class | expression |
Represents formal regular expressions. More... | |
class | fabuilder |
Constructs NFAs step by step. More... | |
class | gnfa |
Represents generalized nondeterministic finite automata. More... | |
class | nfa |
Represents nondeterministic finite automata with ε-moves. More... | |
struct | state_not_found |
Signals that a state was mentioned that isn't part of the FA. More... | |
struct | symbol_not_found |
Signals that an input symbol was used that the FA doesn't recognize. More... | |
Functions | |
u32string | findShortestWord_ (dfa const &d) |
Searches the shortest UTF-32-encoded word accepted by a given DFA. More... | |
string | findShortestWord (dfa const &d) |
Searches the shortest UTF-8-encoded word accepted by a given DFA. More... | |
u32string | findShortestWord_ (nfa const &n) |
Searches the shortest UTF-32-encoded word accepted by a given NFA. More... | |
string | findShortestWord (nfa const &n) |
Same as above for a UTF-8-encoded word. More... | |
template<class C , class T > | |
size_t | index_of (C const &container, T const &element) |
Basically Java's List interface's indexOf, but as a non-member function and returning the container's size upon failure. More... | |
Variables | |
std::wstring_convert< std::codecvt_utf8< char32_t >, char32_t > | converter |
Converts between UTF-8-encoded and UTF-32-encoded strings. More... | |
Where this library lives.
std::string reg::findShortestWord | ( | dfa const & | d | ) |
Searches the shortest UTF-8-encoded word accepted by a given DFA.
This calls findShortestWord_() and converts the result to UTF-8. If you don't want that overhead and can handle UTF-32-encoded strings, use that function.
d | the DFA |
std::logic_error | if the DFA doesn't accept any words |
std::string reg::findShortestWord | ( | nfa const & | n | ) |
std::u32string reg::findShortestWord_ | ( | dfa const & | d | ) |
Searches the shortest UTF-32-encoded word accepted by a given DFA.
d | the DFA |
std::logic_error | if the DFA doesn't accept any words |
std::u32string reg::findShortestWord_ | ( | nfa const & | n | ) |
Searches the shortest UTF-32-encoded word accepted by a given NFA.
n | the NFA |
std::logic_error | if the NFA doesn't accept any words |
size_t reg::index_of | ( | C const & | container, |
T const & | element | ||
) |
Basically Java's List interface's indexOf, but as a non-member function and returning the container's size upon failure.
container | the container to search through |
element | the element to find the index of |
i
with container.begin()[i]==element
or container.size()
if none is found
|
inline |