diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-06-07 16:16:48 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-06-07 16:16:48 +0000 |
commit | 0a7dc7687a4989641d8c101ba3b2d4737eaea24f (patch) | |
tree | e802b4522419f9480ba04c2c5f2e2d9b1f88426e /src/expr/command.h | |
parent | b3d6d0ccc76e92304fe612b23dc76a7d78061567 (diff) |
Adding EchoCommand and associated printer and parser rules:
* SMT-LIBv2 parser now supports (echo...).
* Dump() gestures can now dump EchoCommands in CVC and SMT-LIB formats.
This can make it much easier to interpret output.
Diffstat (limited to 'src/expr/command.h')
-rw-r--r-- | src/expr/command.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/expr/command.h b/src/expr/command.h index a6f22fe20..19d1f16e7 100644 --- a/src/expr/command.h +++ b/src/expr/command.h @@ -264,6 +264,19 @@ public: Command* clone() const; };/* class EmptyCommand */ +class CVC4_PUBLIC EchoCommand : public Command { +protected: + std::string d_output; +public: + EchoCommand(std::string output = "") throw(); + ~EchoCommand() throw() {} + std::string getOutput() const throw(); + void invoke(SmtEngine* smtEngine) throw(); + void invoke(SmtEngine* smtEngine, std::ostream& out) throw(); + Command* exportTo(ExprManager* exprManager, ExprManagerMapCollection& variableMap); + Command* clone() const; +};/* class EchoCommand */ + class CVC4_PUBLIC AssertCommand : public Command { protected: BoolExpr d_expr; |