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

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

?? lexyy.c

?? C編譯器,在VC6.0環境下開發
?? C
?? 第 1 頁 / 共 2 頁
字號:
# include "stdio.h"
# define U(x) x
# define NLSTATE yyprevious=YYNEWLINE
# define BEGIN yybgin = yysvec + 1 +
# define INITIAL 0
# define YYLERR yysvec
# define YYSTATE (yyestate-yysvec-1)
# define YYOPTIM 1
# define YYLMAX 200
# define output(c) putc(c,yyout)
# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
# define yymore() (yymorfg=1)
# define ECHO fprintf(yyout, "%s",yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int yyleng; extern char yytext[];
int yymorfg;
extern char *yysptr, yysbuf[];
int yytchar;
FILE *yyin = {stdin}, *yyout = {stdout};
extern int yylineno;
struct yysvf { 
	struct yywork *yystoff;
	struct yysvf *yyother;
	int *yystops;};
struct yysvf *yyestate;
extern struct yysvf yysvec[], *yybgin;

// include file
#include	"Header.h"
#include	"Debug.h"
#include	"Error.h"
#include    "convert.h"
#include	"Common.h"
#include	"SymTab.h"
#include	"stack.h"
#include	"Lex.h"

// for strcpy etc. string operation to string
#include	<string.h>

// used to contain cSTRING
extern	char	g_String[MAX_STR_LEN];

#define	LEX_INFO(x)		StrToDebug(x, "\nIn yylex() : ", "  --- LEX");

int	yylook();
int	yywrap();
int	yyback(int *p,int m);

# define YYNEWLINE 10
yylex(){
int nstr; extern int yyprevious;
while((nstr = yylook()) >= 0)
yyfussy: switch(nstr){
case 0:
if(yywrap()) return(0); break;
case 1:
while ( 1 )
		{
			int i;

			i = input();

			// or i == EOF, see input() source code for when file
			// meet EOF return what?
			
			if ( !i )
			{
				yyerror( "End of file in comment\n" );
				user_exit(1);
			}

			if ( i == '*' )
				if ( ( i = input() )== '/' )
					break;
				else
					unput( i );
		}
break;
case 2:
while ( 1 )
		{
			int	currlineno = yylineno;

			if  ( !input() || currlineno != yylineno )
				break;
		}
break;
case 3:
{
				// keep the "..." used in code gen
				// cSTRING db "..."
				strncpy(g_String, yytext, MAX_STR_LEN );
				return	cSTRING;
				}
break;
case 4:
{
				// keep the <...> used in code gen
				strncpy(g_String, yytext, MAX_STR_LEN );
				return	pINCLDNAME;
				}
break;
case 5:
{
				yylval.num = stoi(yytext,10);
				return cINT;
				}
break;
case 6:
        {
				yylval.num = stoi(yytext,8);
				return cINT;
				}
break;
case 7:
   {
				yylval.num = stoi(yytext,16);
				return cINT;
				}
break;
case 8:
{
													strcpy(yylval.p_char,yytext);
													return cREAL;
													}
break;
case 9:
    {
				// keep '.'
				strcpy(yylval.p_char, yytext);
				return cCHAR;
				}
break;
case 10:
			return oLP;
break;
case 11:
			return oRP;
break;
case 12:
			{
					LEX_INFO("new_compound_symtab()")
					new_compound_symtab();
					return oLC;
				}
break;
case 13:
			return oRC;
break;
case 14:
			return oLB;
break;
case 15:
			return oRB;
break;
case 16:
			return oPLUS;
break;
case 17:
			return oMINUS;
break;
case 18:
			return oMUL;
break;
case 19:
			return oDIV;
break;
case 20:
			return oMOD;
break;
case 21:
			return oASSIGN;
break;
case 22:
			return oBITOR;
break;
case 23:
			return oBITAND;
break;
case 24:
			return oBITNOT;
break;
case 25:
			return oBITXOR;
break;
case 26:
		return oLFTSHT;
break;
case 27:
		return oRITSHT;
break;
case 28:
		return oOR;
break;
case 29:
		return oAND;
break;
case 30:
			return oNOT;
break;
case 31:
           return oEQUAL;
break;
case 32:
		return oUNEQU;
break;
case 33:
            return oLT;
break;
case 34:
            return oGT;
break;
case 35:
           return oLE;
break;
case 36:
           return oGE;
break;
case 37:
		return oPLUSASSIGN;
break;
case 38:
		return oMINUSASSIGN;
break;
case 39:
		return oMULASSIGN;
break;
case 40:
		return oDIVASSIGN;
break;
case 41:
		return oMODASSIGN;
break;
case 42:
		return oBITORASSIGN;
break;
case 43:
		return oBITANDASSIGN;
break;
case 44:
		return oBITXORASSIGN;
break;
case 45:
		return oLFTSHTASSIGN;
break;
case 46:
		return oRITSHTASSIGN;
break;
case 47:
			return oCOMMA;
break;
case 48:
            return oSEMI;
break;
case 49:
			return oCOLON;
break;
case 50:
			return oQUOTE;
break;
case 51:
		return oDOTDOTDOT;
break;
case 52:
			return oQUESTION;
break;
case 53:
		return	oADDADD;
break;
case 54:
		return	oSUBSUB;
break;
case 55:
	return	pINCLUDE;
break;
case 56:
   {
					strcpy(yylval.p_char,yytext);
					return id_or_keyword(yytext);
					}
break;
case -1:
break;
default:
fprintf(yyout,"bad switch yylook %d",nstr);
} return(0); }
/* end of yylex */

