Website Summary Files Commits Branches @commit @diff @stats
path: root / spasm / src / spasm_impl.hpp
diff options
context:
space:
mode:
Commitfc647ed2ecf67355a13f09ff7e2c68b943691cf4 (patch)
Author
 Dimitar Trendafilov <dimitar@coherent-labs.com>
2018-11-11 21:49:25 +0200
Committer
 Dimitar Trendafilov <dimitar@coherent-labs.com>
2018-11-11 21:49:38 +0200
Filesed84295d8aff230c30e5f1daf2f120e79bebbef0 /spasm/src/spasm_impl.hpp
IPL-fc647ed2ecf67355a13f09ff7e2c68b943691cf4.tar
IPL-fc647ed2ecf67355a13f09ff7e2c68b943691cf4.tar.gz
IPL-fc647ed2ecf67355a13f09ff7e2c68b943691cf4.zip
Parent990a8f5e2c2d6e246acfd8b7a99ac1cbf4fb1675 (diff)
Removed data stack class
1 files changed, 5 insertions, 4 deletions
-rw-r--r--spasm/src/spasm_impl.hpp9
diff --git a/spasm/src/spasm_impl.hpp b/spasm/src/spasm_impl.hpp
index 78c5d08..7c4d8f7 100644
--- a/spasm/src/spasm_impl.hpp
+++ b/spasm/src/spasm_impl.hpp
@@ -3,7 +3,6 @@
#include <iostream>
-#include "dstack.hpp"
#include "frames.hpp"
#include "types.hpp"
@@ -29,8 +28,6 @@ class Spasm
void run();
- const Dstack& get_dstack() const;
-
private:
//! Operations (opcodes) of the machine
static Operation operations[];
@@ -47,8 +44,9 @@ class Spasm
//! bytecode of the program
byte* bytecode;
+ typedef SPVector<data_t> DataStack;
//! Data stack for arithmetic operations and control flow
- Dstack data_stack;
+ DataStack data_stack;
//! Return stack for the addresses of the returns
Rstack_t return_stack;
@@ -91,6 +89,9 @@ class Spasm
// private method for copying and deleting an object
void copybc(const Spasm&);
void deleteobj();
+
+ data_t pop_data();
+ void push_data(data_t);
};
} // namespace SpasmImpl