aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/opcodes.h
blob: 41423c169bde7e6107d808d12a884e20f2aa96b6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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