static	int		sg_Keytable_size = 0;

KEYENTRY Keytable[] =
{
	{"00000000",0 },
	{"auto",	kAUTO},
	{"break",	kBREAK},
	{"case",	kCASE},
	{"char",	kCHAR},
	{"const",	kCONST},
	{"continue",kCONTINUE},
	{"default",	kDEFAULT},
	{"do",		kDO},
	{"double",	kDOUBLE},
	{"else",	kELSE},
	{"extern",	kEXTERN},
	{"float",	kFLOAT},
	{"for",		kFOR},
	{"goto",	kGOTO},
	{"if",		kIF},
	{"int",		kINT},
	{"long",	kLONG},
	{"register",kREGISTER},
	{"return",	kRETURN},
	{"short",	kSHORT},
	{"signed",	kSIGNED},
	{"sizeof",	kSIZEOF},
	{"static",	kSTATIC},
	{"switch",	kSWITCH},
	{"typedef",	kTYPEDEF},
	{"unsigned",kUNSIGNED},
	{"void",	kVOID},
	{"volatile",kVOLATILE},
	{"while",	kWHILE},
	{"zzzzzzzz",LAST_ENTRY}
};

void	set_Keytablesize()
{
	// set  Keytable_size, call in Init_yacc()
	sg_Keytable_size = 0;

	while ( LAST_ENTRY != Keytable[sg_Keytable_size].key )
		sg_Keytable_size++;
}

int		id_or_keyword(char *lex)
{
	// alose return  typedef name, so find in current Symbol and father Symbol for typedef name
	int left = 0, right = sg_Keytable_size;
	int mid = (left+right)/2;
	
	if ( !sg_Keytable_size )
	{
		yyerror( "lex error : Keytable not init\n " );
		user_exit(1);
	}

    while (mid!=left && mid!=right)
	{
		int i;

        if ( ! (i = strcmp(Keytable[mid].name, lex) ) )
		// found
            return Keytable[mid].key;
		else if ( i < 0 )
			left = mid;
		else if ( i > 0 )
			right = mid;
		mid = (left+right)/2;
	}

	// search for typedef name
	// return not NULL means found
	if ( find_symtab_typedef( lex ) )
		return	idTYPEDEF;

	return yNAME;
}

