typedef enum { OP_AREF, OP_BOXL, OP_LOADV, OP_BRN, OP_POP, OP_CALL, OP_TCALL, OP_LOADG, OP_LOADA, OP_LOADC, OP_RET, OP_DUP, OP_CAR, OP_CDR, OP_CLOSURE, OP_SETA, OP_JMP, OP_ARGC, OP_CONSP, OP_BRNE, OP_LOADE8, OP_LOAD0, OP_LOADI8, OP_AREF2, OP_ATOMP, OP_SETG, OP_BRNN, OP_LOAD1, OP_LT, OP_ADD2, OP_SETCDR, OP_KEYARGS, OP_CONS, OP_EQP, OP_SYMP, OP_NOT, OP_CADR, OP_NEG, OP_NANP, OP_BOUNDA, OP_NUMP, OP_FIXNUMP, OP_BOUNDP, OP_BUILTINP, OP_FNP, OP_VECP, OP_SHIFT, OP_SETCAR, OP_JMPL, OP_BRNL, OP_BOX, OP_EQVP, OP_EQUALP, OP_LIST, OP_APPLY, OP_ADD, OP_SUB, OP_MUL, OP_DIV, OP_DIV0, OP_NUMEQP, OP_COMPARE, OP_SUB2, OP_VEC, OP_ASET, OP_TRYCATCH, OP_VARGC, OP_LOADVL, OP_LOADGL, OP_LOADAL, OP_LOADCL, OP_OPTARGS, OP_SETGL, OP_SETAL, OP_TAPPLY, OP_CALLL, OP_TCALLL, OP_BRNEL, OP_BRNNL, OP_ARGCL, OP_VARGCL, N_OPCODES}sl_op; extern const sl_builtin builtins[N_OPCODES];
typedef enum {
OP_AREF,
OP_BOXL,
OP_LOADV,
OP_BRN,
OP_POP,
OP_CALL,
OP_TCALL,
OP_LOADG,
OP_LOADA,
OP_LOADC,
OP_RET,
OP_DUP,
OP_CAR,
OP_CDR,
OP_CLOSURE,
OP_SETA,
OP_JMP,
OP_ARGC,
OP_CONSP,
OP_BRNE,
OP_LOADE8,
OP_LOAD0,
OP_LOADI8,
OP_AREF2,
OP_ATOMP,
OP_SETG,
OP_BRNN,
OP_LOAD1,
OP_LT,
OP_ADD2,
OP_SETCDR,
OP_KEYARGS,
OP_CONS,
OP_EQP,
OP_SYMP,
OP_NOT,
OP_CADR,
OP_NEG,
OP_NANP,
OP_BOUNDA,
OP_NUMP,
OP_FIXNUMP,
OP_BOUNDP,
OP_BUILTINP,
OP_FNP,
OP_VECP,
OP_SHIFT,
OP_SETCAR,
OP_JMPL,
OP_BRNL,
OP_BOX,
OP_EQVP,
OP_EQUALP,
OP_LIST,
OP_APPLY,
OP_ADD,
OP_SUB,
OP_MUL,
OP_DIV,
OP_DIV0,
OP_NUMEQP,
OP_COMPARE,
OP_SUB2,
OP_VEC,
OP_ASET,
OP_TRYCATCH,
OP_VARGC,
OP_LOADVL,
OP_LOADGL,
OP_LOADAL,
OP_LOADCL,
OP_OPTARGS,
OP_SETGL,
OP_SETAL,
OP_TAPPLY,
OP_CALLL,
OP_TCALLL,
OP_BRNEL,
OP_BRNNL,
OP_ARGCL,
OP_VARGCL,
N_OPCODES
}sl_op;
extern const sl_builtin builtins[N_OPCODES];