【正文】
display d[2] d[1] d[0] d[1] d[0] display sp top top sp ( 3) ( 4) DISPLAY表的維護(hù)和建立 ? 不放在過程的活動記錄中 ? 放在過程的活動記錄中 . . . 臨時(shí)變量 數(shù)組內(nèi)情向量 臨時(shí)變量 d DISPL AY 4 形式單元 . . . 3 參數(shù)個(gè)數(shù) 2 全局 DISPLAY地址 1 返回地址 0 老 SP ? 當(dāng)過程的層次為 n,它的 display為 n+1個(gè)值。 過程的活動記錄 (AR) C PL0 臨時(shí)工作單位 √ √ 局部變量 √ √ 機(jī)器狀態(tài)信息 存取鏈 √ 控制鏈 √ √ 實(shí)參 √ 返回地址 √ √ 過程 R的活動記錄 過程 Q的活動記錄 過程 P的活動記錄 主程序全局?jǐn)?shù)據(jù)區(qū) 分程序結(jié)構(gòu) Procedure A(m,n)。 B2:begin real d, e。 L6: 5 4 end。因此,可以把處理過程的存儲辦法應(yīng)用到處理分程序中。 按照過程處理辦法,意味著必須一層一層地通過“返回” 來恢復(fù)所要到達(dá)的那個(gè)分程序的數(shù)據(jù)區(qū),但不能直接到達(dá)。第 一,對每個(gè)過程或分程序都建立有自己的棧頂指示器 TOP,代替原來僅有過程的棧頂指示器 , 每個(gè) TOP的值保存在各自活動記錄中。 : 每個(gè)過程被當(dāng)作是 0層分程序。 3. 參數(shù)個(gè)數(shù)和形式單元 4. DISPAY表。 變 量 e B5 的 T O P 數(shù) 組 C 的 內(nèi) 情 向 量 變 量 e 和 d B4 的 T O P B2的 T OP 數(shù) 組 B 的 內(nèi) 情 向 量 變 量 zK B1 的 T O PD D I S P L A Y6 形 式 單 元 m ,n5 參 數(shù) 個(gè) 數(shù): 24 調(diào) 用 時(shí) 的 棧 頂 地 址 (老 T O P )3 全 局 D I S P L A Y 地 址2 返 回 地 址1 老 S P0 過 程 的 T O P ,指 向 活 動 記 錄 之 頂 D I S P L A Y 形式單元 m , n 2 連 接 數(shù) 據(jù) A 的 T O P ∶ ∶ (a) 到 達(dá) 標(biāo) 號 B1處 。 (3) begin。 帶有非局部變量和形參的 PASCAL過程 非局變量 a[i]和 a[j]的 值進(jìn)行交換, i,j為形參(在這里是傳值) (1)program reference(input,output)。 (5) begin (6) temp:=x。 b:=2。 swap(a,b);( a,b為 調(diào)用時(shí)的 實(shí)參 ) 調(diào)用結(jié)果 a,b的值被改變。 傳值 的實(shí)現(xiàn) ? ,即在被調(diào)過程的活動記錄中開辟了形參的存儲空間,這些存儲位置即是我們所說的形式單元(用以存放實(shí)參)。 var temp:integer。 var temp:integer。 (3){ int temp。 (5)} (6)main( ) (7){ int a=1,b=2。 (9) printf(“a is now %d,b is now %d\n”,a,b)。 ? (3) begin writeln(h(2)) end。 ? (7) begin f:=m+n end{f}。 標(biāo)準(zhǔn)過程 dispose是釋放空間 .new與 dispose不斷改變著堆存儲器的使用情況 。但這樣做極浪費(fèi)空間。由于是通過類繼承的搜索方法的,所以該機(jī)制還實(shí)現(xiàn)繼承性與動態(tài)聯(lián)編。 它的優(yōu)點(diǎn)在于:可做出安排以使每個(gè)方法都有一個(gè)可預(yù)測的偏移量 , 而且也不再需要用一系列表查詢遍歷類的層次結(jié)構(gòu) 。 void f1(){…}} class A a。 m1 m1 m2 對象 c 對象 d1 對象 d2 m1 m2 m1 對象 b m1 對象 a A_f1 類 A B_f2 A_f1 類 B C_f2 A_f1 類 C C_f2 D_f1 類 D 某個(gè)單繼承 OO語 言的對象存儲示意 某個(gè) OO語 言的程序例子 string day。 name=s。} void print(){ Print(On ,day, the price of ,color, ,name, is , price,\n)。 (re