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

正文內(nèi)容

第六章中間代碼生成-wenkub

2022-08-29 13:20:40 本頁面
 

【正文】 1) – 運(yùn)算 /賦值指令: x=y op z x = op y – 復(fù)制指令: x=y – 無條件轉(zhuǎn)移指令: goto L – 條件轉(zhuǎn)移指令: if x goto L if False x goto L – 條件轉(zhuǎn)移指令: if x relop y goto L 三地址代碼( 3) ? 指令集合( 2) – 過程調(diào)用 /返回: ? param x1 //設(shè)置參數(shù) ? param x2 ? … ? param xn ? call p, n //調(diào)用子過程 p, n為參數(shù)個(gè)數(shù) – 帶下標(biāo)的復(fù)制指令: x=y[i] x[i]=y ? 注意: i表示離開數(shù)組位置第 i個(gè)字節(jié),而不是數(shù)組的第 i個(gè)元素 – 地址 /指針賦值指令: ? x=amp。 靜態(tài)單賦值( SSA) ? SSA中的所有賦值都是針對不同名的變量 ? 對于同一個(gè)變量在不同路徑中定值的情況,可以使用 φ函數(shù)來合并不同的定值 – if (flag) x=1。 x3=φ(x1,x2); – y = x3*a 類型和聲明 ? 類型檢查 (Type Checking) – 利用一組規(guī)則來檢查運(yùn)算分量的類型和運(yùn)算符的預(yù)期類型是否匹配。字段聲明和變量聲明的文法一致。 ? 在語義分析時(shí),通過棧來存放當(dāng)前符號表及其祖先。 ? 注意: – (…) 從棧頂符號表開始,逐個(gè)向下尋找 id的信息 。 ? 數(shù)組元素作為表達(dá)式中的因子: E?L ? L的代碼計(jì)算偏移量,將結(jié)果存放于 – 綜合屬性 array記錄了相應(yīng)數(shù)組的信息:元素類型,基地址, … 數(shù)組元素作為因子 ? L的代碼只計(jì)算了偏移量; ? 數(shù)組元素的存放地址應(yīng)該根據(jù)偏移量進(jìn)一步計(jì)算,即 L的數(shù)組基址加上偏移量 ? 使用三地址指令 x=a[i] 數(shù)組元素作為賦值左部 ? 使用三地址指令 a[i]=x 例子 ? 表達(dá)式: c+a[i][j] 類型檢查和轉(zhuǎn)換 ? 類型系統(tǒng): – 給每一個(gè)組成部分賦予一個(gè)類型表達(dá)式 – 通過一組邏輯規(guī)則來表示這些類型表達(dá)式必須滿足的條件 ? 可發(fā)現(xiàn)錯(cuò)誤、提高代碼效率、確定臨時(shí)變量的大小、 … 類型系統(tǒng)的分類 ? 類型綜合 – 根據(jù)子表達(dá)式的類型構(gòu)造出表達(dá)式的類型 if f 的類型為 s?t且 x的類型為 s then f(x)的類型為 t ? 類型推導(dǎo) – 根據(jù)語言結(jié)構(gòu)的使用方式來確定該結(jié)構(gòu)的類型: if f(x)是一個(gè)表達(dá)式 then 對于某些類型 α,β; f的類型為 α?β且 x的類型為 α 類型轉(zhuǎn)換 ? 假設(shè)在表達(dá)式 x*i中, x為浮點(diǎn)數(shù)、 i為整數(shù),則結(jié)果應(yīng)該是浮點(diǎn)數(shù) – x和 i使用不同的二進(jìn)制表示方式 – 浮點(diǎn) *和整數(shù) *使用不同的指令 – t1 = (float) i – t2 = x fmul t1 ? 類型轉(zhuǎn)換比較簡單時(shí)的 SDD: – E?E1 + E2 { if( = integer and = integer) = integer。 ? 文法 – B ? B‖B | B amp。 – B1amp。 x!= y) x = 0。 gen(begin ‘:’)} B ) {gen( ‘:’)。 – 表達(dá)式的值為真時(shí),跳轉(zhuǎn)到 – 表達(dá)式的值為假時(shí),跳轉(zhuǎn)到 ? ,根據(jù) B所在的上下文指向不同的位置 – 如果 B是 if語句的條件表達(dá)式,分別指向 then分支和 else分支;如果沒有 else分支,則指向 if語句的下一條指令 – 如果 B是 while語句的條
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1