




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三章 詞法分析與有窮自動(dòng)機(jī) 詞法分析器的功能與輸出 單詞符號(hào)的兩種定義方式 正規(guī)表達(dá)式與有窮自動(dòng)機(jī) 正規(guī)文法與有窮自動(dòng)機(jī) 詞法分析器的設(shè)計(jì) 詞法分析程序自動(dòng)構(gòu)造工具LEX簡介b詞法分析:對(duì)字符串表示的源程序進(jìn)行從左到右的掃描和詞法分析:對(duì)字符串表示的源程序進(jìn)行從左到右的掃描和分解,根據(jù)語言的詞法規(guī)則識(shí)別出一個(gè)個(gè)具有獨(dú)立意義的分解,根據(jù)語言的詞法規(guī)則識(shí)別出一個(gè)個(gè)具有獨(dú)立意義的單詞符號(hào)。單詞符號(hào)。3.1 詞法分析器的功能b 通常將詞法分析程序設(shè)計(jì)為語法分析程序的子程序源程序詞法分析器語法分析器單詞符號(hào)取下一個(gè)單詞符號(hào) (1)詞法分析作為一個(gè)獨(dú)立的階段; (2)與語法分析組織成一遍,作為語法分析的
2、子程序詞法分析語法分析語義分析和中間代碼生成源程序中間代碼 符 號(hào) 表 管 理 錯(cuò) 誤 的 診 查 處 理一、 語言的單詞符號(hào) (token) 具有獨(dú)立意義的最小語法單位。3.2 單詞符號(hào)及輸出單詞的形式關(guān)鍵字標(biāo)識(shí)符常量運(yùn)算符界符:基本字 保留字:表示各種名字:常數(shù):+ - * / : , ; : ( )3.2.2 單詞的輸出形式: (單詞種別,單詞自身的值) 3.2 單詞符號(hào)及輸出單詞的形式1、單詞種別 單詞種別編碼:整數(shù)碼 一符一種、一類一種2、單詞自身的值 標(biāo)識(shí)符自身值的表示 常數(shù)自身值的表示詞法分析器的輸出: (單詞種別,單詞符號(hào)的屬性值)單詞種別提供給語法分析程序使用;單詞自身的屬性
3、值提供給語義分析程序使用。具體的分類設(shè)計(jì)以方便語法分析程序使用為原則。關(guān)鍵字可分成一類,也可以一個(gè)關(guān)鍵字分成一類。常數(shù)可統(tǒng)歸一類,也可按類型(整型、實(shí)型、布爾型等),每個(gè)類型的常數(shù)劃分成一類。while (i!=j) if (ij) ii-j; else j=ji;詞法分析器例while, (,i,!=,j, ), if,(,i,j,), i, = , i, - , j, ;, else, j, =, j, -, i , ;例如:程序段 if (ij) i=20; 經(jīng)詞法分析器處理后,輸出單詞符號(hào)系列:if, (, id,指向i的符號(hào)表入口的指針 , id,指向j的符號(hào)表人口的指針), id,
4、指向i的符號(hào)表入口的指針=, con,指向20的常量表入口的指針 ;, 2, 29, 10,指向i的符號(hào)表入口的指針 23, 10,指向j的符號(hào)表人口的指針30, 10,指向i的符號(hào)表入口的指針17, 11,指向20的常量表入口的指針 26, 單詞符號(hào)結(jié)構(gòu)的形式化描述方法:正規(guī)文法(型文法)(regular grammar)正規(guī)式(正規(guī)表達(dá)式)(regular expression)3.3 單詞符號(hào)的兩種定義方式例:標(biāo)識(shí)符的定義id let | id dig | id letlet ( let | dig )*一、定義 設(shè) =a1,a2,an是字母表 正規(guī)表達(dá)式 正規(guī)表達(dá)式表達(dá)的語言(正規(guī)集)
5、 1. , , 2. ai ai 3. 若有 r, s L( r ) , L(s) 則有 ( a ) r | s L( r ) L(s) ( b ) rs L( r ) L(s) ( c ) ( r )* ( L( r )* “*”,連接,“”運(yùn)算左結(jié)合,優(yōu)先級(jí)由高到低。3.3.1 正規(guī)式與正規(guī)集 正規(guī)式 正規(guī)集 a b a b a|b a,b ab ab (a|b)* ,a,b,aa,ab,ba,bb,aaa, 注意:a,b*的任一子集,不能也認(rèn)為是一個(gè)正規(guī)集。 如:anbn|n1例 3.2 =a,b,c aa*bb*cc*例 3.3例3.1 字母表=a,bR1=R2 正規(guī)式R1與R2等價(jià)
6、正規(guī)式的代數(shù)性質(zhì): 恒等式 說明 rs=sr “”是可交換的 r(st)=(rs)t “”是可結(jié)合的 r(st)=(rs)t 連接是可結(jié)合的 r(st)=rs rt (st)r=srtr 分配律 r=r r=r 對(duì)連接,是單位元素 r*=(r)* “*”和之間的關(guān)系 r*=r* “*”是冪等的 正規(guī)集對(duì)應(yīng)的正規(guī)式練習(xí):1、以1開頭以0結(jié)尾的二進(jìn)制串;2、倒數(shù)第三個(gè)符號(hào)是0的二進(jìn)制串;3、含有相繼的三個(gè)0的二進(jìn)制串;4、含有相繼的兩個(gè)0或相繼的兩個(gè)1的二進(jìn)制串;5、含有奇數(shù)個(gè)1的二進(jìn)制串;6、二進(jìn)制的奇數(shù); =0,18、長度能被3整除的二進(jìn)制串;9、值能被3整除的二進(jìn)制串;7、每個(gè)1都有0直接跟
7、在后邊;3.3.2 正規(guī)文法與正規(guī)式n對(duì)任何正規(guī)文法G,存在定義同一語言的正規(guī)式r;n對(duì)任何正規(guī)式r,存在生成同一語言的正規(guī)文法G。n(等價(jià)關(guān)系,不是一一對(duì)應(yīng)). 正規(guī)文法到正規(guī)式的轉(zhuǎn)換. 正規(guī)式到正規(guī)文法的轉(zhuǎn)換1. 正規(guī)文法到正規(guī)式的轉(zhuǎn)換將文法中的規(guī)則寫成關(guān)于每個(gè)非終結(jié)符的正規(guī)式方程,得到一個(gè)方程組;依照求解規(guī)則: 若A=A=AA | |,則解為A= A= * *; 若A=A=AA | |,則解為A= A= * *; 并使用正規(guī)式的代數(shù)性質(zhì),求文法開始符號(hào)的解。例3.4 例3.5 例3.6 P36-37Z=0(0|01)*01. 正規(guī)文法到正規(guī)式的轉(zhuǎn)換將文法中的規(guī)則寫成關(guān)于每個(gè)非終結(jié)符的正規(guī)
8、式方程,得到一個(gè)方程組;依照求解規(guī)則: 若A=A=AA | |,則解為A= A= * *; 若A=A=AA | |,則解為A= A= * *; 并使用正規(guī)式的代數(shù)性質(zhì),求文法開始符號(hào)的解。例3.4 例3.5 例3.6 P36-37例3.4 有正規(guī)文法G: Z 0A A 0A | 0B B 1A | 例3.6 有正規(guī)文法G: Z U0 | V1 U Z1 | 1 V Z0 | 0例3.5 有正規(guī)文法G: A aB | bB B aC | a | b C aBA=(a|b)(aa)*(a|b)Z=(10|01)(10|01)*2. 正規(guī)式到正規(guī)文法的轉(zhuǎn)換字母表 上的正規(guī)式R到等價(jià)的正規(guī)文法G:令V
9、T= ;令文法的開始符號(hào)S = R ;對(duì)形如Aab 的規(guī)則轉(zhuǎn)換為AaB 和Bb;在新的文法中,將形如Aa*b 的規(guī)則進(jìn)一步轉(zhuǎn)換為AaA | b;不斷利用和進(jìn)行轉(zhuǎn)換,直到每條規(guī)則的右部最多含有一個(gè)終結(jié)符號(hào)為止。 P37-38例3.8 R=(a|b)(aa)*(a|b)例3.9 R=e(e|d)*3.4 正規(guī)式與有窮自動(dòng)機(jī) 有窮自動(dòng)機(jī)( finite automata)(FA):具有離散輸入和輸出系統(tǒng)的一種抽象數(shù)學(xué)模型。能夠準(zhǔn)確地識(shí)別正規(guī)集。DFA NFA正規(guī)式R與FA M是等價(jià)的:n(1)對(duì)任何正規(guī)式R,都存在一個(gè)FA M 使得L(M)=L(R);n(2)對(duì)任何FA M,都存在一個(gè)正規(guī)式R, 使
10、得L(R)=L(M)3.4.1 確定有窮自動(dòng)機(jī)(DFA)n一個(gè) DFA M是一個(gè)五元式 M=(Q, , ,S,F(xiàn))其中,Q是有限狀態(tài)集,是輸入字符的字母表,n是Q到Q的單值部分映射(即狀態(tài)轉(zhuǎn)換), (qi,a)=qj, nSQ是唯一初態(tài), F 是終態(tài)集(可空)例3.10設(shè)DFA M=(q0,q1,q2,a,b,f,q0,q2)f(q1,a)=q1 f(q1,b)=q1 f(q2,a)=q2 f(q2,b)=q1 f(q0,a)=q1 f(q0,b)=q2一個(gè)DFA可用一個(gè)狀態(tài)轉(zhuǎn)換矩陣表示,行表示狀態(tài),列表示輸入字符,矩陣元素表示(qi,a)的值。一個(gè)DFA也可用一個(gè)狀態(tài)轉(zhuǎn)換圖表示。 所以,一個(gè)
11、有三種表示方法:(1)轉(zhuǎn)換函數(shù);(2)狀態(tài)轉(zhuǎn)換矩陣;(3)狀態(tài)轉(zhuǎn)換圖。例例 設(shè)(設(shè)(, , , , , ,),)其中其中(,),(,),(,)(,)3(,),(,),(,)(,)(,),(,),(,)(,)(,),(,),(,)(,)ab012132213333轉(zhuǎn)換矩陣3b012aaaabbb3狀態(tài)轉(zhuǎn)換圖易存儲(chǔ) 從狀態(tài)轉(zhuǎn)換圖看,從初態(tài)出發(fā),沿任一條路徑到達(dá)接受狀態(tài),這條路徑上的弧上的標(biāo)記符號(hào)連接起來構(gòu)成的符號(hào)串被接受(識(shí)別)。 DFA M所能識(shí)別的字的全體即L(M)。字集V是正規(guī)的 iff V=L(M)012aaaabbb3b例:DFA,接受 0和1的個(gè)數(shù)都是偶數(shù)個(gè)的二進(jìn)制串312011110
12、000開始開始偶偶0偶偶1奇奇0奇奇1奇奇0偶偶1偶偶0奇奇1解釋下列有限自動(dòng)機(jī)分別識(shí)別什么語言?123456789000000011111111345aaaaa2一個(gè) NFA M是一個(gè)五元式 M=(Q, , ,S,F(xiàn))它包括:n 狀態(tài)集合Qn 輸入符號(hào)集合 n 轉(zhuǎn)換函數(shù) : Q ( ) P(Q)n S 是非空開始狀態(tài)集n F Q是接受狀態(tài)集合 例3.11 P3912開始開始a0abb識(shí)別語言識(shí)別語言(a|b)*ab 的的NFA3.4.2 非確定有窮自動(dòng)機(jī)(NFA)12開始開始a0abb識(shí)別語言識(shí)別語言(a|b)*ab 的的NFA狀狀 態(tài)態(tài) NFA的轉(zhuǎn)換表的轉(zhuǎn)換表n例 識(shí)別aa* *| |bb
13、* *的NFA12開始開始a0abb34 注意: NFA M的狀態(tài)轉(zhuǎn)換圖中可有標(biāo)記為 的邊。DFA是NFA的特例。對(duì)于每一個(gè)NFA M存在一個(gè)DFA M ,使得L(M) = L(M )。也就是說,每一個(gè)NFA M都可以轉(zhuǎn)換成等價(jià)的DFA M 。NFADFA 實(shí)現(xiàn)最小化的DFA 3.4.3 由正規(guī)表達(dá)式R構(gòu)造NFA方法和步驟:X R= R= R=aR為復(fù)合正規(guī)式?XXX3.4.3 由正規(guī)表達(dá)式R構(gòu)造NFA方法和步驟:X R= R= R=aR為復(fù)合正規(guī)式?AA| AACACA例3.12 3.13 P41方法(子集法)1、改造M為M:引進(jìn)新的初態(tài)結(jié)點(diǎn)X、終態(tài)結(jié)點(diǎn)Y;對(duì)M的狀態(tài)轉(zhuǎn)換圖實(shí)施分裂(替換)2
14、、將M進(jìn)一步變換為DFA :狀態(tài)子集T的閉包_CLOSURE(T)定義狀態(tài)集Ta = _CLOSURE(J)從DFA的初態(tài)_CLOSURE(X)開始計(jì)算狀態(tài)轉(zhuǎn)換矩陣;直到不再產(chǎn)生新的狀態(tài)子集為止。、換名3.4.4 NFA確定化為DFA例3.14 3.15 P43-44定義狀態(tài)集Ta = _CLOSURE(J): 若狀態(tài)子集T=t1,t2,tn,則(T,)= _CLOSURE(J);其中J=(t1,)(t2,) (tn,) i:若:若s T,T,則則s屬于屬于 _CLOSURE(T);ii:若:若s T,T,則從則從s s出發(fā)經(jīng)過任意條出發(fā)經(jīng)過任意條 弧而能到達(dá)的狀態(tài)弧而能到達(dá)的狀態(tài)s都都屬于屬
15、于 _CLOSURE(T)。狀態(tài)子集T的閉包_CLOSURE(T): NFA到DFA的變換 子集構(gòu)造法子集構(gòu)造法nDFA的一個(gè)狀態(tài)是NFA的一個(gè)狀態(tài)集合n讀了輸入a1 a2 an后, NFA能到達(dá)的所有狀態(tài):s1, s2, , sk,則 DFA到達(dá)狀態(tài)s1, s2, , sk12a開始開始0abb有 限 自 動(dòng) 機(jī)(NFA與DFA) NFA到DFA的變換 子集構(gòu)造法子集構(gòu)造法nDFA的一個(gè)狀態(tài)是NFA的一個(gè)狀態(tài)集合n讀了輸入a1 a2 an后, NFA能到達(dá)的所有狀態(tài):s1, s2, , sk,則 DFA到達(dá)狀態(tài)s1, s2, , sk12a開始開始0abb00, 1a有 限 自 動(dòng) 機(jī)(NF
16、A與DFA) NFA到DFA的變換 子集構(gòu)造法子集構(gòu)造法nDFA的一個(gè)狀態(tài)是NFA的一個(gè)狀態(tài)集合n讀了輸入a1 a2 an后, NFA能到達(dá)的所有狀態(tài):s1, s2, , sk,則 DFA到達(dá)狀態(tài)s1, s2, , sk12a開始開始0abb00, 1ab有 限 自 動(dòng) 機(jī)(NFA與DFA) NFA到DFA的變換 子集構(gòu)造法子集構(gòu)造法nDFA的一個(gè)狀態(tài)是NFA的一個(gè)狀態(tài)集合n讀了輸入a1 a2 an后, NFA能到達(dá)的所有狀態(tài):s1, s2, , sk,則 DFA到達(dá)狀態(tài)s1, s2, , sk12a開始開始0abb00, 1aba有 限 自 動(dòng) 機(jī)(NFA與DFA) NFA到DFA的變換 子
17、集構(gòu)造法子集構(gòu)造法nDFA的一個(gè)狀態(tài)是NFA的一個(gè)狀態(tài)集合n讀了輸入a1 a2 an后, NFA能到達(dá)的所有狀態(tài):s1, s2, , sk,則 DFA到達(dá)狀態(tài)s1, s2, , sk12a開始開始0abb00, 1aba0, 2b有 限 自 動(dòng) 機(jī)(NFA與DFA) NFA到DFA的變換 子集構(gòu)造法子集構(gòu)造法nDFA的一個(gè)狀態(tài)是NFA的一個(gè)狀態(tài)集合n讀了輸入a1 a2 an后, NFA能到達(dá)的所有狀態(tài):s1, s2, , sk,則 DFA到達(dá)狀態(tài)s1, s2, , sk12a開始開始0abb00, 1aba0, 2bab有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab678234
18、5 狀態(tài)狀態(tài) 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 B = 1, 2, 3, 4, 6, 7, 8 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 B = 1, 2, 3, 4, 6, 7, 8 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4,
19、 7 B = 1, 2, 3, 4, 6, 7, 8 C = 1, 2, 4, 5, 6, 7 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 B = 1, 2, 3, 4, 6, 7, 8 C = 1, 2, 4, 5, 6, 7 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 B = 1, 2, 3, 4, 6, 7, 8 C = 1, 2, 4, 5, 6, 7有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345
20、狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 B = 1, 2, 3, 4, 6, 7, 8 C = 1, 2, 4, 5, 6, 7 D = 1, 2, 4, 5, 6, 7, 9 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 B = 1, 2, 3, 4, 6, 7, 8 C = 1, 2, 4, 5, 6, 7 D = 1, 2, 4, 5, 6, 7, 9 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 B = 1, 2, 3, 4,
21、 6, 7, 8 C = 1, 2, 4, 5, 6, 7 D = 1, 2, 4, 5, 6, 7, 9 有 限 自 動(dòng) 機(jī)(NFA與DFA)19開始開始 0ab ab6782345 狀態(tài)狀態(tài) A = 0, 1, 2, 4, 7 B = 1, 2, 3, 4, 6, 7, 8 C = 1, 2, 4, 5, 6, 7 D = 1, 2, 4, 5, 6, 7, 9 有 限 自 動(dòng) 機(jī)(NFA與DFA)有 限 自 動(dòng) 機(jī)(NFA與DFA)BD開始開始aAabbabCba19開始開始 0ab ab6782345 狀態(tài)狀態(tài) 有 限 自 動(dòng) 機(jī)(NFA與DFA)BD開始開始aAabbabCba12開
22、始開始a0abbab19開始開始 0ab ab6782345 識(shí)別語言識(shí)別語言(a|b)*ab 的的自動(dòng)機(jī)自動(dòng)機(jī) 有 限 自 動(dòng) 機(jī)(NFA與DFA)BD開始開始aAabbabCba12開始開始a0abbab19開始開始 0ab ab6782345 識(shí)別語言識(shí)別語言(a|b)*ab 的的自動(dòng)機(jī)自動(dòng)機(jī)子集構(gòu)造法不一子集構(gòu)造法不一定得到最簡定得到最簡DFA結(jié)論:NFA M通過“子集法”可以確定化為DFA M ,它們接收語言的能力是等價(jià)的,通常不區(qū)分(確定化時(shí)除外),合稱為有限自動(dòng)機(jī)(finite automata)(FA)。 3.4.5 DFA M的化簡DFA M的化簡是指:尋找一個(gè)狀態(tài)數(shù)比M少的
23、DFA M,使得L(M)=L(M)化簡了的DFA: 沒有多余狀態(tài) ; 沒有兩個(gè)狀態(tài)是等價(jià)的。3.4.5 DFA M的化簡M的狀態(tài)s和t是等價(jià)的: DFA M=(Q, , ,S0,F(xiàn)),s,tQ 若對(duì)任何a*, (s,a)F當(dāng)且僅當(dāng)(t,a)F如果狀態(tài)s和t是不等價(jià)的,則稱s和t是可區(qū)別的。 DFA M的化簡方法:一個(gè)DFA M的狀態(tài)最少化過程:將M的狀態(tài)集分割成一些不相交的子集,任何不同的兩子集中的狀態(tài)都是可區(qū)別的,同一子集中的任何兩狀態(tài)都是等價(jià)的;最后,在每個(gè)子集中選一個(gè)狀態(tài)作代表,消去其他狀態(tài),得到最少狀態(tài)的等價(jià)DFA M。例 3.16 3.17 P45-46步驟:將DFA M的狀態(tài)集Q分
24、劃成兩個(gè)子集:終態(tài)集和非終態(tài)集;對(duì)每個(gè)子集G,如果面對(duì)某個(gè)輸入符號(hào)得到的后繼狀態(tài)不屬于同一個(gè)子集,則將G進(jìn)一步分劃;重復(fù)直到不再產(chǎn)生新分劃;在每個(gè)子集中選一個(gè)狀態(tài)作代表,消去其他狀態(tài),得到最少狀態(tài)的等價(jià)DFA M。3.4.6 有窮自動(dòng)機(jī)到正規(guī)式的轉(zhuǎn)換1、改造M為M:引進(jìn)新的初態(tài)結(jié)點(diǎn)X、終態(tài)結(jié)點(diǎn)Y;2、對(duì)M的狀態(tài)轉(zhuǎn)換圖實(shí)施替換,逐步消除結(jié)點(diǎn),直至只剩下結(jié)點(diǎn)X、Y替換規(guī)則:AA| AACAXP46例3.18CA1AB00110BD1A011C00(00|11)*(01|10)(1(0(11)*0)*1|0(1(00)*1)*0)*1(0(11)*0)*|(00|11)*0DBCA11110000開
25、始開始偶偶0偶偶1奇奇0奇奇1奇奇0偶偶1偶偶0奇奇13.5 正規(guī)文法與有窮自動(dòng)機(jī)的等價(jià)性n對(duì)于正規(guī)文法G和有限自動(dòng)機(jī)M,如果L(G)=L(M),則稱G和M是等價(jià)的(equivalence)。n正規(guī)文法G和M的等價(jià)性是指:n(1)對(duì)每一個(gè)正規(guī)文法G,都存在一個(gè)FA M 使得L(M)=L(G);n(2)對(duì)每一個(gè)FA M,都存在一個(gè)GR和GL, 使得L(M)=L(GR)=L(GL)3.5.1 右線性正規(guī)文法到有窮自動(dòng)機(jī)的轉(zhuǎn)換n對(duì)每一個(gè)正規(guī)文法GR,都存在一個(gè)FA M,使得L(M)=L( GR); 已知文法GR=(VT,VN,S,P), 構(gòu)造NFA M=(VN UD, VT, ,S,D)對(duì)Aa,有(
26、A,a)=D; 對(duì)AaB,有(A,a)=B;對(duì)A,有(A ,)=D例3.19文法GZ:Z 0AA 0A | 0BB 1A | 3.5.2 左線性正規(guī)文法到有窮自動(dòng)機(jī)的轉(zhuǎn)換(略)n對(duì)每一個(gè)正規(guī)文法GL,都存在一個(gè)FA M,使得L(M)=L( GL); 已知文法GL=(VT,VN,S,P), 構(gòu)造NFA M=(VN Uq0, VT, ,q0,S)對(duì)Aa,有(q0,a)=A; 對(duì)ABa,有(B,a)=A;對(duì)A,有(q0,)=A P48例3.203.5.3-1 有窮自動(dòng)機(jī)到正規(guī)文法GR的轉(zhuǎn)換n對(duì)每一個(gè)FA M,都存在一個(gè)GR和GL, 使得L(M)=L(GR)=L(GL) 已知有窮自動(dòng)機(jī)FA M=(Q,
27、 , ,q0,Z) 構(gòu)造G=(VT,VN,S,P),令VT= ,VN= Q ,S=q0對(duì)(A,a)=B且B不是終態(tài),有AaB ; 對(duì)(A,a)=B且B是終態(tài),有AaB和B 或 Aa | aB ;若q0也是終態(tài),則有規(guī)則SP49例3.21 3.223.5.3-2有窮自動(dòng)機(jī)到正規(guī)文法GL的轉(zhuǎn)換(略)n對(duì)每一個(gè)FA M,都存在一個(gè)GR和GL, 使得L(M)=L(GR)=L(GL)已知NFA M=(Q, , ,q0,f)構(gòu)造文法GL=( ,Q- q0 ,f,P),對(duì)(A,a)=B,A是初態(tài),則有B a;否則B Aa若f也是初態(tài),則有規(guī)則fn結(jié)論:正規(guī)文法、正規(guī)式、DFA、NFA在識(shí)別(接收)語言的能力
28、上是互相等價(jià)的。值能被4整除的二進(jìn)制串。正規(guī)式:正規(guī)式:FA:正規(guī)文法:正規(guī)文法: (0|1)*00 | 03.6 詞法分析程序的編寫n設(shè)置單詞種別和屬性,用正規(guī)式編寫詞法規(guī)則n從單詞的描述出發(fā),逐步實(shí)現(xiàn)詞法分析程序n手工方法n利用LEX自動(dòng)生成3.6 詞法分析程序的編寫n設(shè)置單詞種別和屬性,用正規(guī)式編寫詞法規(guī)則n從單詞的描述出發(fā),逐步實(shí)現(xiàn)詞法分析程序正規(guī)表達(dá)式正規(guī)表達(dá)式狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖識(shí)別過程的實(shí)現(xiàn)算法識(shí)別過程的實(shí)現(xiàn)算法程序?qū)崿F(xiàn)和測(cè)試程序?qū)崿F(xiàn)和測(cè)試P50-53011393實(shí)現(xiàn):讓每個(gè)狀態(tài)對(duì)應(yīng)一小段程序詞法分析(lexical analysis)n狀態(tài)轉(zhuǎn)換圖n正規(guī)式與正規(guī)集n確定有限自動(dòng)機(jī)(DFA)n非確定有限自動(dòng)機(jī)(NFA)nNFA確定化為DFA,DFA化簡n正規(guī)式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電力行業(yè)年度策略報(bào)告:安徽省電力供需分析與展望
- 2024年湖南鴻峪建設(shè)工程有限公司招聘7人筆試參考題庫附帶答案詳解
- 2020浙教版高中信息技術(shù)2.3《網(wǎng)上資源檢索》教學(xué)設(shè)計(jì)
- 第15課 國共合作與北伐戰(zhàn)爭 (教學(xué)設(shè)計(jì))八年級(jí)歷史上冊(cè)同步高效課堂(部編版)
- 第二章資源安全與國家安全大單元教學(xué)設(shè)計(jì)2023-2024學(xué)年高中地理人教版(2019)選擇性必修3
- 第五章發(fā)展與合作 教學(xué)設(shè)計(jì)2023-2024學(xué)年人教版地理七年級(jí)上冊(cè)
- 第一單元 探索生命的奧秘2023-2024學(xué)年七年級(jí)上冊(cè)生物同步教學(xué)設(shè)計(jì)(蘇教版)
- 教師職業(yè)道德與學(xué)前教育政策法規(guī) 教案 10. 第三節(jié)《幼兒園教師專業(yè)標(biāo)準(zhǔn)(試行)》解讀
- 柑橘交易中心建設(shè)項(xiàng)目可行性研究報(bào)告-柑橘產(chǎn)業(yè)規(guī)模擴(kuò)張交易需求日益旺盛
- Theme A Learning to Love Challenge Yourself A 教學(xué)設(shè)計(jì) -2024-2025學(xué)年高中英語重大版(2019)必修第二冊(cè)
- 2024年黑龍江建筑職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測(cè)試題庫全面
- 北京市2024小升初數(shù)學(xué)模擬試卷一
- 一年級(jí)口算題100以內(nèi)比大小
- 《提案與方案優(yōu)化設(shè)計(jì)》課件-第一部分 常見戶型問題解析及平面布局優(yōu)化
- 《水電廠應(yīng)急預(yù)案編制導(dǎo)則》
- 產(chǎn)科抗磷脂綜合征診斷與處理專家共識(shí)
- (正式版)SHT 3078-2024 立式圓筒形料倉工程設(shè)計(jì)規(guī)范
- 2024ABB IRB IRB6700Inv IRB6700I產(chǎn)品手冊(cè)指南
- 正弦函數(shù)圖像與性質(zhì).課件
- 成人住院患者靜脈血栓栓塞癥預(yù)防護(hù)理
- 淋巴瘤患者的護(hù)理問題及護(hù)理措施
評(píng)論
0/150
提交評(píng)論