![不確定有窮自動(dòng)機(jī)的確定化編譯原理實(shí)驗(yàn)報(bào)告_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/1509320c-5e15-458b-a341-b7135a9ed98d/1509320c-5e15-458b-a341-b7135a9ed98d1.gif)
![不確定有窮自動(dòng)機(jī)的確定化編譯原理實(shí)驗(yàn)報(bào)告_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/1509320c-5e15-458b-a341-b7135a9ed98d/1509320c-5e15-458b-a341-b7135a9ed98d2.gif)
![不確定有窮自動(dòng)機(jī)的確定化編譯原理實(shí)驗(yàn)報(bào)告_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/1509320c-5e15-458b-a341-b7135a9ed98d/1509320c-5e15-458b-a341-b7135a9ed98d3.gif)
![不確定有窮自動(dòng)機(jī)的確定化編譯原理實(shí)驗(yàn)報(bào)告_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/1509320c-5e15-458b-a341-b7135a9ed98d/1509320c-5e15-458b-a341-b7135a9ed98d4.gif)
![不確定有窮自動(dòng)機(jī)的確定化編譯原理實(shí)驗(yàn)報(bào)告_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/1509320c-5e15-458b-a341-b7135a9ed98d/1509320c-5e15-458b-a341-b7135a9ed98d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.編譯原理實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱 不確定有窮自動(dòng)機(jī)的確定化實(shí)驗(yàn)時(shí)間_ 2014年4月10日_院 系_管理信息工程學(xué)院_班 級(jí)_11計(jì)算機(jī)科學(xué)與技術(shù)_學(xué) 號(hào)_201101020109_姓 名_姜高_(dá)1、 實(shí)驗(yàn)?zāi)康牟淮_定有窮自動(dòng)機(jī)的確定化2、 實(shí)驗(yàn)原理用子集構(gòu)造算法構(gòu)造子集加入子集族中直到收斂(所有構(gòu)造的子集都已存在于子集族)為止。如原來不確定有窮自動(dòng)機(jī)的五元組形式為:M=(K,&,F(xiàn),S,Z),其中K為狀態(tài)集,&為字母表,F(xiàn)為轉(zhuǎn)換函數(shù),S為初始態(tài),Z為終態(tài)集。用子集族S代替K,新的轉(zhuǎn)換函數(shù)D代替F,形成新的五元組M=(S,&,D,S,Z)即將原不確定有窮自動(dòng)機(jī)轉(zhuǎn)換為確定有窮自動(dòng)機(jī)。3、 實(shí)驗(yàn)內(nèi)容(1)
2、 閉包計(jì)算:closure(I)(2) 轉(zhuǎn)換函數(shù):move(I,a)4、 偽代碼 假定構(gòu)造的子集族為S=(T1,T2。), K為狀態(tài)集:(1) 開始,令closure(K0)為S中唯一成員,并且未被標(biāo)記(2) WHILE(C中存在尚未被標(biāo)記的子集T)DO標(biāo)記T;For 每輸入字母a DOU:=closure(move(T,a);If U 不在S中 then將U作為未被標(biāo)記的子集加在S中5.代碼實(shí)現(xiàn)#include #include #define MAXS 100 using namespace std; string NODE; /結(jié)點(diǎn)集合 string CHANGE; /終結(jié)符集合 int
3、 N; /NFA邊數(shù) struct edge string first; string change; string last; ; struct chan string ltab; string jiheMAXS; ; void kong(int a) int i; for(i=0;ia;i+) cout ; /排序 void paixu(string &a) int i,j; char b; for(j=0;ja.length();j+) for(i=0;iNODE.find(ai+1) b=ai; ai=ai+1; ai+1=b; void eclouse(char c,string &
4、he,edge b) int k; for(k=0;khe.length() he+=bk.last; eclouse(bk.last0,he,b); void move(chan &he,int m,edge b) int i,j,k,l; k=he.ltab.length(); l=he.jihem.length(); for(i=0;ik;i+) for(j=0;jhe.jihem.length() he.jihem+=bj.last0; for(i=0;il;i+) for(j=0;jhe.jihem.length() he.jihem+=bj.last0; /輸出 void outp
5、utfa(int len,int h,chan *t) int i,j,m; cout I ; for(i=0;ilen;i+) coutICHANGEi ; coutendl-endl; for(i=0;ih;i+) cout ti.ltab; m=ti.ltab.length(); for(j=0;jlen;j+) kong(8-m); m=ti.jihej.length(); coutti.jihej; coutendl; void main() edge *b=new edgeMAXS; int i,j,k,m,n,h,x,y,len; bool flag; string jhMAXS
6、,endnode,ednode,sta; cout請(qǐng)輸入NFA各邊信息(起點(diǎn)條件空為* 終點(diǎn)),以#結(jié)束:endl; for(i=0;ibi.first; if(bi.first=#) break; cinbi.changebi.last; N=i; /*for(j=0;jN;j+) coutbj.firstbj.changebj.lastendl;*/ for(i=0;iNODE.length() NODE+=bi.first; if(NODE.find(bi.last)NODE.length() NODE+=bi.last; if(CHANGE.find(bi.change)CHANGE.
7、length()&(bi.change!=*) CHANGE+=bi.change; len=CHANGE.length(); cout結(jié)點(diǎn)中屬于終態(tài)的是:endnode; for(i=0;iNODE.length() cout所輸終態(tài)不在集合中,錯(cuò)誤!endl; return; /coutendnode=endnodeendl; chan *t=new chanMAXS; t0.ltab=b0.first; h=1; eclouse(b0.first0,t0.ltab,b); /求e-clouse /coutt0.ltabendl; for(i=0;ih;i+) for(j=0;jti.lt
8、ab.length();j+) for(m=0;mlen;m+) eclouse(ti.ltabj,ti.jihem,b); /求e-clouse for(k=0;klen;k+) /coutti.jihek; move(ti,k,b); /求move(I,a) /coutti.jihekendl; for(j=0;jti.jihek.length();j+) eclouse(ti.jihekj,ti.jihek,b); /求e-clouse for(j=0;jlen;j+) paixu(ti.jihej); /對(duì)集合排序以便比較 for(k=0;kh;k+) flag=operator=(t
9、k.ltab,ti.jihej); if(flag) break; if(!flag&ti.jihej.length() th+.ltab=ti.jihej; coutendl狀態(tài)轉(zhuǎn)換矩陣如下:endl; outputfa(len,h,t); /輸出狀態(tài)轉(zhuǎn)換矩陣 /狀態(tài)重新命名 string *d=new stringh; NODE.erase(); coutendl重命名:endl; for(i=0;ih;i+) sta=ti.ltab; ti.ltab.erase(); ti.ltab=A+i; NODE+=ti.ltab; coutsta=ti.ltabendl; for(j=0;jen
10、dnode.length();j+) if(sta.find(endnodej)sta.length() d1=ednode+=ti.ltab; for(k=0;kh;k+) for(m=0;mlen;m+) if(sta=tk.jihem) tk.jihem=ti.ltab; for(i=0;iednode.length() d0+=NODEi; endnode=ednode; coutendlDFA如下:endl; outputfa(len,h,t); /輸出DFA cout其中終態(tài)為:endnodeendl; /DFA最小化 m=2; sta.erase(); flag=0; for(i
11、=0;im;i+) /coutdi=diendl; for(k=0;klen;k+) /coutICHANGEkendl; y=m; for(j=0;jdi.length();j+) for(n=0;ny;n+) if(dn.find(tNODE.find(dij).jihek)dn.length()|tNODE.find(dij).jihek.length()=0) if(tNODE.find(dij).jihek.length()=0) x=m; else x=n; if(!sta.length() sta+=x+48; else if(sta0!=x+48) dm+=dij; flag=
12、1; di.erase(j,1); /coutdiendl; j-; break; /跳出n /n /j if(flag) m+; flag=0; /coutsta=staendl; sta.erase(); /k /i coutendl集合劃分:; for(i=0;im;i+) coutdi ; coutendl; /狀態(tài)重新命名 chan *md=new chanm; NODE.erase(); coutendl重命名:endl; for(i=0;im;i+) mdi.ltab=A+i; NODE+=mdi.ltab; coutdi=mdi.ltabendl; for(i=0;im;i+) for(k=0;klen;k+) for(j=0;jh;j+) if(di0=tj.ltab0) for(n=0;nm;n+) if(!tj.jihek.length() break; else if(dn.find(tj.jihek)dn.length() mdi.jihek=mdn.ltab; break; break; ednode.erase(); f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何有效記錄工作進(jìn)度計(jì)劃
- 倉(cāng)庫(kù)貨物拆零與分揀管理策略計(jì)劃
- 2025年路面清潔裝備合作協(xié)議書
- 如何制定品牌宣傳計(jì)劃
- 2025年優(yōu)良動(dòng)植物新品種項(xiàng)目合作計(jì)劃書
- 班主任與學(xué)科教師協(xié)作計(jì)劃
- 2025年鈷粉系列合作協(xié)議書
- 2025年中國(guó)頁(yè)巖氣行業(yè)市場(chǎng)現(xiàn)狀及投資態(tài)勢(shì)分析報(bào)告(智研咨詢)
- 2025年氣體摻混設(shè)備合作協(xié)議書
- 2025年動(dòng)葉可調(diào)軸流電站用風(fēng)機(jī)項(xiàng)目發(fā)展計(jì)劃
- 礦山電工知識(shí)點(diǎn)講解
- 老年人能力評(píng)估基本知識(shí)
- CATL設(shè)備電氣控制標(biāo)準(zhǔn)-V10
- 糖尿病高滲性昏迷HNDC搶救流程圖
- 物業(yè)公司服務(wù)質(zhì)量檢查流程
- 磷酸鐵鋰動(dòng)力電池生產(chǎn)工藝全流程詳述
- 員工輪崗申請(qǐng)表-模板
- 裝載機(jī)駕駛員理論考試復(fù)習(xí)題庫(kù)(500題)
- 2022小學(xué)音樂新課程標(biāo)準(zhǔn)測(cè)試題庫(kù)及答案
- 復(fù)產(chǎn)復(fù)工安全生產(chǎn)六個(gè)一
- 中國(guó)旅游地理區(qū)劃-京津冀旅游區(qū)
評(píng)論
0/150
提交評(píng)論