/* codegen.c */
extern void comment(void);
extern void header(void);
extern void trailer(void);
extern void outname(char *sname, char pref);
extern void getmem(SYMBOL *sym);
extern void getloc(SYMBOL *sym, int off);
extern void putmem(SYMBOL *sym);
extern void putstk(char typeobj);
extern void puttos(void);
extern void put2tos(void);
extern void loadargc(int n);
extern void indirect(char typeobj, char flags);
extern void swap(void);
extern void immed(void);
extern void immed2(void);
extern void immedlit(int lab);
extern void lpush(void);
extern void lpush2(void);
extern void zpushde(void);
extern void zpush(void);
extern void dpush(void);
extern void dpush2(void);
extern void mainpop(void);
extern void zpop(void);
extern void zpopbc(void);
extern void doexx(void);
extern void swapstk(void);
extern void sw(char type);
extern void zcall(SYMBOL *sname);
extern char dopref(SYMBOL *sym);
extern void callrts(char *sname);
extern void zret(void);
extern void callstk(int n);
extern void jump(int label);
extern void testjump(int label);
extern void zerojump(void (*oper)(int), int label, LVALUE *lval);
extern void defbyte(void);
extern void defstorage(void);
extern void defword(void);
extern void deflong(void);
extern void point(void);
extern int modstk(int newsp, int save);
extern void scale(int type, TAG_SYMBOL *tag);
extern void quikmult(int size);
extern void addbc(void);
extern void ldbc(void);
extern void doublereg(void);
extern void threereg(void);
extern void fivereg(void);
extern void sixreg(void);
extern void zadd(void);
extern void dadd(void);
extern void zsub(void);
extern void dsub(void);
extern void mult(void);
extern void dmul(void);
extern void zdiv(void);
extern void zdivun(void);
extern void ddiv(void);
extern void zmod(void);
extern void zmodun(void);
extern void zor(void);
extern void zxor(void);
extern void zand(void);
extern void asr(void);
extern void asr_un(void);
extern void asl(void);
extern void lneg(void);
extern void neg(void);
extern void dneg(void);
extern void com(void);
extern void inclong(void);
extern void declong(void);
extern void inc(void);
extern void dec(void);
extern void zeq(void);
extern void eq0(int label);
extern void zne(void);
extern void zlt(void);
extern void lt0(int label);
extern void zle(void);
extern void le0(int label);
extern void zgt(void);
extern void gt0(int label);
extern void zge(void);
extern void ge0(int label);
extern void ult(void);
extern void ule(void);
extern void ugt(void);
extern void uge(void);
extern void deq(void);
extern void dne(void);
extern void dlt(void);
extern void dle(void);
extern void dgt(void);
extern void dge(void);
