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

正文內(nèi)容

[理學(xué)]第5章語(yǔ)法制導(dǎo)翻譯及中間代碼-展示頁(yè)

2025-01-23 17:37本頁(yè)面
  

【正文】 移進(jìn) E+T* c 移進(jìn) E+T*c 歸約 abc E+T*F 歸約 abc* E+T 歸約 abc*+ E 2)四元式 ? 四元式: 是一種更接近目標(biāo)代碼的中間代碼形式,由于該形式的中間代碼便于優(yōu)化處理,因此得到廣泛應(yīng)用。 ? 語(yǔ)法制導(dǎo)生成后綴式舉例: :=|||op|) := :=id E→E1 op E2 E→ (E1) E→ id 產(chǎn)生式 語(yǔ)義規(guī)則 ”||”為捻接運(yùn)算,在機(jī)器內(nèi)實(shí)現(xiàn)是通過(guò)數(shù)組,利用 post數(shù)組存放后綴式,k為下標(biāo),初值為 1。 a+b寫(xiě)成 ab+ ? 特點(diǎn): ①運(yùn)算符處于運(yùn)算量之后; ②運(yùn)算符在表示式中出現(xiàn)的次序和計(jì)算的先后次序一致; ③不用括號(hào); ④易于計(jì)算機(jī)處理表達(dá)式。 ?采用獨(dú)立于機(jī)器的中間代碼的好處: ? 便于編譯系統(tǒng)的建立和編譯系統(tǒng)的移植; ? 便于進(jìn)行獨(dú)立于機(jī)器的代碼優(yōu)化工作。 中間代碼形式 “中間代碼生成 ” 程序的 任務(wù) 是:把經(jīng)過(guò)語(yǔ)法分析和語(yǔ)義分析而獲得的源程序中間表示翻譯為中間代碼表示。 在語(yǔ)法分析過(guò)程中,依隨分析的過(guò)程,根據(jù)每個(gè)產(chǎn)生式所對(duì)應(yīng)的語(yǔ)義子程序 (或語(yǔ)義規(guī)則描述的語(yǔ)義處理的加工動(dòng)作 )進(jìn)行翻譯的方法。 ?S-屬性文法的翻譯器很容易建立。 T L L id3 L id2 D id1 int , , 1 entry 2 entry 3 entry 4 type 5 in 6 in 7 in 例如: int a,b,c ◆ 具有繼承屬性的屬性文法 語(yǔ)法制導(dǎo)翻譯 ?只含有綜合屬性的稱為 S-屬性文法 綜合屬性可以在分析輸入符號(hào)串的同時(shí)采用 自下而上的分析器 來(lái)計(jì)算。 與產(chǎn)生式 D→ TL相聯(lián)的語(yǔ)義規(guī)則 :=,將 明語(yǔ)句指定的類型。下面給出屬性文法: E?E1+E2 { := +} E?(E1) { := } E?n { := } E?E+E E?(E) E?n 給出定義表達(dá)式值的屬性文法。為了明確E的不同出現(xiàn)位置,用上角標(biāo)區(qū)別。 屬性文法是一個(gè)三元組: 屬性文法的 主要思想 有兩點(diǎn) : ? 對(duì)于每個(gè)文法符號(hào)引進(jìn)相關(guān)的屬性符號(hào); ? 對(duì)于每個(gè)產(chǎn)生式寫(xiě)出屬性值計(jì)算的規(guī)則。 F: 關(guān)于屬性的屬性斷言或謂詞集 .每個(gè)斷言與一個(gè)產(chǎn)生式 相聯(lián)。 即: 附在文法的每個(gè)產(chǎn)生式上的語(yǔ)義規(guī)則描述了語(yǔ)義處理的加工動(dòng)作。 語(yǔ)義規(guī)則: 為文法的每一個(gè)規(guī)則配備的計(jì)算屬性的計(jì)算規(guī)則, (描述語(yǔ)義處理的加工動(dòng)作 ) 。繼承屬性值是由此結(jié)點(diǎn)的父結(jié)點(diǎn)和(或)兄弟結(jié)點(diǎn)的某些屬性值來(lái)決定的。在語(yǔ)法樹(shù)中,一個(gè)結(jié)點(diǎn)的綜合屬性由該結(jié)點(diǎn) 的子結(jié)點(diǎn)的屬性值確定。 綜合屬性和繼承屬性。屬性值,可以在語(yǔ)法分析過(guò)程中計(jì)算和傳遞。即語(yǔ)法制導(dǎo)翻譯法使用 屬性文法 為工具來(lái)描述程序設(shè)計(jì)語(yǔ)言的語(yǔ)義。 ?使用的方法: 語(yǔ)法制導(dǎo)翻譯 。 語(yǔ)義處理是指兩個(gè)功能: ?動(dòng)態(tài)語(yǔ)義處理: 如果靜態(tài)語(yǔ)義正確,語(yǔ)義處理則要執(zhí)行真正的翻譯,即, 或者將源程序翻譯成程序的一種中間表示形式(中間代碼),或者將源程序翻譯成目標(biāo)代碼。 語(yǔ)法制導(dǎo)翻譯 語(yǔ)法分析 后的源程序 語(yǔ)義處理 中間代碼 ?靜態(tài)語(yǔ)義審查: 審查每個(gè)語(yǔ)法結(jié)構(gòu)的靜態(tài)語(yǔ)義,即驗(yàn)證語(yǔ)法結(jié)構(gòu)合法的程序,是否真正有意義 。 布爾表達(dá)式的翻譯 167。 中間代碼的形式 167。第 5章 語(yǔ)法制導(dǎo)翻譯及中間代碼生成 167。 語(yǔ)法制導(dǎo)翻譯 167。 簡(jiǎn)單賦值語(yǔ)句的翻譯 167。 控制語(yǔ)句的翻譯 167。 如類型檢查。 ?翻譯的任務(wù): 首先是語(yǔ)義分析和正確性檢查,若正確,則翻譯成中間代碼或目標(biāo)代碼。 ?基本思想: 根據(jù)翻譯的需要設(shè)置文法符號(hào)的屬性,以描述語(yǔ)法結(jié)構(gòu)的語(yǔ)義。 屬性文法 (Syntaxdirected definitions) (1) 屬性 對(duì)文法的每一個(gè)符號(hào), 引進(jìn)一些屬性,這些屬性代表與文法符號(hào)相關(guān)的信息 ,,如類型、值、存儲(chǔ)位置等。 屬性分為兩類 : 屬性加工的過(guò)程即是語(yǔ)義的處理過(guò)程。 綜合屬性: 其計(jì)算規(guī)則按“自下而上”方式進(jìn)行, 即規(guī)則左部符號(hào)的某些屬性根據(jù)其右部符號(hào)的屬性和 (或 )自己的其他屬性計(jì)算而得。 繼承屬性: 其計(jì)算規(guī)則按“自上而下”方式進(jìn)行, 即規(guī)則右部符號(hào)的某些屬性根據(jù)其左部符號(hào)的屬性和 (或 )右部其他符號(hào)的某些屬性計(jì)算而得。 (2) 屬性文法 屬性文法包含一個(gè)上下文無(wú)關(guān)文法和一系列 語(yǔ)義規(guī)則 。 這些語(yǔ)義規(guī)則附在文法的每個(gè)產(chǎn)生式上,在語(yǔ)法分析過(guò)程中,執(zhí)行語(yǔ)義規(guī)則描述的動(dòng)作,從而實(shí)現(xiàn)語(yǔ)義處理。 A=( G, V, F), G: 是一個(gè)上下文無(wú)關(guān)文法 V: 有窮的屬性集 ,每個(gè)屬性與文法的一終結(jié)符或非終結(jié)符 相連。一個(gè)斷言即一個(gè)語(yǔ)義規(guī)則,描述各屬性關(guān)系。 例如定義表達(dá)式的文法如下: 為文法符號(hào) E引進(jìn)屬性 val表示 E的值,記為 ,語(yǔ)義規(guī)則以賦值語(yǔ)句的形式給出,附在每個(gè)產(chǎn)生式后。終結(jié)符 n的值是詞法分析程序提供的,這里用 。 例 1 表達(dá)式計(jì)算的語(yǔ)法制導(dǎo)定義 產(chǎn)生式 語(yǔ)義規(guī)則 L?E print(E?val) E ?E1+T E ?val := E1 ? val+T ? val E ?T E ?val := T ? val T ?T1*F T ?val := T1 ? val+F ? val T ?F T ?val := F ? val F ?(E) F ?val := E? val F ?digit F ?val := digit?lexval digit?lexval:=3 F?val:=3 T?val:=3 digit?lexval:=5 F?val:=5 T?val:=15 * E?val:=2 + digit?lexval:=2 F?val:=2 T?val:=2 E?val:=17 L 例 2:輸入 2+ 3*5 ◆ 只有綜合屬性 例 2:變量說(shuō)明的類型定義 int a,b,c 產(chǎn)生式 語(yǔ)義規(guī)則 D?TL L ? in:=T ? type T ?int T ? type :=integer T ?real T ? type :=real L ?L1,id L1 ?in :=L ?in addtype(id ?entry,L ?in) L ?id addtype(id ?entry,L ?in) 將 置為該說(shuō)明語(yǔ)句T指定的類型 把每個(gè)標(biāo)識(shí)符的類型信息登錄在符號(hào)表相關(guān)項(xiàng)中(虛屬性) 非終結(jié)符 T有一綜合屬性 type,它的值由關(guān)鍵字決定( int或 real)。 屬性 ,與 L產(chǎn)生式相聯(lián)的規(guī)則里使用了它。分析器可以保存與棧中文法符號(hào)有關(guān)的綜合屬性值,每當(dāng)進(jìn)行歸約時(shí),新的屬性值就由棧中正在歸約的產(chǎn)生式右邊符號(hào)的屬性值來(lái)計(jì)算。通常可借助于 LR分析器實(shí)現(xiàn)。 LR分析 器模型 總控程序 output Input ACTION GOTO LR分析表 棧 狀態(tài) 符號(hào) 語(yǔ)義 S1 X1 S0 - V1 … … … S1 Xm Vm 例如:2+3 *5的分析和計(jì)值過(guò)程 步驟 動(dòng)作 狀態(tài)棧 語(yǔ)義棧 (值棧 ) 符號(hào)棧 余留輸入串 1) 0 -
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1