Package io.github.cvc5
Class Grammar
- java.lang.Object
-
- io.github.cvc5.Grammar
-
public class Grammar extends java.lang.Object
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.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAnyConstant(Term ntSymbol)
AllowntSymbol
to be an arbitrary constant.void
addAnyVariable(Term ntSymbol)
AllowntSymbol
to be any input variable to correspondingsynth-fun
orsynth-inv
with the same sort asntSymbol
.void
addRule(Term ntSymbol, Term rule)
Addrule
to the set of rules corresponding tontSymbol
.void
addRules(long pointer, long ntSymbolPointer, long[] rulePointers)
void
addRules(Term ntSymbol, Term[] rules)
Addrules
to the set of rules corresponding tontSymbol
.protected void
deletePointer(long pointer)
long
getPointer()
Solver
getSolver()
java.lang.String
toString()
protected java.lang.String
toString(long pointer)
-
-
-
Field Detail
-
solver
protected final Solver solver
-
pointer
protected long pointer
-
-
Constructor Detail
-
Grammar
public Grammar(Grammar grammar)
-
-
Method Detail
-
deletePointer
protected void deletePointer(long pointer)
-
getPointer
public long getPointer()
-
addRule
public void addRule(Term ntSymbol, Term rule)
Addrule
to the set of rules corresponding tontSymbol
.- Parameters:
ntSymbol
- the non-terminal to which the rule is added.rule
- the rule to add.
-
addRules
public void addRules(Term ntSymbol, Term[] rules)
Addrules
to the set of rules corresponding tontSymbol
.- Parameters:
ntSymbol
- the non-terminal to which the rules are added.rules
- the rules to add.
-
addRules
public void addRules(long pointer, long ntSymbolPointer, long[] rulePointers)
-
addAnyConstant
public void addAnyConstant(Term ntSymbol)
AllowntSymbol
to be an arbitrary constant.- Parameters:
ntSymbol
- the non-terminal allowed to be any constant.
-
addAnyVariable
public void addAnyVariable(Term ntSymbol)
AllowntSymbol
to be any input variable to correspondingsynth-fun
orsynth-inv
with the same sort asntSymbol
.- Parameters:
ntSymbol
- the non-terminal allowed to be any input constant.
-
toString
protected java.lang.String toString(long pointer)
- Returns:
- A String representation of this grammar.
-
getSolver
public Solver getSolver()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-