Mercurial > hg > CbC > old > device
view mc-codegen.h @ 83:f3f75911d62c
*** empty log message ***
author | kono |
---|---|
date | Wed, 05 Mar 2003 03:41:08 +0900 (2003-03-04) |
parents | f94ca1168520 |
children | 917947ffeb7c |
line wrap: on
line source
/* max stack in an expression (for each int, float ) */ #define MAX_MAX 10 extern int creg; /* current register */ extern int dreg; /* temporary register */ extern int reg_sp; /* REGister Stack-Pointer */ extern int rname[MAX_MAX]; extern int regs[MAX_MAX]; /* �Ȥ��Ƥ���쥸�������ե饰 */ extern int reg_stack[MAX_MAX]; /* �ºݤΥ쥸�������ΰ� */ extern int regv[MAX_MAX]; /* �ͤ����äƤ��뤫�ɤ��� */ /* floating point registers */ extern int freg; /* current floating point register */ extern int greg; /* current floating point register */ extern int freg_sp; /* floating point REGister Stack-Pointer */ extern int frname[MAX_MAX]; extern int fregs[MAX_MAX]; /* �Ȥ��Ƥ���쥸�������ե饰 */ extern int freg_stack[MAX_MAX]; /* �ºݤΥ쥸�������ΰ� */ extern int fregv[MAX_MAX]; /* �ͤ����äƤ��뤫�ɤ��� */ extern int use; /* generated value will be used */ /* function provided by mc-codegen.c */ extern void def_label(int cslabel, int dlabel); extern int backdef(void); extern int csvalue(); extern int free_register_count(void); extern int fwdlabel(void); extern int get_register(void); extern int pop_register(void); extern int register_full(void); extern int virtual(int real); extern void use_register_var(int i) ; extern void b_expr(int e1, char cond, int l1,int err); extern void bexpr(int e1, char cond, int l1); extern void emit_init(void); extern void emit_pop_free(int xreg); extern void free_all_register(void); extern void free_register(int i); extern void fwddef(int l); extern int csvalue(); extern void cmpdimm(int e, int csreg); extern void code_enter(char *name) ; extern void code_enter1(int args); extern void code_init(void); extern void code_leave(char *name) ; extern void emit_data(int e, int t, NMTBL *n); extern void emit_data_closing(NMTBL *n); extern void emit_init(void); extern void enter(char *name); extern void enter1(); extern void g_expr(int e1); extern void gen_comment(char *s); extern void gen_gdecl(char *n, int gpc); extern void gen_source(char *s); extern void gexpr(int e1,int use); extern void gexpr_init(void); extern void jcond(int l, char cond); extern void jmp(int l); extern void jmp_eq_label(int l); extern void jmp_label(int l); extern void leave(int control, char *name); extern void opening(char *filename); extern void closing(); extern void ret(void); extern void use_register_var(int); extern void arg_register(NMTBL *); extern void creg_destroy(); extern void regvar_creg(int); /* floating point */ extern void dassop(int e1); extern void dmachinop(int e1); extern void dassign(int e1); /* end */