enum ops { OP_END, OP_EVENT, OP_NUMBER, OP_PLUS, OP_MINUS, OP_MUL, OP_DIV, OP_MOD, OP_NEGATE, OP_CALL, OP_RET, OP_OR, OP_AND, OP_XOR, OP_NOT, OP_SHL, OP_SHR, }; struct symbol; void put_op(enum ops op); void put_long(enum ops op, long arg); void put_ptr(enum ops op, void *arg); void code_init(unsigned char *buf, unsigned bufl); void start_def(struct symbol *s); void end_def(struct symbol *s); long execute(unsigned char *bufp);