freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

編譯原理課程設(shè)計(jì)--nfa轉(zhuǎn)化為dfa的轉(zhuǎn)換算法及實(shí)現(xiàn)-其他專(zhuān)業(yè)-文庫(kù)吧在線文庫(kù)

  

【正文】 4 頁(yè),共 22 頁(yè) int i,j。 a[i+1]=b。he,int m,edge b[]) { int i,j,k,l。amp。([m][i]==b[j].first[0])) if([m].find(b[j].last[0])[m].length()) [m]+=b[j].last[0]。 coutendlendl。jlen。 string jh[MAXS],endnode,ednode,sta。 /*for(j=0。amp。 return。ih。k++) { //coutt[i].jihe[k]。j++) { paixu(t[i].jihe[j])。 } } coutendl狀態(tài)轉(zhuǎn)換矩陣如下: endl。 t[i].()。 for(j=0。 } 第 19 頁(yè),共 22 頁(yè) for(i=0。 ()。 y=m。 } else if(sta[0]!=x+48) { d[m]+=d[i][j]。 } //coutsta=staendl。 ()。 cout{d[i]}=md[i].ltabendl。nm。i++) for(j=0。 cout其中終態(tài)為: endnodeendl。(md[i].ltab)) ednode+=md[i].ltab。 } } break。klen。i++) { md[i].ltab=39。im。 j。ny。i++) { //coutd[i]=d[i]endl。 coutendlDFA 如下: endl。kh。 NODE+=t[i].ltab。 coutendl重命名: endl。 if(flag) break。jt[i].jihe[k].length()。mlen。 h=1。 第 17 頁(yè),共 22 頁(yè) cinendnode。iN。i++) { cinb[i].first。 } coutendl。 39。ilen。i++) for(j=0。ik。kN。j++) for(i=0。ia。 string change。書(shū)本只能教給我們基礎(chǔ)知識(shí) ,要怎樣運(yùn)用 ,將那些知識(shí)真正吸收 ,轉(zhuǎn)化為自己的智慧 ,只有通過(guò)實(shí) 踐才能達(dá)到。 NFA的確定化是編譯過(guò)程中一個(gè)重要的部分,由于本程序的輸入很多,而且有多種格式的輸入,所以輸入時(shí)必須非常小心細(xì)致。 狀態(tài)集合 I 的 a 弧轉(zhuǎn)換 Ia:定義為一狀態(tài)集,是指從狀態(tài)集 I出發(fā)先經(jīng)過(guò) a弧后再經(jīng)過(guò)若干條 ε 弧而能到達(dá)的狀態(tài)的集合。 有限自動(dòng)機(jī)( Finite Automate)是用來(lái)模擬實(shí)物系統(tǒng)的數(shù)學(xué)模型,它包括如下五個(gè)部分: ? 有窮狀態(tài)集 States ? 輸入字符集 Input symbols ? 轉(zhuǎn)移函數(shù) Transitions ? 起始狀態(tài) Start state ? 接 受狀態(tài) Accepting state(s) 實(shí)踐目的 ( 1)設(shè)計(jì)、編制、調(diào)式一個(gè)有窮自動(dòng)機(jī)程序,加深對(duì) NFA 轉(zhuǎn)換為 DFA的原理的理解。不確定的有限自動(dòng)機(jī)則相反,在某種狀態(tài)下,面臨一個(gè)特定的符號(hào)是存在不止一個(gè)轉(zhuǎn)換,即是可以允許進(jìn)入一個(gè)狀態(tài)集合。本文主要是介紹如何將 NFA轉(zhuǎn)換為與之等價(jià)的簡(jiǎn)化的 DFA,通過(guò)具體實(shí)例,結(jié)合圖形,詳細(xì)說(shuō)明轉(zhuǎn)換的算法原理。 轉(zhuǎn)換思路 由非確定的有限自動(dòng)機(jī)出發(fā)構(gòu)造與之等價(jià)的確定的有限自動(dòng)機(jī)的辦法是確定的有限自動(dòng)機(jī)的狀態(tài)對(duì)應(yīng)于非確定的有限自動(dòng)機(jī)的狀態(tài)集合,即要使轉(zhuǎn)換后的DFA 的每一個(gè)狀態(tài)對(duì)應(yīng) NFA 的一組狀態(tài)。 步驟 1: 以 I, Ia、 Ib 等為列做表,其中 I列第一行的內(nèi)容是初態(tài)的ε 閉包所得到的狀態(tài)集合。很好的理解了子集法的演算過(guò)程。 //結(jié)點(diǎn)集合 string CHANGE。 }。 char b。 } } void eclouse(char c,string amp。 k=()。([i]==b[j].first[0])) if([m].find(b[j].last[0])[m].length()) [m]+=b[j].last[0]。 } //輸出 void outputfa(int len,int h,chan *t) { int i,j,m。 for(i=0。j++) { kong(8m)。 cout請(qǐng)輸入 NFA 各邊信息 ,分別為 :起點(diǎn) 條件 [空為 *] 終點(diǎn),最后以 結(jié)束:endl。jN。(b[i].change!=*)) CHANGE+=b[i].change。 } //coutendnode=endnodeendl。i++) { for(j=0。 move(t[i],k,b)。 //對(duì)集合排序以便比較 for(k=0。 outputfa(len,h,t)。 t[i].ltab=39。j()。i()。 flag=0。 for(j=0。 flag=1。 ()。 coutendl重命名: endl。 } for(i=0。n++) { if(!t[j].jihe[k].length()) break。j()。 } 。amp。 break。i++) for(k=0。im。 for(i=0。 //coutd[i]endl。j++) { for(n=0。im。 endnode=ednode。 for(k=0。+i。 ()。k++) 第 18 頁(yè),共 22 頁(yè) { flag=operator==(t[k].ltab,t[i].jihe[j])。 for(j=0。j++) for(m=0。 t[0].ltab=b[0].first。 cout結(jié)點(diǎn)中屬于 終態(tài)的是: endl。*/ for(i=0。iMAXS。 coutt[i].jihe[j]。i++) { cout39。 for(i=0。il。 第 15 頁(yè),共 22 頁(yè) for(i=0。 for(k=0。j()。 for(i=0。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1