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

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

?? 11.zip.cpp

?? 編譯原理的課程設(shè)計
?? CPP
字號:
#include<iostream>
#include<string>
using namespace std;
const int length=10;
const int max=20;
typedef struct
{
	char gzl;
	char gzr[length];
	string firstl;
	string firstr;
	string follow;
	int  rvt;
}guize;
class wenfa
{
  private:
	  char (*s)[max];
	  char *vn;
	  char *vt;
	  int counter;
	  guize *gz;
      char sbf;
  public:
	  wenfa();
	  ~wenfa();
	  bool input();
	  void v();//分別裝入終結(jié)符和非終結(jié)符
	  void output();
	  void printf();
	  string first_l(char c);
	  string first_r(char c);
	  string follow(char c);
	  void process(int n,int n1);
	  void ff();
};
wenfa::wenfa()
{
	s=new char[length][max];
	vn=new char[length];
	vt=new char[length];
	gz=new guize[1];
	counter=0;
}
wenfa::~wenfa()
{
	delete []gz;
	delete []s;
	delete []vn;
	delete []vt;
}
bool wenfa::input()
{
	int hang=0;//文法的行數(shù)
	int pointer=0;
	int i,j;
	cout<<"輸入你要輸入文法的行數(shù) hang:";
	cin>>hang;
	cout<<"輸入你將要輸入的文法 :"<<endl;
	for(i=0;i<hang;i++)
	{
		cin>>s[i];
		for(j=0;j<strlen(s[i]);j++)
			if(s[i][j]=='|')pointer++;
	}
	if(hang>0){process(hang,pointer);return true;}
	else {cout<<"請輸入文法"<<endl;return false;}
}
void wenfa::process(int n,int n1)
{
		int i,j,k,hang=0,m=0,hang1=0;
		char *t=new char[length];
		counter=n+n1;
		gz=new guize[counter];
        for(i=0;i<n;i++)
		{
			m=0;
	        for(j=4;j<strlen(s[i]);j++)
			{
				if(s[i][j]=='|')
				{
				    gz[hang].gzl=s[i][0];
			        t[m]=0;
					m=0;
                    gz[hang].rvt=0;
					strcpy(gz[hang].gzr,t);
					for(k=0;k<strlen(t);k++)
					{
					    if(t[k]>='A'&&t[k]<='Z')
						 gz[hang].rvt++;
					}
			        hang++;
				}                    	
				else 
				{
					t[m++]=s[i][j];
				}
			}
	           gz[hang].gzl=s[i][0];
               t[m]=0;m=0;
               gz[hang].rvt=0;		  
       	       strcpy(gz[hang].gzr,t);
			   for(k=0;k<strlen(t);k++)
				{
					if(t[k]>='A'&&t[k]<='Z')
					gz[hang].rvt++;
				}
	           hang++;
		}
	    if(hang==counter) 
		{
		  cout<<"文法存入成功!"<<endl;
		  v();
		}
	    else cout<<"未成功存放!"<<endl;
        delete []t;
}
void wenfa::output()
{
		 int hang=0,i;
		 for( i=0;i<counter;i++)
		 {
		      cout<<gz[i].gzl<<"::="<<gz[i].gzr<<"     ";hang++;
			  if(hang%2==0)cout<<endl;
		 }
	     cout<<endl;
	     cout<<"非終結(jié)符Vn={ ";
	     for(i=0;vn[i]!='\0';i++)
		 cout<<vn[i]<<"、";
	     cout<<'\b'<<" }共有:"<<strlen(vn)<<"個;"<<endl;
         cout<<"終結(jié)符vt={ ";
	     for(i=0;vt[i]!='\0';i++)
		  cout<<vt[i]<<"、";
	     cout<<'\b'<<" }共有:"<<strlen(vt)<<"個;"<<endl;
}
void wenfa::v()
 {
     int i,j,k,c1=0,c2=0;
     bool bool1,bool2;
     for(i=0;i<counter;i++)
	 {
         bool1=false;
         for(j=0;j<c1;j++)
           if(vn[j]==gz[i].gzl) {bool1=true;break;}
         if(!bool1) vn[c1++]=gz[i].gzl;
         for(j=0;j<strlen(gz[i].gzr);j++){
			if(!(gz[i].gzr[j]>='A'&&gz[i].gzr[j]<='Z'))
			{
                bool2=false;
                for(k=0;vt[k]!='\0';k++)
                     if(vt[k]==gz[i].gzr[j]){bool2=true;break;}
					 if(bool2==false)vt[c2++]=gz[i].gzr[j];
			}
		 }
	 }
    vn[c1]=vt[c2]=0;
    cout<<endl;
}
string wenfa::first_l(char c)
{
	string f;
	for(int i=0;i<counter;i++)
	{
		if(gz[i].gzl==c)
		{
			if(gz[i].gzr[0]=='3'||(gz[i].gzr[0]<'A'&&gz[i].gzr[0]>'Z'))
			{
				gz[i].firstl=gz[i].firstl+gz[i].firstr[0];
			}
			else f=first_l(gz[i].gzr[0]);
			gz[i].firstl=gz[i].firstl+f;
		}
	}
	return gz[i].firstl;
}
string wenfa::first_r(char c)
{
	string f;
	for(int i=0;i<counter;i++)
	{
		if(gz[i].gzl==c)
		{
			if(gz[i].gzr[0]=='3'||(gz[i].gzr[0]<'A'&&gz[i].gzr[0]>'Z'))
			{
				gz[i].firstr=gz[i].firstr+gz[i].firstr[0];
			}
			else f=first_r(gz[i].gzr[0]);
				gz[i].firstr=gz[i].firstr+f;
		}
	}
	return gz[i].firstr;
}
string wenfa::follow(char c)
{
	string f;bool biaozhi=true;
	for(int i=0;i<counter;i++)
	{
		if(i==0)gz[i].follow="#";
		for(int j=0;j<counter;j++)
			for(int k=0;k<strlen(gz[j].gzr);k++)
				if(gz[j].gzr[k]==gz[i].gzl)
				{
					if(gz[j].gzr[k+1]<'A'&&gz[j].gzr[k+1]>'Z')
					{
						gz[i].follow=gz[i].follow+gz[j].gzr[k+1];
					}
					else
					{
						biaozhi=true;
						if(gz[j].gzr[k+1]!='\0')
						{
							for(int m=0;m<counter;m++)
							{
							 if(gz[j].gzr[k+1]==gz[m].gzl)
							 {
								if(gz[m].gzr[0]=='3')
								{
									biaozhi=false;
									break;
								}
								else continue;
							 }
							}
						    if (!biaozhi)f=follow(gz[j].gzl);
						    else f=gz[j].firstr[k];
						    gz[i].follow=gz[i].follow+f;
						}
						else
						{
							f=follow(gz[j].gzl);
							gz[i].follow=gz[i].follow+f;
						}
					}
				}
	}
	return gz[i].follow;

}
void wenfa::printf()
{
	cout<<"現(xiàn)在將輸出first和follow: "<<endl;
	for(int i=0;i<counter;i++)
	{
		cout<<"First("<<gz[i].gzl<<")={"<<gz[i].firstl<<"}"<<"  "
			<<"First("<<gz[i].firstr<<")={"<<gz[i].firstr<<"}"<<endl;
	}
	cout<<"顯示操作結(jié)束"<<endl;
}
void wenfa::ff()
{
	for(int i=0;i<counter;i++)
	{
		first_l(gz[i].gzl);
		first_r(gz[i].gzl);
		follow(gz[i].gzl);
	}
}
void main()
{
		wenfa wf;
		int m;
		bool boole,boolee=false;
		cout<<"0--退出            1--輸入規(guī)則"<<endl
			<<"2--顯示文法        3--顯示first和follow"<<endl
			<<"4--執(zhí)行first和follow算法"<<endl;
		while(1){
			    
				cout<<"輸入操作"<<endl;
				cin>>m;
				boole=false;
				switch(m){
				case 0:{boole=true;break;}
				case 1:{if(wf.input())
						   boolee=true;
					    
					    break;}
				case 2:{if(boolee) {wf.output();}
					      else cout<<"規(guī)則尚未輸入,請輸入后重試!"<<endl;
						break;
					   }
			
				case 3:{if(boolee) wf.printf();
					     else cout<<"規(guī)則尚未輸入,請輸入后重試!"<<endl;
						break;
					   }
				case 4:
					{
						if(boolee)wf.ff();
						break;
					}
				default : cout<<"輸入命令錯誤!!!"<<endl;
				}
				if(boole) break;
			}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本免费电影| 婷婷国产在线综合| 欧美日韩一级片网站| 久久不见久久见免费视频1| 国产午夜精品福利| 337p亚洲精品色噜噜噜| 风间由美一区二区三区在线观看 | 国产精一区二区三区| 亚洲一区二区三区四区在线免费观看| 欧美精品一区二区三区蜜臀| 91久久精品国产91性色tv | 久久精品国产99久久6| 一区二区成人在线| 久久奇米777| 在线成人小视频| 日本乱人伦aⅴ精品| 从欧美一区二区三区| 久久精品久久精品| 石原莉奈一区二区三区在线观看| 最新国产精品久久精品| 久久久久久一级片| 精品国产网站在线观看| 91精品国产91综合久久蜜臀| 欧日韩精品视频| 日本久久电影网| 波多野结衣91| 成人一级片网址| 国产精品99久久久| 激情综合一区二区三区| 日韩成人一区二区| 亚洲成人黄色小说| 亚洲福利视频一区| 亚洲第一会所有码转帖| 亚洲最大成人网4388xx| 亚洲欧洲中文日韩久久av乱码| 国产精品久久久久久久蜜臀| 欧美激情一区二区在线| 中文字幕av资源一区| 欧美精彩视频一区二区三区| 久久精品一区二区| 欧美激情一区在线观看| 国产精品入口麻豆九色| 国产精品天天看| 国产精品不卡在线观看| 亚洲三级电影全部在线观看高清| 国产精品你懂的在线欣赏| 国产精品久久久久aaaa樱花 | 日韩视频在线一区二区| 欧美一区二区私人影院日本| 91麻豆精品国产91久久久久久久久| 欧美日韩一区不卡| 欧美一区二区高清| xvideos.蜜桃一区二区| 2019国产精品| 国产精品欧美一区二区三区| 亚洲视频资源在线| 一区二区三国产精华液| 午夜天堂影视香蕉久久| 蜜桃av噜噜一区| 国产精品综合视频| 99久久久久久| 欧美丰满少妇xxxxx高潮对白| 日韩欧美一区二区不卡| 国产欧美日韩在线观看| 亚洲色图欧洲色图| 日本免费新一区视频| 国产一区二区三区免费播放 | 成人福利视频网站| 91黄色免费网站| 日韩一区二区三区在线视频| 国产日产欧产精品推荐色| 亚洲人成网站影音先锋播放| 亚洲v日本v欧美v久久精品| 精品午夜一区二区三区在线观看| 不卡一区在线观看| 欧美日韩国产123区| 久久久久久久久伊人| 亚洲乱码日产精品bd| 日韩电影一区二区三区| 成人高清av在线| 欧美精品v日韩精品v韩国精品v| 久久亚区不卡日本| 亚洲综合在线观看视频| 国内精品伊人久久久久av一坑| 不卡av电影在线播放| 欧美精品九九99久久| 中文字幕精品一区二区三区精品| 亚洲成av人在线观看| 国产精品一区二区久久精品爱涩 | 国产成都精品91一区二区三| 欧美丝袜自拍制服另类| 国产嫩草影院久久久久| 天堂va蜜桃一区二区三区漫画版| 国产.欧美.日韩| 日韩一级黄色片| 亚洲色图制服诱惑| 国产尤物一区二区| 欧美精品 国产精品| 中文字幕在线不卡视频| 美女网站一区二区| 在线精品视频免费播放| 欧美激情自拍偷拍| 国模冰冰炮一区二区| 欧美日韩电影在线| 亚洲黄色小视频| 成人免费视频一区| 精品国产伦一区二区三区免费| 亚洲一二三专区| 色综合久久中文综合久久97| 国产日韩欧美制服另类| 久久精品国产精品亚洲精品| 在线免费av一区| 亚洲少妇30p| 成人aa视频在线观看| 久久蜜桃av一区精品变态类天堂 | 国产麻豆精品theporn| 67194成人在线观看| 一区二区三区欧美在线观看| 福利一区二区在线观看| 国产亚洲精久久久久久| 国产一本一道久久香蕉| 欧美草草影院在线视频| 午夜国产不卡在线观看视频| 一本大道久久a久久精二百| 国产精品女主播av| 成人高清免费观看| 国产精品护士白丝一区av| 国产盗摄精品一区二区三区在线| 欧美一级电影网站| 麻豆精品视频在线| 欧美一二三区精品| 美脚の诱脚舐め脚责91| 欧美一区欧美二区| 看国产成人h片视频| 亚洲视频 欧洲视频| 成人一区二区三区| 中文字幕在线视频一区| 国产成人av一区| 欧美国产精品久久| www.欧美精品一二区| 国产精品视频在线看| 成人av在线播放网址| 国产日韩欧美精品在线| 国产**成人网毛片九色| 国产精品国产成人国产三级 | 成人在线视频一区二区| 国产精品三级久久久久三级| 99精品在线观看视频| 亚洲激情综合网| 欧美日韩视频在线第一区 | 亚洲午夜精品久久久久久久久| 在线亚洲一区二区| 亚洲图片欧美色图| 欧美一区二区三区啪啪| 奇米影视7777精品一区二区| 欧美电影免费提供在线观看| 国产精品一二三区| 亚洲日本va在线观看| 欧美日韩在线综合| 久久成人综合网| 国产精品视频观看| 色88888久久久久久影院按摩| 91成人在线免费观看| 亚洲国产视频一区二区| 91精品国产综合久久精品app | 亚洲国产精品久久久久秋霞影院 | 色综合久久久久综合体桃花网| 亚洲自拍都市欧美小说| 欧美一区二区在线免费播放| 国产福利精品导航| 亚洲午夜免费视频| 久久久精品综合| 91小视频在线观看| 日韩精彩视频在线观看| 中文字幕巨乱亚洲| 在线播放欧美女士性生活| 久久精品国内一区二区三区 | 日本免费新一区视频| 国产女同互慰高潮91漫画| 欧美色中文字幕| 国产69精品久久久久毛片| 亚洲综合成人网| 国产日产精品1区| 91精品国产美女浴室洗澡无遮挡| 国产精品一区二区三区网站| 亚洲精品成a人| 久久久99精品免费观看| 欧美日韩国产一区| www.性欧美| 国产真实乱子伦精品视频| 亚洲一二三专区| 中文字幕+乱码+中文字幕一区| 欧美日韩大陆一区二区| 成人黄色软件下载| 麻豆精品一二三| 亚洲国产一区二区三区青草影视| 国产欧美一区二区三区在线看蜜臀 | 亚洲精选在线视频| 久久综合久久99| 欧美日韩高清影院|