diff options
Diffstat (limited to 'Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/opcodes.h')
-rw-r--r-- | Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/opcodes.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/opcodes.h b/Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/opcodes.h new file mode 100644 index 000000000..41423c169 --- /dev/null +++ b/Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/opcodes.h @@ -0,0 +1,45 @@ +#ifndef ETHSERP_OPCODES +#define ETHSERP_OPCODES + +#include <stdio.h> +#include <iostream> +#include <vector> +#include <map> +#include "util.h" + +class Mapping { + public: + Mapping(std::string Op, int Opcode, int In, int Out) { + op = Op; + opcode = Opcode; + in = In; + out = Out; + } + std::string op; + int opcode; + int in; + int out; +}; + +extern Mapping mapping[]; + +extern std::map<std::string, std::vector<int> > opcodes; +extern std::map<int, std::string> reverseOpcodes; + +std::pair<std::string, std::vector<int> > _opdata(std::string ops, int opi); + +int opcode(std::string op); + +int opinputs(std::string op); + +int opoutputs(std::string op); + +std::string op(int opcode); + +extern std::string lllSpecials[][3]; + +extern std::map<std::string, std::pair<int, int> > lllMap; + +bool isValidLLLFunc(std::string f, int argc); + +#endif |