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

正文內(nèi)容

編譯原理之代碼生成-文庫吧資料

2025-05-21 04:33本頁面
  

【正文】 ,最后一個對 s所使用的某個運(yùn)算分量進(jìn)行定值的語句。原因: ? B的結(jié)尾指令是一條跳轉(zhuǎn)到 C的開頭的條件 /無條件語句 ? 在原來的序列中, C緊跟在 B之后,且 B的結(jié)尾不是無條件跳轉(zhuǎn)語句 ? B是 C的 前驅(qū) , C是 B的 后繼 ?流圖中增加額外的入口,出口結(jié)點(diǎn)各一個 ? 不對應(yīng)于實(shí)際的中間指令 ( 是增加 ) 。 ? q一般為各個行號 確定基本塊中的活躍性、下次引用 ?輸入:基本塊 B,開始時 B的所有非臨時變量都是活躍的; ?輸出:每個語句 i中變量的活躍性、下次使用信息 ?方法: ? 所有的非臨時變量初始化為活躍的,從 B的最后一個語句開始 反向掃描 , ? 對于每個語句 i: x=y+z。 活躍變量與非活躍變量 ?⒈ 變量的定值點(diǎn)和使用點(diǎn): ? 設(shè)有四元式: q(w B C A ) ? B,C的使用點(diǎn) (q) ? A的定值點(diǎn) (q) ?⒉ 活躍變量與非活躍變量 ? 【 活躍變量 】 一個變量從某時刻 (q)起 ,到下一個定義點(diǎn)止,其間若有使用點(diǎn),則稱該變量在 q是活躍的 (y),否則稱該變量在 q是非活躍的 (n)。 常量 1字長 實(shí)際為一個常量 1字長 常量 1字長 一個指令 1字長 一個指令 1字長 返回地址 例子 ?三地址代碼 ? action1 ? call p ? action 2 ? halt //p的代碼 ? action3 ? return 活動記錄棧式分配 ?寄存器 SP指向棧頂 ?第一個過程( main)初始化棧區(qū) ?過程調(diào)用指令序列 ? ADD SP, SP, //增加棧指針 ,越過調(diào)用者自身的活動記錄 ? ST 0(SP), here+16 //保存返回地址 ? BR //轉(zhuǎn)移到被調(diào)用者 ?返回指令序列 ? BR *0(SP) //被調(diào)用者最后執(zhí)行,返回調(diào)用者 ? SUP SP, SP, //調(diào)用者中減低棧指針 34 例:快速排序 未完,轉(zhuǎn)下頁 例 :快速排序 接上頁 名字的運(yùn)行時刻地址 ?在三地址語句中使用名字(實(shí)際上是按符號表?xiàng)l目提供的信息)來引用變量 ?三地址語句 x=0 ? 如果 x分配在開始位置為 static靜態(tài)區(qū)域,且符號表中保存的相對地址為 12,則可以譯為: ?static[12] = 0 ?設(shè)靜態(tài)區(qū)從 100開始,則也可譯為 LD 112 0 ? 如果 x分配在棧區(qū),且相對地址為 12,則 ?LD 12(SP) 0 基本塊和流圖 ?中間代碼的流圖表示法 ? 中間代碼劃分成為 基本塊 (basic block),其特點(diǎn)是單入口單出口,即: ?控制流只能從第一個指令進(jìn)入 ?除了基本塊最后一個指令,控制流不會跳轉(zhuǎn) /停機(jī) ? 流圖中結(jié)點(diǎn)是基本塊,邊指明了哪些基本塊可以跟在一個基本塊之后運(yùn)行 ?流圖可作為優(yōu)化的基礎(chǔ) ? 它指出了基本塊之間的控制流 ? 可根據(jù)流圖了解一個值是否會被使用等信息 劃分基本塊的算法 ?輸入:三地址指令序列 ?輸出:基本塊的列表 ?方法: ? 確定 leader指令(基本塊的第一個指令)符合以下任一條: ?中間代碼的第一個三地址指令 ?任意一個條件或無條件轉(zhuǎn)移指令的目標(biāo)指令 ?緊跟在一個條件 /無條件轉(zhuǎn)移指令之后的指令 ? 確定基本塊 ?每個首指令對應(yīng)于一個基本塊:從首指令(包含)開始到下一個首指令(不含) 基本塊劃分舉例 ?第一個指令 ? 1 ?跳轉(zhuǎn)指令的目標(biāo) ? 13 ?跳轉(zhuǎn)指令的下一條指令 ? 12 ?基本塊: 11; 22; 39(包括跳轉(zhuǎn)語句 ); 1011(包括跳轉(zhuǎn)語句 ) ; 1212; 1317 (包括跳轉(zhuǎn)語句 ) 下次引用信息 ?變量值的使用 ? 如果三地址語句 i對 x賦值、三地址語句 j的運(yùn)算分量含 x,且從 i到 j有一條路徑,且路徑上無對 x的重新賦值,則稱 j使用 了語句 i計(jì)算得到的 x值,稱 x在語句 i處 活躍 (以后有用 )x(i)=y或 n。 不同區(qū)域中的名字采用不同尋址方式。 尋址模式 ?變量 x:指向分配 x的內(nèi)存位置 ?a(r):地址是 a的左值加上 r中的值 (可類比一維數(shù)組方便記憶) ?constant(r):寄存器中內(nèi)容加上前面的常數(shù)即其地址; (可類比一維數(shù)組方便記憶) ?*r:寄存器 r的內(nèi)容為其地址 ?*constant(r): r中內(nèi)容加上常量的和所指地址中存放的值為其地址 (可類比一維數(shù)組方便記憶)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1