17#include "../glushkov/GlushkovFirst.h"
18#include "../glushkov/GlushkovFollow.h"
19#include "../glushkov/GlushkovIndexate.h"
20#include "../glushkov/GlushkovLast.h"
46 template <
class SymbolType >
52 template <
class SymbolType >
57template <
class SymbolType >
79 automaton.addTransition (
q0, symbol.getSymbol ( ).first, symbol.getSymbol ( ) );
92 automaton.addFinalState ( symbol.getSymbol ( ) );
111template <
class SymbolType >
133 automaton.addTransition (
q0, symbol.getSymbol ( ).first, symbol.getSymbol ( ) );
137 for (
const auto & f : entry.second ) {
147 automaton.addFinalState ( symbol.getSymbol ( ) );
Nondeterministic finite automaton. Accepts regular languages.
Definition: NFA.h:66
static bool verbose
Verbose flag. Some algorithms print additional runtime information about internal datastructures or t...
Definition: GlobalData.h:24
static ext::reference_wrapper< ext::ostream > log
Standard loging stream. Mapped to descriptor 4.
Definition: GlobalData.h:78
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
Class extending the pair class from the standard library. Original reason is to allow printing of the...
Definition: pair.hpp:43
static ext::set< UnboundedRegExpSymbol< SymbolType > > first(const regexp::UnboundedRegExp< SymbolType > &re)
Definition: GlushkovFirst.h:69
static ext::set< UnboundedRegExpSymbol< SymbolType > > follow(const regexp::UnboundedRegExp< SymbolType > &re, const UnboundedRegExpSymbol< SymbolType > &symbol)
Definition: GlushkovFollow.h:77
static regexp::UnboundedRegExp< ext::pair< SymbolType, unsigned > > index(const regexp::UnboundedRegExp< SymbolType > &re)
static ext::set< UnboundedRegExpSymbol< SymbolType > > last(const regexp::UnboundedRegExp< SymbolType > &re)
Definition: GlushkovLast.h:69
Represents the symbol in the regular expression. The can't have any children.
Definition: UnboundedRegExpSymbol.h:42
Unbounded regular expression represents regular expression. It describes regular languages....
Definition: UnboundedRegExp.h:80
const ext::set< SymbolType > & getAlphabet() const &
Definition: UnboundedRegExp.h:122
Definition: ToAutomatonGlushkov.h:35
static automaton::NFA< SymbolType, ext::pair< SymbolType, unsigned > > convert(const regexp::UnboundedRegExp< SymbolType > ®exp)
Definition: ToAutomatonGlushkov.h:58
static bool languageContainsEpsilon(const regexp::FormalRegExpElement< SymbolType > ®exp)
Definition: RegExpEpsilon.h:91
q
Definition: SingleInitialStateEpsilonTransition.h:85
StateType q0
Definition: SingleInitialState.h:96
Definition: ToGrammar.h:31
Definition: converterCommon.hpp:8
Definition: ToAutomaton.h:15