|
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 | ||
| ) |