⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.h

📁 window下的c编译器。
💻 H
字号:
typedef struct {
	unsigned char max_unaligned_load;
	void (*blkfetch) ARGS((int size, int off, int reg, int tmp));
	void (*blkstore) ARGS((int size, int off, int reg, int tmp));
	void (*blkloop)  ARGS((int dreg, int doff,
	                       int sreg, int soff,
	                       int size, int tmps[]));
void (*_label) ARGS((Node));
int (*_rule) ARGS((void*, int));
short **_nts;
void (*_kids) ARGS((Node, int, Node*));
char **_opname;
char *_arity;
char **_string;
char **_templates;
char *_isinstruction;
char **_ntname;
	void (*emit2) ARGS((Node));
	void (*doarg) ARGS((Node));
	void (*target) ARGS((Node));
	void (*clobber) ARGS((Node));
} Xinterface;
extern int     askregvar  ARGS((Symbol, Symbol));
extern void    blkcopy    ARGS((int, int, int,
                                int, int, int[]));
extern int     getregnum  ARGS((Node));
extern int     mayrecalc  ARGS((Node));
extern int     mkactual   ARGS((int, int));
extern void    mkauto     ARGS((Symbol));
extern Symbol  mkreg      ARGS((char *, int, int, int));
extern Symbol  mkwildcard ARGS((Symbol *));
extern int     move       ARGS((Node));
extern int     notarget   ARGS((Node));
extern void    parseflags ARGS((int, char **));
extern int     range      ARGS((Node, int, int));
extern unsigned regloc    ARGS((Symbol));  /* omit */
extern void    rtarget    ARGS((Node, int, Symbol));
extern void    setreg     ARGS((Node, Symbol));
extern void    spill      ARGS((unsigned, int, Node));

extern int      argoffset, maxargoffset;
extern int      bflag, dflag;
extern int      dalign, salign;
extern int      framesize;
extern unsigned freemask[], usedmask[];
extern int      offset, maxoffset;
extern Symbol   rmap[];
extern int      swap;
extern unsigned tmask[], vmask[];
typedef struct {
	void *state;
	short inst;
	Node kids[3];
	Node prev, next;
	Node prevuse;
	short argno;
	short Flags;
	short rulenum;
	short nts;
	Node *IntrinsicArgs;
	int intrinsic;
	int intrinsicArg;
	unsigned char listed;
	unsigned char registered;
	unsigned char emitted;
	unsigned char copy;
	unsigned char equatable;
	unsigned char spills;
	unsigned char mayrecalc;
	unsigned char analyzed;
	unsigned char unsafe;
	unsigned char dangerousChildren;
	unsigned char nestedCall;
	unsigned char booleanAsgn;
	unsigned char clobbersWhich;
	short oldop;
} Xnode;
typedef struct {
	Symbol vbl;
	short set;
	short number;
	unsigned mask;
} *Regnode;
enum { IREG=0, FREG=1 };
typedef struct {
	char *name;
/*	unsigned int eaddr;   omit */
	unsigned int callused;
	int offset;
	Node lastuse;
	int usecount;
	Regnode regnode;
	Symbol *wildcard;
	short PrologueEnd;
	Symbol ArraySymbol;
	int intrinsic;
	unsigned char switchSymbol;
	unsigned char aliased;
	unsigned char isArgument;
} Xsymbol;
enum { RX=2 };
typedef struct {
	int offset;
	unsigned freemask[2];
} Env;

#define LBURG_MAX SHRT_MAX

enum { VREG=(38<<4) };

/* Exported for the front end */
extern void             blockbeg        ARGS((Env *));
extern void             blockend        ARGS((Env *));
extern void             emit            ARGS((Node));
extern Node             gen             ARGS((Node));

extern unsigned         emitbin         ARGS((Node, int));

extern int hasExceptions;
int FinishTryBlock(void);
int doExcept(void);
int doTry(void);



#if 0
#define debug(x) 0
#else
#define debug(x) (dflag&&((x),0))
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -