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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ftp.tab.c

?? Berkeley的YACC詞法/語法分析器
?? C
?? 第 1 頁 / 共 3 頁
字號:
				*cp++ = '\n';				*cp = '\0';			}			if ((cp = strpbrk(cbuf, " \n")))				cpos = cp - cbuf;			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 908 "ftp.tab.c"#define YYABORT goto yyabort#define YYREJECT 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("%sdebug: state %d, reading %d (%s)\n",                    YYPREFIX, yystate, yychar, yys);        }#endif    }    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)    {#if YYDEBUG        if (yydebug)            printf("%sdebug: state %d, shifting to state %d\n",                    YYPREFIX, 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("%sdebug: state %d, error recovery shifting\ to state %d\n", YYPREFIX, *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("%sdebug: error recovery discarding state %d\n",                            YYPREFIX, *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("%sdebug: state %d, error recovery discards token %d (%s)\n",                    YYPREFIX, yystate, yychar, yys);        }#endif        yychar = (-1);        goto yyloop;    }yyreduce:#if YYDEBUG    if (yydebug)        printf("%sdebug: state %d, reducing by rule %d (%s)\n",                YYPREFIX, 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" {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美一级免费| 日本高清不卡视频| 久久久久免费观看| 国产精品一线二线三线| 国产欧美一二三区| 99精品黄色片免费大全| 亚洲日本欧美天堂| 欧美影院精品一区| 全国精品久久少妇| 欧美经典一区二区| 91免费看`日韩一区二区| 亚洲一区二区三区视频在线| 欧美精品一卡二卡| 国产一区二区视频在线播放| 国产精品免费aⅴ片在线观看| 91亚洲男人天堂| 水野朝阳av一区二区三区| 亚洲一区二区三区激情| 欧美一区二区三区四区久久 | 午夜视频久久久久久| 欧美一卡二卡三卡| 国产不卡视频在线观看| 亚洲精品ww久久久久久p站| 6080午夜不卡| 国产91富婆露脸刺激对白| 一区二区三区欧美视频| 精品国免费一区二区三区| gogo大胆日本视频一区| 日韩成人免费电影| 国产精品国产精品国产专区不蜜 | 亚洲国产精品一区二区www| 日韩三级在线观看| 91一区二区三区在线播放| 蜜桃av一区二区| 自拍偷拍国产精品| 精品国产sm最大网站免费看| 91丝袜美腿高跟国产极品老师| 秋霞午夜鲁丝一区二区老狼| 中文字幕亚洲一区二区av在线 | 91免费精品国自产拍在线不卡| 日韩电影在线看| 亚洲欧洲日韩在线| 亚洲精品在线三区| 欧美精品日韩一区| 成人h动漫精品一区二区| 奇米影视在线99精品| 自拍偷拍亚洲欧美日韩| 久久久久久久综合狠狠综合| 欧美日韩国产精选| 色综合天天综合网天天狠天天| 日韩成人午夜精品| 亚洲一二三四区不卡| 国产精品素人一区二区| 日韩视频免费观看高清在线视频| 一本色道a无线码一区v| 成人黄色电影在线 | 久久久激情视频| 日韩精品一区二区三区中文不卡| 日本乱码高清不卡字幕| 成人黄页毛片网站| 国产成人在线视频播放| 精品一区二区三区在线视频| 视频一区在线视频| 亚洲成av人片在线| 午夜不卡av免费| 亚洲一区二区av电影| 一区二区三区鲁丝不卡| 国产精品高潮呻吟| 国产精品久久综合| 麻豆高清免费国产一区| 亚洲高清视频在线| 亚洲国产人成综合网站| 亚洲资源中文字幕| 亚洲午夜影视影院在线观看| 一级做a爱片久久| 一区二区三区精品视频在线| 亚洲美女免费视频| 亚洲色图在线播放| 亚洲日本在线视频观看| 一区二区三区在线看| 亚洲欧美一区二区三区久本道91| 自拍av一区二区三区| 亚洲手机成人高清视频| 亚洲美女免费视频| 亚洲成a人在线观看| 亚洲h动漫在线| 日韩不卡免费视频| 国产在线麻豆精品观看| 国产成人精品一区二区三区网站观看 | 国产麻豆精品theporn| 国产精品白丝jk白祙喷水网站| 国产成人综合在线| 9i在线看片成人免费| 日本韩国一区二区| 欧美日本一道本| 精品剧情在线观看| 日本一区二区三区久久久久久久久不 | 欧美另类videos死尸| 91麻豆精品久久久久蜜臀| 7777精品伊人久久久大香线蕉最新版| 制服丝袜在线91| 久久婷婷成人综合色| 中文字幕乱码日本亚洲一区二区 | 波多野结衣在线一区| 91一区在线观看| 欧美日韩国产精选| 精品嫩草影院久久| 国产精品麻豆久久久| 亚洲一区二区三区四区在线 | 亚洲免费高清视频在线| 五月婷婷久久丁香| 国产精品一二三区在线| 日本乱人伦一区| 精品国产一区二区亚洲人成毛片 | 精品欧美乱码久久久久久1区2区| 国产色91在线| 亚洲国产精品久久久久婷婷884 | 狠狠狠色丁香婷婷综合激情| 成人激情小说乱人伦| 6080午夜不卡| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲女性喷水在线观看一区| 日韩激情视频在线观看| 成人激情小说乱人伦| 制服丝袜国产精品| 1区2区3区欧美| 国产曰批免费观看久久久| 欧美色图片你懂的| 国产蜜臀97一区二区三区| 亚欧色一区w666天堂| 成人性视频网站| 日韩视频永久免费| 亚洲一区欧美一区| 国产成人免费在线观看| 91精品国产日韩91久久久久久| 国产精品国产三级国产aⅴ无密码| 六月丁香综合在线视频| 91黄色免费网站| 国产精品初高中害羞小美女文| 美女一区二区视频| 日本韩国一区二区三区| 国产亚洲成年网址在线观看| 日本成人在线电影网| 91久久久免费一区二区| 国产精品久久久久aaaa樱花 | 韩国成人在线视频| 欧美日韩综合一区| 亚洲婷婷国产精品电影人久久| 国产乱码一区二区三区| 欧美一级一级性生活免费录像| 一区二区三区四区乱视频| 波多野结衣中文一区| 久久久久久久久久久久久久久99| 日韩av一区二区在线影视| 欧美中文字幕一区二区三区| 中文av一区二区| 国产成人福利片| 久久综合中文字幕| 麻豆91免费观看| 91精品国产福利| 奇米影视在线99精品| 欧美日韩成人一区| 性久久久久久久| 亚洲免费伊人电影| 成人av电影免费在线播放| 欧美激情在线观看视频免费| 国模娜娜一区二区三区| 精品久久一二三区| 激情五月激情综合网| 精品va天堂亚洲国产| 国产毛片精品国产一区二区三区| 精品国产制服丝袜高跟| 国产在线日韩欧美| 亚洲国产精品精华液ab| 成人激情文学综合网| 18成人在线观看| 在线精品视频免费播放| 一区二区三区加勒比av| 欧美日韩三级一区二区| 亚洲高清中文字幕| 日韩欧美黄色影院| 国产美女久久久久| 国产精品理论片| 在线欧美日韩精品| 日av在线不卡| 日本一区二区三区在线不卡| www.亚洲在线| 亚洲成av人**亚洲成av**| 日韩一级片网站| 国产盗摄一区二区| 亚洲色图在线看| 7777女厕盗摄久久久| 国产激情一区二区三区桃花岛亚洲| 国产无一区二区| 欧美在线观看18| 久久99九九99精品| 国产精品国产三级国产aⅴ原创 | 欧美日韩免费视频| 卡一卡二国产精品| 国产精品理论在线观看|