summaryrefslogtreecommitdiff
path: root/src/expr/command.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2010-10-10 22:15:38 +0000
committerMorgan Deters <mdeters@gmail.com>2010-10-10 22:15:38 +0000
commitd6b37239a2e525e7878d3bb0b4372a8dabc340a9 (patch)
tree3db6b54c8b5873db1e6c91b1577d431d74632c66 /src/expr/command.h
parent7a059452ebf5729723f610da9258a47007e38253 (diff)
additional model gen and SMT-LIBv2 compliance work: (get-assignment) now supported; work on Result type (biggest noticeable change is that CVC4 now outputs lowercase "sat" and "unsat"), Options class moved to src/smt, to allow for future work on runtime configuration via (set-option) command
Diffstat (limited to 'src/expr/command.h')
-rw-r--r--src/expr/command.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/expr/command.h b/src/expr/command.h
index 4c74cfd6c..172ddea86 100644
--- a/src/expr/command.h
+++ b/src/expr/command.h
@@ -122,6 +122,20 @@ public:
void toStream(std::ostream& out) const;
};/* class DefineFunctionCommand */
+/**
+ * This differs from DefineFunctionCommand only in that it instructs
+ * the SmtEngine to "remember" this function for later retrieval with
+ * getAssignment(). Used for :named attributes in SMT-LIBv2.
+ */
+class CVC4_PUBLIC DefineNamedFunctionCommand : public DefineFunctionCommand {
+public:
+ DefineNamedFunctionCommand(Expr func,
+ const std::vector<Expr>& formals,
+ Expr formula);
+ void invoke(SmtEngine* smtEngine);
+ void toStream(std::ostream& out) const;
+};/* class DefineNamedFunctionCommand */
+
class CVC4_PUBLIC CheckSatCommand : public Command {
protected:
BoolExpr d_expr;
@@ -158,6 +172,17 @@ public:
void toStream(std::ostream& out) const;
};/* class GetValueCommand */
+class CVC4_PUBLIC GetAssignmentCommand : public Command {
+protected:
+ SExpr d_result;
+public:
+ GetAssignmentCommand();
+ void invoke(SmtEngine* smtEngine);
+ SExpr getResult() const;
+ void printResult(std::ostream& out) const;
+ void toStream(std::ostream& out) const;
+};/* class GetAssignmentCommand */
+
class CVC4_PUBLIC GetAssertionsCommand : public Command {
protected:
std::string d_result;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback