Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Data Structures | |
class | EpsilonRemover |
class | LeftRecursionRemover |
class | MakeFITDefinition |
class | Rename |
class | SimpleRulesRemover |
class | ToCNF |
class | ToGNF |
class | Trim |
class | UnproductiveSymbolsRemover |
class | UnreachableSymbolsRemover |
Functions | |
template<class TerminalSymbolType , class NonterminalSymbolType > | |
void | splitRule (ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > lhs, const ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > &rhs, grammar::CNF< TerminalSymbolType, ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > > &result) |
template<class T , class TerminalSymbolType = typename grammar::TerminalSymbolTypeOfGrammar < T >, class NonterminalSymbolType = typename grammar::NonterminalSymbolTypeOfGrammar < T >> | |
grammar::CNF< TerminalSymbolType, ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > > | convertInternal (const T &grammar) |
grammar::CNF< TerminalSymbolType, ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > > grammar::simplify::convertInternal | ( | const T & | grammar | ) |
void grammar::simplify::splitRule | ( | ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > | lhs, |
const ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > & | rhs, | ||
grammar::CNF< TerminalSymbolType, ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > > & | result | ||
) |