Grammar
This class encapsulates a SyGuS grammar. It is created via
cvc5::Solver::mkGrammar()
and allows to define a context-free
grammar of terms, according to the definition of grammars in the SyGuS IF 2.1
standard.
-
class
Grammar
-
A Sygus Grammar . This class can be used to define a context-free grammar of terms. Its interface coincides with the definition of grammars (
GrammarDef
) in the SyGuS IF 2.1 standard.Public Functions
-
Grammar
(
)
-
Nullary constructor. Needed for the Cython API.
-
~Grammar
(
)
-
Destructor for bookeeping.
-
bool
isNull
(
)
const
-
Determine if this is the null grammar ( Grammar::Grammar() ).
- Returns :
-
True if this grammar is the null grammar.
-
bool
operator
==
(
const
Grammar
&
grammar
)
const
-
Operator overloading for referential equality of two grammars.
- Parameters :
-
grammar – The grammarto compare to for equality.
- Returns :
-
True if both grammars point to the same internal grammar object.
-
bool
operator
!=
(
const
Grammar
&
grammar
)
const
-
Referential disequality operator.
- Parameters :
-
grammar – The grammar to compare to for disequality.
- Returns :
-
True if both grammars point to different internal grammar objects.
-
void
addRule
(
const
Term
&
ntSymbol
,
const
Term
&
rule
)
-
Add
rule
to the set of rules corresponding tontSymbol
.- Parameters :
-
-
ntSymbol – The non-terminal to which the rule is added.
-
rule – The rule to add.
-
-
void
addRules
(
const
Term
&
ntSymbol
,
const
std
::
vector
<
Term
>
&
rules
)
-
Add
rules
to the set of rules corresponding tontSymbol
.- Parameters :
-
-
ntSymbol – The non-terminal to which the rules are added.
-
rules – The rules to add.
-
-
void
addAnyConstant
(
const
Term
&
ntSymbol
)
-
Allow
ntSymbol
to be an arbitrary constant.- Parameters :
-
ntSymbol – The non-terminal allowed to be any constant.
-
void
addAnyVariable
(
const
Term
&
ntSymbol
)
-
Allow
ntSymbol
to be any input variable to corresponding synth-fun/synth-inv with the same sort asntSymbol
.- Parameters :
-
ntSymbol – The non-terminal allowed to be any input variable.
-
std
::
string
toString
(
)
const
-
- Returns :
-
A string representation of this grammar.
Friends
- friend class parser::Cmd
- friend struct std::hash< Grammar >
-
Grammar
(
)