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

📄 ytabc.bak

📁 著名Awk语言的编译器
💻 BAK
📖 第 1 页 / 共 4 页
字号:
-1000, -40,  -1,   2, -29, -28,  10,  15, -12, -11, -10, -30,   8,   9,  54,  -2,  12, -18,  13,  -9,  -8, -19,  87, 110, -13, 105, 102, 101,  46,  89,  48, 108, 109,  95,  58,  60,  90,  97,  78,  91, -38,  98,  86,  45,  88,  16,  55,  56,  10,  15, -29, -30,  11,  10, -17, -16,  47,  49, -26,  52, -22, -23, -30,  61,  62,  96, -14, -25,  15,  51,  53,  57, -39,  50,  -2,   2,  99,  76,  77, -30, -30, -20,  86,  89,  93, -37, -36,  38,  39,  40,  41,  42,  43,  24,  44,  14,  -8,  36,  35, 105, -18,  13,  69, 108, 109,  -4,  -2,  16, 101, 102, 103, 104, 107,  19,  -8,  -9,  -8,  -8,  -8,  13,  13,  -8, -18, -18, -18,  42,  13,  13,  13,  13,  13,  13, -45, -11, -17, -10,  18, -16, -27, -34,  15,  10, -27,  10, -46,  -2, -27, -16, -17, -27, -27,  -2, -27, -27, -48, -35, -34,  13,  13,  -7,  -5,  13,  -3, -18,  -9,  -8, -19,  13, -17, -17,  13,  -2,  10,  -2,  10,  -2,  -2,  -2,  -2,  -2,  -2,  -2, -13,  -2, -19,  95,  -2,  -2,  17, -33,  11, -33,  17,  69,  -8,  -8,  -8,  -8,  -8,  -8,  -6,  -2,  17,  -6,  17,  -6,  42,  -8,  -2,  -2,  -2,  -6, -13,  -2,  -2,  92,  18, -30,  10, -35, -16, -27, -24,  79, -31,  18, -27, -16, -15, -19, -14,  -2,  14,  37,  40, -33,  -4,  93, -37, -36,  24,  44,  -8,  69,  19,  -2,  18,  18, -21,  86,  94, -18,  44,  10,  -2,  -2,  -8, -33,  20,  17,  17,  -8, -33, -33, -33,  17, -33, -33, -33,  16, -17, -47,  10, -16,  10,  15,  44, -32,  17,  -8,  -8,  -8,  -3,  13,  17,  -3,  -3,  -3, -13,  -3, -19,  -3,  -6, -32, -32, -33,  -2, -19,  -2,  -2, -13, -13,  -2, -19,  -2,  -2,  -2,  18,  99, -35,  15, -19,  10,  -4,  44,  94,  20, -44,  86,  17,  17,  17,  17, -33,  17,  17, -33,  17, -33, -33,  17,  13,  -2, -35, -32,  17, -19,  -3, -30,  -2, -13, -18, -18,  -2,  -2,  15, -15, -43, -17,  17,  17,  17,  17,  17,  17, -35, -32, -16,  18, -27, -15, -42, -32, -16, -41, -16};short	yydef[] ={  -2,  -2,   1,   2,  32,  29,  87,  88,  28,  44,  35,   0,   0,   0,   0,  34,  22, 173,   0,  76,  77, 174, 176,   0,  93,   0,   0,   0, 144,   0,   0,   0,   0, 155,   0,   0, 161,   0,   0, 166,   0,   0, 181, 182, 183,  95, 130, 131,  89,  90,  33,   0,   0,  23,   0, 128,   0,   0, 111,   0, 116,   0,   0,   0,   0,   0,   0, 125,  26,   9,   0,   0,  82,   0, 105, 106,   0,  85,  86,   0,   0,   0,  19,  20,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  75,   5,   3,   0, 173,   0,   0, 150, 151,   0,   0,   0,   0,   0,   0,   0,   0,   0, 177,  94, 141, 139, 140,   0,   0, 147, 148, 149, 154,   0,   0,   0,   0,   0,   0,   0,   0,  45,   0,  37,  39, 129, 109, 107,  26,  24, 110,  10,   0,   0, 115, 118,   0, 120, 121,   0, 123, 124,   0, 127,  27,  -2,   0, 102,  83,   0,  80, 173,  57,  58, 104,   0,   0,   0, 178,   0,   6,  61,   4,  62,  -2,  -2,  -2,  -2,  -2,  -2,  69,  -2,  71,  74,   0,  59,   0,   0,   7,   0, 158,   0, 136, 133, 134, 135, 137, 138,   0,  46, 142,   0, 145,   0,   0, 153,   0,   0,   0,   0,  93,   0,   0,   0,  36,   0,  25, 108, 112, 114,   0,  11, 119,  91, 122, 126,   0, 174,  31,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  56,   0,   0,   0,  40,  41,   0, 179,   0,  73,   0,   8,  79,  78, 132,   0, 175, 143, 146, 152,   0,   0,   0, 165,   0,   0,   0,  96,   0,   0,  12, 117,  92,  26,   0,  21,  97,  99, 100, 101,  81,   0,  84,   0,  50,  51,  52,  -2,  54,  48,   0, 184,  42,   0,  60,  72,  47,   0,  93,  93,   0,   0,   0,   0,   0,  38,   0,   0,  26,   0,  98,   0,   0,   0, 103,   0, 180, 156, 157, 159, 160,   0, 164, 167,   0, 168,   0,   0, 172,   0,   0,  -2,  17,   0,  55,  49,   0,   0,  93,   0,   0,   0,   0,  26,   0,   0,   0, 162, 163, 169, 170, 171,   0,  -2,  15,  18,  43, 113,   0,   0,  13,  16,   0,  14};short	yytok1[] ={   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, 104,   0,   0,  13,  17, 103, 101,  11, 102,   0,  16,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  94,  15,   0,   0,   0,  93,   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,  19,   0,  20,   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,  12,  14,  18};short	yytok2[] ={   2,   3,   4,   5,   6,   7,   8,   9,  10,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,  95,  96,  97,  98,  99, 100, 105, 106, 107, 108, 109, 110, 111};long	yytok3[] ={   0};#define YYFLAG 		-1000#define YYERROR		goto yyerrlab#define YYACCEPT	return(0)#define YYABORT		return(1)#define	yyclearin	yychar = -1#define	yyerrok		yyerrflag = 0#ifdef	yydebug#include	"y.debug"#else#define	yydebug		0char*	yytoknames[1];		/* for debugging */char*	yystates[1];		/* for debugging */#endif/*	parser for yacc output	*/int	yynerrs = 0;		/* number of errors */int	yyerrflag = 0;		/* error recovery flag */extern	int	fprint(int, char*, ...);extern	int	sprint(char*, char*, ...);char*yytokname(int yyc){	static char x[10];	if(yyc > 0 && yyc <= sizeof(yytoknames)/sizeof(yytoknames[0]))	if(yytoknames[yyc-1])		return yytoknames[yyc-1];	sprintf(x, "<%d>", yyc);	return x;}char*yystatname(int yys){	static char x[10];	if(yys >= 0 && yys < sizeof(yystates)/sizeof(yystates[0]))	if(yystates[yys])		return yystates[yys];	sprintf(x, "<%d>\n", yys);	return x;}longyylex1(void){	long yychar;	long *t3p;	int c;	yychar = yylex();	if(yychar <= 0) {		c = yytok1[0];		goto out;	}	if(yychar < sizeof(yytok1)/sizeof(yytok1[0])) {		c = yytok1[yychar];		goto out;	}	if(yychar >= YYPRIVATE)		if(yychar < YYPRIVATE+sizeof(yytok2)/sizeof(yytok2[0])) {			c = yytok2[yychar-YYPRIVATE];			goto out;		}	for(t3p=yytok3;; t3p+=2) {		c = t3p[0];		if(c == yychar) {			c = t3p[1];			goto out;		}		if(c == 0)			break;	}	c = 0;out:	if(c == 0)		c = yytok2[1];	/* unknown char */	if(yydebug >= 3)		printf("lex %.4lX %s\n", yychar, yytokname(c));	return c;}intyyparse(void){	struct	{		YYSTYPE	yyv;		int	yys;	} yys[YYMAXDEPTH], *yyp, *yypt;	short *yyxi;	int yyj, yym, yystate, yyn, yyg;	YYSTYPE save1, save2;	int save3, save4;	long yychar;	save1 = yylval;	save2 = yyval;	save3 = yynerrs;	save4 = yyerrflag;	yystate = 0;	yychar = -1;	yynerrs = 0;	yyerrflag = 0;	yyp = &yys[-1];	goto yystack;ret0:	yyn = 0;	goto ret;ret1:	yyn = 1;	goto ret;ret:	yylval = save1;	yyval = save2;	yynerrs = save3;	yyerrflag = save4;	return yyn;yystack:	/* put a state and value onto the stack */	if(yydebug >= 4)		printf("char %s in %s", yytokname(yychar), yystatname(yystate));	yyp++;	if(yyp >= &yys[YYMAXDEPTH]) { 		yyerror("yacc stack overflow"); 		goto ret1; 	}	yyp->yys = yystate;	yyp->yyv = yyval;yynewstate:	yyn = yypact[yystate];	if(yyn <= YYFLAG)		goto yydefault; /* simple state */	if(yychar < 0)		yychar = yylex1();	yyn += yychar;	if(yyn < 0 || yyn >= YYLAST)		goto yydefault;	yyn = yyact[yyn];	if(yychk[yyn] == yychar) { /* valid shift */		yychar = -1;		yyval = yylval;		yystate = yyn;		if(yyerrflag > 0)			yyerrflag--;		goto yystack;	}yydefault:	/* default state action */	yyn = yydef[yystate];	if(yyn == -2) {		if(yychar < 0)			yychar = yylex1();		/* look through exception table */		for(yyxi=yyexca;; yyxi+=2)			if(yyxi[0] == -1 && yyxi[1] == yystate)				break;		for(yyxi += 2;; yyxi += 2) {			yyn = yyxi[0];			if(yyn < 0 || yyn == yychar)				break;		}		yyn = yyxi[1];		if(yyn < 0)			goto ret0;	}	if(yyn == 0) {		/* error ... attempt to resume parsing */		switch(yyerrflag) {		case 0:   /* brand new error */			yyerror("syntax error");			if(yydebug >= 1) {				printf("%s", yystatname(yystate));				printf("saw %s\n", yytokname(yychar));			}yyerrlab:			yynerrs++;		case 1:		case 2: /* incompletely recovered error ... try again */			yyerrflag = 3;			/* find a state where "error" is a legal shift action */			while(yyp >= yys) {				yyn = yypact[yyp->yys] + YYERRCODE;				if(yyn >= 0 && yyn < YYLAST) {					yystate = yyact[yyn];  /* simulate a shift of "error" */					if(yychk[yystate] == YYERRCODE)						goto yystack;				}				/* the current yyp has no shift onn "error", pop stack */				if(yydebug >= 2)					printf("error recovery pops state %d, uncovers %d\n",						yyp->yys, (yyp-1)->yys );				yyp--;			}			/* there is no state on the stack with an error shift ... abort */			goto ret1;		case 3:  /* no shift yet; clobber input char */			if(yydebug >= YYEOFCODE)				printf("error recovery discards %s\n", yytokname(yychar));			if(yychar == YYEOFCODE)				goto ret1;			yychar = -1;			goto yynewstate;   /* try again in the same state */		}	}	/* reduction by production yyn */	if(yydebug >= 2)		printf("reduce %d in:\n\t%s", yyn, yystatname(yystate));	yypt = yyp;	yyp -= yyr2[yyn];	yyval = (yyp+1)->yyv;	yym = yyn;	/* consult goto table to find next state */	yyn = yyr1[yyn];	yyg = yypgo[yyn];	yyj = yyg + yyp->yys + 1;	if(yyj >= YYLAST || yychk[yystate=yyact[yyj]] != -yyn)		yystate = yyact[yyg];	switch(yym) {		case 1:#line	98	"/n/bopp/v7/bwk/temp/awkgram.y"{ if (errorflag==0)			winner = (Node *)stat3(PROGRAM, beginloc, yypt[-0].yyv.p, endloc); } break;case 2:#line	100	"/n/bopp/v7/bwk/temp/awkgram.y"{ yyclearin; bracecheck(); SYNTAX("bailing out"); } break;case 13:#line	124	"/n/bopp/v7/bwk/temp/awkgram.y"{inloop++;} break;case 14:#line	125	"/n/bopp/v7/bwk/temp/awkgram.y"{ --inloop; yyval.p = stat4(FOR, yypt[-9].yyv.p, notnull(yypt[-6].yyv.p), yypt[-3].yyv.p, yypt[-0].yyv.p); } break;case 15:#line	126	"/n/bopp/v7/bwk/temp/awkgram.y"{inloop++;} break;case 16:#line	127	"/n/bopp/v7/bwk/temp/awkgram.y"{ --inloop; yyval.p = stat4(FOR, yypt[-7].yyv.p, NIL, yypt[-3].yyv.p, yypt[-0].yyv.p); } break;case 17:#line	128	"/n/bopp/v7/bwk/temp/awkgram.y"{inloop++;} break;case 18:#line	129	"/n/bopp/v7/bwk/temp/awkgram.y"{ --inloop; yyval.p = stat3(IN, yypt[-5].yyv.p, makearr(yypt[-3].yyv.p), yypt[-0].yyv.p); } break;case 19:#line	133	"/n/bopp/v7/bwk/temp/awkgram.y"{ setfname(yypt[-0].yyv.cp); } break;case 20:#line	134	"/n/bopp/v7/bwk/temp/awkgram.y"{ setfname(yypt[-0].yyv.cp); } break;case 21:#line	138	"/n/bopp/v7/bwk/temp/awkgram.y"{ yyval.p = notnull(yypt[-1].yyv.p); } break;case 26:#line	150	"/n/bopp/v7/bwk/temp/awkgram.y"{ yyval.i = 0; } break;case 28:#line	155	"/n/bopp/v7/bwk/temp/awkgram.y"{ yyval.i = 0; } break;case 30:#line	161	"/n/bopp/v7/bwk/temp/awkgram.y"{ yyval.p = 0; } break;case 32:#line	166	"/n/bopp/v7/bwk/temp/awkgram.y"{ yyval.p = 0; } break;case 33:#line	167	"/n/bopp/v7/bwk/temp/awkgram.y"{ yyval.p = yypt[-1].yyv.p; } break;case 34:#line	171	"/n/bopp/v7/bwk/temp/awkgram.y"{ yyval.p = notnull(yypt[-0].yyv.p); } break;case 35:

⌨️ 快捷键说明

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