中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

鄂州網(wǎng)站開(kāi)發(fā)微信朋友圈推廣

鄂州網(wǎng)站開(kāi)發(fā),微信朋友圈推廣,濮陽(yáng)網(wǎng)站注冊(cè),北京專(zhuān)業(yè)制作網(wǎng)站公司嗎一、詞法分析程序的設(shè)計(jì) 1、詞法分析程序的輸出 在識(shí)別出下一個(gè)單詞同時(shí)驗(yàn)證其詞法正確性之后,詞法分析程序?qū)⒔Y(jié)果以單詞符號(hào)的形式發(fā)送至語(yǔ)法分析程序以回應(yīng)其請(qǐng)求。 單詞符號(hào)一般分下列5類(lèi): 關(guān)鍵字:如:begin、end、if、whil…

一、詞法分析程序的設(shè)計(jì)

1、詞法分析程序的輸出

在識(shí)別出下一個(gè)單詞同時(shí)驗(yàn)證其詞法正確性之后,詞法分析程序?qū)⒔Y(jié)果以單詞符號(hào)的形式發(fā)送至語(yǔ)法分析程序以回應(yīng)其請(qǐng)求。

單詞符號(hào)一般分下列5類(lèi):

  • 關(guān)鍵字:如:begin、end、if、while和var。
  • 標(biāo)識(shí)符:如:常量名、變量名和過(guò)程名
  • 常數(shù):各種類(lèi)型的常數(shù),如:25、TRUE和"ABC"等。
  • 運(yùn)算符:如+、*、<、=等。
  • 界符:如:逗號(hào)、分號(hào)、括號(hào)等、

2、詞法分析程序中如何識(shí)別單詞

常見(jiàn)的可以用于詞法規(guī)則描述的工具有狀態(tài)轉(zhuǎn)換圖、擴(kuò)展巴克斯范式(EBNF)、有限狀態(tài)自動(dòng)機(jī)、正規(guī)表達(dá)式以及正規(guī)文法等。

二、單詞的形式化描述工具

1、正規(guī)文法

正規(guī)文法也稱(chēng)3型文法G={VN,VT,S,P},其P中的每一條規(guī)則都有下述形式:A→aB或A→a,其中A,B\inVN,a\inVT^{*}。正規(guī)文法描述的是VT上的正規(guī)集。

2、正規(guī)式

設(shè)字母表Σ={\phi\varepsilon,|,.,*,(,)}。
????1)ε和?都是Σ上的一個(gè)正規(guī)式,它們所表示的正規(guī)集為{ε}和?。
????2)任何a∈Σ,a是Σ上的一個(gè)正規(guī)式,它所表示的正規(guī)集為{a}。
????3)假設(shè)e1和e2是Σ上的正規(guī)式,它們所表示的正規(guī)集分別為L(zhǎng)(e1)和L(e2),則
? ? ? ? ·e1|e2是Σ上的正規(guī)式,它所表示的正規(guī)集為L(zhǎng)(e1|e2)= L(e1)∪L(e2)。
? ? ? ? ·e1e2是Σ上的正規(guī)式,它所表示的正規(guī)集為L(zhǎng)(e1e2)= L(e1)L(e2)。
? ? ? ? ·(e1)*是Σ上的正規(guī)式,它所表示的正規(guī)集為L(zhǎng)((e1)*)= L(e1)*。
? ? 4)僅由有限次上述3個(gè)步驟而定義的表達(dá)式才是Σ上的正規(guī)式,僅由這些正規(guī)式所表示的符號(hào)串的集合才是Σ上的正規(guī)集。

?例子:令Σ={a,b},則有:

? ? ? ? 1)正規(guī)式a表示的正規(guī)集為{a}。
????????2)正規(guī)式a|b表示的正規(guī)集為{a,b}。

