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

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

?? c.l

?? C編譯器,在VC6.0環境下開發
?? L
字號:
/*
* C.lex
* Lexical Analyzer for C Compiler
*
* Copyright (c)  2001 by  Lin Ying and Ren Qi
* All Rights Reserved.
*
*/

%{

// 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);

%}

letter      [_a-zA-Z]
alnum       [_a-zA-Z0-9]
dec         [0-9]
hex         [0-9a-fA-F]
oct         [0-7]

%%	

"/*"	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 );
		}

"//"	while ( 1 )
		{
			int	currlineno = yylineno;

			if  ( !input() || currlineno != yylineno )
				break;
		}

\"([^\"])*\"	{
				// keep the "..." used in code gen
				// cSTRING db "..."
				strncpy(g_String, yytext, MAX_STR_LEN );
				return	cSTRING;
				}

"<"([^>])*">"	{
				// keep the <...> used in code gen
				strncpy(g_String, yytext, MAX_STR_LEN );
				return	pINCLDNAME;
				}

[1-9]+{dec}*	{
				yylval.num = stoi(yytext,10);
				return cINT;
				}

0{oct}*         {
				yylval.num = stoi(yytext,8);
				return cINT;
				}

0(x|X){hex}+    {
				yylval.num = stoi(yytext,16);
				return cINT;
				}

([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([eE][-+]?[0-9]+)?	{
													strcpy(yylval.p_char,yytext);
													return cREAL;
													}

'([^']|'')'     {
				// keep '.'
				strcpy(yylval.p_char, yytext);
				return cCHAR;
				}

"("				return oLP;
")"				return oRP;
"{"				{
					LEX_INFO("new_compound_symtab()")
					new_compound_symtab();
					return oLC;
				}
"}"				return oRC;
"["				return oLB;
"]"				return oRB;

"+"				return oPLUS;
"-"				return oMINUS;
"*"				return oMUL;
"/"				return oDIV;
"%"				return oMOD;
"="				return oASSIGN;

"|"				return oBITOR;
"&"				return oBITAND;
"~"				return oBITNOT;
"^"				return oBITXOR;
"<<"			return oLFTSHT;
">>"			return oRITSHT;

"||"			return oOR;
"&&"			return oAND;
"!"				return oNOT;


"=="            return oEQUAL;
"!="			return oUNEQU;
"<"             return oLT;
">"             return oGT;
"<="            return oLE;
">="            return oGE;

"+="			return oPLUSASSIGN;
"-="			return oMINUSASSIGN;
"*="			return oMULASSIGN;
"/="			return oDIVASSIGN;
"%="			return oMODASSIGN;
"|="			return oBITORASSIGN;
"&="			return oBITANDASSIGN;
"^="			return oBITXORASSIGN;
"<<="			return oLFTSHTASSIGN;
">>="			return oRITSHTASSIGN;

","				return oCOMMA;
";"             return oSEMI;
":"				return oCOLON;
"'"				return oQUOTE;
"..."			return oDOTDOTDOT;
"?"				return oQUESTION;

"++"			return	oADDADD;
"--"			return	oSUBSUB;

"#include"		return	pINCLUDE;

{letter}{alnum}*    {
					strcpy(yylval.p_char,yytext);
					return id_or_keyword(yytext);
					}

