freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

sun編譯原理第5章語法制導翻譯技術(shù)和中間代碼生成(第19-21講)-wenkub.com

2025-05-07 23:39 本頁面
   

【正文】 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 59 ■ 本章小結(jié) 屬性文法 ——語義規(guī)則的描述工具; 屬性文法和上下文無關(guān)文法關(guān)系密切; 屬性文法分為:綜合屬性和繼承屬性。 else x=y+z。 x=x*x。E3) S。 E1 || E2。 if (E) S1 else S2。d || e ) x=x*y。 y=x。 生成的四元式序列的結(jié)構(gòu)如下: (E1的四元式 ) E2: (E2的四元式 ) (jnz,E2, ,S) E2的真出口 (jp, , ,next) E2的假出口 S: (S的四元式 ) (E3的四元式 ) (jp, , ,E2) next: (后續(xù)程序四元式 ) 可將其改寫成 while循環(huán)的格式,再進行中間代碼的翻譯。的四元式序列。 else x=xy。 (1)(,a,b,t1) (7)(*,a,b,t3) (2)(jnz,t1, ,(7)) (8)(=,t3, ,a) (3)(jp, , ,(4)) (9)(jp, , , (12)) (4)(,c,d,t2) (10)(,x,y,t4) (5)(jnz,t2, ,(7)) (11)(=,t4, ,x) (6)(jp, , ,(10)) (12)(*,x,x,t5) (13)(=,t5, ,y) ■ 練習 求下列語句的四元式序列。 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 53 ■ 舉例 求下列語句的四元式序列。amp。 (1) (jnz,a, ,(3)) (2) (jp, , ,false) (3) (jnz,b, ,true) (4) (jp, , ,false) 依據(jù)布爾表達式的四元式定義可將其四元式代碼寫成: 例: 求表達式 ab || cd amp。 ■ 布爾表達式代碼生成 將 E1的真出口轉(zhuǎn)移至 E2的第 1個四元式, E1的假出口與全句假出口并聯(lián)(相同), E2的真出口就是全句的真出口, E2的假出口也是全句的假出口。例如: i f ( ( ! N U L L ) amp。就是說,在某種情況下第 2個布爾量被短路了。E的真值被轉(zhuǎn)換為一個條件轉(zhuǎn)移,稱為 “ 真出口 ” 。 的四元式序列; 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 49 ■ 布爾表達式代碼生成 在語句 if ( E ) S1 else S2中,表達式 E的作用是提供選擇執(zhí)行語句 S1還是 S2的判斷。 練習: 求 y=a+1。 y=y+x。 y=1。 (計算 E的四元式值并存入 T) (jnz,T, ,L) (jp, , ,next) L:(S的四元式 ) next:(后續(xù)程序四元式 ) 中間代碼生成過程: 例:求 if(ab) x=x+1。 這里的表達式 E一般是布爾表達式(或邏輯表達式)。 例:求 (b+c)*e的逆波蘭式可利用語法分析結(jié)果的抽象語法樹獲得。 逆波蘭式 三元式 間接三元式 樹形表示 四元式 三地址代碼 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 39 ■ 練習 四元式之間的聯(lián)系是通過( )實現(xiàn)的。 例:賦值語句 a=b*(c+d)相應的四元式代碼為 (1) (+, c, d, t1) (2) (*, b, t1, t2) (3) (=, t2, , a) 四元式出現(xiàn)的順序與表達式計算的順序一致,四元式之間的聯(lián)系是通過 臨時變量 實現(xiàn)的。 ■ 間接三元式 例:賦值語句 a=(c+d)*(c+d) 三元式 代碼為 相應的 間接三元式 代碼由三元式表和間接碼表組成: 三元式表: (1) (+, c, d) (2) (*, (1), (1)) (3) (=, a, (2)) 間接碼表: (1)(1)(2)(3) (1) (+, c, d) (2) (+, c, d) (3) (*, (1), (2)) (4) (=, a, (3)) 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 35 ■ 樹形表示 樹形表示法可以很方便的表示一個表達式或語句。 例: 算術(shù)表達式的三地址碼 x=y op z 的三元式為: (1) (op, y, z) (2) (=, x, (1)) ■ 三元式 三元式的運算結(jié)果由每一個三元式前的序號指示。 特征 :操作符在前,操作數(shù)緊隨其后,無需用括號限制運算的優(yōu)先級和結(jié)合性,且求表達式值較中綴表達式方便。 語法規(guī)則 語義規(guī)則 E1?E2+E3 =+ E1?E2E3 = E1?E2*E3 =* E1?(E2) = E?number = number?0 =0 ………… ………… number?9 =9 ■ 語法制導翻譯舉例 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 29 ■ 綜合練習 給出文法 G[S]: S ? SaA|A A ? AbB|B B ? cSd|e ( 1)試證實 AacAd是文法 G[S]的一個句型; ( 2)請寫出該句型的所有短語、直接短語以及句柄; ( 3)為文法 G[S]的相應產(chǎn)生式寫出語義動作,使句型 AacAd經(jīng)該翻譯方案后,輸出為 11435 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 30 中間語言 所謂中間代碼形式是指用來描述源程序并與之等效的一種編碼方式,可根據(jù)具體情況將它設計成各種形式。 ( 1) A ? aB { } ( 2) A ? c { } ( 3) B ? Ab { } 342421 print:”1” print:”2” print:”0” 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 24 詞法規(guī)則的描述工具: 語法規(guī)則的描述工具: 語義規(guī)則的常用描述工具: 屬性文法 正規(guī)文法或正規(guī)式 上下文無關(guān)文法 ■ 小結(jié) 屬性文法是在上下文無關(guān)文法的基礎上,允許每個文法符號 X(終結(jié)符或非終結(jié)符 )根據(jù)處理的需要,定義與 X相關(guān)聯(lián)的屬性。 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 17 ■ 語法分析時屬性的計算 每步 歸約 時,計算相應的屬性值 。 ● 繼承屬性依賴的兩種基本種類 a A a a B C A a a B C 從祖先到子孫的繼承 同屬之間的繼承 ■ 屬性的分類 float id . dtype (x) decl varlist .dtype id . dtype (y) , 例: 第 5章 語法制導翻譯技術(shù)和中間代碼生成 2021/6/15 信息學院 孫麗云 16 語法制導翻譯概述 語義分析階段的 2個主要任務: 分析語言的含義; 用一種中間代碼將這種含義描述出來。一個文法的依賴圖就是全部屬性等式依賴圖的總和。 E? E+ T | T T ? T
點擊復制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1