亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ftp.tab.c

?? 伯克利的語法分析器的創建工具
?? C
?? 第 1 頁 / 共 3 頁
字號:
			if (cpos == 0)				cpos = 4;			c = cbuf[cpos];			cbuf[cpos] = '\0';			upper(cbuf);			p = lookup(cmdtab, cbuf);			cbuf[cpos] = c;			if (p != 0) {				if (p->implemented == 0) {					nack(p->name);					longjmp(errcatch,0);					/* NOTREACHED */				}				state = p->state;				*(char **)&yylval = p->name;				return (p->token);			}			break;		case SITECMD:			if (cbuf[cpos] == ' ') {				cpos++;				return (SP);			}			cp = &cbuf[cpos];			if ((cp2 = strpbrk(cp, " \n")))				cpos = cp2 - cbuf;			c = cbuf[cpos];			cbuf[cpos] = '\0';			upper(cp);			p = lookup(sitetab, cp);			cbuf[cpos] = c;			if (p != 0) {				if (p->implemented == 0) {					state = CMD;					nack(p->name);					longjmp(errcatch,0);					/* NOTREACHED */				}				state = p->state;				*(char **)&yylval = p->name;				return (p->token);			}			state = CMD;			break;		case OSTR:			if (cbuf[cpos] == '\n') {				state = CMD;				return (CRLF);			}			/* FALLTHROUGH */		case STR1:		case ZSTR1:		dostr1:			if (cbuf[cpos] == ' ') {				cpos++;				state = state == OSTR ? STR2 : ++state;				return (SP);			}			break;		case ZSTR2:			if (cbuf[cpos] == '\n') {				state = CMD;				return (CRLF);			}			/* FALLTHROUGH */		case STR2:			cp = &cbuf[cpos];			n = strlen(cp);			cpos += n - 1;			/*			 * Make sure the string is nonempty and \n terminated.			 */			if (n > 1 && cbuf[cpos] == '\n') {				cbuf[cpos] = '\0';				*(char **)&yylval = copy(cp);				cbuf[cpos] = '\n';				state = ARGS;				return (STRING);			}			break;		case NSTR:			if (cbuf[cpos] == ' ') {				cpos++;				return (SP);			}			if (isdigit(cbuf[cpos])) {				cp = &cbuf[cpos];				while (isdigit(cbuf[++cpos]))					;				c = cbuf[cpos];				cbuf[cpos] = '\0';				yylval = atoi(cp);				cbuf[cpos] = c;				state = STR1;				return (NUMBER);			}			state = STR1;			goto dostr1;		case ARGS:			if (isdigit(cbuf[cpos])) {				cp = &cbuf[cpos];				while (isdigit(cbuf[++cpos]))					;				c = cbuf[cpos];				cbuf[cpos] = '\0';				yylval = atoi(cp);				cbuf[cpos] = c;				return (NUMBER);			}			switch (cbuf[cpos++]) {			case '\n':				state = CMD;				return (CRLF);			case ' ':				return (SP);			case ',':				return (COMMA);			case 'A':			case 'a':				return (A);			case 'B':			case 'b':				return (B);			case 'C':			case 'c':				return (C);			case 'E':			case 'e':				return (E);			case 'F':			case 'f':				return (F);			case 'I':			case 'i':				return (I);			case 'L':			case 'l':				return (L);			case 'N':			case 'n':				return (N);			case 'P':			case 'p':				return (P);			case 'R':			case 'r':				return (R);			case 'S':			case 's':				return (S);			case 'T':			case 't':				return (T);			}			break;		default:			fatal("Unknown state in scanner.");		}		yyerror((char *) 0);		state = CMD;		longjmp(errcatch,0);	}}upper(s)	register char *s;{	while (*s != '\0') {		if (islower(*s))			*s = toupper(*s);		s++;	}}char *copy(s)	char *s;{	char *p;	extern char *malloc(), *strcpy();	p = malloc((unsigned) strlen(s) + 1);	if (p == NULL)		fatal("Ran out of memory.");	(void) strcpy(p, s);	return (p);}help(ctab, s)	struct tab *ctab;	char *s;{	register struct tab *c;	register int width, NCMDS;	char *type;	if (ctab == sitetab)		type = "SITE ";	else		type = "";	width = 0, NCMDS = 0;	for (c = ctab; c->name != NULL; c++) {		int len = strlen(c->name);		if (len > width)			width = len;		NCMDS++;	}	width = (width + 8) &~ 7;	if (s == 0) {		register int i, j, w;		int columns, lines;		lreply(214, "The following %scommands are recognized %s.",		    type, "(* =>'s unimplemented)");		columns = 76 / width;		if (columns == 0)			columns = 1;		lines = (NCMDS + columns - 1) / columns;		for (i = 0; i < lines; i++) {			printf("   ");			for (j = 0; j < columns; j++) {				c = ctab + j * lines + i;				printf("%s%c", c->name,					c->implemented ? ' ' : '*');				if (c + lines >= &ctab[NCMDS])					break;				w = strlen(c->name) + 1;				while (w < width) {					putchar(' ');					w++;				}			}			printf("\r\n");		}		(void) fflush(stdout);		reply(214, "Direct comments to ftp-bugs@%s.", hostname);		return;	}	upper(s);	c = lookup(ctab, s);	if (c == (struct tab *)0) {		reply(502, "Unknown command %s.", s);		return;	}	if (c->implemented)		reply(214, "Syntax: %s%s %s", type, c->name, c->help);	else		reply(214, "%s%-*s\t%s; unimplemented.", type, width,		    c->name, c->help);}sizecmd(filename)char *filename;{	switch (type) {	case TYPE_L:	case TYPE_I: {		struct stat stbuf;		if (stat(filename, &stbuf) < 0 ||		    (stbuf.st_mode&S_IFMT) != S_IFREG)			reply(550, "%s: not a plain file.", filename);		else			reply(213, "%lu", stbuf.st_size);		break;}	case TYPE_A: {		FILE *fin;		register int c, count;		struct stat stbuf;		fin = fopen(filename, "r");		if (fin == NULL) {			perror_reply(550, filename);			return;		}		if (fstat(fileno(fin), &stbuf) < 0 ||		    (stbuf.st_mode&S_IFMT) != S_IFREG) {			reply(550, "%s: not a plain file.", filename);			(void) fclose(fin);			return;		}		count = 0;		while((c=getc(fin)) != EOF) {			if (c == '\n')	/* will get expanded to \r\n */				count++;			count++;		}		(void) fclose(fin);		reply(213, "%ld", count);		break;}	default:		reply(504, "SIZE not implemented for Type %c.", "?AEIL"[type]);	}}#line 899 "ftp.tab.c"#define YYABORT goto yyabort#define YYACCEPT goto yyaccept#define YYERROR goto yyerrlabintyyparse(){    register int yym, yyn, yystate;#if YYDEBUG    register char *yys;    extern char *getenv();    if (yys = getenv("YYDEBUG"))    {        yyn = *yys;        if (yyn >= '0' && yyn <= '9')            yydebug = yyn - '0';    }#endif    yynerrs = 0;    yyerrflag = 0;    yychar = (-1);    yyssp = yyss;    yyvsp = yyvs;    *yyssp = yystate = 0;yyloop:    if (yyn = yydefred[yystate]) goto yyreduce;    if (yychar < 0)    {        if ((yychar = yylex()) < 0) yychar = 0;#if YYDEBUG        if (yydebug)        {            yys = 0;            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];            if (!yys) yys = "illegal-symbol";            printf("yydebug: state %d, reading %d (%s)\n", yystate,                    yychar, yys);        }#endif    }    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)    {#if YYDEBUG        if (yydebug)            printf("yydebug: state %d, shifting to state %d\n",                    yystate, yytable[yyn]);#endif        if (yyssp >= yyss + yystacksize - 1)        {            goto yyoverflow;        }        *++yyssp = yystate = yytable[yyn];        *++yyvsp = yylval;        yychar = (-1);        if (yyerrflag > 0)  --yyerrflag;        goto yyloop;    }    if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)    {        yyn = yytable[yyn];        goto yyreduce;    }    if (yyerrflag) goto yyinrecovery;#ifdef lint    goto yynewerror;#endifyynewerror:    yyerror("syntax error");#ifdef lint    goto yyerrlab;#endifyyerrlab:    ++yynerrs;yyinrecovery:    if (yyerrflag < 3)    {        yyerrflag = 3;        for (;;)        {            if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&                    yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)            {#if YYDEBUG                if (yydebug)                    printf("yydebug: state %d, error recovery shifting\ to state %d\n", *yyssp, yytable[yyn]);#endif                if (yyssp >= yyss + yystacksize - 1)                {                    goto yyoverflow;                }                *++yyssp = yystate = yytable[yyn];                *++yyvsp = yylval;                goto yyloop;            }            else            {#if YYDEBUG                if (yydebug)                    printf("yydebug: error recovery discarding state %d\n",                            *yyssp);#endif                if (yyssp <= yyss) goto yyabort;                --yyssp;                --yyvsp;            }        }    }    else    {        if (yychar == 0) goto yyabort;#if YYDEBUG        if (yydebug)        {            yys = 0;            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];            if (!yys) yys = "illegal-symbol";            printf("yydebug: state %d, error recovery discards token %d (%s)\n",                    yystate, yychar, yys);        }#endif        yychar = (-1);        goto yyloop;    }yyreduce:#if YYDEBUG    if (yydebug)        printf("yydebug: state %d, reducing by rule %d (%s)\n",                yystate, yyn, yyrule[yyn]);#endif    yym = yylen[yyn];    yyval = yyvsp[1-yym];    switch (yyn)    {case 2:#line 99 "ftp.y" {			fromname = (char *) 0;		}break;case 4:#line 106 "ftp.y" {			user((char *) yyvsp[-1]);			free((char *) yyvsp[-1]);		}break;case 5:#line 111 "ftp.y" {			pass((char *) yyvsp[-1]);			free((char *) yyvsp[-1]);		}break;case 6:#line 116 "ftp.y" {			usedefault = 0;			if (pdata >= 0) {				(void) close(pdata);				pdata = -1;			}			reply(200, "PORT command successful.");		}break;case 7:#line 125 "ftp.y" {			passive();		}break;case 8:#line 129 "ftp.y" {			switch (cmd_type) {			case TYPE_A:				if (cmd_form == FORM_N) {					reply(200, "Type set to A.");					type = cmd_type;					form = cmd_form;				} else					reply(504, "Form must be N.");				break;			case TYPE_E:				reply(504, "Type E not implemented.");				break;			case TYPE_I:				reply(200, "Type set to I.");				type = cmd_type;				break;			case TYPE_L:#if NBBY == 8				if (cmd_bytesz == 8) {					reply(200,					    "Type set to L (byte size 8).");					type = cmd_type;				} else					reply(504, "Byte size must be 8.");#else /* NBBY == 8 */				UNIMPLEMENTED for NBBY != 8#endif /* NBBY == 8 */			}		}break;case 9:#line 164 "ftp.y" {			switch (yyvsp[-1]) {			case STRU_F:				reply(200, "STRU F ok.");				break;			default:				reply(504, "Unimplemented STRU type.");			}		}break;case 10:#line 176 "ftp.y" {			switch (yyvsp[-1]) {			case MODE_S:				reply(200, "MODE S ok.");				break;			default:				reply(502, "Unimplemented MODE type.");			}		}break;case 11:#line 188 "ftp.y" {			reply(202, "ALLO command ignored.");		}break;case 12:#line 192 "ftp.y" {			reply(202, "ALLO command ignored.");		}break;case 13:#line 196 "ftp.y" {			if (yyvsp[-3] && yyvsp[-1] != NULL)				retrieve((char *) 0, (char *) yyvsp[-1]);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级高清片在线观看| 一区二区视频在线看| 国产精品美女久久久久久久久久久| 亚洲色图欧洲色图| 精品一区精品二区高清| 99久久免费视频.com| 精品99999| 亚洲国产日韩av| 成人在线一区二区三区| 欧美麻豆精品久久久久久| 国产精品毛片久久久久久| 久久精品理论片| 在线观看中文字幕不卡| 国产精品久久久久一区| 青青国产91久久久久久| 色婷婷激情一区二区三区| 久久精品亚洲精品国产欧美kt∨ | 久久久美女艺术照精彩视频福利播放| 亚洲日穴在线视频| 成人激情免费视频| 久久色视频免费观看| 日韩成人av影视| 欧美性受xxxx黑人xyx| 国产精品乱码人人做人人爱| 国内成人自拍视频| 在线不卡欧美精品一区二区三区| 亚洲欧美经典视频| 99久久久国产精品| 国产精品欧美经典| 国产 欧美在线| 国产免费成人在线视频| 激情图区综合网| 精品少妇一区二区三区| 久久国内精品自在自线400部| 欧美日韩aaaaaa| 香蕉乱码成人久久天堂爱免费| 91福利社在线观看| 一区二区三区在线高清| 欧美视频在线播放| 日韩精品电影一区亚洲| 欧美伦理视频网站| 美女爽到高潮91| 亚洲精品一区二区精华| 国产精品一二一区| 国产精品系列在线| 一本大道av伊人久久综合| 亚洲免费在线电影| 欧美视频在线一区二区三区 | 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 在线成人午夜影院| 久久精品国产久精国产| 欧美va亚洲va在线观看蝴蝶网| 久久99国产精品久久99| 国产欧美日韩在线| 91丨九色porny丨蝌蚪| 一区二区三区精品在线观看| 欧美色国产精品| 久久精品国产99| 亚洲国产精华液网站w| 9l国产精品久久久久麻豆| 亚洲国产成人av| 精品久久久久久久一区二区蜜臀| 国产丶欧美丶日本不卡视频| 一区精品在线播放| 欧美狂野另类xxxxoooo| 另类小说欧美激情| 国产精品美女久久久久aⅴ| 色婷婷综合久久久中文字幕| 偷窥国产亚洲免费视频| 国产日韩欧美精品在线| 色一区在线观看| 日本亚洲欧美天堂免费| 欧美韩国日本综合| 91精品国产色综合久久ai换脸 | 国产色产综合色产在线视频| 99久久精品99国产精品| 久久精品国产一区二区三 | 欧美草草影院在线视频| 91亚洲资源网| 国内一区二区在线| 亚洲一区二区三区四区五区中文| 久久综合999| 8x8x8国产精品| 91免费国产视频网站| 国产精品一区专区| 麻豆精品在线看| 一区二区三区在线影院| 久久久精品中文字幕麻豆发布| av福利精品导航| 国产精品女上位| 精品成人佐山爱一区二区| 一本色道久久综合精品竹菊| 奇米四色…亚洲| 国产精品电影一区二区| 91超碰这里只有精品国产| 狠狠色丁香久久婷婷综| 亚洲一区二区在线免费看| 久久综合久久综合久久综合| 欧美亚州韩日在线看免费版国语版| 国产精品影视在线观看| 三级一区在线视频先锋| 日韩久久一区二区| 亚洲精品一区二区三区影院| 欧洲av一区二区嗯嗯嗯啊| 国产二区国产一区在线观看| 五月激情六月综合| 亚洲婷婷国产精品电影人久久| 日韩视频在线一区二区| 91年精品国产| 国产99久久精品| 久久99国产精品免费网站| 亚洲男同性视频| 亚洲视频一区在线| 国产欧美一区二区精品性色超碰| 7777精品伊人久久久大香线蕉经典版下载 | 99久久777色| 国产乱码精品1区2区3区| 一区二区三区在线视频观看58 | 国产精品家庭影院| 国产亚洲欧美色| 2023国产精品自拍| 日韩欧美精品三级| 欧洲av一区二区嗯嗯嗯啊| 欧美三级电影在线看| 粉嫩aⅴ一区二区三区四区五区| 黄页网站大全一区二区| 日本不卡123| 五月婷婷另类国产| 婷婷久久综合九色综合绿巨人| 亚洲精品久久7777| 亚洲高清久久久| 五月天婷婷综合| 午夜成人在线视频| 石原莉奈在线亚洲二区| 丝袜美腿亚洲一区| 亚洲欧美色一区| 免费在线观看一区二区三区| 日产国产高清一区二区三区| 五月婷婷欧美视频| 麻豆91在线看| 韩国v欧美v亚洲v日本v| 久久99精品久久久久久国产越南| 国产很黄免费观看久久| 国产成人av电影在线播放| 国产激情精品久久久第一区二区 | 一区二区三区资源| 亚洲精品成a人| 亚洲美女视频一区| 视频在线观看91| 久久精品国产秦先生| 国产乱码精品一区二区三区av | 视频一区二区欧美| 久久精品99久久久| 色综合久久久网| 欧美日韩一区在线| 精品婷婷伊人一区三区三| 91同城在线观看| 91精品国产一区二区| 久久一夜天堂av一区二区三区| 国产精品国产自产拍高清av| 亚洲大片免费看| 蜜臀久久99精品久久久画质超高清| 丁香一区二区三区| 欧美在线三级电影| 日韩精品在线一区| 中文字幕日本不卡| 亚洲欧美日韩国产成人精品影院| 奇米亚洲午夜久久精品| 成人性生交大合| 欧美日韩国产综合久久| 久久久久国产精品人| 亚洲一卡二卡三卡四卡五卡| 成人a级免费电影| 91精品国产欧美一区二区| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产精品久久免费看| 天天射综合影视| 成人综合婷婷国产精品久久免费| 色综合久久久久久久久久久| 久久久精品蜜桃| 欧美aⅴ一区二区三区视频| 高清不卡一二三区| 91精品国产麻豆| 1区2区3区精品视频| 福利91精品一区二区三区| 欧美日韩第一区日日骚| 国产精品毛片无遮挡高清| 蜜桃视频免费观看一区| 91丨porny丨户外露出| 国产欧美日韩卡一| 久久国产精品区| 欧美性欧美巨大黑白大战| 中文字幕免费不卡| 久久91精品久久久久久秒播| 欧美日韩一区二区三区四区| 国产精品久久久久一区二区三区| 盗摄精品av一区二区三区| 在线不卡中文字幕播放| 国产日韩欧美精品一区| 国产福利一区二区三区视频|