diff interps/rail/src/Thread.h @ 996:859f9b4339e6

<Gregor> tar xf egobot.tar.xz
author HackBot
date Sun, 09 Dec 2012 19:30:08 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/interps/rail/src/Thread.h	Sun Dec 09 19:30:08 2012 +0000
@@ -0,0 +1,34 @@
+// Thread.h
+
+#ifndef THREAD_H_RAIL_1
+#define THREAD_H_RAIL_1
+
+#include "Board.h"
+#include "ActivationRecord.h"
+#include "Binding.h"
+#include "Error.h"
+#include "MultiLexer.h"
+
+class Thread
+{
+public:
+  Thread();
+  ~Thread();
+  void reset(Board & start, std::map<std::string, Board> * newGlobals);
+  void go(void);
+  void step(void);
+  std::list<Binding> const & getDataStack(void);
+  std::list<ActivationRecord> const & getProgramStack(void);
+  Error::t getStatus(void);
+  std::string getErrorString(void);
+private:
+  std::list<Binding> dataStack;
+  std::list<ActivationRecord> programStack;
+  std::map<std::string, Board> * globals;
+  MultiLexer multi;
+
+  Error::t status;
+  std::string custom;
+};
+
+#endif