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

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

?? lex.cpp

?? 詞法分析原代碼
?? CPP
字號:
/************************************************************
實現文件lex.cpp
作者:張勇
日期:2003.6.28
*************************************************************/

#include "global.h"

void init()//初始化符號表
{
	
	struct  entry* p  = symtable;

	int j=0;
	for( j =0; j<6; j++)
	{	
		
		p->lexptr = str[j].c_str();
		
		p->token = j+3;
		p++;
	}


}
/******************************************************************
功能:判斷一個字符是否為數字
*******************************************************************/
bool IsDigit(char ch)
{
	return (ch >='0' && ch <= '9');
}
/******************************************************************
功能:判斷一個字符是否確為字母
*******************************************************************/
bool IsAlpha(char ch)
{
	return (ch >='a' && ch <= 'z'|| ch>'A '&& ch<'Z');
}

/******************************************************************
功能:在關鍵字表中查找與arr相同的關鍵字
找到就返回類別編碼,否則返回0
*******************************************************************/
int  FindOK(char* arr)
{
	
	for(int i=0; i<sizeof(symtable)/sizeof(symtable[0]); ++i)
	{
	
	
		if(!strcmp(symtable[i].lexptr ,arr))
		{
			
			return  symtable[i].token;
		}
	}
 return 0;
}
/********************************************************************
以下為主分析函數
從輸入文件里面讀,把分析結果寫到輸出文件中
參數:fpin :輸入文件指針  fpout: 輸出文件指針
********************************************************************/
void parse(FILE* fpin,FILE* fpout)
{
	char arr[MAXBUF];
	int i=0;
	int j=0;
     

	while(1)
	{
	fscanf(fpin,"%c",&ch);

		if( ch==' '|| ch =='\t')
			;
		else if( ch=='\n')
			lineno++;
		else if( IsDigit(ch))
		{
			while(IsDigit(ch))
			{
				 
				arr[j] = ch;
				j++;
				fscanf(fpin,"%c",&ch);
				
			}
			
		    fseek(fpin,-1L,SEEK_CUR);//文件指針后退一個字節

			char* temp1 =(char*)malloc(j+1);
			memcpy(temp1,arr,j);
			temp1[j] ='\0';//把數組里面的內容拷貝到連外一個數組里面,因為我定義的
			//arr為255個字節,實際上寫不到那么多,所以只拷貝實際上有數據的

			j=0;//恢復初始狀態,以備下次使用
			fprintf(fpout,"%s\t\t%d\n",temp1,2);//常數
		
			free(temp1);//釋放內存
		    
			
		}

		else if(IsAlpha(ch))//是字母開頭的
		{
		
			while(IsAlpha(ch) || IsDigit(ch))
			{
				arr[i] =ch;
				i++;
				fscanf(fpin,"%c",&ch);
				
			}
			fseek(fpin,-1L,SEEK_CUR);
			
			char* temp = (char*)malloc(i+1) ;
			memcpy(temp,arr,i);
			temp[i] ='\0';

			i=0;
			/*基本思想同處理數字的*/
		
          if(FindOK(temp))//查表
		  {
			 
			 fprintf(fpout,"%s\t\t%d \n",temp,FindOK(temp));
			 
		  }
		  else
		  {
			  fprintf(fpout,"%s\t\t%d\n",temp,1);//標示符號
			  
		  }
		  free(temp);
		}
	
		//以下為2字節的運算符號
		else if( ch==':')
		{
			fscanf(fpin,"%c",&ch);
			if(ch=='=') 
				fprintf(fpout,"%s\t\t%d\n",":=",20);
			
		else 	
			fprintf(fpout,"error in compileing %d lines unknown character %c \n",lineno,ch);//出錯了
		}

		else if(ch=='>')
		{  
			fscanf(fpin,"%c",&ch);
			if(ch=='=')
			fprintf(fpout,"%s\t\t%d\n",">=",16);
			else
			fprintf(fpout,">\t\t15\n");
		}
		else if( ch=='<')
		{
			fscanf(fpin,"%c",&ch);
			if(ch=='=')
			{fprintf(fpout,"<=\t\t18\n");}
			else if( ch=='>')
			{fprintf(fpout,"<>\t\t19");}
			else 
			{fprintf(fpout,"<\t\t19\n");}
		}
	

		else {
	   	//以下為一個字節的運算符號
		if(ch=='-') {fprintf(fpout,"-\t\t10\n");continue;}
		if(ch==';') {fprintf(fpout,";\t\t21\n");continue;}
		if(ch=='+') {fprintf(fpout,"+\t\t9\n");continue;}
		if(ch=='*') {fprintf(fpout,"*\t\t11\n");continue;}
		if(ch=='/') {fprintf(fpout,"/ \t\t12\n");continue;}
		if(ch=='(') {fprintf(fpout,"(\t\t13\n");continue;}
		if(ch==')') {fprintf(fpout,")\t\t14\n");continue;}
		if(ch=='.') {fprintf(fpout,".\t\t22\n");continue;}
		if(ch==',') {fprintf(fpout,",\t\t23\n");continue;}
		if(ch=='#') break;//分析結束
		else fprintf(fpout,"error in compileing %d lines unknown character %c \n",lineno,ch);//出錯了
		}
		
	}
	

}



