00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _BML_OPCODE_CHAIN_H_
00020 #define _BML_OPCODE_CHAIN_H_
00021
00028 opcode_chain_t opcode_chain_new();
00029 opcode_chain_t opcode_chain_add_label(opcode_chain_t, const char*, int r, int c);
00030 opcode_chain_t opcode_chain_add_opcode(opcode_chain_t, opcode_arg_t, const char* opcode, const char* arg, int r, int c);
00031 opcode_chain_t opcode_chain_add_data(opcode_chain_t, vm_data_type_t, const char* opcode, const char* arg, int r, int c);
00032 opcode_chain_t opcode_chain_add_langdef(opcode_chain_t oc, wast_t node, int r, int c);
00033 opcode_chain_t opcode_chain_add_langplug(opcode_chain_t oc, const char* plugin, const char*plug, int r, int c);
00034
00035 void opcode_chain_delete(opcode_chain_t);
00036
00037 void opcode_chain_serialize(opcode_chain_t, opcode_dict_t, program_t, void*);
00038
00039 void opcode_chain_apply(opcode_chain_t oc, void(*fun)(opcode_chain_node_t));
00040
00043 #endif
00044