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

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

?? define.cpp

?? define 編譯原理詞法分析器 八、 實(shí)驗(yàn)一:設(shè)計SAMPLE語言的詞法分析器 檢查要求: a) 啟動程序后
?? CPP
字號:
//單詞編碼定義
#include<iostream>
#include<string>
#include<cstdlib>
#include<fstream>


using namespace std;
string map[62]={
				"", "and", "array", "begin", "bool", "call", "case", "char", "constant" ,
				"dim", "do", "else", "end", "false", "for", "if", "input", "integer", "not",
				"of", "or", "output", "procedure", "program", "read", "real", "repeat", "set",
				"stop", "then", "to", "true", "until", "var", "while", "write","","","", "(",
				")", "*", "*/", "+", ",", "-", ".", "..", "/", "/*", ":", ":=", ";", "<", "<=",
				"<>", "=", ">", ">=", "[","]"
				};

typedef struct ID
{
	string cs1;
	 ID   *next;
	 int	count;
	 int att;
}id;
void main()
{
	cout<<"作者:孫立超;計算機(jī)科學(xué)與技術(shù)2班;200530472370;"<<endl;
	char word[20], ch ;
	FILE *fp;
	string cs;
	static	int sign=1;
	static	int i2=1;
	ID *log=new ID;

	ID *p;			//字符常數(shù)的鏈表	
	p=new ID;				
	p->next=NULL;
	
	ID	*q;			//整數(shù)的鏈表
	q=new ID;	
	q->next=NULL;
	
	ID *r;			//標(biāo)記符的鏈表
	r=new ID;
	r->next=NULL;

	fp=fopen("測試文件.txt","r");
	if(fp==NULL)
	{
		cout<<"file can not be open\n";
		exit(0);
	}
	while(!feof(fp))
	{
		for(int i=0;i<20;i++)			//打開文件,以空格為分界,將字符串賦值給string類型的cs
		{
			ch=fgetc(fp);
			if(ch!=' '&&ch!='\n')
				word[i]=ch;
			else
			{
			cs.assign(word,i);
				break;
			}	

		}
	//	cout<<"af"<<cs<<"fd"<<endl;

	if(cs.compare("")==0)
		continue;

	for(int i1=1;i1<61;i1++)		//遍歷比較map表,
		{	if(cs.compare(map[i1])==0)			//找出關(guān)鍵字和特殊符號的編碼,注意對注釋內(nèi)容的處理
			{
				log->cs1=cs;
				log->att=i1;
				log->count=0;
			}
		}

static int count7 =0;							//count7哨兵
if(cs.compare("/*")==0)
{
	count7=1;		
}
if(count7&&cs.compare("*/")!=0)
{
		continue;
}
if(cs.compare("*/")==0)
{	count7=0;}

//查找字符常數(shù),然后放入p鏈表
	if(cs.find("'")==0)				
	{
		cs=cs.substr(1,cs.length()-2);
		ID *temporary=new ID;
		temporary->cs1.assign(cs);
		temporary->att=38;
		temporary->next=NULL;
		int	count1=1;
		ID *q1, *q3, *q2;
			q1=q;	q3=q;
		while(q1!=NULL)
		{
			if((temporary->cs1).compare(q1->cs1)==0)
			{
				count1=0;
				log->count=q1->count;
				log->cs1=q1->cs1;
				delete(temporary);
				break;
			}
			else
			{
				q2=q1;
				q1=q1->next;
			}
		}
		if(count1)
		{
			temporary->count=sign;
			q2->next=temporary;	
			log->cs1=temporary->cs1;
			log->att=temporary->att;
			log->count=sign;
			sign++;
		}
			//	cout<<log->cs1<<log->count<<log->att<<endl;
			//	q3=q3->next;
			//	while(q3!=NULL)
			//		{	cout<<q3->cs1<<q3->count<<q3->att<<endl;q3=q3->next ;}
	}
	else
	{
		//查找標(biāo)識符,然后標(biāo)記.
	int count4=1;									//count4哨兵
	for(int ic=0;ic<cs.length();ic++)	
	{
		if(65>cs[ic]||cs[ic]>122||(90<cs[ic]&&cs[ic]<96))
		{			
			count4=0;break;
		}
	}
		if(count4)
		{	
			int count5=1;
			for(int ib=1;ib<=35;ib++)
				if(cs.compare(map[ib])==0)
					{
						count5=0;break;				//count5哨兵
					}
				if(count5)
				{	
					ID *temporary2=new ID;
					temporary2->cs1.assign(cs);
					temporary2->att=36;
					temporary2->next=NULL;
					int	count6=1;				//count6哨兵
					ID *r1, *r3, *r2;
					r1=r;	r3=r;			
					while(r1!=NULL)
					{
						if((temporary2->cs1).compare(r1->cs1)==0)
						{
							count6=0;
							log->count=r1->count;
							log->cs1=r1->cs1;
							delete(temporary2);
							break;
						}
						else
						{
							r2=r1;
							r1=r1->next;
						}
					}
					if(count6)
					{
						temporary2->count=sign;
						r2->next=temporary2;	
						log->cs1=temporary2->cs1;
						log->att=temporary2->att;
						log->count=sign;
						sign++;
					}	
						//這個位置的cs為所要求的字符串,其他也是如此
				//	cout<<"標(biāo)識符"<<log->cs1<<log->count<<log->att<<endl;
				//	r3=r3->next;
				//	while(r3!=NULL)
				//	{cout<<r3->cs1<<r3->count<<r3->att<<endl;r3=r3->next ;}
			}
		}

//查找整數(shù),然后標(biāo)記
int count2=1;
	for(int ia=0;ia<cs.length();ia++)	
		if(47>=cs[ia]||cs[ia]>=58)
			{count2=0;break;}
		
		if(count2)						//篩選出整數(shù)的cs
		{
			ID *temporary1=new ID;
			temporary1->cs1.assign(cs);
			temporary1->att=37;
			temporary1->next=NULL;
			int	count3=1;
			ID *p1, *p3, *p2;
				p1=p;	p3=p;	
			while(p1!=NULL)
			{
				if((temporary1->cs1).compare(p1->cs1)==0)
				{
					count3=0;
					log->count=p1->count;
						log->cs1=p1->cs1;
					delete(temporary1);
					break;
				}
				else
				{
					p2=p1;
					p1=p1->next;
				}
			}
			if(count3)
			{
				temporary1->count=sign;
				p2->next=temporary1;	
				log->cs1=temporary1->cs1;
				log->att=temporary1->att;
				log->count=sign;
				sign++;
			}
		//	cout<<log->cs1<<log->count<<log->att<<endl;
		//		p3=p3->next;
		//			while(p3!=NULL)
		//			{	cout<<"整數(shù)"<<p3->cs1<<p3->count<<p3->att<<endl;p3=p3->next; }
		}


}
if(log->cs1.compare("")==0)
	continue;
//cout<<"df"<<log->cs1<<"gh"<<endl;
//			cout<<"("<<log->att<<","<<log->count<<")\t";

		if(log->count)
		{
		//	cout<<log->cs1<<endl;
				cout<<"("<<log->att<<","<<log->count<<")\t";
				if(i2%5==0)
					cout<<endl;
				i2++;
		}
		else
		{ 
			if(log->cs1.compare("]")==0)
				cout<<log->cs1;
			cout<<"("<<log->att<<",-)\t";
				if(i2%5==0)
					cout<<endl;
				i2++;
		}

}
cout<<endl;
	
	fclose(fp);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
豆国产96在线|亚洲| 国产日产欧产精品推荐色 | 91影院在线免费观看| 中文字幕av免费专区久久| 国产乱码精品一区二区三区忘忧草 | www.亚洲精品| 亚洲毛片av在线| 欧美日韩一级片网站| 日本特黄久久久高潮 | 久久久美女毛片| 成人精品鲁一区一区二区| 国产精品乱码久久久久久| 91色九色蝌蚪| 亚洲成人www| 欧美精品一区二区三区一线天视频 | 91麻豆精品在线观看| 一区二区三区中文字幕精品精品| 欧美日韩一区三区| 狠狠色丁香久久婷婷综| 欧美一区二区不卡视频| 国产精品一级在线| 亚洲人成网站色在线观看| 欧美天堂一区二区三区| 99在线精品免费| 天堂在线亚洲视频| 国产午夜精品一区二区三区视频 | 欧美高清在线一区| 91久久香蕉国产日韩欧美9色| 午夜精品成人在线| 国产欧美一区二区在线| 欧美在线观看视频一区二区三区| 美女视频免费一区| 亚洲精品中文字幕乱码三区| 日韩免费在线观看| 色婷婷精品久久二区二区蜜臂av | 综合久久国产九一剧情麻豆| 在线不卡免费av| 成人av在线网| 麻豆成人在线观看| 亚洲一区二区在线免费观看视频| 亚洲精品在线一区二区| 欧美在线一区二区三区| 丁香婷婷综合网| 日韩成人精品视频| 亚洲人成人一区二区在线观看| 日韩一卡二卡三卡国产欧美| 日本精品一级二级| 国产一区二区看久久| 亚洲成人黄色小说| 亚洲婷婷综合色高清在线| 精品欧美一区二区久久| 欧美日韩精品欧美日韩精品一综合| 国产精品1024| 精品亚洲porn| 天涯成人国产亚洲精品一区av| 亚洲欧美另类久久久精品2019| 2020国产精品自拍| 日韩一卡二卡三卡| 9191精品国产综合久久久久久| 91在线精品一区二区| 成人夜色视频网站在线观看| 狠狠色丁香婷婷综合久久片| 免费在线一区观看| 日韩精品久久理论片| 亚洲永久免费av| 一区二区久久久久久| 国产精品电影一区二区| 国产欧美日韩另类视频免费观看| 欧美videossexotv100| 日韩午夜小视频| 555www色欧美视频| 51精品秘密在线观看| 欧美私人免费视频| 91麻豆精品在线观看| 91免费在线视频观看| 91蜜桃视频在线| 99久久精品99国产精品| 成人午夜看片网址| 成人高清免费观看| 成人激情午夜影院| 91香蕉视频黄| 色av成人天堂桃色av| 色噜噜狠狠色综合欧洲selulu| 99久久99精品久久久久久| 99riav久久精品riav| 色综合天天在线| 欧美影视一区二区三区| 欧美性感一区二区三区| 欧美美女黄视频| 日韩三级视频在线观看| 精品国产乱码久久久久久夜甘婷婷| 精品乱人伦一区二区三区| 久久久精品国产免费观看同学| 国产亚洲一区二区三区在线观看| 中文乱码免费一区二区| 国产精品国产精品国产专区不片| 亚洲另类在线制服丝袜| 亚洲成国产人片在线观看| 免费观看91视频大全| 国产一区二区三区不卡在线观看 | 亚洲欧洲三级电影| 亚洲精品国产成人久久av盗摄| 亚洲午夜精品17c| 免费人成黄页网站在线一区二区| 久草中文综合在线| 成人app下载| 欧美三级欧美一级| 国产女同性恋一区二区| 2024国产精品视频| 欧美韩国日本一区| 亚洲午夜免费视频| 久久av资源网| 91小宝寻花一区二区三区| 欧美日韩一区视频| 久久久不卡网国产精品一区| 亚洲免费大片在线观看| 人人精品人人爱| 97se亚洲国产综合自在线不卡| 欧美午夜理伦三级在线观看| 26uuu精品一区二区三区四区在线| 久久精品欧美一区二区三区不卡| 一区二区三区四区在线播放| 麻豆精品一区二区av白丝在线| 成人国产一区二区三区精品| 91精品国产美女浴室洗澡无遮挡| 日本一区二区免费在线| 亚洲成人av在线电影| 成人精品一区二区三区中文字幕| 欧美精品久久一区| 国产精品久久久久久久久晋中 | 欧美一区二区三区人| 亚洲人吸女人奶水| 色噜噜狠狠成人中文综合| 精东粉嫩av免费一区二区三区| 欧美日韩1234| 99久久国产免费看| 亚洲男女毛片无遮挡| 奇米精品一区二区三区在线观看| 亚洲卡通动漫在线| 久久精品一区二区三区av| 欧美网站大全在线观看| 久久嫩草精品久久久久| 午夜天堂影视香蕉久久| 99精品黄色片免费大全| 亚洲精品一区在线观看| 粉嫩av一区二区三区| 国产欧美一区视频| 视频在线在亚洲| 色偷偷久久一区二区三区| 色综合一个色综合亚洲| 精品久久久久久最新网址| 亚洲一区二区五区| 99视频一区二区| 国产精品视频观看| 国产在线国偷精品免费看| 欧美一区二区在线免费观看| 亚洲成av人片www| 日韩中文字幕一区二区三区| 97精品电影院| 国产精品成人免费| 成人理论电影网| 色综合久久久久综合体| 717成人午夜免费福利电影| 一区二区三区视频在线看| av中文字幕不卡| 国产精品蜜臀av| 9l国产精品久久久久麻豆| 中文字幕免费一区| 波多野结衣视频一区| 欧美成人乱码一区二区三区| 亚洲国产综合在线| 欧美无乱码久久久免费午夜一区| 亚洲欧美日韩久久精品| 91免费观看国产| 一区二区三区日韩| 欧美撒尿777hd撒尿| 亚洲第一av色| 日韩三级视频中文字幕| 久久精品国内一区二区三区| 日韩女优制服丝袜电影| 激情五月婷婷综合| 国产日韩欧美精品在线| 不卡视频免费播放| 玉足女爽爽91| 欧美美女一区二区三区| 免费欧美高清视频| 久久久久久影视| 99久久综合狠狠综合久久| 亚洲精品国产第一综合99久久| 欧美色网站导航| 精品一区二区在线视频| 国产午夜精品一区二区三区四区| 成人精品视频一区| 亚洲成人av免费| 精品88久久久久88久久久| 99久久免费精品高清特色大片| 亚洲永久免费av| 精品伦理精品一区| 久久久精品黄色| 一本大道久久a久久综合|