17template<
class SymbolType,
class StateType >
27template<
class SymbolType,
class StateType >
44 symbols.push_back(symbol);
63 parseTransition(input, states, symbols, initialState, finalStates, transitionFunction);
76 res.setStates(states);
77 res.setFinalStates(finalStates);
79 res.addTransition(std::get<0>(transition), std::get<1>(transition), std::get<2>(transition));
85template<
class SymbolType,
class StateType >
95 if(initialState !=
nullptr)
100 finalStates.insert(from);
106 if(iter == symbols.
end())
126 if(iter != symbols.
end())
130template<
class SymbolType,
class StateType >
135template<
class SymbolType,
class StateType >
138 for(
const auto& symbol :
automaton.getInputAlphabet()) {
145 for(
const auto& state :
automaton.getStates()) {
146 if(
automaton.getInitialState() == state) {
154 composeTransitionsFromState(output,
automaton, state);
160template <
class SymbolType,
class StateType >
163 const auto toStates =
automaton.getTransitions ( ).equal_range (
ext::tie ( from, inputSymbol ) );
164 if ( toStates.empty ( ) ) {
168 for(
const auto & transition : toStates ) {
169 output << (sign ?
"|" :
" ");
static Token next(ext::istream &input)
Definition: AutomatonFromStringLexer.cpp:12
Nondeterministic finite automaton. Accepts regular languages.
Definition: NFA.h:66
Basic exception from which all other exceptions are derived.
Definition: CommonException.h:21
static Token peek(ext::istream &input)
Definition: lexer.hpp:53
static void putback(ext::istream &input, const Token &token)
Definition: lexer.hpp:61
Class extending the tuple class from the standard library. Original reason is to allow printing of th...
Definition: tuple.hpp:42
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
auto begin() &
Inherited behavior of begin for non-const instance.
Definition: vector.hpp:125
typename std::vector< T, Alloc >::const_iterator const_iterator
The type of constant values iterator.
Definition: vector.hpp:67
auto end() &
Inherited behavior of end for non-const instance.
Definition: vector.hpp:155
typename T::StateType StateType
Definition: ToGrammarLeftRG.h:64
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
return res
Definition: MinimizeByPartitioning.h:145
Definition: ToGrammar.h:31
Definition: normalize.hpp:10
constexpr tuple< Elements &... > tie(Elements &... args) noexcept
Helper of extended tuple of references construction. The tuple is constructed to reffer to values in ...
Definition: tuple.hpp:218
std::string to_string(const T &value)
To string method designated for objects that can be casted to string.
Definition: string.hpp:131
constexpr auto make_tuple(Elements &&... args)
Helper of extended tuple construction. The tuple is constructed from values pack, types are deduced.
Definition: tuple.hpp:203
static void initialFinalState(ext::istream &input, bool &rightArrow, bool &leftArrow)
Definition: AutomatonFromStringParserCommon.cpp:10
Definition: stringApi.hpp:26