OPGEN
#define OP_END() OPGEN(END)(ctx)
#define OP_PUSH_P(v) OPGEN(PUSH_P)(ctx, (v))
#define OP_PUSH_PZ(v) OPGEN(PUSH_PZ)(ctx, (v))
#define OP_PUSH_U64(v) OPGEN(PUSH_U64)(ctx, (v))
#define OP_PUSH_SIZE(v) OPGEN(PUSH_SIZE)(ctx, (v))
#define OP_PUSH_LREF(v) OPGEN(PUSH_LREF)(ctx, (lref))
#define OP_FUNC(f) OPGEN(FUNC)(ctx, (f), #f)
#define OP_LABEL(name) OPGEN(LABEL)(ctx, (name))
#define GEN_FAIL(msg) OPGEN(fail)(ctx, (msg))