




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 GE GE ET ET1 1 T T2 2|T|T1 1 or T or T2 2 Tnum|true|false Tnum|true|false 輸入串輸入串3+43+4ETT34+ETT34+根據每個產生式所對應的語義子程序根據每個產生式所對應的語義子程序(或語義規則描述的語義動作)進行(或語義規則描述的語義動作)進行翻譯的辦法稱作語法制導翻譯。翻譯的辦法稱作語法制導翻譯。兩個主要任務兩個主要任務: : (1). (1).簡單算數術表達式計算它的值簡單算數術表達式計算它的值, , (2). (2).其它語法結構翻印成中間代碼其它語法結構翻印成中間代碼 1). 1).逆波蘭記號逆波蘭記號
2、2).2).三元式三元式 3).3).樹形表示樹形表示 4).4).四元式四元式 :=a+*bbcd+T1T2*T1T2-T1T2/T1T2-T1規則:規則:(op , Arg1 , Arg2 , Resultop , Arg1 , Arg2 , Result) 實例實例:a:=b:a:=b* *c+bc+b* *d d表示為表示為: : (1). ( (1). (* *, b , c , t1), b , c , t1) (2). ( (2). (* *, b , d , t2), b , d , t2) (3). (+, t1 , t2 , t3) (3). (+, t1 , t2 , t
3、3) (4). (:=, t3 , , a) (4). (:=, t3 , , a)1)E.type1)E.type表示表示E E的類型信息,的類型信息,E.typeE.type的值或為的值或為intint 或為或為realreal,2)2)整型加(乘)和實型加(乘整型加(乘)和實型加(乘), ), 把十(把十(* *)分別)分別 寫作十寫作十i i( (* *i i) )和十和十r r( (* *r r). ). 3)3)用一目算符用一目算符 itritr表示將整型運算對象轉換成實表示將整型運算對象轉換成實 型。型。 (1). if ab goto (4) (2). t:=0 (3). go
4、to (5) (4). t:=1 (5).EEEE1 1 or E or E2 2 E.Place:=newtemp; E.Place:=newtemp; emit(E.place :=E emit(E.place :=E1 1.place or E.place or E2 2.place).place)EEEE1 1 and E and E2 2 E.Place:=newtemp; E.Place:=newtemp; emit(E.place :=E emit(E.place :=E1 1.place and E.place and E2 2.place).place)Enot EEnot
5、E1 1 E.Place:=newtemp; E.Place:=newtemp; emit(E.place := not E emit(E.place := not E1 1.place).place)E(EE(E1 1) ) emit(E.place := E emit(E.place := E1 1.place).place)E的代碼S S1 1的代碼E的代碼S S1 1的代碼Jump outS S2 2的代碼E的代碼S S1 1的代碼Jump beginJump begin(1)(1).if ab goto (7).if ab goto (7)(2).goto (3)(2).goto (
6、3)(3) If cd goto (5)(3) If cf goto (7)if ef goto (7)(6)(6) goto (p+1) goto (p+1)(7) s1(7) s1的四元式的四元式 .(p) goto(q)(p) goto(q)P+1P+1的四元式的四元式 .(q)(q)產生四元時不知道產生四元時不知道(10) goto E.true (10). goto (0).(20) goto E.true (20) goto(10).(30) goto E.true (30) goto(20).(40) goto E.true (40) goto(30) 表達式:表達式:ab or
7、 cd and ef其語法樹為:其語法樹為: E.true=100,104E.false=103,105E.true=104E.false=103,105E.true=104E.false=105E.true=100E.false=101E.true=102E.false=103EabEEorcdefEEand歸約歸約ab 產生式產生式Eid1 relop id2Eid1 relop id2E.true:=nextstat;E.true:=nextstat; E.codebegin:= nextstat; E.codebegin:= nextstat; E.false:= nextstat+1
8、; E.false:= nextstat+1; emit(if id1.place rop id2.place goto -) emit(if id1.place rop id2.place goto -) emit(goto -); emit(goto -);得得:100:if ab goto :100:if ab goto 101:goto - 101:goto -E. codebegin=100E.true=100E.false=101歸約歸約cd 產生式產生式102 :if cd goto 103:goto -E1. codebegin=102E.true=102E.false=103
9、歸約歸約ef104 :if ef goto 105:goto -E2. codebegin=104E.true=104E.false=105EEEE1 1 andand E E2 2backpatch(Ebackpatch(E1 1.true, E.true, E2 2.codebegin);.codebegin); E.codebegin:= E E.codebegin:= E1 1.codebegin;.codebegin; E.true:=E E.true:=E2 2.true;.true; E.false:=merge(E E.false:=merge(E1 1.false, E.fa
10、lse, E2 2.false) .false) E2. codebegin=104E.true=104E.false=105E1. codebegin=102E.true=102E.false=103backpatch(E1.true, E2.codebegin)=backpatch(102, 104)E.false:=merge(E1.false, E2.false) = merge(103, 105)E.true=104100:if ab goto 101:goto -102 :if cd goto 104103:goto 104 :if ef goto 105:goto 103E. c
11、odebegin=102E.true=104E.false=103,105EEEE1 1 or E or E2 2 backpatch(E backpatch(E1 1.false, E.false, E2 2.codebegin);.codebegin); E.codebegin:= E E.codebegin:= E1 1.codebegin;.codebegin; E.true:=merge(E E.true:=merge(E1 1.true, E.true, E2 2.true).true) E.false:=E E.false:=E2 2.false.false E2 2. codebegin=102E.true=104E.false=103,105E1 1. codebegin=100E.true=100E.false=101backpatch(Ebackpatch(E1 1.false, E.false, E2 2.codebegin).codebegin)=Backpatch(=Backpatch(101,102)E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年煙氣脫硫設備項目規劃申請報告
- 農業資源開發使用權利授權協議
- 2025年單證員職業資格考試試卷:單證員職業資格考試備考指導
- 2025年保健按摩師(初級)理論知識試卷難點解析與備考指南
- 2025年氣霧劑機械項目立項申請報告
- 2025年美容師(中級)職業技能鑒定實操試卷-美容師實操技能考核創新與突破篇
- 2025年麥片項目規劃申請報告
- 2025年勞動保障協理員(中級)考試試卷:勞動保障政策執行與社會保障改革路徑創新
- 個人收入及財務狀況年度證明(6篇)
- 2025年專升本藝術概論考試模擬試卷:藝術創作分析在當代藝術研究中的應用
- 第二屆全國化工和醫藥行業安全生產線上知識競賽題庫(共150題)
- JJF1033-2023計量標準考核規范
- 2024年吉林長春市中考地理試卷真題(含答案解析)
- 河北傳統醫學師承關系合同書
- 離婚協議書(完整版)WORDx(二篇)
- GB/T 6414-1999鑄件尺寸公差與機械加工余量
- 國土空間規劃 教學大綱.docx
- 變電站新建工程土方開挖專項施工方案
- 廣東話粵語姓名拼音大全
- 護理查對制度pptPPT課件
- FE系列電磁流量計說明書(含設定參數)(1)
評論
0/150
提交評論