? ? ? ? 3)正規(guī)式ab表示的正規(guī)集為{ab}。
? ? ? ? 4)正規(guī)式(a|b)(a|b)表示的正規(guī)集為{aa,ab,ba,bb}。
? ? ? ? 5)正規(guī)式a*表示的正規(guī)集為{ε,a,aa,aaa,…}。
? ? ? ? 6)正規(guī)式(a|b)*表示的正規(guī)集為{ε,a,b,aa,ab,ba,bb,aaa,…}。
? ? ? ? 7)正規(guī)式a|a*b表示的正規(guī)集為包含字符串a(chǎn)和包含0個(gè)或多個(gè)a后跟隨一個(gè)b的所有的符號(hào)串。

若兩個(gè)正規(guī)式e1和e2所表示的正規(guī)集相同,則說(shuō)e1和e2等價(jià),寫(xiě)作e1=e2。
設(shè)r,s,t為正規(guī)式,正規(guī)式服從的代數(shù)規(guī)律如下:
? ? ? ?1)r|s=s|r
? ? ? ?2)r|(s|r)=(r|s)|t
? ? ? ?3)(rs)t=r(st)
? ? ? ?4)r(s|t)=rs|rt,(s|t)r=sr|tr
? ? ? ?5)\varepsilonr=r,r\varepsilon=r
? ? ? ?6)r|r=r

3、正規(guī)式轉(zhuǎn)正規(guī)文法

字母表Σ上的正規(guī)式r到正規(guī)文法G-=(VN,VT,S,P)的轉(zhuǎn)換方法為:
????1選擇一個(gè)非終結(jié)符S生成類(lèi)似產(chǎn)生式的形式:S\rightarrowr,并將S定為G放識(shí)別符號(hào)。為表述方便,將S\rightarrowr稱(chēng)作正規(guī)式產(chǎn)生式,因?yàn)樵?img referrerpolicy="no-referrer" alt="\rightarrow" class="mathcode" src="https://latex.csdn.net/eq?%5Crightarrow" />右部中含有“.”,“*”或“|”等正規(guī)式符號(hào),不是V中的符號(hào)。
????2若x和y都是正規(guī)式,對(duì)形如A\rightarrowxy的正規(guī)式產(chǎn)生式,重寫(xiě)成A\rightarrowxB,B\rightarrowy兩個(gè)產(chǎn)生式,其中B是新選擇的非終結(jié)符。

例:對(duì)于r=a(a|d)*

? ? ? ? 首先形成S\rightarrowa(a|d)*,然后形成S\rightarrowaA和A\rightarrow(a|d)*,在形成

? ? ? ? S\rightarrowaA? ? A\rightarrow(a|d)B

? ? ? ? A\rightarrow\varepsilon? ? B\rightarrow{a|d)B

? ? ? ? B\rightarrow\varepsilon

4、正規(guī)文法轉(zhuǎn)正規(guī)式

文法產(chǎn)生式正規(guī)式
規(guī)則1A\rightarrowxB? ? B\rightarrowyA=xy
規(guī)則2A\rightarrowxA|yA=x*y
規(guī)則3A\rightarrowx? ? A\rightarrowyA=x|y

例如:文法G[S]如下:

S\rightarrowaA? ? ? ? S\rightarrowa? ? ? ? A\rightarrowaA? ? ? ? A\rightarrowdA? ? ? ? A\rightarrowa? ? ? ? A\rightarrowd

解:首先有

? ? ? S=aA|a

? ? ? A=(aA|dA)|(a|d)

? ? ? ?再將A的正規(guī)式變換成A=(a|d)A|(a|d),又變換為A=(a|d)*(a|d),再代入S得:

? ? ? S=a(a|d)*(a|d)|a

? ? ? 再利用正規(guī)式的代數(shù)變換可依此得到

? ? ? ?S=a(a|d)*(a|d)|\varepsilon

? ? ? ?S=a(a|d)*?

三、有窮自動(dòng)機(jī)

1、確定的有窮自動(dòng)機(jī)

1.定義:一個(gè)確定的有限自動(dòng)機(jī)(DFA) M是一個(gè)五元組M=(K,Σ,f,S,Z),其中:
????1K是一個(gè)有限集,它的每一個(gè)元素稱(chēng)為一個(gè)狀態(tài)。
????2Σ是一個(gè)有窮字母表,它的每個(gè)元素稱(chēng)為一個(gè)輸入字符。
????3f是一個(gè)轉(zhuǎn)換函數(shù),是K\timesΣ\rightarrowK上的映像。
????4S∈K,是唯一的初態(tài)。
????5Z?S,F是一個(gè)終態(tài)集,可以為空。?
2.DFA的狀態(tài)轉(zhuǎn)移矩陣
????????DFA可用一個(gè)二維矩陣表示,矩陣的行表示狀態(tài),列表示輸入字符,矩陣元素表示δ(s,a)的值。
3.DFA是狀態(tài)轉(zhuǎn)換圖
????????若設(shè)DFA M含有m個(gè)狀態(tài)和n個(gè)輸入字符,則這個(gè)圖含有m個(gè)狀態(tài)結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)至多有n條箭弧射出與其它的狀態(tài)結(jié)點(diǎn)相連接,每個(gè)箭弧用Σ中的一個(gè)不同輸入字符作為標(biāo)記。整張圖含有唯一的初態(tài)結(jié)點(diǎn)和若干終態(tài)結(jié)點(diǎn)。

例子:設(shè)DFA M=({0,1,2,3},{a,b},δ,{3}),其中,δ定義為:
????????δ(0,a)=1,δ(0,b)=2,δ(1,a)=3,δ(1,b)=2,δ(2,a)=1,δ(2,b)=3,δ(3,a)=3,δ(3,b)=3。

4.DFA的識(shí)別字符串
????????1)對(duì)Σ上的任何符號(hào)串w∈Σ*,若存在一條從初態(tài)結(jié)點(diǎn)到某一終態(tài)結(jié)點(diǎn)的通路,且該通路上所有弧的標(biāo)記符連接成的字符串等于w,則稱(chēng)w可被DFA M所識(shí)別。若M的初態(tài)結(jié)點(diǎn)同時(shí)又是終態(tài)結(jié)點(diǎn),則空字符串ε被M所識(shí)別。
?????????2)DFA與語(yǔ)言的關(guān)系:DFA M所能識(shí)別的符號(hào)串的全體記為L(zhǎng)(M)。

2、不確定的有窮自動(dòng)機(jī)

1.定義:一個(gè)不確定有限自動(dòng)機(jī)(NFA) M是一個(gè)五元組:M=(S,Σ,δ,S0,F),其中:
????1)S是一個(gè)有限集,它的每一個(gè)元素稱(chēng)為一個(gè)狀態(tài)。
????2)Σ是一個(gè)有窮字母表,它的每個(gè)元素稱(chēng)為一個(gè)輸入字符。
????3)δ是一個(gè)從S×Σ到S的子集的映射,即δ:S×Σ*→2S
????4)S0?S,S0是一個(gè)非空初態(tài)集。
????5)F ?S,F是一個(gè)終態(tài)集,可以為空。
2.NFA的狀態(tài)轉(zhuǎn)換圖
????若設(shè)NFA M含有n個(gè)狀態(tài)和m個(gè)輸入符號(hào),則這個(gè)圖含有n個(gè)狀態(tài)結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)可射出若干箭弧與其它的狀態(tài)結(jié)點(diǎn)相連接。對(duì)于w∈{ε}∪Σ,若δ(q0,a)={q1,q2,…,qk}(k≥0),則從q0出發(fā),分別到q1,q2,…,qk的k條弧,弧上均標(biāo)記為a。整張圖含有唯一的初態(tài)結(jié)點(diǎn)若干終態(tài)結(jié)點(diǎn)。
3.NFA識(shí)別字符串
????1)對(duì)Σ*上的任何符號(hào)串,若存在一條從某一初態(tài)結(jié)點(diǎn)到某一終態(tài)結(jié)點(diǎn)的通路,且該通路上所有弧的標(biāo)記符號(hào)依次連接成的字符串等于w,則稱(chēng)w可被NFA M所識(shí)別。若M的某些結(jié)點(diǎn)同時(shí)又是終態(tài)結(jié)點(diǎn),則空字符串ε被M所識(shí)別。
????2)NFA與語(yǔ)言的關(guān)系:Σ*中所有可被NFA M所識(shí)別的符號(hào)串的集合記為L(zhǎng)(M)。
4.DFA和NFA的關(guān)系
????1)DFA是NFA的特例,NFA是DFA概念的推廣。
????2)NFA能識(shí)別的語(yǔ)言都能被一個(gè)DFA識(shí)別。
????3)DFA相對(duì)NFA的識(shí)別程序更容易實(shí)現(xiàn)。

