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

正文內(nèi)容

第六章運(yùn)行時(shí)刻環(huán)境序61源語言中的一些問題62存儲組織(編輯修改稿)

2024-11-22 12:08 本頁面
 

【文章內(nèi)容簡介】 名字的綁定 說明的作用域 活動的生存期 18 提出的問題 編譯程序組織存儲分配所采用策略和方法主要取決于對源程序中下面的問題的回答。 1.過程可以是遞歸的嗎? 2.當(dāng)控制從過程的一次活動返回時(shí),局部 名的值將發(fā)生什么 變化 ? 3.一個(gè)過程可以訪問非局部名嗎? 4.當(dāng)調(diào)用過程時(shí)參數(shù)是怎樣傳遞的? 5.過程可以作為參數(shù)被傳遞嗎? 6.過程可以作為結(jié)果被返回嗎? 7. 可以在程序控制下進(jìn)行動態(tài)存儲分配嗎? 8. 顯式的存儲重新分配(指撤除分配后的分 配)是必須的嗎? 19 例:函數(shù)的返回值是函數(shù)。 Fun times x y=x*y val times=fn: int ? (int ? int) twice=times 2 fun pose(f, g)=f(g(x)) pose=fn: (????? ? ?) ?(? ??) val fourtimes=pose(twice,twice) 20 存儲組織 運(yùn)行時(shí)刻內(nèi)存的劃分 運(yùn)行時(shí)刻的存儲空間必須劃分以用來存放 : 1. 生成的目標(biāo)代碼 。 2. 數(shù)據(jù)目標(biāo) 。 3. 用于保存過程活動蹤跡的一個(gè)控制棧。 存儲空間劃分的各部分: 21 目標(biāo)代碼 靜態(tài)數(shù)據(jù) 棧 堆 1. 編譯后知道目標(biāo)代 碼的大小。 2. pascal主程序中的 數(shù)據(jù) ,c,FORTRAN 3. 棧 :Pascal,c 4. 堆 : Pascal,c 22 活動記錄 把過程的一個(gè)活動所需要的信息組織成一塊連續(xù)的存儲單元,稱為活動記錄。 一個(gè)活動所需要的信息的每個(gè)數(shù)據(jù)項(xiàng)有相同的生存期,因此,組織成一個(gè)活動記錄是很自然的。 對于 pascal語言來說,運(yùn)行過程中,當(dāng)調(diào)用一個(gè)過程時(shí),在棧頂構(gòu)筑它的活動記錄;當(dāng)這個(gè)過程的活動執(zhí)行完后,把它從棧頂彈出。 源語言不同,實(shí)現(xiàn)方法不同,組成活動記錄的域不同。實(shí)現(xiàn) pascal語言的活動記錄如 圖 。 23 返回值 實(shí)在參數(shù) 控制鏈 訪問鏈 保存機(jī)器狀態(tài) 局部數(shù)據(jù) 臨時(shí)變量 控制鏈 :指向調(diào)用過程活動 的活動記錄。 訪問鏈:指向本活動要訪 問的非局部數(shù)據(jù)所在的 活動記錄。 保存機(jī)器狀態(tài):調(diào)用過程 活動在調(diào)用點(diǎn)的機(jī)器 狀態(tài),包括計(jì)數(shù)器, 各種寄存器的值。 局部數(shù)據(jù):過程中定義的 局部量。 臨時(shí)變量:編譯產(chǎn)生。 24 編譯時(shí)刻的局部數(shù)據(jù)的設(shè)計(jì) 局部數(shù)據(jù)域是編譯時(shí)刻在分析過程中的說 明時(shí)設(shè)計(jì)的。例如: PROCEDURE sub(x,y:real)。 VAR i ,j:integer。 a:ARRAY[1..5] OF real。 e, f : real。 BEGIN ? f :=e+i*j。 ? END。 25 符號表 名字 形 類型 偏移量 活動記錄布局 返回值 (topsp,0) x 形 real 1 (topsp,1) y 形 real 2 (topsp,2) (topsp,3) (topsp,20) i int 20 (topsp,21) j int 21 (topsp,22) a ?array 22 (topsp,27) e real 27 (t
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1