diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2012-08-31 16:48:20 +0000 |
---|---|---|
committer | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2012-08-31 16:48:20 +0000 |
commit | 3c4935c7c0c6774588af94c82307a960e58a1154 (patch) | |
tree | e518c60ec182e91300fe53293c42cd4b85e49d29 /src/expr/command.h | |
parent | ec9e426df607f13e5a0c0f52fbc6ed5dbb79fdf9 (diff) |
merge from fmf-devel branch. more updates to models: now with collectModelInfo with fullModel argument, most theory-specific implementation out of the model class, model printer relegated to printer classes. Also updates to finite mode finding, modifications to datatypes making them compatible with theory combination, support for theory-specific handling of user attributes, refactoring of uf models
Diffstat (limited to 'src/expr/command.h')
-rw-r--r-- | src/expr/command.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/expr/command.h b/src/expr/command.h index 2c56e60d9..4657755e7 100644 --- a/src/expr/command.h +++ b/src/expr/command.h @@ -322,6 +322,7 @@ protected: public: DeclareFunctionCommand(const std::string& id, Expr func, Type type) throw(); ~DeclareFunctionCommand() throw() {} + Expr getFunction() const throw(); Type getType() const throw(); void invoke(SmtEngine* smtEngine) throw(); Command* exportTo(ExprManager* exprManager, ExprManagerMapCollection& variableMap); @@ -389,6 +390,27 @@ public: Command* clone() const; };/* class DefineNamedFunctionCommand */ +/** + * The command when an attribute is set by a user. In SMT-LIBv2 this is done + * via the syntax (! expr :atrr) + */ +class CVC4_PUBLIC SetUserAttributeCommand : public Command { +protected: + std::string d_attr; + Expr d_expr; + //std::vector<Expr> d_expr_values; + //std::string d_str_value; +public: + SetUserAttributeCommand( const std::string& attr, Expr expr ) throw(); + //SetUserAttributeCommand( const std::string& id, Expr expr, std::vector<Expr>& values ) throw(); + //SetUserAttributeCommand( const std::string& id, Expr expr, std::string& value ) throw(); + ~SetUserAttributeCommand() throw() {} + void invoke(SmtEngine* smtEngine) throw(); + Command* exportTo(ExprManager* exprManager, ExprManagerMapCollection& variableMap); + Command* clone() const; +};/* class SetUserAttributeCommand */ + + class CVC4_PUBLIC CheckSatCommand : public Command { protected: BoolExpr d_expr; |