3、NFA轉(zhuǎn)換為等價(jià)的DFA

1.NFA的確定化:對(duì)任給的NFA M。都能相應(yīng)地構(gòu)造一個(gè)DFA M‘,使得L(M’)=L(M)
2.NFA的子集法:DFA的每一個(gè)狀態(tài)代表NFA狀態(tài)集合的某個(gè)子集,構(gòu)造的DFA使用它的狀態(tài)去記錄NFA讀入輸入符號(hào)之后可能到達(dá)的所有狀態(tài)的集合。
3.狀態(tài)集合I的a弧轉(zhuǎn)換,表示為ε-Closure(I),定義為一個(gè)狀態(tài)集,是狀態(tài)集I中的一組任何狀態(tài)S經(jīng)任意條ε弧而能夠到達(dá)的狀態(tài)的集合。
4.狀態(tài)集合I的a弧轉(zhuǎn)換,表示為move(I,a),定義為狀態(tài)集合J,其中J是所有那些可以從I中的某一狀態(tài)經(jīng)過(guò)一條a弧而到達(dá)的狀態(tài)的全體。

4、確定有限自動(dòng)機(jī)的化簡(jiǎn)

1.化簡(jiǎn)的目的去除多余或等價(jià)的狀態(tài),降低存儲(chǔ)代價(jià),提高句子識(shí)別的效率。
2.有限自動(dòng)機(jī)的多余狀態(tài):從初態(tài)出發(fā),任何可識(shí)別的輸入串也不能到達(dá)的狀態(tài)。
3.狀態(tài)等價(jià):在兩個(gè)狀態(tài)s和t等價(jià)的條件是以下兩個(gè):
? ? ? ? 一致性條件--狀態(tài)s和t必須同時(shí)為可接受狀態(tài)或不可接受狀態(tài)。
? ? ? ? 蔓延性條件--對(duì)于所有輸入符號(hào),狀態(tài)s和狀態(tài)t必須轉(zhuǎn)換到等價(jià)的狀態(tài)里。

4.DFA的化簡(jiǎn)(分割法):
?????????i將DFA M的狀態(tài)集S劃分為兩個(gè)子集終態(tài)集F和非終態(tài)集F ?,形成初始劃分Π。
????????ii對(duì)Π建立新的劃分Πnew。對(duì)Π中的每個(gè)狀態(tài)子集G進(jìn)行如下變換:
????????????a把G劃分成新的子集,使G的兩個(gè)狀態(tài)s和t屬于同一個(gè)子集,當(dāng)且僅當(dāng)對(duì)任何輸入符號(hào)a,狀態(tài)s和t轉(zhuǎn)換到的狀態(tài)都屬于Π的同一子集。
????????????b用G劃分出的所有新子集替換G,形成新的劃分Πnew。
????????iii若Πnew和Π相等,則執(zhí)行第iv)步,否則,令Π=Πnew,重復(fù)第ii)步。
????????iv劃分結(jié)束后,對(duì)劃分中的每個(gè)狀態(tài)子集,選出一個(gè)狀態(tài)作為代表,刪去其它一切等價(jià)的狀態(tài),并把射向其它狀態(tài)的箭弧改為射向這個(gè)代表的狀態(tài)。

