summaryrefslogtreecommitdiff
path: root/src/util/command.h
diff options
context:
space:
mode:
authorDejan Jovanović <dejan.jovanovic@gmail.com>2009-11-28 02:59:11 +0000
committerDejan Jovanović <dejan.jovanovic@gmail.com>2009-11-28 02:59:11 +0000
commitdff2298c59f3550b1c3873b0d9fe9691f6f658d4 (patch)
tree09be279aaecc16cc25086ca901762433de1d055c /src/util/command.h
parenta47310931191a69bddc45bea4a0cf63e3379c2fb (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.h25
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 */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback