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

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

?? lex.c

?? 非常好的源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
		cp += 1;
	}
	else if (base == 10 && n > (unsigned) LONG_MAX)
		tval.type = unsignedlong;
	else if (n > (unsigned) INT_MAX)
		tval.type = unsignedtype;
	else
		tval.type = inttype;
	if (overflow) {
		warning(StrTab[190], token, // <overflow in constant `%S'\n>
				(char *) cp - token);
		n = LONG_MAX;
	}
	if (isunsigned(tval.type))
		tval.u.c.v.u = n;
	else
		tval.u.c.v.i = n;
	ppnumber(StrTab[191]);      // <integer>
	return &tval;
}
static void ppnumber(char *which)
{
	unsigned char *rcp = cp--;
	for (; (map[*cp] & (DIGIT | LETTER)) || *cp == '.'; cp++)
		if ((cp[0] == 'E' || cp[0] == 'e')
				&& (cp[1] == '-' || cp[1] == '+'))
			cp++;
	if (cp > rcp)
		error(StrTab[192], token,   // <`%S' is a preprocessing number but an invalid %s constant\n>
			(char *) cp - token, which);
}
static Symbol fcon(void)
{
	if (*cp == '.')
		do
			cp++;
		while (map[*cp] & DIGIT);
	if (*cp == 'e' || *cp == 'E') {
		if (*++cp == '-' || *cp == '+')
			cp++;
		if (map[*cp] & DIGIT)
			do
				cp++;
			while (map[*cp] & DIGIT);
		else
		error(StrTab[193], token,   // <invalid floating constant `%S'\n>
			(char *) cp - token);
	}
	errno = 0;
	tval.u.c.v.d = strtod(token, NULL);
	if (errno == ERANGE)
		warning(StrTab[194], token, // <overflow in double constant `%S'\n>
				(char *) cp - token);
	if (*cp == 'f' || *cp == 'F') {
		++cp;
		if (tval.u.c.v.d > FLT_MAX) {
			warning(StrTab[195], token, // <overflow in floating constant `%S'\n>
					(char *) cp - token);
		}
		tval.type = floattype;
		tval.u.c.v.f = (float) tval.u.c.v.d;
	}
	else if (*cp == 'l' || *cp == 'L') {
		cp++;
		tval.type = longdouble;
	}
	else
		tval.type = doubletype;
	ppnumber(StrTab[196]);      // <floating>
	return &tval;
}
static int readString(int unicodeFlag)
{
	static char cbuf[BUFSIZE + 1];
	char *s = cbuf;
	int nbad = 0;
	*s++ = *--cp;
	do {
		cp++;
		while (*cp != cbuf[0]) {
			int c;
			if (map[*cp] & NEWLINE) {
				if (cp < limit)
					break;
				cp++;
				nextline();
				if (cp == limit)
					break;
				continue;
			}
			c = *cp++;
#ifdef JAPAN                    // DBCS (Shift-KIS) trap
			if (((0x80 < c) && (c <= 0x9f)) ||
					((0xe0 <= c) && (c <= 0xff))) {
				if (s < &cbuf[sizeof cbuf] - 3) {
					*s++ = (char) c;
					c = *cp++;
					*s++ = (char) c;
					continue;
				}
			}
#endif
			if (c == '\\') {
				if (map[*cp] & NEWLINE) {
					if (cp < limit)
						break;
					cp++;
					nextline();
				}
				if (limit - cp < MAXTOKEN)
					fillbuf();
				c = backslash(cbuf[0]);
			}
			else if (map[c] == 0)
				nbad++;
			if (s < &cbuf[sizeof cbuf] - 2)
				*s++ = (char) c;
		}
		if (*cp == cbuf[0])
			cp++;
		else
			error(StrTab[178], cbuf[0]);    // <missing %c\n>
	} while (cbuf[0] == '"' && getchr() == '"');
	*s++ = 0;
	if (s >= &cbuf[sizeof cbuf])
		error(StrTab[179],      // <%s literal too long\n>
			cbuf[0] == '"' ? StrTab[180] : "character"); // <string>
	if (Aflag >= 2 && cbuf[0] == '"' && s - cbuf - 1 > 509)
		warning(StrTab[182]);   // <more than 509 characters in a string literal\n>
	if (Aflag >= 2 && nbad)
		warning(StrTab[183],    // <%s literal contains non-portable characters\n>
				cbuf[0] == '"' ? StrTab[184] : "character");   // <string>
	token = cbuf;
	tsym = &tval;
	if (cbuf[0] == '"') {
		if (unicodeFlag) {
			unsigned short *pwcs = allocate(2 * (s - cbuf), PERM);
			int l = s - cbuf - 1;
			if (l > 0) {
				mbstowcs(pwcs, cbuf + 1, l - 1);
				pwcs[l - 1] = 0;
			}
			else
				pwcs[0] = 0;
			tval.type = array(unsignedshort, l, 0);
			tval.u.c.v.p = (unsigned char *) pwcs;
		}
		else {
			tval.type = array(chartype, s - cbuf - 1, 0);
			tval.u.c.v.p = cbuf + 1;
		}
		return SCON;
	}
	else {
		if (s - cbuf > 3)
			warning(StrTab[186], token, (char *) cp - token);   // <excess characters in multibyte character literal `%S' ignored\n>
		else if (s - cbuf <= 2)
			error(StrTab[187]); // <missing '\n>
		tval.type = inttype;
		tval.u.c.v.i = cbuf[1];
		return ICON;
	}
}
int getchr(void)
{
	register int c;
	for (;;) {
		c = *cp;
		while (map[c] & BLANK)
			c = *++cp;
		if (!(map[c] & NEWLINE)) {
			if (c == '_' && cp[1] == '_' && cp[2] == 't' &&
					cp[3] == 'r' && cp[4] == 'y') {
				unsigned char *oldcp = cp;
				cp += 5;
				c = getchr();
				cp = oldcp;
				return (c);
			}
			return c;
		}
		cp++;
		nextline();
		if (cp == limit)
			return EOI;
	}
}
static int backslash(int q)
{
	int c;
	switch (*cp++) {
	case 'a':
		return 7;
	case 'b':
		return '\b';
	case 'f':
		return '\f';
	case 'n':
		return '\n';
	case 'r':
		return '\r';
	case 't':
		return '\t';
	case 'v':
		return '\v';
	case '\'':
	case '"':
	case '\\':
	case '\?':
		break;
	case 'x':
		{
			int overflow = 0;
			if ((map[*cp] & (DIGIT | HEX)) == 0) {
				if (*cp < ' ' || *cp == 0177)
					error(StrTab[197]); // <ill-formed hexadecimal escape sequence\n>
				else
					error(StrTab[198], *cp);    // <ill-formed hexadecimal escape sequence `\\x%c'\n>
				if (*cp != q)
					cp++;
				return 0;
			}
			for (c = 0; map[*cp] & (DIGIT | HEX); cp++) {
				if (c & ~((unsigned) -1 >> 4))
					overflow++;
				if (map[*cp] & DIGIT)
					c = (c << 4) + *cp - '0';
				else
					c = (c << 4) + (*cp & ~040) - 'A' + 10;
			}
			if (c & ~0377 || overflow)
				warning(StrTab[199]);   // <overflow in hexadecimal escape sequence\n>
			return c & 0377;
		}
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
		c = *(cp - 1) - '0';
		if (*cp >= '0' && *cp <= '7') {
			c = (c << 3) + *cp++ - '0';
			if (*cp >= '0' && *cp <= '7')
				c = (c << 3) + *cp++ - '0';
		}
		if (c & ~0377)
			warning(StrTab[200]);   // <overflow in octal escape sequence\n>
		return c & 0377;
	default:
		if (cp[-1] < ' ' || cp[-1] >= 0177)
			warning(StrTab[201]);   // <unrecognized character escape sequence\n>
		else
			warning(StrTab[202], cp[-1]);   // <unrecognized character escape sequence `\\%c'\n>
	}
	return cp[-1];
}
static char packstack[32];
static char packstackptr = 0;
static double densitystack[32];
static char densitystackptr=0;
void ProcessPragmaDensity(void)
{
	t = gettok();
	if (t == '(') {
		t = gettok();
		if (t != FCON) {
			if (t != ')') {
				if (t == ID) {
					if (token[0] == 'p' && token[1] == 'u' &&
							token[2] == 's' && token[3] == 'h') {
						if (densitystackptr > 31) {
							error(StrTab[203]); // <Overflow in #pragma(push)\n>
							return;
						}
						densitystack[densitystackptr++] = density;
						t = gettok();
						if (t == ',') {
							t = gettok();
							if (t == FCON)
								goto suite;
						}
						else if (t == ')')
							return;
						else
							error(StrTab[204]); // <Syntax error in pragma <pack>\n>
						return;
					}
					else if (token[0] == 'p' && token[1] == 'o' &&
							token[2] == 'p') {
						t = gettok();
						if (densitystackptr < 1) {
							error(StrTab[205]); // <pragma pack(pop) stack underflow\n>
							return;
						}
						if (t != ')')
							error(StrTab[210]); // <pragma pack(pop) syntax error\n>
						densitystackptr--;
						density = densitystack[densitystackptr];
						return;
					}
				}
				warning(StrTab[436]);   // <Floating point constant expected in 'density' pragma. Ignored.>
				return;
			}
		}
		else {
	suite:
			density = tval.u.c.v.d;
			t = gettok();
			if (t != ')') {
				warning(StrTab[210]);   // <Incorrect syntax in pragma statement>
				return;
			}
		}
	}
	else {
		warning(StrTab[210]);   // <Incorrect syntax in pragma statement>
		return;
	}
}

void ProcessPragmaPack(void)
{
	int newAlignment;
	t = gettok();
	if (t == '(') {
		t = gettok();
		if (t != ICON) {
			if (t != ')') {
				if (t == ID) {
					if (token[0] == 'p' && token[1] == 'u' &&
							token[2] == 's' && token[3] == 'h') {
						if (packstackptr > 31) {
							error(StrTab[203]); // <Overflow in #pragma(push)\n>
							return;
						}
						packstack[packstackptr++] = DefaultAlignment;
						t = gettok();
						if (t == ',') {
							t = gettok();
							if (t == ICON)
								goto suite;
						}
						else if (t == ')')
							return;
						else
							error(StrTab[204]); // <Syntax error in pragma <pack>\n>
						return;
					}
					else if (token[0] == 'p' && token[1] == 'o' &&
							token[2] == 'p') {
						t = gettok();
						if (packstackptr < 1) {
							error(StrTab[205]); // <pragma pack(pop) stack underflow\n>
							return;
						}
						if (t != ')')
							error(StrTab[206]); // <pragma pack(pop) syntax error\n>
						packstackptr--;
						DefaultAlignment = packstack[packstackptr];
						return;
					}
				}
				warning(StrTab[207]);   // <Integer constant expected in 'pack' pragma. Ignored.>
				return;
			}
			newAlignment = 16;
		}
		else {
	suite:
			newAlignment = tval.u.c.v.i;
			t = gettok();
			if (t != ')') {
				warning(StrTab[208]);   // <Incorrect 'pragma pack' syntax>
				return;
			}
		}
		switch (newAlignment) {
		case 1:
			break;
		case 2:
			break;
		case 4:
			break;
		case 8:
			break;
		case 16:
			break;
		default:
			warning(StrTab[209], newAlignment); // <Illegal pragma pack(%d) ignored>
			return;
		}
	}
	else {
		warning(StrTab[210]);   // <Incorrect syntax in pragma statement>
		return;
	}
	DefaultAlignment = newAlignment;
}
void ProcessOptimize(void)
{
	int val;
	t = gettok();
	if (t == '(') {
		t = gettok();
		if (t != ICON) {
			if (t != ')') {
				warning(StrTab[211]);   // <Integer constant expected in 'optimize' pragma. Ignored.>
				return;
			}
			val = 0;
		}
		else {
			val = tval.u.c.v.i;
			t = gettok();
			if (t != ')') {
				warning(StrTab[212]);   // <Incorrect 'optimize' syntax>
				return;
			}
		}
		OptimizeFlag = val;
	}
	else {
		warning(StrTab[213]);   // <Incorrect syntax in pragma statement>
		return;
	}
}
void ProcessSection(void)
{
	char tmpbuf[40];
	t = gettok();
	if (t == '(') {
		t = gettok();
		if (t != SCON) {
			if (t != ')') {
				warning(StrTab[214]);   // <String constant expected in 'pack' pragma. Ignored.>
				return;
			}
			print(StrTab[215]); // <\tsection .text\n>
		}
		else {
			assert(tval.type);
			if (tval.type->size > 9) {
				warning(StrTab[216]);   // <Section name too long. Max. 8 chars. Ignored.>
				return;
			}
			sprintf(tmpbuf, "\t.section %s\n", tval.u.c.v.p);
			t = gettok();
			if (t != ')') {
				warning(StrTab[217]);   // <Incorrect 'pragma section' syntax>
				return;
			}
			print(tmpbuf);
		}
	}
	else {
		warning(StrTab[218]);   // <Incorrect syntax in pragma statement>
		return;
	}
}
int getTvalValue(void)
{
	return (tval.u.c.v.i);
}
int getLevel(void)
{
	return (statementLevel);
}

static int doDeclSpec(void)
{
	t = gettok();
	if (t != '(') goto errout;
	t = gettok();
	if (t != ID) goto errout;
	if (!strcmp(token,"dllexport")) {
		t = gettok();
		if (t != ')') goto errout;
		return DLLEXPORT;
	}
	else if (!strcmp(token,"dllimport")) {
		t = gettok();
		if (t != ')') goto errout;
		return DLLIMPORT;
	}
	else if (!strcmp(token,"thread")) {
		warning("__declspec(thread) not implemented");
		t = gettok();
		if (t != ')') goto errout;
		return gettok();
	}
	else if (!strcmp(token,"naked")) {
		warning("__declspec(naked) not implemented");
		t = gettok();
		if (t != ')') goto errout;
		return gettok();
	}
errout:
	error("Incorrect syntax in __declspec statement\n");
	return t;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区不卡| 成人综合在线观看| 91国产福利在线| 久久综合色一综合色88| 欧美网站大全在线观看| 欧美一二三区在线| 欧美视频精品在线| 欧美影院一区二区| 欧美这里有精品| 欧美日韩久久一区| 欧美婷婷六月丁香综合色| 日本国产一区二区| 欧美日韩视频第一区| 亚洲免费在线观看| 香港成人在线视频| 成人免费的视频| 91精品国产麻豆| 国产精品短视频| 国产精品小仙女| 欧美视频精品在线观看| 国产精品美女久久久久av爽李琼| 亚洲午夜电影网| 成人动漫一区二区在线| 欧美一区二区视频在线观看2020| 中文字幕精品—区二区四季| 日韩电影在线免费看| 色吧成人激情小说| 国产亚洲成年网址在线观看| 五月婷婷另类国产| 国产福利91精品| 亚洲国产精品精华液ab| 国产成人午夜精品影院观看视频| 久久嫩草精品久久久精品一| 成人一级黄色片| 亚洲免费在线视频| 在线精品视频免费播放| 国产精品乱码一区二三区小蝌蚪| 国产乱码精品1区2区3区| 精品va天堂亚洲国产| 韩国精品主播一区二区在线观看| 欧美一级生活片| 国产在线精品视频| 欧美极品aⅴ影院| 色综合天天综合网天天看片| 伊人开心综合网| 欧美人妖巨大在线| 免费成人美女在线观看| 久久久久亚洲蜜桃| 成人av电影在线| 亚洲国产精品一区二区久久| 欧美一区二区免费观在线| 美女网站在线免费欧美精品| 国产欧美一区二区精品久导航| 不卡电影一区二区三区| 亚洲成人综合视频| 日韩免费看的电影| 高清不卡一二三区| 亚洲国产日韩精品| 日韩女优视频免费观看| 91视频免费看| 久久国产精品99精品国产 | 玉米视频成人免费看| 欧美日韩国产在线观看| 高清国产一区二区三区| 天堂蜜桃91精品| 最新日韩在线视频| 精品日韩在线观看| 精品视频一区二区不卡| 国产999精品久久久久久| 午夜伦欧美伦电影理论片| 日本一二三不卡| 久久人人超碰精品| 欧美巨大另类极品videosbest| 高清av一区二区| 久久国产生活片100| 亚洲国产精品天堂| 亚洲免费观看在线视频| 国产日本欧美一区二区| 欧美一区欧美二区| 欧美日韩国产高清一区二区| 91丝袜美腿高跟国产极品老师 | 紧缚捆绑精品一区二区| 亚洲3atv精品一区二区三区| 国产精品国产自产拍高清av| 精品国产精品网麻豆系列| 日韩一区二区在线播放| 91精品一区二区三区在线观看| 欧洲精品视频在线观看| 波多野结衣在线aⅴ中文字幕不卡| 麻豆国产精品一区二区三区| 美女一区二区久久| 国产露脸91国语对白| 国内一区二区视频| 懂色av一区二区三区免费观看| 国产资源精品在线观看| 国产精品1024| 一本到高清视频免费精品| 国产不卡视频一区| 99免费精品视频| 在线观看免费亚洲| 欧美绝品在线观看成人午夜影视| 欧美一三区三区四区免费在线看| 日韩午夜在线播放| 久久精品视频在线看| 国产精品不卡在线观看| 亚洲国产精品人人做人人爽| 婷婷一区二区三区| 国产麻豆精品一区二区| 91亚洲精品一区二区乱码| 91精品国产乱| 中文字幕一区二区三区在线播放 | 亚洲国产三级在线| 国产98色在线|日韩| 精品国产乱子伦一区| 日本网站在线观看一区二区三区| av在线不卡观看免费观看| 欧美日韩激情一区| 中文字幕在线播放不卡一区| 日本美女一区二区三区视频| 成人av集中营| 久久精品一区四区| 日韩国产欧美在线播放| av在线不卡电影| 国产视频视频一区| 欧美aaaaaa午夜精品| 在线观看日韩一区| 国产精品的网站| 国产剧情一区二区| 欧美高清dvd| 亚洲国产日韩a在线播放| voyeur盗摄精品| 日韩精品一区二区三区视频在线观看| 国产精品久久久久久久久果冻传媒| 久久99精品国产麻豆不卡| 欧美二区在线观看| 午夜电影一区二区| 欧美日韩精品一区视频| 亚洲精品成人a在线观看| 成熟亚洲日本毛茸茸凸凹| 久久综合色鬼综合色| 亚洲444eee在线观看| 欧美日韩五月天| 亚洲成av人影院| 欧美乱妇23p| 日产精品久久久久久久性色| 欧美日韩日日摸| 蜜臀av性久久久久蜜臀aⅴ四虎 | 日韩一区二区免费电影| 亚洲不卡av一区二区三区| 欧美精品亚洲二区| 卡一卡二国产精品 | 国内精品国产成人国产三级粉色| 国产色综合一区| 一本到三区不卡视频| 国产视频在线观看一区二区三区| 青青草成人在线观看| 亚洲精品一区二区三区香蕉| 久草在线在线精品观看| 欧美电影免费观看高清完整版在线| 蜜臀av一区二区三区| 国产日韩av一区| 色综合欧美在线| 三级一区在线视频先锋 | 亚洲欧美偷拍卡通变态| 欧美三级三级三级| 男女男精品网站| 国产亚洲精品7777| 色综合天天综合网天天看片| 五月天亚洲精品| 中文字幕欧美国产| 欧美日韩一区三区四区| 国产一区二区主播在线| 亚洲综合一二区| 久久免费视频色| 欧美日韩亚洲另类| 99久久精品免费看| 九九国产精品视频| 一区二区在线观看视频| 久久久久久久久99精品| 色天天综合色天天久久| 韩国女主播一区| 丝袜国产日韩另类美女| 国产精品久久久久影院亚瑟 | 国产精品欧美一区喷水| 欧美一级二级三级蜜桃| 一本大道久久a久久精二百| 日本美女视频一区二区| 亚洲美女屁股眼交3| 久久久久99精品国产片| 在线电影一区二区三区| 91亚洲精品乱码久久久久久蜜桃 | 91成人免费网站| 成人精品电影在线观看| 狠狠色伊人亚洲综合成人| 亚洲成人午夜影院| 亚洲精品视频自拍| 中文字幕日韩欧美一区二区三区| 欧美精品一区二区三区蜜臀| 精品入口麻豆88视频| 精品国产凹凸成av人导航|