#include <RecursiveNonterminal.h>
|
template<class T , class NonterminalSymbolType , class TerminalSymbolType = typename grammar::TerminalSymbolTypeOfGrammar < T >> |
static bool | isNonterminalRecursive (const T &grammar, const NonterminalSymbolType &nonterminal) |
|
Implements algorithms from Melichar, chapter 3.3
◆ isNonterminalRecursive()
template<class T , class NonterminalSymbolType , class TerminalSymbolType >
bool grammar::properties::RecursiveNonterminal::isNonterminalRecursive |
( |
const T & |
grammar, |
|
|
const NonterminalSymbolType & |
nonterminal |
|
) |
| |
|
static |
Retrieves A \in { B : A->^+ B \alpha, where \alpha \in (NuT)* } for given grammar and nonterminal
- Template Parameters
-
T | the type of the tested grammar |
NonterminalSymbolType | the type of nonterminals in the tested grammar |
TerminalSymbolType | the type of terminals in the tested grammar |
- Parameters
-
grammar | the tested grammar |
nonterminal | the tested nonterminal |
- Returns
- bool which denote whether the nonterminal is recursive in the grammar
The documentation for this class was generated from the following file: