【屬性語法】包含一個語法和一系列語義規(guī)則揽惹。
【中間代碼】 目標(biāo)代碼的中間表示。
【編譯中常用的中間代碼】后綴表達(dá)式四康、樹形表示搪搏、三元式、四元式
后綴表達(dá)式除去了原表達(dá)式中的括號闪金,并將運(yùn)算對象寫在前面疯溺,運(yùn)算符寫在后面,因而稱為后綴式哎垦。
用【棿涯郏】計算后綴表達(dá)式
第七章
【三元式】(OP,arg1, arg2)
其中OP是運(yùn)算符漏设,arg1,arg2分別是第一和第二兩個運(yùn)算對象墨闲。
特點(diǎn): 三元式出現(xiàn)的順序和語法成份的計值順序相一致。
【間接三元式】
(1)間接三元式表: 用來存放各三元式本身郑口。
(2)間接碼表: 按執(zhí)行各三元式的順序,依次列出各三元式在三元式表中的位置鸳碧。
【注意】 : 間接三元式表中不存放重復(fù)的三元式。
【四元式】(OP犬性,arg1, arg2, result)
result是編譯程序?yàn)榇娣胖虚g運(yùn)算結(jié)果而臨時引進(jìn)的變量瞻离,常稱為臨時變量
【三地址代碼形式】result := arg1 OP arg2
三地址語句:語句中是三個量的賦值語句, 每個量占一個地址。
題型:【解】寫出四元式以及四元式所對應(yīng)的三地址序列【也不存放重復(fù)的】
【將布爾表達(dá)式表示為四元式】
布爾表達(dá)式是由布爾算符(∧乒裆、∨和非)施于布爾變量或關(guān)系表達(dá)式而成套利。
【運(yùn)算符的優(yōu)先級】
首先? ?????* ,/,+ -, =
其次是?? ??> , <? , >= , <=
最后是? ? 非,∧,∨
相同優(yōu)先級的從左到右寫出
【目標(biāo)代碼】
題型:將三地址句子x = y + z翻譯成目標(biāo)代碼
【二地址指令】
二地址指令: op 源日裙,目的
MOV {將源移到目的中}
ADD {將源加到目的中}
SUB {在目的中減去源}
【代碼優(yōu)化原則】