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
- 
              
              
              
              
              
              
              
              
              
               
                void
               
              
              
              
              
               
                
                 addRule
                
               
              
              
               (
              
              
               
                const
               
              
              
              
              
               
                
                 Term
                
               
              
              
              
              
               
                &
               
              
              
               
                ntSymbol
               
              
              ,
              
               
                const
               
              
              
              
              
               
                
                 Term
                
               
              
              
              
              
               
                &
               
              
              
               
                rule
               
              
              
               )
              
              
               
              
              
 - 
              
Add
ruleto 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
rulesto 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
ntSymbolto be an arbitrary constant.- Parameters :
 - 
                
ntSymbol – The non-terminal allowed to be any constant.
 
 
- 
              
              
              
              
              
              
              
              
              
               
                void
               
              
              
              
              
               
                
                 addAnyVariable
                
               
              
              
               (
              
              
               
                const
               
              
              
              
              
               
                
                 Term
                
               
              
              
              
              
               
                &
               
              
              
               
                ntSymbol
               
              
              
               )
              
              
               
              
              
 - 
              
Allow
ntSymbolto 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.
 
 
- 
              
              
              
              
              
              
              
              
              
               
                
                 Grammar
                
               
              
              
               (
              
              
               )
              
              
               
              
              
 - 
              
Nullary constructor. Needed for the Cython API.
 
- 
              
              
              
              
              
              
              
              
              
               
                
                 ~Grammar
                
               
              
              
               (
              
              
               )
              
              
               
              
              
 - 
              
Destructor for bookeeping.
 
Friends
- friend class parser::Cmd
 
 - 
              
              
              
              
              
              
              
              
              
               
                void
               
              
              
              
              
               
                
                 addRule
                
               
              
              
               (
              
              
               
                const
               
              
              
              
              
               
                
                 Term
                
               
              
              
              
              
               
                &
               
              
              
               
                ntSymbol
               
              
              ,
              
               
                const
               
              
              
              
              
               
                
                 Term
                
               
              
              
              
              
               
                &
               
              
              
               
                rule
               
              
              
               )