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

📄 lex.yy.c.bw

📁 早期freebsd实现
💻 BW
📖 第 1 页 / 共 2 页
字号:
36,0,36,0,9,36,0,36,0,36,0,36,0,36,0,18,36,0,36,0,36,0,36,0,22,36,0,36,0,36,0,7,36,0,36,0,10,36,0,13,36,0,36,0,17,36,0,19,36,0,20,36,0,36,0,36,0,26,36,0,8,36,0,36,0,21,36,0,36,0,16,36,0,36,0,36,0,24,36,0,0};# define YYTYPE intstruct yywork { YYTYPE verify, advance; } yycrank[] ={0,0,	0,0,	1,3,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	1,4,	1,5,	0,0,	0,0,	27,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	1,6,	0,0,	0,0,	28,59,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	1,7,	0,0,	0,0,	1,8,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	0,0,	1,9,	0,0,	0,0,	0,0,	0,0,	1,10,	0,0,	0,0,	10,36,	1,11,	1,12,	1,13,	1,14,	1,15,	1,16,	1,17,	16,46,	1,18,	13,41,	0,0,	1,19,	12,39,	0,0,	1,20,	1,21,	13,42,	1,22,	1,23,	1,24,	1,25,	1,26,	12,40,	1,17,	16,37,	12,37,	13,37,	15,44,	14,43,	17,37,	21,50,	15,45,	1,17,	1,17,	1,17,	1,17,	1,17,	1,17,	2,10,	18,47,	6,27,	14,37,	19,48,	18,37,	2,13,	19,37,	2,15,	2,16,	6,27,	6,0,	2,18,	24,54,	20,49,	2,19,	22,51,	23,52,	2,20,	2,21,	24,55,	2,22,	2,23,	2,24,	2,25,	2,26,	20,37,	37,37,	38,63,	22,37,	23,37,	26,58,	23,53,	41,66,	45,70,	6,28,	2,17,	2,17,	2,17,	2,17,	2,17,	2,17,	39,64,	25,56,	26,37,	25,57,	6,27,	25,37,	40,65,	6,27,	44,69,	40,37,	42,67,	39,37,	43,68,	42,37,	43,37,	6,27,	47,37,	46,71,	47,72,	49,37,	52,78,	52,37,	44,37,	46,37,	6,27,	6,27,	50,74,	6,27,	7,29,	50,37,	6,27,	7,30,	7,30,	7,30,	7,30,	7,30,	7,30,	7,30,	7,30,	7,31,	7,31,	48,73,	53,79,	56,37,	56,82,	48,37,	51,75,	6,27,	8,30,	8,30,	8,30,	8,30,	8,30,	8,30,	8,30,	8,30,	8,31,	8,31,	55,81,	51,76,	55,37,	51,37,	58,84,	51,77,	62,88,	8,32,	8,33,	8,32,	8,34,	8,32,	8,32,	9,31,	9,31,	9,31,	9,31,	9,31,	9,31,	9,31,	9,31,	54,37,	57,83,	60,86,	54,80,	57,37,	64,90,	65,91,	63,89,	67,93,	8,35,	9,32,	66,92,	65,37,	69,37,	64,37,	71,37,	71,96,	67,37,	8,32,	8,33,	8,32,	8,34,	8,32,	8,32,	63,37,	66,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	70,95,	60,87,	82,108,	70,37,	82,37,	8,35,	9,32,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,38,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	75,101,	95,117,	76,102,	75,37,	11,37,	76,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	11,37,	29,60,	77,37,	98,37,	83,109,	77,103,	68,94,	72,97,	83,37,	29,60,	29,61,	31,31,	31,31,	31,31,	31,31,	31,31,	31,31,	31,31,	31,31,	68,37,	72,37,	73,98,	78,37,	87,0,	79,105,	78,104,	84,37,	84,110,	100,121,	31,32,	101,122,	102,123,	73,37,	79,37,	29,60,	32,32,	32,32,	32,32,	32,32,	32,32,	32,32,	32,32,	32,32,	32,32,	32,32,	29,62,	80,106,	74,99,	29,60,	103,124,	81,107,	74,100,	106,37,	32,32,	91,113,	32,32,	29,60,	89,37,	87,86,	80,37,	92,114,	31,32,	74,37,	81,37,	89,111,	29,60,	29,60,	91,37,	29,60,	92,37,	96,118,	29,60,	33,32,	33,32,	33,32,	33,32,	33,32,	33,32,	33,32,	33,32,	33,32,	33,32,	90,112,	96,37,	107,37,	32,32,	90,37,	32,32,	29,60,	93,115,	33,32,	109,37,	33,32,	34,32,	34,32,	34,32,	34,32,	34,32,	34,32,	34,32,	34,32,	34,32,	34,32,	94,116,	93,37,	97,119,	59,59,	94,37,	99,120,	110,128,	104,125,	34,32,	111,37,	34,32,	59,59,	59,0,	97,37,	108,127,	110,37,	112,37,	113,129,	99,37,	33,32,	104,37,	33,32,	105,126,	116,132,	114,130,	115,131,	105,37,	108,37,	114,37,	117,37,	118,37,	119,133,	120,134,	131,37,	113,37,	121,135,	59,85,	116,37,	115,37,	122,136,	34,32,	123,37,	34,32,	123,137,	119,37,	124,138,	120,37,	59,59,	126,140,	124,37,	59,59,	125,139,	121,37,	122,37,	127,141,	125,37,	133,146,	128,142,	59,59,	126,37,	128,37,	129,143,	130,144,	132,37,	132,145,	129,37,	136,37,	59,59,	59,59,	127,37,	59,59,	134,37,	135,148,	59,59,	134,147,	137,37,	137,149,	135,37,	139,151,	130,37,	138,37,	138,150,	140,37,	141,152,	142,153,	143,37,	145,37,	146,37,	142,37,	144,154,	59,59,	147,155,	141,37,	139,37,	148,37,	144,37,	149,37,	150,37,	151,156,	153,37,	152,157,	154,37,	155,158,	156,37,	157,159,	158,37,	159,160,	160,161,	161,37,	0,0,	0,0,	151,37,	152,37,	157,37,	0,0,	155,37,	0,0,	0,0,	0,0,	159,37,	0,0,	160,37,	0,0,	0,0,	0,0};struct yysvf yysvec[] ={0,	0,	0,yycrank+-1,	0,		0,	yycrank+-43,	yysvec+1,	0,	yycrank+0,	0,		yyvstop+1,yycrank+0,	0,		yyvstop+3,yycrank+0,	0,		yyvstop+6,yycrank+-105,	0,		yyvstop+8,yycrank+129,	0,		yyvstop+10,yycrank+146,	0,		yyvstop+12,yycrank+169,	yysvec+8,	yyvstop+15,yycrank+3,	0,		yyvstop+18,yycrank+203,	0,		yyvstop+20,yycrank+9,	yysvec+11,	yyvstop+23,yycrank+10,	yysvec+11,	yyvstop+26,yycrank+25,	yysvec+11,	yyvstop+29,yycrank+15,	yysvec+11,	yyvstop+32,yycrank+8,	yysvec+11,	yyvstop+35,yycrank+13,	yysvec+11,	yyvstop+38,yycrank+27,	yysvec+11,	yyvstop+41,yycrank+29,	yysvec+11,	yyvstop+44,yycrank+48,	yysvec+11,	yyvstop+47,yycrank+14,	yysvec+11,	yyvstop+50,yycrank+51,	yysvec+11,	yyvstop+53,yycrank+52,	yysvec+11,	yyvstop+56,yycrank+35,	yysvec+11,	yyvstop+59,yycrank+69,	yysvec+11,	yyvstop+62,yycrank+66,	yysvec+11,	yyvstop+65,yycrank+-4,	yysvec+6,	0,	yycrank+4,	0,		yyvstop+68,yycrank+-325,	0,		yyvstop+71,yycrank+0,	yysvec+8,	yyvstop+73,yycrank+288,	yysvec+8,	yyvstop+75,yycrank+312,	yysvec+8,	0,	yycrank+349,	yysvec+8,	yyvstop+77,yycrank+370,	yysvec+8,	yyvstop+79,yycrank+0,	0,		yyvstop+81,yycrank+0,	0,		yyvstop+83,yycrank+49,	yysvec+11,	yyvstop+85,yycrank+50,	yysvec+11,	yyvstop+87,yycrank+75,	yysvec+11,	yyvstop+89,yycrank+73,	yysvec+11,	yyvstop+91,yycrank+55,	yysvec+11,	yyvstop+93,yycrank+77,	yysvec+11,	yyvstop+95,yycrank+78,	yysvec+11,	yyvstop+97,yycrank+86,	yysvec+11,	yyvstop+99,yycrank+56,	yysvec+11,	yyvstop+101,yycrank+87,	yysvec+11,	yyvstop+103,yycrank+80,	yysvec+11,	yyvstop+105,yycrank+109,	yysvec+11,	yyvstop+107,yycrank+83,	yysvec+11,	yyvstop+109,yycrank+93,	yysvec+11,	yyvstop+112,yycrank+125,	yysvec+11,	yyvstop+114,yycrank+85,	yysvec+11,	yyvstop+116,yycrank+106,	yysvec+11,	yyvstop+118,yycrank+143,	yysvec+11,	yyvstop+120,yycrank+124,	yysvec+11,	yyvstop+122,yycrank+107,	yysvec+11,	yyvstop+124,yycrank+147,	yysvec+11,	yyvstop+126,yycrank+126,	yysvec+11,	yyvstop+128,yycrank+-430,	0,		0,	yycrank+-217,	yysvec+29,	0,	yycrank+0,	0,		yyvstop+130,yycrank+165,	0,		0,	yycrank+167,	yysvec+11,	yyvstop+132,yycrank+157,	yysvec+11,	yyvstop+134,yycrank+155,	yysvec+11,	yyvstop+136,yycrank+168,	yysvec+11,	yyvstop+138,yycrank+160,	yysvec+11,	yyvstop+140,yycrank+262,	yysvec+11,	yyvstop+142,yycrank+156,	yysvec+11,	yyvstop+144,yycrank+182,	yysvec+11,	yyvstop+147,yycrank+158,	yysvec+11,	yyvstop+149,yycrank+263,	yysvec+11,	yyvstop+151,yycrank+275,	yysvec+11,	yyvstop+153,yycrank+305,	yysvec+11,	yyvstop+155,yycrank+215,	yysvec+11,	yyvstop+157,yycrank+217,	yysvec+11,	yyvstop+159,yycrank+245,	yysvec+11,	yyvstop+161,yycrank+265,	yysvec+11,	yyvstop+163,yycrank+276,	yysvec+11,	yyvstop+165,yycrank+302,	yysvec+11,	yyvstop+167,yycrank+306,	yysvec+11,	yyvstop+169,yycrank+183,	yysvec+11,	yyvstop+171,yycrank+251,	yysvec+11,	yyvstop+173,yycrank+269,	yysvec+11,	yyvstop+175,yycrank+0,	yysvec+28,	yyvstop+177,yycrank+0,	0,		yyvstop+179,yycrank+-338,	yysvec+29,	0,	yycrank+0,	0,		yyvstop+181,yycrank+300,	yysvec+11,	yyvstop+183,yycrank+329,	yysvec+11,	yyvstop+185,yycrank+310,	yysvec+11,	yyvstop+187,yycrank+312,	yysvec+11,	yyvstop+189,yycrank+347,	yysvec+11,	yyvstop+191,yycrank+350,	yysvec+11,	yyvstop+193,yycrank+213,	yysvec+11,	yyvstop+195,yycrank+326,	yysvec+11,	yyvstop+197,yycrank+359,	yysvec+11,	yyvstop+199,yycrank+246,	yysvec+11,	yyvstop+201,yycrank+364,	yysvec+11,	yyvstop+204,yycrank+271,	yysvec+11,	yyvstop+206,yycrank+273,	yysvec+11,	yyvstop+208,yycrank+274,	yysvec+11,	yyvstop+210,yycrank+292,	yysvec+11,	yyvstop+212,yycrank+366,	yysvec+11,	yyvstop+214,yycrank+372,	yysvec+11,	yyvstop+216,yycrank+295,	yysvec+11,	yyvstop+218,yycrank+327,	yysvec+11,	yyvstop+221,yycrank+373,	yysvec+11,	yyvstop+224,yycrank+334,	yysvec+11,	yyvstop+226,yycrank+361,	yysvec+11,	yyvstop+229,yycrank+355,	yysvec+11,	yyvstop+231,yycrank+362,	yysvec+11,	yyvstop+234,yycrank+380,	yysvec+11,	yyvstop+237,yycrank+374,	yysvec+11,	yyvstop+239,yycrank+384,	yysvec+11,	yyvstop+241,yycrank+383,	yysvec+11,	yyvstop+243,yycrank+375,	yysvec+11,	yyvstop+245,yycrank+376,	yysvec+11,	yyvstop+248,yycrank+390,	yysvec+11,	yyvstop+251,yycrank+392,	yysvec+11,	yyvstop+253,yycrank+398,	yysvec+11,	yyvstop+255,yycrank+399,	yysvec+11,	yyvstop+257,yycrank+387,	yysvec+11,	yyvstop+259,yycrank+395,	yysvec+11,	yyvstop+261,yycrank+401,	yysvec+11,	yyvstop+263,yycrank+405,	yysvec+11,	yyvstop+265,yycrank+415,	yysvec+11,	yyvstop+267,yycrank+406,	yysvec+11,	yyvstop+269,yycrank+411,	yysvec+11,	yyvstop+271,yycrank+425,	yysvec+11,	yyvstop+273,yycrank+379,	yysvec+11,	yyvstop+275,yycrank+409,	yysvec+11,	yyvstop+278,yycrank+402,	yysvec+11,	yyvstop+280,yycrank+417,	yysvec+11,	yyvstop+282,yycrank+423,	yysvec+11,	yyvstop+284,yycrank+412,	yysvec+11,	yyvstop+286,yycrank+421,	yysvec+11,	yyvstop+289,yycrank+426,	yysvec+11,	yyvstop+291,yycrank+439,	yysvec+11,	yyvstop+293,yycrank+428,	yysvec+11,	yyvstop+295,yycrank+438,	yysvec+11,	yyvstop+298,yycrank+434,	yysvec+11,	yyvstop+300,yycrank+431,	yysvec+11,	yyvstop+302,yycrank+441,	yysvec+11,	yyvstop+305,yycrank+432,	yysvec+11,	yyvstop+307,yycrank+433,	yysvec+11,	yyvstop+310,yycrank+437,	yysvec+11,	yyvstop+313,yycrank+440,	yysvec+11,	yyvstop+315,yycrank+442,	yysvec+11,	yyvstop+318,yycrank+443,	yysvec+11,	yyvstop+321,yycrank+457,	yysvec+11,	yyvstop+324,yycrank+458,	yysvec+11,	yyvstop+326,yycrank+445,	yysvec+11,	yyvstop+328,yycrank+447,	yysvec+11,	yyvstop+331,yycrank+461,	yysvec+11,	yyvstop+334,yycrank+449,	yysvec+11,	yyvstop+336,yycrank+459,	yysvec+11,	yyvstop+339,yycrank+451,	yysvec+11,	yyvstop+341,yycrank+465,	yysvec+11,	yyvstop+344,yycrank+467,	yysvec+11,	yyvstop+346,yycrank+454,	yysvec+11,	yyvstop+348,0,	0,	0};struct yywork *yytop = yycrank+549;struct yysvf *yybgin = yysvec+1;char yymatch[] ={00  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,011 ,012 ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,011 ,01  ,'"' ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,'-' ,01  ,01  ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'8' ,'8' ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,'A' ,'B' ,'A' ,'D' ,'A' ,'A' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'X' ,'G' ,'G' ,01  ,01  ,01  ,01  ,'G' ,01  ,'A' ,'B' ,'A' ,'D' ,'A' ,'A' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'X' ,'G' ,'G' ,01  ,01  ,01  ,01  ,01  ,0};char yyextra[] ={0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};int yylineno =1;# define YYU(x) x# define NLSTATE yyprevious=YYNEWLINEchar yytext[YYLMAX];struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;char yysbuf[YYLMAX];char *yysptr = yysbuf;int *yyfnd;extern struct yysvf *yyestate;int yyprevious = YYNEWLINE;yylook(){	register struct yysvf *yystate, **lsp;	register struct yywork *yyt;	struct yysvf *yyz;	int yych;	struct yywork *yyr;# ifdef LEXDEBUG	int debug;# endif	char *yylastch;	/* start off machines */# ifdef LEXDEBUG	debug = 0;# endif	if (!yymorfg)		yylastch = yytext;	else {		yymorfg=0;		yylastch = yytext+yyleng;		}	for(;;){		lsp = yylstate;		yyestate = yystate = yybgin;		if (yyprevious==YYNEWLINE) yystate++;		for (;;){# ifdef LEXDEBUG			if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);# endif			yyt = yystate->yystoff;			if(yyt == yycrank){		/* may not be any transitions */				yyz = yystate->yyother;				if(yyz == 0)break;				if(yyz->yystoff == yycrank)break;				}			*yylastch++ = yych = input();		tryagain:# ifdef LEXDEBUG			if(debug){				fprintf(yyout,"char ");				allprint(yych);				putchar('\n');				}# endif			yyr = yyt;			if ( (int)yyt > (int)yycrank){				yyt = yyr + yych;				if (yyt <= yytop && yyt->verify+yysvec == yystate){					if(yyt->advance+yysvec == YYLERR)	/* error transitions */						{unput(*--yylastch);break;}					*lsp++ = yystate = yyt->advance+yysvec;					goto contin;					}				}# ifdef YYOPTIM			else if((int)yyt < (int)yycrank) {		/* r < yycrank */				yyt = yyr = yycrank+(yycrank-yyt);# ifdef LEXDEBUG				if(debug)fprintf(yyout,"compressed state\n");# endif				yyt = yyt + yych;				if(yyt <= yytop && yyt->verify+yysvec == yystate){					if(yyt->advance+yysvec == YYLERR)	/* error transitions */						{unput(*--yylastch);break;}					*lsp++ = yystate = yyt->advance+yysvec;					goto contin;					}				yyt = yyr + YYU(yymatch[yych]);# ifdef LEXDEBUG				if(debug){					fprintf(yyout,"try fall back character ");					allprint(YYU(yymatch[yych]));					putchar('\n');					}# endif				if(yyt <= yytop && yyt->verify+yysvec == yystate){					if(yyt->advance+yysvec == YYLERR)	/* error transition */						{unput(*--yylastch);break;}					*lsp++ = yystate = yyt->advance+yysvec;					goto contin;					}				}			if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){# ifdef LEXDEBUG				if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);# endif				goto tryagain;				}# endif			else				{unput(*--yylastch);break;}		contin:# ifdef LEXDEBUG			if(debug){				fprintf(yyout,"state %d char ",yystate-yysvec-1);				allprint(yych);				putchar('\n');				}# endif			;			}# ifdef LEXDEBUG		if(debug){			fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);			allprint(yych);			putchar('\n');			}# endif		while (lsp-- > yylstate){			*yylastch-- = 0;			if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){				yyolsp = lsp;				if(yyextra[*yyfnd]){		/* must backup */					while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){						lsp--;						unput(*yylastch--);						}					}				yyprevious = YYU(*yylastch);				yylsp = lsp;				yyleng = yylastch-yytext+1;				yytext[yyleng] = 0;# ifdef LEXDEBUG				if(debug){					fprintf(yyout,"\nmatch ");					sprint(yytext);					fprintf(yyout," action %d\n",*yyfnd);					}# endif				return(*yyfnd++);				}			unput(*yylastch);			}		if (yytext[0] == 0  /* && feof(yyin) */)			{			yysptr=yysbuf;			return(0);			}		yyprevious = yytext[0] = input();		if (yyprevious>0)			output(yyprevious);		yylastch=yytext;# ifdef LEXDEBUG		if(debug)putchar('\n');# endif		}	}yyback(p, m)	int *p;{if (p==0) return(0);while (*p)	{	if (*p++ == m)		return(1);	}return(0);}	/* the following are only used in the lex library */yyinput(){	return(input());	}yyoutput(c)  int c; {	output(c);	}yyunput(c)   int c; {	unput(c);	}

⌨️ 快捷键说明

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