#define EDASM 1 void emit_flags(int flags); int optimization(int level); void emit_header(void); void emit_trailer(void); void emit_comment(char *s); void emit_asm(char *s); void emit_idlocal(char *name, int value); void emit_idglobal(int value, int size, char *name); void emit_idfunc(int value, char *name); void emit_idconst(char *name, int value); int emit_data(int vartype, int consttype, long constval, int constsize); void emit_codetag(int tag); void emit_const(int cval); void emit_lb(void); void emit_lw(void); void emit_llb(int index); void emit_llw(int index); void emit_lab(int tag); void emit_law(int tag); void emit_sb(void); void emit_sw(void); void emit_slb(int index); void emit_slw(int index); void emit_dlb(int index); void emit_dlw(int index); void emit_sab(int tag); void emit_saw(int tag); void emit_dab(int tag); void emit_daw(int tag); void emit_call(int tag); void emit_ical(void); void emit_localaddr(int index); void emit_globaladdr(int tag, int type); void emit_globaladdrofst(int tag, int offset, int type); void emit_indexbyte(void); void emit_indexword(void); int emit_unaryop(int op); int emit_op(t_token op); void emit_skptru(int tag); void emit_skpfls(int tag); void emit_skpgt(int tag); void emit_skplt(int tag); void emit_skpne(int tag); void emit_skip(int tag); void emit_swap(void); void emit_dup(void); void emit_push(void); void emit_pull(void); void emit_drop(void); void emit_leave(int framesize); void emit_ret(void); void emit_def(int defopt); void emit_enter(int framesize, int cparams); void emit_start(void);