#include <ReachableSymbols.h>
|
template<class T , class TerminalSymbolType = typename grammar::TerminalSymbolTypeOfGrammar < T >, class NonterminalSymbolType = typename grammar::NonterminalSymbolTypeOfGrammar < T >> |
static ext::set< ext::variant< TerminalSymbolType, NonterminalSymbolType > > | getReachableSymbols (const T &grammar) |
|
Implements algorithms from Melichar, chapter 3.3
◆ getReachableSymbols()
template<class T , class TerminalSymbolType , class NonterminalSymbolType >
ext::set< ext::variant< TerminalSymbolType, NonterminalSymbolType > > grammar::properties::ReachableSymbols::getReachableSymbols |
( |
const T & |
grammar | ) |
|
|
static |
Implements retrieval of symbols that are reachable, i.e. symbols a \in { b : S->*\alpha b \beta, where \alpha and \beta \in (NuT)*}
- Template Parameters
-
T | the tested grammar |
TerminalSymbolType | the type of terminals in the tested grammar |
NonterminalSymbolType | the type of nonterminals in the tested grammar |
- Parameters
-
grammar | the tested grammar |
- Returns
- set of symbols that are reachable in the grammar
The documentation for this class was generated from the following file: