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

📄 c0h.c

📁 unix v6 的c compiler 很老了
💻 C
字号:
#/*	C compiler-- pass 1 header*//*  parameters*/#define	ncps	8#define	hshsiz	200#define	cmsiz	40#define	swsiz	200#define	OSSIZ	500#define	dimsiz	100#define	NBPW	16#define	NBPC	8#define	NCPW	2#define	STRSIZ	256struct tnode {	int	op;	int	type;	int	dimp;	struct	tnode *tr1, *tr2;};struct {	int	op;	int	type;	char	ssp;		/* subscript list */	char	lenp;		/* structure length */};struct tname {	int	op;	int	type;	int	dimp;	int	class;	int	offset;	int	nloc;};struct txname {	int	op;	int	type;	int	dimp;	int	class;	int	offset;	char	nname[ncps];};struct tconst {	int	op;	int	type;	int	dimp;	int	value;};struct hshtab {	char	hclass;	char	hflag;	int	htype;	int	hdimp;	int	hoffset;	char	name[ncps];};struct {	char	hclass;	char	hflag;	int	htype;	char	flen;		/* Field length */	char	bitoffs;	/* Offset of field */};struct swtab {	int	swlab;	int	swval;};struct	bnode {	int	bop;	struct	tnode *btree;	int	lbl;	int	cond;};char	cvtab[4][4];char	savstr[STRSIZ];char	*strptr;int	opdope[];char	ctab[];char	symbuf[ncps+2];int	hshused;struct	hshtab	hshtab[hshsiz];int	*space;int	*cp;int	cmst[cmsiz];int	isn;struct	swtab	swtab[swsiz];struct	swtab	*swp;int	contlab;int	brklab;int	retlab;int	deflab;int	nauto;int	autolen;int	peeksym;int	peekc;int	eof;int	line;int	osspace[OSSIZ];int	*treespace;struct	hshtab	*defsym;struct	hshtab	*funcsym;int	xdflg;int	proflg;int	stflg;struct	hshtab	*csym;int	cval;double	fcval;int	nchstr;int	nerror;struct	hshtab	*paraml;struct	hshtab	*parame;int	strflg;int	mosflg;int	initflg;int	inhdr;int	dimtab[dimsiz];char	obuf[518];char	sbuf[518];int	dimp;int	regvar;int	bitoffs;struct	tname	funcblk;/*  operators*/#define	EOF	0#define	SEMI	1#define	LBRACE	2#define	RBRACE	3#define	LBRACK	4#define	RBRACK	5#define	LPARN	6#define	RPARN	7#define	COLON	8#define	COMMA	9#define	FSEL	10#define	KEYW	19#define	NAME	20#define	CON	21#define	STRING	22#define	FCON	23#define	SFCON	24#define	SIZEOF	91#define	INCBEF	30#define	DECBEF	31#define	INCAFT	32#define	DECAFT	33#define	EXCLA	34#define	AMPER	35#define	STAR	36#define	NEG	37#define	COMPL	38#define	DOT	39#define	PLUS	40#define	MINUS	41#define	TIMES	42#define	DIVIDE	43#define	MOD	44#define	RSHIFT	45#define	LSHIFT	46#define	AND	47#define	OR	48#define	EXOR	49#define	ARROW	50#define	ITOF	51#define	FTOI	52#define	LOGAND	53#define	LOGOR	54#define	FTOL	56#define	LTOF	57#define	ITOL	58#define	LTOI	59#define	EQUAL	60#define	NEQUAL	61#define	LESSEQ	62#define	LESS	63#define	GREATEQ	64#define	GREAT	65#define	LESSEQP	66#define	LESSP	67#define	GREATQP	68#define	GREATP	69#define	ASPLUS	70#define	ASMINUS	71#define	ASTIMES	72#define	ASDIV	73#define	ASMOD	74#define	ASRSH	75#define	ASLSH	76#define	ASSAND	77#define	ASOR	78#define	ASXOR	79#define	ASSIGN	80#define	QUEST	90#define	CALL	100#define	MCALL	101#define	JUMP	102#define	CBRANCH	103#define	INIT	104#define	SETREG	105#define	RFORCE	110#define	BRANCH	111#define	LABEL	112#define	NLABEL	113#define	RLABEL	114/*  types*/#define	INT	0#define	CHAR	1#define	FLOAT	2#define	DOUBLE	3#define	STRUCT	4#define	RSTRUCT	5#define	LONG	6#define	NOTYPE	7	/* used internally */#define	ALIGN	01#define	TYPE	07#define	TYLEN	2#define	XTYPE	(03<<3)#define	PTR	010#define	FUNC	020#define	ARRAY	030/*  storage classes*/#define	KEYWC	1#define	MOS	10#define	AUTO	11#define	EXTERN	12#define	STATIC	13#define	REG	14#define	STRTAG	15#define ARG	16#define	ARG1	17#define	FMOS	18/*  keywords*/#define	GOTO	20#define	RETURN	21#define	IF	22#define	WHILE	23#define	ELSE	24#define	SWITCH	25#define	CASE	26#define	BREAK	27#define	CONTIN	28#define	DO	29#define	DEFAULT	30#define	FOR	31/*  characters*/#define	INSERT	119#define	PERIOD	120#define	SQUOTE	121#define	DQUOTE	122#define	LETTER	123#define	DIGIT	124#define	NEWLN	125#define	SPACE	126#define	UNKN	127/* * Special operators in intermediate code */#define	BDATA	200#define	WDATA	201#define	PROG	202#define	DATA	203#define	BSS	204#define	CSPACE	205#define	SSPACE	206#define	SYMDEF	207#define	SAVE	208#define	RETRN	209#define	EVEN	210#define	PROFIL	212#define	SWIT	213#define	EXPR	214#define	SNAME	215#define	RNAME	216#define	ANAME	217#define	NULL	218/*  Flag bits*/#define	BINARY	01#define	LVALUE	02#define	RELAT	04#define	ASSGOP	010#define	LWORD	020#define	RWORD	040#define	COMMUTE	0100#define	RASSOC	0200#define	LEAF	0400/* * Conversion codes */#define	ITF	1#define	ITL	2#define	LTF	3#define	ITP	4#define	PTI	5#define	FTI	6#define	LTI	7#define	FTL	8#define	XX	15/* * symbol table flags */#define	FNDEL	01#define	FNUND	02#define	FKEYW	04#define	FFIELD	020

⌨️ 快捷键说明

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