版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、4.4 L屬性的自下而上計(jì)算引入標(biāo)記非終結(jié)符:從翻譯方案中去掉嵌入在產(chǎn)生式中間的動(dòng)作復(fù)寫規(guī)則綜合考慮標(biāo)記非終結(jié)符和復(fù)寫規(guī)則:模擬繼承屬性的計(jì)算改寫文法:用綜合屬性代替繼承屬性4.4.1 刪除嵌入在翻譯方案中的動(dòng)作引入標(biāo)記非終結(jié)符從翻譯方案中去掉嵌入在產(chǎn)生式中間的動(dòng)作:使所有嵌入的動(dòng)作都出現(xiàn)在產(chǎn)生式的末尾轉(zhuǎn)換方法:在基礎(chǔ)文法中加入新的產(chǎn)生式,這種產(chǎn)生式的形式為M (M為新引入的一個(gè)標(biāo)記非終結(jié)符),將嵌入在產(chǎn)生式中的每個(gè)語義動(dòng)作用不同的標(biāo)記非終結(jié)符M代替,并把這個(gè)動(dòng)作放在產(chǎn)生式M 的末尾例: ETR R+T print(+)R1 | -T print(-)R1 | Tnum print(num.v
2、al) 轉(zhuǎn)換為 ETR R+TMR1 | -TNR1 | Tnum print(num.val) M print(+) N print(-)4.4.2 分析棧中的繼承屬性利用復(fù)寫規(guī)則分析棧中的繼承屬性:利用復(fù)寫規(guī)則使得在需要用到繼承屬性的地方用綜合屬性來代替例:AXY X有綜合屬性s,Y有繼承屬性i,如果Y.i:=X.s,則可以在需要Y.i的值的地方使用X.s的值例如:翻譯方案DT L.in:=T.type LT int T.type :=integerT real T.type :=realL L1.in :=L.in L1,id addtype(id.entry,L.in)L id add
3、type(id.entry,L.in)考慮real p,q,r的自下而上的分析過程輸入串 狀態(tài) 所用產(chǎn)生式real p,q,r - p,q,r real p,q,r T Treal ,q,r Tp ,q,r TL Lid q,r TL, ,r TL,q ,r TL LL,id r TL, r TL,r TL LL,id D DTL每次L的右部被歸約時(shí),T恰好在這個(gè)右部的下面,由復(fù)寫規(guī)則L.in:=T.type,可以在需要L.in的地方使用T.type來代替改寫后的翻譯方案產(chǎn)生式 代碼段DTLTint valtop:=integerTreal valtop:=realLL,id addtype(
4、valtop,valtop-3)Lid addtype(valtop,valtop-1)4.4.3 模擬繼承屬性的計(jì)算例:以下翻譯方案產(chǎn)生式 語義規(guī)則SaAC C.i:=A.sSaABC C.i:=A.sCc C.s:=g(C.i)當(dāng)通過Cc進(jìn)行歸約時(shí),C.i的值可能在valtop-1也可能在valtop-2對于產(chǎn)生式SaABC ,在C的前面引入一個(gè)標(biāo)記非終結(jié)符M,使得C.i的值只會(huì)出現(xiàn)在valtop-1改寫后的翻譯方案產(chǎn)生式 語義規(guī)則SaAC C.i:=A.sSaABMC M.i:=A.s;C.i:=M.sCc C.s:=g(C.i)M M.s:=M.iSbABC.s.iCSbABM s i
5、 s i 例,EQN的翻譯方案 S B.ps:=10 B S.ht:=B.ht B B1.ps:=B.ps B1 B2.ps:=B.ps B2 B.ht:=max(B1.ht,B2.ht) B B1.ps:=B.ps B1 sub B2.ps:=shrink(B.ps) B2 B.ht:=disp(B1.ht,B2.ht) B text B.ht:=text.h*B.ps引入標(biāo)記非終結(jié)符產(chǎn) 生 式 語 義 規(guī) 則 S LB B.ps := L.s; S.ht := B.ht L L.s := 10 B B1 MB2 B1.ps := B.ps; M.i := B.ps; B2.ps := M.
6、s;B.ht := max(B1.ht, B2.ht ) M M.s := M.i B B1 sub NB2 B1.ps :=B.ps; N.i := B.ps; B2.ps := N.s; B.ht := disp (B1.ht, B2.ht ) N N.s := shrink(N.i) B text B.ht := text.h B.ps 產(chǎn) 生 式 代 碼 段S LB valntop := valtopL valntop := 10B B1 MB2 valntop := max(valtop2, valtop) M valntop := valtop1B B1 sub NB2 valntop:= disp (valtop3, valtop )N valntop := shrink(valtop2)B text valntop := valtop valtop14.3.4 用綜合屬性代替繼承屬性改寫基礎(chǔ)文法例:Pascal語言的說明語句 DL:T Tinteger | char LL,id | id改寫成 Did L L,id L | :T Tinteger | charDid L enter(id.entry,L.type
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《網(wǎng)店色彩設(shè)計(jì)》課件
- 《神經(jīng)癥年制》課件
- 《證券上市》課件
- 2024年農(nóng)業(yè)部門抗旱工作總結(jié)范文
- 2025年高考數(shù)學(xué)一輪復(fù)習(xí)之冪函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)
- 單位管理制度匯編大全人力資源管理
- 單位管理制度合并匯編【人事管理】
- 單位管理制度分享合集人員管理十篇
- 單位管理制度范例匯編人事管理
- 單位管理制度呈現(xiàn)大全人事管理十篇
- 期末模擬卷 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊(含答案)
- GB/T 44351-2024退化林修復(fù)技術(shù)規(guī)程
- 《比特幣完整介紹》課件
- 江蘇省2023年生物小高考試題含答案解析
- 2019年同等學(xué)力(教育學(xué))真題精選
- [轉(zhuǎn)載]鄭桂華《安塞腰鼓》教學(xué)實(shí)錄
- 泵管清洗專項(xiàng)方案
- 門診手術(shù)室上墻職責(zé)、制度(共6頁)
- 邊坡土壓力計(jì)算(主動(dòng)土壓力法)
- 鉆孔壓水試驗(yàn)計(jì)算EXCEL表格
- 機(jī)電安裝項(xiàng)目施工組織計(jì)劃方案
評論
0/150
提交評論