yywrap()
{
	return	pop_include();
}
int yyvstop[] = {
0,

30,
0,

20,
0,

23,
0,

50,
0,

10,
0,

11,
0,

18,
0,

16,
0,

47,
0,

17,
0,

19,
0,

6,
0,

5,
0,

49,
0,

48,
0,

33,
0,

21,
0,

34,
0,

52,
0,

56,
0,

14,
0,

15,
0,

25,
0,

12,
0,

22,
0,

13,
0,

24,
0,

32,
0,

3,
0,

41,
0,

29,
0,

43,
0,

39,
0,

53,
0,

37,
0,

54,
0,

38,
0,

8,
0,

1,
0,

2,
0,

40,
0,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产专播品爱网 | 久久成人久久爱| 综合久久一区二区三区| 国产欧美视频一区二区| 国产网红主播福利一区二区| 精品国产露脸精彩对白| 久久影院午夜论| 久久一日本道色综合| 久久综合中文字幕| 国产欧美视频一区二区三区| 欧美激情资源网| 亚洲人吸女人奶水| 亚洲高清久久久| 蜜桃av一区二区三区电影| 麻豆精品视频在线观看免费| 精品亚洲成a人在线观看| 韩国欧美国产1区| 国产99一区视频免费| 91一区二区三区在线观看| 色综合久久66| 8x福利精品第一导航| 久久亚洲捆绑美女| 国产精品视频九色porn| 亚洲第一综合色| 国产综合久久久久影院| 一道本成人在线| 欧美α欧美αv大片| 国产精品久久久久久久久快鸭| 一区二区三区四区中文字幕| 蜜桃视频一区二区三区| 成人小视频在线| 91精品国产入口| 国产精品久久毛片av大全日韩| 亚洲一二三区视频在线观看| 天堂蜜桃91精品| 丰满白嫩尤物一区二区| 欧美丰满美乳xxx高潮www| 欧美国产国产综合| 天堂成人免费av电影一区| 国产一区二区三区在线观看免费视频 | 国产一区二区主播在线| 色噜噜狠狠成人中文综合| 日韩一级在线观看| 亚洲一区自拍偷拍| 成人性生交大片免费| 5566中文字幕一区二区电影| 亚洲丝袜精品丝袜在线| 久久国产精品72免费观看| 一本久久a久久精品亚洲| 欧美大胆一级视频| 亚洲成人资源网| 91麻豆国产香蕉久久精品| 精品国产1区2区3区| 午夜精品影院在线观看| 99精品视频中文字幕| 久久综合色8888| 日日夜夜一区二区| 在线观看免费成人| 亚洲青青青在线视频| 国产伦精品一区二区三区在线观看| 欧美日韩国产影片| 亚洲欧美日韩中文字幕一区二区三区 | 久久精品人人做人人综合| 性感美女极品91精品| 欧洲精品视频在线观看| 中文字幕在线观看一区| 成人h精品动漫一区二区三区| 欧美成人a在线| 日韩黄色在线观看| 91精品国产美女浴室洗澡无遮挡| 亚洲综合在线五月| 色成年激情久久综合| 日韩理论片一区二区| av午夜精品一区二区三区| 国产视频一区二区在线| 国产成人精品一区二区三区网站观看| 久久久一区二区| 成人一区二区三区| 中文字幕一区二区三区乱码在线| 大陆成人av片| 亚洲天堂福利av| 在线免费观看视频一区| 水野朝阳av一区二区三区| 欧美裸体bbwbbwbbw| 日韩激情av在线| 精品国产伦一区二区三区观看方式| 精品一区二区影视| 国产午夜精品久久久久久免费视 | 亚洲综合另类小说| 欧美美女直播网站| 免费高清在线一区| 久久精品视频一区二区三区| 99久久国产综合精品色伊| 亚洲欧洲精品一区二区三区| 色婷婷亚洲综合| 五月天网站亚洲| 久久视频一区二区| 成人av网站在线| 亚洲午夜免费视频| 精品国产欧美一区二区| 国产成人精品1024| 一区二区成人在线| ww亚洲ww在线观看国产| aaa亚洲精品一二三区| 五月婷婷激情综合网| 久久先锋影音av| eeuss影院一区二区三区 | 蜜桃视频免费观看一区| 中文字幕成人在线观看| 在线观看亚洲专区| 国产一区二区日韩精品| 一区二区三区中文字幕电影| 欧美一区二区女人| 色噜噜夜夜夜综合网| 久久69国产一区二区蜜臀| 国产精品大尺度| 日韩免费一区二区三区在线播放| 丁香婷婷综合五月| 视频一区视频二区中文字幕| 国产日产欧美一区| 91麻豆精品国产91久久久久| 成人av一区二区三区| 蜜桃av一区二区三区| 一区二区三区四区视频精品免费| 久久夜色精品国产噜噜av| 色女孩综合影院| 成人综合婷婷国产精品久久蜜臀 | 国产成人午夜电影网| 日韩在线播放一区二区| 国产精品欧美极品| 精品91自产拍在线观看一区| 欧美午夜精品免费| 高清在线不卡av| 国产乱理伦片在线观看夜一区| 午夜不卡av免费| 亚洲精品五月天| 亚洲日本乱码在线观看| 国产亚洲午夜高清国产拍精品| 日韩亚洲电影在线| 欧美一区二区国产| 欧美日韩日日夜夜| 欧美喷水一区二区| 欧美日韩一卡二卡| 欧美在线免费视屏| 色婷婷av一区二区三区软件 | 欧美图区在线视频| a4yy欧美一区二区三区| 成人精品视频网站| 成人美女视频在线观看18| 国产老女人精品毛片久久| 蜜臀av一级做a爰片久久| 日韩影院在线观看| 日本va欧美va瓶| 婷婷夜色潮精品综合在线| 亚洲国产美国国产综合一区二区| 国产精品成人一区二区艾草| 最新久久zyz资源站| 国产精品久久毛片a| 亚洲欧美另类久久久精品2019| **欧美大码日韩| 一区二区三区精品| 亚洲国产成人高清精品| 午夜影院久久久| 精品在线播放午夜| 国产精品综合一区二区三区| 国内精品久久久久影院一蜜桃| 激情图片小说一区| 成人深夜视频在线观看| 丁香婷婷综合网| 欧美亚洲高清一区| 日韩三级精品电影久久久 | 日本韩国一区二区三区| 欧美性高清videossexo| 91精品国产综合久久久久久久| 欧美一级片免费看| 国产精品天美传媒沈樵| 亚洲国产一区二区三区青草影视| 天堂av在线一区| 国产精品一二三四五| 91麻豆国产自产在线观看| 7777精品伊人久久久大香线蕉的| 欧美成人性战久久| 亚洲欧洲av一区二区三区久久| 一区二区三区电影在线播| 91丨九色porny丨蝌蚪| 在线观看国产精品网站| 精品粉嫩aⅴ一区二区三区四区| 国产精品久久久久久久第一福利| 亚洲免费av高清| 国产一区二区三区在线观看精品| 色婷婷综合久久| 精品蜜桃在线看| 亚洲一二三四久久| 国产精品一区二区你懂的| 在线欧美小视频| 日本一区二区久久| 美女视频网站黄色亚洲| 91麻豆免费视频| 国产欧美日韩一区二区三区在线观看| 亚洲国产日韩在线一区模特|