%%

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();
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲第一区在线暖暖韩国| 北条麻妃一区二区三区| 亚洲制服丝袜av| 亚洲欧美一区二区三区极速播放| 久久亚洲一区二区三区四区| 欧美电影免费观看高清完整版在线| 欧美人与性动xxxx| 欧洲精品中文字幕| 欧美视频三区在线播放| 欧洲精品在线观看| 在线播放/欧美激情| 欧美丰满一区二区免费视频| 欧美三级中文字| 在线综合视频播放| 欧美r级在线观看| 久久嫩草精品久久久精品| 国产欧美在线观看一区| 一色屋精品亚洲香蕉网站| 亚洲美腿欧美偷拍| 亚洲成人三级小说| 看电影不卡的网站| 成人激情视频网站| 欧美在线你懂的| 91精品久久久久久久91蜜桃| 26uuu精品一区二区在线观看| 国产亚洲欧洲997久久综合| 国产精品亲子乱子伦xxxx裸| 亚洲摸摸操操av| 日韩中文字幕1| 激情深爱一区二区| heyzo一本久久综合| 欧洲视频一区二区| 精品久久99ma| 1区2区3区国产精品| 午夜精品国产更新| 国产精品18久久久久久久网站| 成人免费观看视频| 欧美亚洲一区三区| 久久婷婷国产综合精品青草| 国产精品美日韩| 日韩精品一区第一页| 国产精品自拍一区| 91国偷自产一区二区三区观看| 日韩一区二区三区免费观看| 欧美国产精品中文字幕| 亚洲福利一区二区三区| 国产一区二区精品在线观看| 色av成人天堂桃色av| 久久影视一区二区| 一区二区三区欧美久久| 国产一区二区毛片| 欧美日韩在线不卡| 国产欧美视频一区二区| 亚洲va韩国va欧美va精品| 国产精品1区2区| 在线电影院国产精品| 国产精品久久久久一区二区三区| 午夜激情一区二区| 99久久免费视频.com| 精品捆绑美女sm三区| 一区二区三区中文字幕精品精品| 狠狠久久亚洲欧美| 欧美人狂配大交3d怪物一区| 国产精品丝袜在线| 久久成人免费网| 在线国产亚洲欧美| 国产日韩欧美精品在线| 日韩国产欧美在线视频| 色综合久久久网| 久久色视频免费观看| 婷婷开心久久网| 日本乱人伦一区| 中文一区二区在线观看| 蜜桃视频一区二区三区在线观看| 91片黄在线观看| 日本一区二区三区四区在线视频| 久久99精品久久久久婷婷| 欧美视频一二三区| 亚洲女与黑人做爰| 大桥未久av一区二区三区中文| 日韩欧美国产一区二区在线播放| 亚洲成人tv网| 日本久久一区二区| 亚洲欧美日韩国产综合| 成人免费高清在线| 国产三级精品三级| 国产麻豆精品95视频| 26uuu久久天堂性欧美| 免费成人你懂的| 欧美一级欧美三级在线观看 | 秋霞av亚洲一区二区三| 91久久精品一区二区三| 亚洲日本乱码在线观看| av在线不卡观看免费观看| 国产精品美女久久久久aⅴ国产馆| 韩国成人精品a∨在线观看| 欧美一级理论片| 日本系列欧美系列| 欧美一区二区三区白人| 天天av天天翘天天综合网 | 欧美一级精品在线| 日本亚洲欧美天堂免费| 日韩欧美中文一区| 久久精品99国产精品日本| 日韩视频一区二区| 久久精品国产精品亚洲综合| 日韩精品在线看片z| 久久国产尿小便嘘嘘尿| 久久综合色之久久综合| 国产一区在线观看视频| 国产日产欧产精品推荐色| 丁香另类激情小说| 亚洲欧洲精品一区二区三区| 91丝袜美腿高跟国产极品老师 | 中文字幕一区二区三区色视频| 成人动漫视频在线| 亚洲欧美日韩国产综合| 欧美在线不卡视频| 日韩电影在线一区二区| 日韩一级成人av| 国产一区二区福利视频| 国产欧美一区视频| 91麻豆福利精品推荐| 亚洲国产精品人人做人人爽| 在线播放欧美女士性生活| 麻豆精品一区二区综合av| 国产亚洲一二三区| 日本高清免费不卡视频| 日韩精品电影一区亚洲| 久久女同互慰一区二区三区| 国产凹凸在线观看一区二区| 亚洲同性gay激情无套| 欧美三级中文字幕在线观看| 麻豆一区二区三区| 国产精品久久久久久久久晋中| 日本道色综合久久| 精品午夜一区二区三区在线观看| 国产精品美女久久久久高潮| 欧美喷水一区二区| 国产一区二区三区在线看麻豆| ...av二区三区久久精品| 欧美日韩午夜在线视频| 国产一区二区调教| 一区二区三区四区视频精品免费 | 亚洲18色成人| 日韩美一区二区三区| 成人av在线资源网站| 亚洲高清在线精品| 日本一区二区免费在线| 欧美怡红院视频| 国产精品自在欧美一区| 亚洲精品视频自拍| 日韩欧美一级精品久久| av电影在线观看一区| 美腿丝袜亚洲一区| 亚洲欧美一区二区三区久本道91| 日韩一区二区三区观看| 不卡免费追剧大全电视剧网站| 视频一区在线播放| 国产精品色一区二区三区| 欧美日韩免费高清一区色橹橹| 国产酒店精品激情| 亚洲成人综合在线| 国产精品美女久久久久久久| 日韩一二三四区| 欧美性大战久久| 国产99一区视频免费| 青青草国产成人99久久| 一区二区三区欧美日韩| 国产精品午夜电影| 精品日韩在线一区| 欧美色图一区二区三区| 成人app软件下载大全免费| 麻豆国产精品一区二区三区 | 国产精品一区三区| 丝袜亚洲另类欧美| 亚洲乱码精品一二三四区日韩在线| 欧美成人vps| 欧美日韩黄色影视| 色婷婷一区二区三区四区| 国产v日产∨综合v精品视频| 久久精品国产一区二区三区免费看| 亚洲一区二区三区小说| 综合婷婷亚洲小说| 国产精品乱码一区二区三区软件 | 91视频91自| 国产91高潮流白浆在线麻豆| 精品在线播放午夜| 免费观看一级特黄欧美大片| 亚洲国产日产av| 一区二区三区影院| 亚洲精品亚洲人成人网在线播放| 国产精品色噜噜| 国产精品欧美精品| 中文字幕第一区| 久久久久久夜精品精品免费| 久久嫩草精品久久久久| 91麻豆精品一区二区三区| 一本一本久久a久久精品综合麻豆| av亚洲产国偷v产偷v自拍|