四、正規(guī)式與有限自動(dòng)機(jī)之間的等價(jià)性

1.由正規(guī)式構(gòu)造有限自動(dòng)機(jī)??
消去結(jié)點(diǎn)的規(guī)則如下:

http://www.risenshineclean.com/news/9714.html

相關(guān)文章:

  • 網(wǎng)站功能板塊廣州做網(wǎng)站的公司哪家好
  • 廣州做蛋糕的網(wǎng)站推廣策略可以分為哪三種
  • 臺(tái)山網(wǎng)站建設(shè)口碑營(yíng)銷(xiāo)的例子
  • 九脈堂是做網(wǎng)站的優(yōu)化大師win10
  • 東莞做營(yíng)銷(xiāo)型網(wǎng)站的關(guān)鍵詞首頁(yè)排名代發(fā)
  • 對(duì)網(wǎng)站建設(shè)的認(rèn)識(shí)百度手機(jī)
  • 手機(jī)網(wǎng)站開(kāi)發(fā)公司關(guān)鍵詞簡(jiǎn)譜
  • 東莞大朗網(wǎng)站建設(shè)湖南網(wǎng)站推廣公司
  • 如何建設(shè)網(wǎng)站 企業(yè)做一個(gè)私人網(wǎng)站需要多少錢(qián)
  • 美女做曖曖免費(fèi)視頻網(wǎng)站公司網(wǎng)站建設(shè)價(jià)格
  • 廈門(mén)本地網(wǎng)站上海網(wǎng)絡(luò)seo
  • 南京代辦公司注冊(cè)需要費(fèi)用如何優(yōu)化網(wǎng)絡(luò)延遲
  • 重慶網(wǎng)站建設(shè)哪里有推廣引流的10個(gè)渠道
  • 站長(zhǎng)工具問(wèn)答網(wǎng)站個(gè)人網(wǎng)站設(shè)計(jì)內(nèi)容
  • 企業(yè)網(wǎng)站建設(shè)的基本內(nèi)容產(chǎn)品推廣活動(dòng)策劃方案
  • 備案密碼找回seo優(yōu)化方案
  • 學(xué)做糕點(diǎn)的網(wǎng)站谷歌瀏覽器搜索引擎入口
  • 深圳企業(yè)網(wǎng)站建設(shè)價(jià)格快手作品免費(fèi)推廣軟件
  • 個(gè)性化定制服務(wù)的網(wǎng)站有哪些網(wǎng)站優(yōu)化要做哪些
  • 黃梅那里有做網(wǎng)站的seo關(guān)鍵詞排名優(yōu)化要多少錢(qián)
  • 網(wǎng)站定制 div css 手工怎么給客戶推廣自己的產(chǎn)品
  • 高端網(wǎng)站建設(shè)知識(shí)他達(dá)那非副作用太強(qiáng)了
  • 服務(wù)好的成都網(wǎng)站建設(shè)競(jìng)價(jià)托管運(yùn)營(yíng)哪家好
  • 蘇州正規(guī)網(wǎng)站制作公司關(guān)鍵詞排名推廣怎么做
  • 建設(shè)網(wǎng)站的意義 作用seo計(jì)費(fèi)系統(tǒng)開(kāi)發(fā)
  • 開(kāi)一個(gè)網(wǎng)站建設(shè)公司有站點(diǎn)網(wǎng)絡(luò)營(yíng)銷(xiāo)平臺(tái)
  • wordpress可以管理現(xiàn)有網(wǎng)啊深圳網(wǎng)站優(yōu)化推廣方案
  • 福鼎市建設(shè)局網(wǎng)站新聞?lì)^條今日新聞60條
  • 南昌網(wǎng)站建設(shè)多少錢(qián)seo查詢(xún)愛(ài)站
  • php實(shí)現(xiàn)網(wǎng)站消息推送濟(jì)南seo快速霸屏