




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、5.2.1 算符優(yōu)先文法及優(yōu)先表構(gòu)造算符優(yōu)先文法及優(yōu)先表構(gòu)造 1、算符文法、算符文法2、算符優(yōu)先關(guān)系的定義、算符優(yōu)先關(guān)系的定義3、算符優(yōu)先文法、算符優(yōu)先文法 4、優(yōu)先關(guān)系表的構(gòu)造、優(yōu)先關(guān)系表的構(gòu)造4、優(yōu)先關(guān)系表的構(gòu)造、優(yōu)先關(guān)系表的構(gòu)造1) 1) 定義定義 FIRSTVTFIRSTVT集集 和和 LASTVTLASTVT集集2) 2) 根據(jù)根據(jù) FIRSTVTFIRSTVT集集 和和 LASTVTLASTVT集集 計算計算三種優(yōu)先關(guān)系三種優(yōu)先關(guān)系 3) 3) 計算計算FIRSTVTFIRSTVT集集和和 LASTVTLASTVT集集4) 4) 構(gòu)造優(yōu)先關(guān)系表構(gòu)造優(yōu)先關(guān)系表 1) 1) 定義定義F
2、IRSTVTFIRSTVT集集 和和 LASTVTLASTVT集集FIRSTVT(P) = a | P a 或或 P Qa注意注意: 在算符文法中在算符文法中, 一個非終結(jié)符推導(dǎo)出的一個非終結(jié)符推導(dǎo)出的首個算符的位置要么是第一個首個算符的位置要么是第一個, 要么是第二個要么是第二個LASTVT(P) = a | P a 或或 P aQ2) 2) 根據(jù)根據(jù) FIRSTVTFIRSTVT集集 和和 LASTVTLASTVT集集計算三種優(yōu)先關(guān)系計算三種優(yōu)先關(guān)系 : 直接查看產(chǎn)生式右部,如有直接查看產(chǎn)生式右部,如有 P ab 或或 PaQb , 則則a b 成成 立立 : 假定有產(chǎn)生式的候選形為假定有
3、產(chǎn)生式的候選形為 aP , 對任何對任何 bFIRSTVT(P) , 有有a b成立成立 : 假定有產(chǎn)生式的候選形為假定有產(chǎn)生式的候選形為 Pb , 對任何對任何 aLASTVT(P) , 有有a b成立成立3) 3) 計算計算FIRSTVTFIRSTVT集和集和 LASTVTLASTVT集集(1) (1) 根據(jù)定義直觀計算根據(jù)定義直觀計算FIRSTVTFIRSTVT集集(2)(2) 用形式化算法計算用形式化算法計算FIRSTVTFIRSTVT(3)(3) 由簡單關(guān)系圖形計算由簡單關(guān)系圖形計算FIRSTVTFIRSTVT* *(1)(1) 根據(jù)定義直觀計算根據(jù)定義直觀計算FIRSTVTFIRS
4、TVT集集a) 若有產(chǎn)生式若有產(chǎn)生式 Pa 或或 pQa 則則 aFIRSTVT(P)b) 若有產(chǎn)生式若有產(chǎn)生式 PQ , 若若 aFIRSTVT(Q) 則則 aFIRSTVT(P)例例5.4 p90(0) E#E#(1) EE+T(2) ET(3) TT*F(4) TF(5) FPF (6) FP(7) P(E) (8) PiFIRSTVTLASTVTE # #E + * ( i + * ) iT * ( i *) iF ( i ) iP ( i ) iE#E# 為對原文法的擴(kuò)充為對原文法的擴(kuò)充# 表示句子括號表示句子括號(2)(2) 用形式化算法計算用形式化算法計算FIRSTVTFIRST
5、VT集集建立一個布爾數(shù)組建立一個布爾數(shù)組FP, a , 和棧和棧STACKFP, a=TRUE , 當(dāng)且僅當(dāng)當(dāng)且僅當(dāng) a FIRSTVT(P)PROCEDUE INSERT(P, a)IF NOT FP, a THENBEGIN FP, a:=TRUEPUSH(P, a) ONTO STACKEND MAINBEGIN (MAIN)FOR 每個非終結(jié)符每個非終結(jié)符P和終結(jié)符和終結(jié)符aDO FP, a:= FALSE;FOR 每個形如每個形如Pa或或PQ a 的產(chǎn)生式的產(chǎn)生式DO INSERT(P, a)WHILE STACK 非空非空 DOBEGIN把把STACK的頂項記為的頂項記為(Q,a)
6、 , 托出去托出去FOR 每個形如每個形如PQ 的產(chǎn)生式的產(chǎn)生式 DO INSERT(P, a)ENDEND (MAIN) 例例5.4 p90(0) E#E#(1) EE+T(2) ET(3) TT*F(4) TF(5) FPF (6) FP(7) P(E) (8) Pi用形式化算法計算用形式化算法計算FIRSTVT集集過程見黑板過程見黑板(3)(3) 由簡單關(guān)系圖形計算由簡單關(guān)系圖形計算FIRSTVT FIRSTVT 圖中的結(jié)點為非終結(jié)符的圖中的結(jié)點為非終結(jié)符的FIRSTVT(P)和和終結(jié)終結(jié)符符對每個形如對每個形如Pa或或PQ a 的產(chǎn)生式的產(chǎn)生式, 由由FIRSTVT(P)結(jié)點結(jié)點到到結(jié)
7、點結(jié)點a用箭弧連接用箭弧連接對每個形如對每個形如PQ 的產(chǎn)生式,的產(chǎn)生式, 由由FIRSTVT(P)到到FIRSTVT(Q)用箭弧連接用箭弧連接對每個非終結(jié)符的對每個非終結(jié)符的FIRSTVT(P) , 經(jīng)箭弧有路徑能到達(dá)的經(jīng)箭弧有路徑能到達(dá)的終結(jié)符結(jié)點終結(jié)符結(jié)點a , 則有則有a FIRSTVT(P)補(bǔ)充補(bǔ)充(0) E#E#(1) EE+T(2) ET(3) TT*F(4) TF(5) FPF (6) FP(7) P(E) (8) PiFIRSTVT(T)FIRSTVT(F)FIRSTVT(P)+*(iFIRSTVT(E)FIRSTVT(E)4) 4) 構(gòu)造優(yōu)先關(guān)系表構(gòu)造優(yōu)先關(guān)系表FOR 每個
8、產(chǎn)生式每個產(chǎn)生式 PX1 X2 Xn DO FOR i:=1 TO n-1 DO IF Xi 和和 X i+1 均為終結(jié)符均為終結(jié)符THEN 置置 Xi X i+1 IF Xi 和和 X i+2 均為終結(jié)符均為終結(jié)符, X i+1 為非終結(jié)符為非終結(jié)符 , i n-2, THEN 置置 Xi X i+2 IF Xi為終結(jié)符為終結(jié)符, 但但X i+1 為非終結(jié)符為非終結(jié)符 THEN FOR FIRSTVT(X i+1 )中的每個中的每個a DO 置置 Xi a IF Xi為非終結(jié)符為非終結(jié)符, 但但X i+1 為終結(jié)符為終結(jié)符 THEN FOR LASTVT(X i )中的每個中的每個a DO 置置 a X i+1 例例5.4 p90(0) E#E#(1) EE+T(2) ET(3) TT*F(4) TF(5) FPF (6) FP(7) P(E) (8) PiFIRSTVTLASTVTE # #E + * ( i + * ) iT * ( i *) iF ( i ) iP ( i ) i構(gòu)造算符優(yōu)先關(guān)系表構(gòu)造算符優(yōu)先關(guān)系表Pab PaQb PaR PRb (0) E#E#(1) EE+T(2) ET(3) TT*F(4) TF(5) FPF(6) FP(7) P(E) (8) Pi# #( )# FIRSTVT(E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 以節(jié)促防活動方案
- 任達(dá)華出席活動方案
- 食品用紙包裝、紙容器產(chǎn)品質(zhì)量省監(jiān)督抽查實施細(xì)則
- 企業(yè)七天樂活動方案
- 企業(yè)親子烘焙活動方案
- 企業(yè)入住活動方案
- 企業(yè)冬季活動方案
- 企業(yè)單位公司年會策劃方案
- 企業(yè)品質(zhì)活動方案
- 企業(yè)培訓(xùn)活動方案
- GA/T 2000.301-2022公安信息代碼第301部分:資金查控措施類型代碼
- GB/T 18838.5-2015涂覆涂料前鋼材表面處理噴射清理用金屬磨料的技術(shù)要求第5部分:鋼絲切丸
- 靜電接地報警器危害分析
- 2022年湖南省高中學(xué)業(yè)水平合格考物理試卷真題(答案詳解)
- 法在我心中-主題班會課件
- 健康、健康公平和健康決定因素定義和內(nèi)容
- 痛風(fēng)診治進(jìn)展p
- 貴州省遵義市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃劃分代碼居民村民委員會
- 機(jī)械原理課程設(shè)計-自動打印機(jī)設(shè)計說明書
- 2022更新國家開放大學(xué)電大《西方行政學(xué)說》機(jī)考4套真題題庫及答案1
- 城市防洪排澇規(guī)劃編制大綱解讀
評論
0/150
提交評論