/***************************************************************************
主函數
****************************************************************************/
int main()
{
	char filenamein[14],filenameout[14];
	printf("please input the filename of your source code(the name length can not exceed 25: \n");
	printf("(eg.the filename can be c:\\test.txt)\n");
	scanf("%s",filenamein);
	printf("please input the filename of your output file(the name length can not exceed 25: \n");
	printf("(eg. c:\\output.txt)\n");
	scanf("%s",filenameout);

	FILE* fpin = fopen(filenamein,"r");
	FILE* fpout =fopen(filenameout,"w");

	init();
	parse(fpin,fpout);

    fclose(fpin);
	fclose(fpout);
	printf("press any key to exit..........\n");
	getchar();
	return 0;
	

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆精品在线| 午夜视频在线观看一区二区| 亚洲日本中文字幕区| 五月婷婷久久综合| 成人av免费在线播放| 欧美一区二区三区视频免费播放 | 欧美一级欧美三级在线观看 | 91精品久久久久久久91蜜桃| 久久亚洲精品小早川怜子| 亚洲视频网在线直播| 国模无码大尺度一区二区三区| 色综合久久88色综合天天6 | 91精品国产乱| 一区二区三区中文字幕| 国产成人在线色| 精品国产乱码久久久久久影片| 午夜精品aaa| 色系网站成人免费| 国产精品久久夜| 粉嫩久久99精品久久久久久夜| 精品少妇一区二区三区视频免付费 | 欧美亚洲动漫精品| 国产亚洲人成网站| 麻豆精品一区二区综合av| 欧美日韩国产综合久久| 一区二区三区 在线观看视频| 东方aⅴ免费观看久久av| 精品国产免费一区二区三区四区| 亚洲美女在线一区| 色8久久精品久久久久久蜜| 1024亚洲合集| 91尤物视频在线观看| 国产精品久久久久久久久久久免费看| 国产真实乱偷精品视频免| 日韩视频免费直播| 老鸭窝一区二区久久精品| 日韩欧美亚洲国产另类| 麻豆精品国产91久久久久久| 日韩欧美精品在线| 国产精品一区二区三区网站| 国产传媒日韩欧美成人| 26uuu成人网一区二区三区| 青青草国产成人av片免费| 欧美日韩视频第一区| 日韩成人av影视| 日韩欧美美女一区二区三区| 久久91精品国产91久久小草| 久久综合久久综合九色| 国产精品一二三| 亚洲视频免费在线观看| 欧美三片在线视频观看| 免费国产亚洲视频| 国产欧美日韩在线| 色美美综合视频| 午夜视频在线观看一区| 精品日本一线二线三线不卡| 国产成人免费av在线| 夜夜亚洲天天久久| 91精品啪在线观看国产60岁| 国产资源在线一区| 最新中文字幕一区二区三区| 久久 天天综合| 欧美乱妇20p| 国产在线播精品第三| 26uuuu精品一区二区| 99精品视频一区| 天堂一区二区在线免费观看| 精品处破学生在线二十三| 黄色资源网久久资源365| 中文字幕在线不卡视频| 欧美浪妇xxxx高跟鞋交| 韩国午夜理伦三级不卡影院| 亚洲欧洲制服丝袜| 欧美电影免费观看高清完整版在线| 国产一区二区影院| 欧美国产一区视频在线观看| 91.com在线观看| 国内国产精品久久| 一区二区三区国产| 成人中文字幕电影| 日本成人在线不卡视频| 一区在线中文字幕| 欧美一区二区视频免费观看| www.日韩大片| 激情成人综合网| 亚洲国产三级在线| 国产精品毛片无遮挡高清| 欧美一区二区三区在线电影| www.成人网.com| 美国欧美日韩国产在线播放 | 成人精品gif动图一区| 亚洲v日本v欧美v久久精品| 欧美激情在线观看视频免费| 日韩欧美一区二区视频| 欧美午夜精品久久久久久孕妇| 国产91精品精华液一区二区三区 | 亚洲综合一区二区精品导航| 国产三级精品视频| 1000精品久久久久久久久| 天天操天天色综合| 亚洲欧美日韩国产另类专区| 国产色一区二区| 精品久久久久久亚洲综合网| 欧美日韩综合色| 欧美色图12p| 在线看一区二区| 99久久综合色| 成人激情免费视频| 成人高清免费在线播放| 国产成人自拍网| 懂色一区二区三区免费观看| 国产乱子轮精品视频| 国产在线观看免费一区| 国产一区视频导航| 国产美女在线观看一区| 国产在线精品一区二区夜色| 韩国一区二区三区| 国产成人99久久亚洲综合精品| 国产91色综合久久免费分享| 国产高清在线观看免费不卡| 高清在线观看日韩| 99久久99久久免费精品蜜臀| 色8久久人人97超碰香蕉987| 东方欧美亚洲色图在线| 欧美乱妇一区二区三区不卡视频| 日本高清视频一区二区| 色先锋资源久久综合| 欧美在线不卡视频| 欧美日韩中文字幕一区二区| 911精品国产一区二区在线| 3d成人动漫网站| 26uuu精品一区二区| 国产精品久久久久影院老司| 亚洲欧洲一区二区三区| 亚洲国产毛片aaaaa无费看| 日韩1区2区3区| 国产激情精品久久久第一区二区 | 精品视频在线视频| 制服丝袜亚洲播放| 欧美刺激午夜性久久久久久久| 久久亚洲捆绑美女| 久久疯狂做爰流白浆xx| 蜜臀久久久久久久| 国产v综合v亚洲欧| 色又黄又爽网站www久久| 91精品国产综合久久久久| 一区二区久久久| 亚洲激情自拍视频| 五月综合激情网| 国产精品一区二区视频| 色婷婷综合久久久久中文一区二区| 欧美日韩免费在线视频| 久久色中文字幕| 亚洲综合色视频| 国产精品自拍一区| 欧洲一区二区av| 久久久91精品国产一区二区三区| 亚洲精品va在线观看| 久久99精品视频| 在线视频欧美区| 久久精品夜色噜噜亚洲aⅴ| 一区二区欧美国产| 国产一区二区看久久| 欧美日韩精品一区二区天天拍小说| 精品黑人一区二区三区久久| 一区二区三区四区在线免费观看 | 精品国产凹凸成av人网站| 亚洲欧美国产高清| 国产不卡免费视频| 91精品国产福利| 国产精品不卡视频| 黄色日韩网站视频| 欧美视频一二三区| 中文字幕精品一区二区精品绿巨人| 亚洲综合一区二区| 成人黄色国产精品网站大全在线免费观看 | 国产精品色呦呦| 毛片av一区二区| 欧美影视一区在线| 日韩理论片中文av| 国产精品原创巨作av| 欧美一区二区视频在线观看2022| 亚洲综合在线电影| 91在线视频免费91| 国产精品毛片a∨一区二区三区| 久久99久久精品| 日韩视频一区二区三区| 青青青爽久久午夜综合久久午夜| 91国在线观看| 亚洲午夜羞羞片| 欧美视频一二三区| 天堂久久久久va久久久久| 在线观看成人免费视频| 一区二区三区在线视频观看| 毛片av一区二区三区| 日韩一区二区三区精品视频| 三级成人在线视频| 欧美一卡2卡三卡4卡5免费| 高清国产一区二区| 蜜桃一区二区三区四区|