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

📄 y0.c

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 C
字号:
# define _actsize 1500# define _memsize 3500# define _nstates 400# define _nterms 95# define _nprod 250# define _nnonterm 100# define _tempsize 400# define _cnamsz 2000# define _lsetsize 200# define _wsetsize 150# define _tbitset 6int tbitset;  /* size of lookahed sets */int nolook 0; /* flag to suppress lookahead computations */struct looksets { int lset[ _tbitset ]; } ;struct item { int *pitem; } ;/* this file contains the definitions for most externally known data */int nstate 0;		/* number of states */struct item *pstate[_nstates];	/* pointers to the descriptions of the states */int apstate[_nstates];	/* index to the actions for the states */int tystate[_nstates];	/* contains type information about the states */int stsize _nstates;	/* maximum number of states, at present */int memsiz _memsize;	/* maximum size for productions and states */int mem0[_memsize] ; /* production storage */int *mem mem0;int amem[_actsize];  /* action table storage */int actsiz _actsize; /* action table size */int memact 0;		/* next free action table position */int nprod 1;	/* number of productions */int *prdptr[_nprod];	/* pointers to descriptions of productions */int prdlim _nprod ;  /* the maximum number of productions */	/* levprd - productions levels to break conflicts */int levprd[_nprod] {0,0};  /* last two bits code associativity:       0 = no definition       1 = left associative       2 = binary       3 = right associative     bit 04 is 1 if the production has an action     the high 13 bits have the production level     */int nterms 0;	/* number of terminals */int tlim _nterms ; /* the maximum number of terminals *//*	the ascii representations of the terminals	*/int extval 0;  /* start of output values */struct sxxx1 {char *name; int value;} trmset[_nterms];char cnames[_cnamsz];int cnamsz _cnamsz;char *cnamp;int maxtmp _tempsize;	/* the size of the temp1 array */int temp1[_tempsize]; /* temporary storage, indexed by terms + nterms or states */int temp2[_nnonterm]; /* temporary storage indexed by nonterminals */int trmlev[_nterms];	/* vector with the precedence of the terminals */  /* The levels are the same as for levprd, but bit 04 is always 0 *//* the ascii representations of the nonterminals */struct sxxx2 { char *name; } nontrst[_nnonterm];int ntlim _nnonterm ; /* limit to the number of nonterminals */int indgo[_nstates];		/* index to the stored goto table */int ***pres; /* vector of pointers to the productions yielding each nonterminal */struct looksets **pfirst; /* vector of pointers to first sets for each nonterminal */int *pempty 0 ; /* table of nonterminals nontrivially deriving e */int nnonter -1;	/* the number of nonterminals */int lastred 0;	/* the number of the last reduction of a state */int ftable;		/* y.tab.c file */int foutput;		/* y.output file */int arrndx; /* used in the output of arrays on y.tab.c */int zzcwset 0;int zzpairs 0;int zzgoent 0;int zzgobest 0;int zzacent 0;int zzacsave 0;int zznsave 0;int zzclose 0;int zzsrconf 0;int zzrrconf 0;char *ctokn;int lineno 1; /* current input line number */int peekc -1; /* look-ahead character */int tstates[ _nterms ]; /* states generated by terminal gotos */int ntstates[ _nnonterm ]; /* states generated by nonterminal gotos */int mstates[ _nstates ]; /* chain of overflows of term/nonterm generation lists  */struct looksets clset;struct looksets lkst [ _lsetsize ];int nlset 0; /* next lookahead set index */int lsetsz _lsetsize; /* number of lookahead sets */struct wset { int *pitem, flag, ws[_tbitset]; } wsets[ _wsetsize ];int cwset;int wssize _wsetsize;int numbval;  /* the value of an input number */int rflag 0;  /* ratfor flag */int oflag 0;  /* optimization flag */int ndefout 3;  /* number of defined symbols output */int nerrors 0;	/* number of errors */int fatfl 1;  	/* if on, error is fatal */int machine;   /* has a number describing the machine */

⌨️ 快捷键说明

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