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

正文內(nèi)容

[工學(xué)]哈工大編譯原理(已修改)

2024-10-30 23:51 本頁(yè)面
 

【正文】 1 第六章 中間代碼 辛明影 2 中間代碼生成 中間語(yǔ)言 常用語(yǔ)句的翻譯 說(shuō)明語(yǔ)句 賦值語(yǔ)句 布爾表達(dá)式 過(guò)程語(yǔ)句 辛明影 3 序 “ 中間代碼生成 ” 程 序的 任務(wù) 是: 方法:語(yǔ)法制導(dǎo)翻譯。 采用獨(dú)立于機(jī)器的中間代 碼的好處 : 把經(jīng)過(guò)語(yǔ)法分析和語(yǔ)義分析而獲得的源程序中間表 示翻譯為中間代碼表示。 1. 便于編譯系統(tǒng)建立和編譯系統(tǒng)的移植; 2. 便于進(jìn)行獨(dú)立于機(jī)器的代碼優(yōu)化工作。 辛明影 4 中間語(yǔ)言 ? 語(yǔ)法樹(shù) ? 后綴式 ? 三地址代碼表示 圖表示法 語(yǔ)法樹(shù),有向非循環(huán)圖和后綴式表示源程序的自然層次結(jié)構(gòu),例如: a:=b * c+b * c 辛明影 5 = a + * b c (a)語(yǔ)法樹(shù) * c b 辛明影 6 賦值語(yǔ)句: 中 綴式: a:=b*c+b*c 后綴式: a b c * b c * + = 辛明影 7 = a + * b c (b)dag(Directed Acyclic Graph) 辛明影 8 三地址代碼 一般形式 x:= y op z 相應(yīng)于圖 dag的三地址代碼 t1:= c t2:= b*t1 t5:= t2+t2 a: = t5 對(duì)于 dag的代碼 t1 := c t2 := b* t1 t3 := c t4 := b* t3 t5 := t2+t4 a := t5 對(duì)于語(yǔ)法樹(shù)的代碼 辛明影 9 ( 3)無(wú)條件轉(zhuǎn)移語(yǔ)句 goto L。 ( 4)條件轉(zhuǎn)移語(yǔ)句 if x relop y goto L,關(guān)系運(yùn)算符號(hào) relop( , =,> = 等等) 。 ( 2)賦值語(yǔ)句 x:= op y , op為一目算符,如一目減 uminus、邏輯非 not、移位算符及轉(zhuǎn)換算符 。 ( 1)賦值語(yǔ)句 x:= y op z, op為二目算術(shù)算符或邏輯算符 。 三地址語(yǔ)句的種類 辛明影 10 ( 5)復(fù)制語(yǔ)句 x:= y。 ( 8) 地址和指針賦值 x=& y, x= * y 和 * x= y。 ( 7)索引賦值 x:=y[i] 及 x[i] :=y 。 ( 6)過(guò)程調(diào)用語(yǔ)句 param x 和 call p, n 。 過(guò)程返回語(yǔ)句 return y。 辛明影 11 三地址代碼的具體實(shí)現(xiàn) 1. 四元式 op, arg1, arg2, result 2. 三元式 op, arg1, arg2 3. 間接三元式 間接碼表 +三元式表 四元式需要利用較多的臨時(shí)單元 ,四元式之 間 的聯(lián)系通過(guò)臨時(shí)變量實(shí)現(xiàn)。 中間代碼優(yōu)化處理時(shí),四元式比三元式方便的多 ,間接三元式與四元式同樣方便,兩種實(shí)現(xiàn)方式需要的存儲(chǔ)空間大體相同。 辛明影 12 x=y op z 常用三地址碼的四元式表示: x=op y goto L if x rop y goto L x=y parm x call p,n ( op , y , z , x) ( op , y , , x) ( j , , , L) (jrop ,x ,y , L) (= , y , ,x) (param, , ,x) (=[] , y[i] , ,x) (=amp。 , y , ,x) x=amp。y x=*y x=y[i] x[i]=y 辛明影 13 對(duì)于語(yǔ)句 a:=b*c+b*c 的三種表示方法 三地址語(yǔ)句的四元式表示 ( , c , , t1) (* , b , t1 , t2) ( , c , , t3) (* , b , t1 , t4) (+ ,t2 , t4 , t5) (= , t5 , ,a) 辛明影 14 (0) (1) (2) (3) (4) (5) uminus * uminus * + assign c b c b ( 1) a arg1 (0) (2) (3) (4) arg2 op 三地址語(yǔ)句的三元式表示 三元式中使用 指向三元式語(yǔ)句的指針 。 辛明影 15 arg1 arg2 op statement (14) (15) (14) (15) (16) (17) (0) (1) (2) (3) (4) (5) 三地址語(yǔ)句的間接三元式表示 語(yǔ)句的移動(dòng)僅改變左邊的語(yǔ)句表 14 c 15 * b 14 16 + 14 15 17 = 15 a 辛明影 16 相對(duì)地址 :相對(duì)靜態(tài)數(shù)據(jù)區(qū)基址 說(shuō)明語(yǔ)句 常用語(yǔ)句的翻譯 說(shuō)明語(yǔ)句的翻譯: 對(duì)每個(gè)局部名字, 在符號(hào)表中建立相應(yīng)的表項(xiàng), 填寫(xiě)有關(guān)的信息 . 如類型、嵌套深度、相對(duì)地址 ,內(nèi)情向量等。 或活動(dòng)記錄中局部數(shù)據(jù)區(qū)基址 的一個(gè)偏移值 辛明影 17 一、 過(guò)程中的說(shuō)明語(yǔ)句 下面是類型說(shuō)明和數(shù)組說(shuō)明的文法和翻譯方案 P→D D→D。 D D→id : T T→integer T→real x:integer。y:real 一個(gè)過(guò)程中的 所有說(shuō)明語(yǔ)句 作為一個(gè)類集來(lái)處理。 用一個(gè)全程變量 Offset來(lái)記錄下 一個(gè)數(shù)據(jù)在符號(hào)表中的相對(duì)地址。 T→array[num]of T1 T→ ↑T1 辛明影 18 P→D D→D。 D D→id : T T→integer T→real T→array[num]of T1 T→ ↑T1 { offset:= 0}D { enter( , , offset) 。 offset:=offse
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1