2023-08-30 18:06:26 +00:00
|
|
|
#ifndef roza_OPCODES_HPP
|
|
|
|
#define roza_OPCODES_HPP
|
|
|
|
|
|
|
|
#include "commons.hpp"
|
|
|
|
|
|
|
|
#define OPCODE(G) \
|
|
|
|
G(OP_PUSH_CONST), \
|
2023-08-30 22:31:19 +00:00
|
|
|
G(OP_POP), \
|
|
|
|
G(OP_IADD), G(OP_ISUB), G(OP_IMUL), G(OP_IDIV), G(OP_IMOD), G(OP_IPOW), \
|
2023-08-31 09:07:03 +00:00
|
|
|
G(OP_MOD), G(OP_IUADD), G(OP_IUSUB), G(OP_AND), G(OP_OR), G(OP_NOT), \
|
2023-08-31 19:25:00 +00:00
|
|
|
G(OP_IMP), G(OP_EQ), G(OP_ILT), G(OP_IGT), G(OP_ASSERT), G(OP_STORE_GLOBAL), \
|
2023-09-01 20:38:12 +00:00
|
|
|
G(OP_LOAD_GLOBAL), G(OP_BRF), G(OP_BR), G(OP_RET), G(OP_CALL), \
|
|
|
|
G(OP_LOAD_LOCAL), G(OP_STORE_LOCAL)
|
2023-08-30 18:06:26 +00:00
|
|
|
|
|
|
|
namespace roza
|
|
|
|
{
|
|
|
|
MAKE_ENUM(OPCODE, Opcode)
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|