




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第4章 詞法分析重點內容:正規式轉化為DFAa、 正規式->NFAb、 NFA -> DFA(子集法)c、 DFA化簡(分割法)題目1:課件例題:a、 為 R=(a|b)*(aa|bb)(a|b)*構造 NFA b、 從NFA構造DFA的算法c、 化簡題目2: 4.7 例1:構造正規式相應的DFA:1(0|1)*101按照以下三步:(1)由正規表達式構造轉換系統(NFA)(2)由轉換系統(NFA)構造確定的有窮自動機DFA(3)DFA的最小化答:(1)構造與1(0|1)*101等價的 NFA(0|1)*111(0|1)*101XYXABCDY10XABCY11010,1(2)將NF
2、A轉換成DFA:采用子集法,即DFA的每個狀態對應NFA的一個狀態集合:01XAAAABABACABACAABYABYACAB除X,A外,重新命名其他狀態:01XAAABBCBCADDCB1、將M的狀態分成非終態和終態集X,A,B,C和D。2、尋找子集中不等價狀態X,A,B,C=>X,A,BC=>XABC,無需合并。最后生成DFA:XABCD110100101題目3:自習、書本練習4.7,參考答案見z4 書本練習4.7.doc 已知文法GS:SaA|bQ AaA|bB|b BbD|aQ QaQ|bD|b EaB|bF FbD|aE|b1、 構由于不可到達,去除E、F相關的多余產生式
3、2、 由新的GS構造NFA如下3、 NFA的轉換表:abSAQAAB,ZB,ZQDQQD,ZDABD,ZADBQD4、子集法重命名狀態:(上標0:初態,*:終態)ab00131122*343354165*146345、使用分割法化簡以上DFA G:5.1 令G=(0,1,3,4,6),(2,5)/ 分別為非終態和終態集5.2 由0,1,3,4,6a=1,3,0,1,3,4,6b=3,2,5,6,4 將0,1,3,4,6劃分為 0,4,61,3,得G=(0,4,6),(1,3),(2,5)5.3 由0,4,6b=3,6,4,將之劃分為0,4,6,得G=(0),(4,6),(1,3),(2,5)
4、5.4 觀察后,G中狀態不可再分,為最小化DFA。6、分別用 0,4,1,2代表各狀態,DFA狀態轉換圖如下:造相應的最小的DFA第5章 自頂向下的語法分析重點內容:LL(1)文法a、 去除左遞歸b、 LL(1)文法的判定(first、follow、select集)c、 預測分析表d、 使用棧和預測分析表對輸入串的分析題目1:課件例題:消除左遞歸+判定+分析算術表達式文法G EE+TTTT*FFF(E)Id、分析輸入串i+i*i#(1)消除G的左遞歸得到文法 GETE ' E'+TE' TFT ' T'*FT'F(E)i(2)求出每個產
5、生式的select集,G是LL(1)文法 SELECT(ETE' ) = (,i SELECT(E'+TE' ) = + SELECT(E' ) = ),# SELECT(TFT' ) = (,i SELECT(T'*FT' ) = * SELECT(T' ) = +,),# SELECT(F(E) ) = ( SELECT(F i ) = i (3)依照選擇集合把產生式填入分析表注:表中空白處為出錯題目2:作業、習題5.1:消除左遞歸+判定+分析GS:S->a|(T) T->T,S|S d、分析輸入串(a,a)#文法
6、GS:S->a|(T),T->T,S|S (1) 給出對(a,(a,a)的最左推導(2) 改寫文法,去除左遞歸(3) 判斷新文法是否LL1文法,如是,給出其預測分析表 (4) 給出輸入串(a,a)#的分析過程,判斷其是否文法G的句子 。答:(1)對(a,(a,a)的最左推導為: S=>(T)=>(T,S)=>(S,S)=>(a,S)=>(a,(T)=>(a,(T,S)=>(a,(S,S)=>(a,(a,S)=>(a,(a,a)(2) 改寫文法為: 0)Sa 1) S 2) S(T) 3) TSN 4) N,SN 5) N非終結符
7、FIRST集FOLLOW集Sa,(#,)Ta,()N,)對左部為N的產生式可知:FIRST (,S N) = , FIRST () =FOLLOW (N) =)由于SELECT(N,S N)SELECT(N)=, )=所以文法是LL(1)的。(3)預測分析表:a(),#Sa(T)TSNSNSNN,SN可由預測分析表中,無多重入口判定文法是LL(1)的。(4)對輸入串(a,a)#的分析過程為:棧當前輸入符剩余輸入符所用產生式#S#)T(#)T#)NS#)Na#)N#)NS,#)NS#)Na#)N#)#(aaa,aa)#a,a)#a,a)#,a)#,a)#,a)#a)#a)#)#)#S(T)TSN
8、SaN,SNSaN可見輸入串(a,a)#是文法的句子。題目3:復習、書本5.6例1:判定+分析GS:SaH,HaMd|d,MAb|,AaM|ed、分析輸入串aaabd#(1)判斷GS是否為LL(1)文法;若是,構造其預測分析表;Select(HaMd)=a , Select(Hd)= d ;Select(MAb)= a,e, Select(M)= d,b;Select(AaM)= a , Select(Ae)= e相同左部產生式的select集的交集均為空,所以GS是LL(1)文法。預測分析表:(2)分析aaabd#是否GS的句子。 使用棧和預測分析表對輸入串的分析:第6章 自底向上的語法分析
9、重點內容:算符優先文法a、 非終結符的firstvt集和lastvt集的計算b、 算符優先關系表c、 使用棧和算符優先關系表對輸入串的歸約題目1:課件例題:文法:EE+T|TTT×F|FF(E)|Ic、算符優先歸約輸入串i+i#(1)求各非終結符的FIRSTVT集與LASTVT集(2)計算算符優先關系表并說明此文法是否算符優先文法(3)給出輸入串i+i#的算符優先分析過程 (1)FIRSTVT-LASTVT表:非終結符FIRSTVTLASTVTE+ × i (+ × ) iTx i (× ) i Fi () i(2)算符優先關系表:+x()i#+>
10、<<><>x>><><>(<<<=<)>>>>i>>>>#<<<<=優先關系表中無多重定義,此文法是算符優先文法(3)對輸入串i+i#的算符優先分析過程為:題目2:作業、習題6.1、復習:文法GS:S->a|(T) T->T,S|S c、算符優先歸約輸入串(a,a)#文法GS:S->a|(T),T->T,S|S (1) 計算GS的FIRSTVT、LASTVT(2) 改造算符優先關系表并說明GS是否算符優先文法
11、(3) 給出輸入串(a,a)#的算符優先分析過程,判斷其是否文法G的句子 。答:文法展開為:SaSS(T)TT,STS(1)FIRSTVT-LASTVT表:非終結符FIRSTVTLASTVTSa (a )T, a (, a )(2)算符優先關系表:a(),#a>>>>>>(<<<=<)>>>,<<<>>#<<<=表中無多重入口,所以是算符優先(OPG)文法。(3)對輸入串(a,a)#的算符優先分析過程為:棧當前輸入字符剩余輸入串動作#(#(a#(N#(N,#(N,a#(
12、N,N#(N#(N)#N(a,a)#a,a)#,a)#a) #a) #)#Move inMove inReduce:SaMove inMove inReduce:SaReduce:TT,SMove inReduce:S(T)可見輸入串(a,a)#是文法的句子。題目3:自習、書本練習6.4,參考答案見z6 書本練習6.4.doc 已知文法GS:SàS;G SàG GàG(T) GàH Hàa Hà(S) TàT+S TàSc、算符優先歸約輸入串a;(a+a)#(1)構造算符優先關系表FIRSTVT(S)=;FIRST
13、VT(G) = ; , a , ( FIRSTVT(G)= ( FIRSTVT(H) = a , ( FIRSTCT(H)=a , ( FIRSTVT(T) = + FIRSTVT(S) = + , ; , a , ( LASTVT(S) = ; LASTVT(G) = ; , a , )LASTVT(G) = ) LASTVT(H) = a , )LASTVT(H) = a, LASTVT(T) = + LASTVT(S) = + , ; , a , 即:FIRSTVTLASTVTS; , a , (; , a , )Ga , (a , )Ha , (a , )T+ , ; , a , (+
14、 , ; , a ,)由SàS;GLASTVT(S) > ; < FIRSTVT(G)由GàG(TLASTVT(G) > ( < FIRSTVT(T)由GàT)LASTVT(T) > )由Gà(T)( = )由TàT+SLASTVT(T) > + < FIRSTVT(S)由Hà(S)( < FIRSTVT(S)LASTVT(S) > )( = )由S-> #S#< FIRSTVT(S)LASTVT(S) > # = #;()a+#;><><>>(<<<<)>>>>>a>>>>>+<<><>#<<<由優先關系表中所有符號對的關系唯一,可判定文法GS是算符優先文法。 (2) 分析a;(aa) / SàS;G |G GàG(T) |H Hàa |(S) TàT+S |S分析棧優先關系當前字符剩余輸入串動作1#<a;(aa)#移進2#a>(a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育打卡足球活動方案
- 中考心理教育活動方案
- 中職汽修運動會活動方案
- 中西結合活動方案
- 中隊結對活動方案
- 豐臺知識產權周活動方案
- 豐胸活動促銷活動方案
- 假期旅游期間工作保留及同意證明(6篇)
- 唐宋八大家之蘇軾作品欣賞教學方案
- 學術研究成就證明及成果展示(7篇)
- 2025年新高考1卷(新課標Ⅰ卷)語文試卷(含答案)
- 初級消控員測試題及答案
- 居民組織法試題及答案
- 國家行業領域重大事故隱患判定標準(2025年5月)解讀培訓
- 綠化草皮種植合同協議書
- 學校基本設施管理制度
- 工程測試技術試題及答案
- 2025年下半年湖南永州藍山縣事業單位招聘工作人員38人易考易錯模擬試題(共500題)試卷后附參考答案
- 火鍋店員工合同協議書
- 企業如何通過激勵措施促進員工參與數字化轉型
- 2024-2025學年廣東省深圳市高一數學下學期7月期末考試(附答案)
評論
0/150
提交評論