996
|
1 // Thread.h
|
|
2
|
|
3 #ifndef THREAD_H_RAIL_1
|
|
4 #define THREAD_H_RAIL_1
|
|
5
|
|
6 #include "Board.h"
|
|
7 #include "ActivationRecord.h"
|
|
8 #include "Binding.h"
|
|
9 #include "Error.h"
|
|
10 #include "MultiLexer.h"
|
|
11
|
|
12 class Thread
|
|
13 {
|
|
14 public:
|
|
15 Thread();
|
|
16 ~Thread();
|
|
17 void reset(Board & start, std::map<std::string, Board> * newGlobals);
|
|
18 void go(void);
|
|
19 void step(void);
|
|
20 std::list<Binding> const & getDataStack(void);
|
|
21 std::list<ActivationRecord> const & getProgramStack(void);
|
|
22 Error::t getStatus(void);
|
|
23 std::string getErrorString(void);
|
|
24 private:
|
|
25 std::list<Binding> dataStack;
|
|
26 std::list<ActivationRecord> programStack;
|
|
27 std::map<std::string, Board> * globals;
|
|
28 MultiLexer multi;
|
|
29
|
|
30 Error::t status;
|
|
31 std::string custom;
|
|
32 };
|
|
33
|
|
34 #endif
|