Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Data Structures | Namespaces | Typedefs | Functions | Variables
ToGrammarLeftRG.h File Reference
#include <grammar/Regular/LeftRG.h>
#include <automaton/FSM/NFA.h>
#include <automaton/FSM/DFA.h>
#include <alib/map>
#include <common/createUnique.hpp>
#include <alphabet/InitialSymbol.h>
Include dependency graph for ToGrammarLeftRG.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  automaton::convert::ToGrammarLeftRG
 

Namespaces

namespace  automaton
 
namespace  automaton::convert
 

Typedefs

template<class T >
requires isDFA < T > || isNFA < T > grammar::RightRG < typename T::SymbolType, typename T::StateType > ToGrammarRightRG::convert ( const T & automaton )
using automaton::convert::StateType = typename T::StateType
 

Functions

grammar::LeftRG< SymbolType, StateType > automaton::convert::grammar (alphabet::InitialSymbol::instance< StateType >())
 
grammar automaton::convert::setTerminalAlphabet (automaton.getInputAlphabet())
 
 automaton::convert::for (const auto &state :automaton.getStates())
 
 automaton::convert::for (const auto &transition :automaton.getTransitions())
 
 automaton::convert::if (automaton.getFinalStates().contains(automaton.getInitialState())) grammar.setGeneratesEpsilon(true)
 

Variables

return automaton::convert::grammar