Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
alib2algo
src
grammar
properties
IsLanguageGeneratingEpsilon.h
Go to the documentation of this file.
1
6
#pragma once
7
8
#include <
grammar/properties/NullableNonterminals.h
>
9
10
namespace
grammar
{
11
12
namespace
properties {
13
17
class
IsLanguageGeneratingEpsilon
{
18
public
:
19
/*
20
* Decides whether \e \in L( grammar )
21
*
22
* Severals steps implemented in method @see grammar::properties::NullableNonterminals::getNullableNonterminals();
23
*
24
* \tparam T the type of the tested grammar
25
*
26
* \param grammar the tested grammar
27
*
28
* \returns true if \e \in L(@p grammar)
29
*/
30
template
<
class
T>
31
static
bool
isLanguageGeneratingEpsilon
(
const
T &
grammar
);
32
};
33
34
template
<
class
T>
35
bool
IsLanguageGeneratingEpsilon::isLanguageGeneratingEpsilon
(
const
T &
grammar
) {
36
return
grammar::properties::NullableNonterminals::getNullableNonterminals
(
grammar
).contains (
grammar
.getInitialSymbol( ) );
37
}
38
39
}
/* namespace properties */
40
41
}
/* namespace grammar */
42
NullableNonterminals.h
grammar::properties::IsLanguageGeneratingEpsilon
Definition:
IsLanguageGeneratingEpsilon.h:17
grammar::properties::IsLanguageGeneratingEpsilon::isLanguageGeneratingEpsilon
static bool isLanguageGeneratingEpsilon(const T &grammar)
Definition:
IsLanguageGeneratingEpsilon.h:35
grammar::properties::NullableNonterminals::getNullableNonterminals
static ext::set< NonterminalSymbolType > getNullableNonterminals(const T &grammar)
Definition:
NullableNonterminals.h:44
grammar
Definition:
ToAutomaton.h:24
Generated on Mon Dec 27 2021 10:21:51 for Algorithms Library Toolkit by
1.9.2