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

正文內(nèi)容

編譯原理第十章目標(biāo)程序運(yùn)行時(shí)的存儲(chǔ)組織(參考版)

2025-07-10 16:06本頁(yè)面
  

【正文】 問答第3題解答:?jiǎn)柎鸬?題解答:程序執(zhí)行到(1)點(diǎn)時(shí)的流程是:①主程序激活A(yù)②A激活B程序執(zhí)行到(2)點(diǎn)時(shí)的流程是:① 主程序激活A(yù)② A激活B③ B執(zhí)行結(jié)束返回A④ A激活C問答第5題解答:程序結(jié)構(gòu):(1)(2)?! ?,比方a+b或2,而沒有左值,則表達(dá)式先求值,并存入某一位置,然后該位置的地址傳遞過去。調(diào)用過程傳給被調(diào)過程的是指針,指向?qū)崊⒋鎯?chǔ)位置的指針?! 。拖袷褂镁植孔兞恳粯邮褂眠@些形式單元。具體來講是這樣的:  ,即在被調(diào)過程的活動(dòng)記錄中開辟了形參的存儲(chǔ)空間,這些存儲(chǔ)位置即是我們所說的實(shí)參或形式單元。 問答第2題解答:參數(shù)的傳遞方式有下述幾種:  傳值 Call by Value   傳地址 Call by Address  換名 Call by Name   得結(jié)果 Valueresult  傳值方式,這是最簡(jiǎn)單的參數(shù)傳遞方法。問答題答案問答第1題解答: (1) 參數(shù)的傳遞辦法為傳值時(shí),a 為 2。(1)已開始而尚未執(zhí)行完畢的標(biāo)號(hào)為10的語(yǔ)句?!   ?....   end.{main} 并已知在運(yùn)行時(shí)刻,以過程為單位對(duì)程序中的變量進(jìn)行動(dòng)態(tài)存儲(chǔ)分配?!     ?....    end。{Z}    begin      .....      10:Y?!     ar h,i,j:real。      begin       ...      end?!   rocedure Y。   procedure X(i,j:integer)?!  ?..  end. 第5題:  有如下示意的Pascal源程序  program main。     .....    end。{C}    begin     .....     B?!    ar t:real?!    egin       ...(1)...     end?!   rocedure B?!  rocedure A(k:real)。   var i:integer。當(dāng)?shù)诙危ㄟf歸地)進(jìn)入F后,DISPLAY的內(nèi)容是什么?當(dāng)時(shí)整個(gè)運(yùn)行棧的內(nèi)容是什么? 第4題:  對(duì)如下的Pascal程序,畫出程序執(zhí)行到(1)和(2)點(diǎn)時(shí)的運(yùn)行棧?! egin    K:=F(10)?!  unction F(N:integer):integer   begin    if N =0 then F:=1    else F:=N * F(N1)。   print a   end. 第2題:  過程參數(shù)的傳遞方式有幾種?簡(jiǎn)述傳地址和傳值的實(shí)現(xiàn)原理。    b∶=3?!  nd。    begin      y∶=y+1。   program main (input,output)?!  ?過程調(diào)用和返回時(shí),相應(yīng)目標(biāo)代碼以及棧式動(dòng)態(tài)分配區(qū)的管理?!  ?過程活動(dòng)紀(jì)錄的各項(xiàng)內(nèi)容和它們的作用,以及活動(dòng)紀(jì)錄的組織方式?!  ?各種不同數(shù)據(jù)變量區(qū)的不同分配組織方式。然后所生成的目標(biāo)指令則應(yīng)完成的工作是:恢復(fù)SP;恢復(fù)TOP,按保存的返回地址實(shí)行無(wú)條件轉(zhuǎn)移。  在過程執(zhí)行語(yǔ)句的工作過程中,凡引用形參、局部變量或數(shù)組元素都可根據(jù)過程活動(dòng)記錄起點(diǎn)的相對(duì)位置訪問?! ∪绻^程含動(dòng)態(tài)數(shù)組(局部),則應(yīng)生成對(duì)數(shù)組進(jìn)行存儲(chǔ)分配的指令,即生成運(yùn)行時(shí)動(dòng)態(tài)地建立內(nèi)情向量和分配數(shù)組空間的目標(biāo)指令(內(nèi)情向量表區(qū)已分配在過程活動(dòng)記錄中)。因此對(duì)于par Ti(i=1,2,…,n)的處理是:根據(jù)par Ti(i=1,2,…,n)中Ti的種別而生成傳送指令,或?qū)?shù)的值或?qū)?shù)的地址傳送至新的過程的活動(dòng)記錄的形式單元中。 過程調(diào)用、過程進(jìn)入和過程返回  經(jīng)過上述討論之后,我們歸納一下,對(duì)于過程調(diào)用的四元式序列:  par T1  par T2  …  par Tn  call P,n  在運(yùn)行時(shí)是如何執(zhí)行的?! 〕藢?shí)參是過程的情況外,還有實(shí)參為數(shù)組的情況,實(shí)參為標(biāo)號(hào)的情況以及實(shí)參為形式參數(shù)的情況。假定過程Q執(zhí)行到引用形參Z時(shí),Z中已含有上述B1的地址,則B1的內(nèi)容將用來作為轉(zhuǎn)子指令的目的地址(即轉(zhuǎn)進(jìn)過程T)。     //c的過程體,其中b(f)調(diào)用b函數(shù),     //而實(shí)參是函數(shù)f,調(diào)用時(shí)替換形參函數(shù)h  (9) begin  (10) c   (11) end 連同存取鏈一起傳遞過程實(shí)參一般來講,過程P把過程T做為實(shí)參傳遞給Q時(shí),也是一種傳地址方式,P可以先建立兩個(gè)相繼的臨時(shí)單元,第一個(gè)單元B1存放過程T的入口地址;第二單元B2存放現(xiàn)行display地址或存取鏈地址。//f的函數(shù)體  (8)  begin ∶=0。integer): integer。 //嵌套過程c的頭  (5)  var :integer?!   ?/嵌套過程b的頭,其形式參數(shù)是一個(gè)具有一個(gè)整型形參n的整型函數(shù)h  (3)  begin writeln(h(2)) end 。 嵌套過程作為參數(shù)傳遞  (1) program param(input, output)。當(dāng)過程c傳遞f時(shí),c可以決定f的存取鏈,或者說f的存取鏈或display可以根據(jù)c的存取鏈或display來建立。b中的語(yǔ)句writeln(h(2))激活f,是因?yàn)樾螀引用f,writeln打印的是調(diào)用f(2)的結(jié)果。我們要注意的是:函數(shù)f有一非局部量m,圖中特地將m圈起來。這里我們不予討論?! ?10) }  C語(yǔ)言過程的參數(shù)只有值參,要實(shí)現(xiàn)傳地址可采用傳遞指針型實(shí)參。b)?! ?8)  swap(amp。 y=temp。 //swap的過程體  (4)  temp=x。圖   (1) swap(x,y) //定義swap過程  (2) int *x,*y。操作符導(dǎo)致將指向a和b的指針傳給過程swap。a,amp?! ⊥ㄟ^值調(diào)用的過程可以由非局部量或由指針而對(duì)調(diào)用過程發(fā)生影響。  3. 將arg1所指單元的內(nèi)容設(shè)為arg2所指單元的值,即i∶=a[i0],這一步對(duì)應(yīng)swap中第7行的x∶=y?! ±?,若用實(shí)參i和a[i]對(duì)過程swap進(jìn)行調(diào)用,即swap(i,a[i]),其效果如下步驟所述:  1. 將i和a[i]的地址(左值)拷貝到被調(diào)過程的活動(dòng)記錄中,比如說分別對(duì)應(yīng)形參x和y的單元arg1和arg2。  2. 如實(shí)參是一表達(dá)式,比方a+b或2,而沒有左值,則表達(dá)式先求值,并存入某一位置,然后該位置的地址傳遞過去。調(diào)用過程傳給被調(diào)過程的是指針,指向?qū)崊⒋鎯?chǔ)位置的指針。其結(jié)果等價(jià)于執(zhí)行下列運(yùn)算:  x ∶=a  y ∶=b  temp ∶=x  x ∶=y  y ∶=temp這里,x,y和temp局部于swap,雖然賦值改變了局部量x,y和temp的值,但當(dāng)控制從該調(diào)用返回而swap的該活動(dòng)記錄釋放后,這些改變即消失,這種調(diào)用方式不影響調(diào)用過程的活動(dòng)記錄。 ?、?被調(diào)用過程執(zhí)行時(shí),就像使用局部變量一樣使用這些形式單元。具體來講是這樣的:① 在被調(diào)過程的活動(dòng)記錄中開辟形參的存儲(chǔ)空間,這些存儲(chǔ)位置即是我們所說的形參或形式單元。傳值,即call by value,也稱值調(diào)用。     swap(a,b);其結(jié)果:a,b調(diào)用前的值不被改變。這種參數(shù)的傳遞方式是傳值?!    wap(a,b);(a,b為調(diào)用時(shí)的實(shí)參)調(diào)用結(jié)果:a,b的值被改變。  PASCAL語(yǔ)言的變量參數(shù)是在參數(shù)前加關(guān)鍵字var?! ?13) writeln(a=,a)。 b∶=2。  (8)    y∶=temp  (9)  end。  (5)  begin //swap的過程體  (6)  temp∶=x。  (3) procedure swap(var x, y: integer)。圖 帶有過程swap的PASCAL程序  (1) program reference(input, output)?! ≈酪粋€(gè)語(yǔ)言使用的參數(shù)傳遞的方法非常重要,因?yàn)橐粋€(gè)程序的結(jié)果依賴于所使用的方法。我們所討論的問題是,為執(zhí)行exchangel(m,n),形參i,j應(yīng)按何種方式同實(shí)參m,n
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1