diff options
author | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2009-11-28 02:59:11 +0000 |
---|---|---|
committer | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2009-11-28 02:59:11 +0000 |
commit | dff2298c59f3550b1c3873b0d9fe9691f6f658d4 (patch) | |
tree | 09be279aaecc16cc25086ca901762433de1d055c /src/util/command.h | |
parent | a47310931191a69bddc45bea4a0cf63e3379c2fb (diff) |
Added an EmptyCommand and a CommandSequence commands and changed the parser a bit.
Diffstat (limited to 'src/util/command.h')
-rw-r--r-- | src/util/command.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/util/command.h b/src/util/command.h index 745f6f5e2..c6778f34a 100644 --- a/src/util/command.h +++ b/src/util/command.h @@ -12,7 +12,7 @@ #ifndef __CVC4__COMMAND_H #define __CVC4__COMMAND_H -#include "expr/expr.h" +#include "cvc4.h" namespace CVC4 { @@ -23,7 +23,13 @@ class Command { public: virtual void invoke(CVC4::SmtEngine* smt_engine) = 0; - virtual ~Command() {} + virtual ~Command() {}; +}; + +class EmptyCommand : public Command +{ + public: + virtual void invoke(CVC4::SmtEngine* smt_engine); }; class AssertCommand: public Command @@ -54,6 +60,21 @@ class QueryCommand: public Command Expr d_expr; }; +class CommandSequence: public Command +{ + public: + CommandSequence(); + CommandSequence(Command* cmd); + ~CommandSequence(); + void invoke(CVC4::SmtEngine* smt); + void addCommand(Command* cmd); + private: + /** All the commands to be executed (in sequence) */ + std::vector<Command*> d_command_sequence; + /** Next command to be executed */ + unsigned int d_last_index; +}; + }/* CVC4 namespace */ #endif /* __CVC4__COMMAND_H */ |