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

正文內(nèi)容

課件,編譯原理,編譯原理課件,屬性文法,語法制導(dǎo),2005課件說明,第八章-資料下載頁

2025-05-01 23:08本頁面

【導(dǎo)讀】將源程序的文本?程序運(yùn)行動(dòng)作的實(shí)現(xiàn)。源文件中的名字N?“靜態(tài)”確定的。為說明方便,假定源程序是由過程組成,運(yùn)行時(shí)稱作過程的激活。l臨時(shí)值,如計(jì)算表達(dá)式時(shí)的中間工作單元。l保存運(yùn)行過程前的狀態(tài)(返回地址,寄存器值……l存取鏈(可選)對(duì)于非局部量的引用。l控制鏈(可選)指向調(diào)用者的活動(dòng)記錄,釋放棧。遞歸調(diào)用,含可變數(shù)組;(語言)一個(gè)過程可以引用包圍它的任。設(shè)法跟蹤每個(gè)外層過程的最新活動(dòng)記錄

  

【正文】 emp) a2所指單元 的內(nèi)容置為 temp的 值 (1)swap(x,y) (2)int *x,*y。 (3){ int temp。 (4) temp=*x。 *x=*y。 *y=temp。 (5)} (6)main( ) (7){ int a=1,b=2。 (8) swap(amp。a,amp。b)。 (9) printf(“a is now %d,b is now %d\n”,a,b)。 (10)} 在一個(gè)值調(diào)用過程中使用指針的 C程序 在 C程序中無傳地址所以用指針實(shí)現(xiàn)。 過程調(diào)用的四元式序列 S ? call id(arglist) arglist ? arglist,E arglist ? E par T1 par T2 par Tn call id,n 過程作為參數(shù)傳遞 三種環(huán)境:詞法環(huán)境 傳遞環(huán)境 活動(dòng)環(huán)境 ? (1)program param(input,output)。 ? (2)procedure b(function h(n:integer):integer)。 ? (3) begin writeln(h(2)) end。 ? (4)procedure c。 ? (5) var m:integer。 ? (6) function f(n:integer):integr。 ? (7) begin f:=m+n end{f}。 ? (8)begin m := 0。 b(f) end {c}。 ? (9)begin ? (10) c ? (11)end 嵌套過程作為參數(shù)傳遞 p a r a m c 存取鏈 m b f . 存取鏈 連同存取鏈一起 傳遞過程實(shí)參 堆式動(dòng)態(tài)存儲(chǔ)分配 ? 需求: – 一個(gè)程序語言允許用戶自由地申請(qǐng)數(shù)據(jù)空間和退還數(shù)據(jù)空間,或者不僅有過程而且有進(jìn)程( process)的程序結(jié)構(gòu), ? 操作: – 堆提供兩個(gè)操作,分配操作和釋放操作 ? 情況 : – 經(jīng)一段運(yùn)行時(shí)間之后,這個(gè)大空間就必定被分劃成許多塊塊,有些占用,有些無用(空閑) 碎片問題 程序語言允許用戶自由地申請(qǐng)數(shù)據(jù)空間和退還數(shù)據(jù)空間 ? C++語言中 new操作符施加在一個(gè)類型標(biāo)識(shí)符上 ( 包括類名 ) ? Pascal語言中 , 標(biāo)準(zhǔn)過程 new能夠動(dòng)態(tài)建立存儲(chǔ)空間并相應(yīng)地置上指針 。 標(biāo)準(zhǔn)過程 dispose是釋放空間 .new與 dispose不斷改變著堆存儲(chǔ)器的使用情況 。 ? C語言中有這些操作的若干個(gè)版本 , 但最基本的是 malloc和 free, 它們都是標(biāo)準(zhǔn)庫 ( stdlib)的一部分 面向?qū)ο蟮恼Z言的動(dòng)態(tài)存儲(chǔ) 面向?qū)ο蟮恼Z言在運(yùn)行時(shí)環(huán)境中要求特殊的機(jī)制以完成其增添的特性:對(duì)象 、 方法 、繼承以及動(dòng)態(tài)綁定 。 面向?qū)ο笳Z言在對(duì)運(yùn)行時(shí)方面的要求差異很大 。 Smalltalk與 LISP相似是完全堆式環(huán)境 C++則保持 C的基于棧的環(huán)境 實(shí)現(xiàn)對(duì)象 實(shí)現(xiàn)對(duì)象的一個(gè)簡(jiǎn)單機(jī)制是,初始化代碼將所有當(dāng)前的繼承特征(屬性和方法)直接地復(fù)制到記錄結(jié)構(gòu)中(將方法當(dāng)作代碼指針)。但這樣做極浪費(fèi)空間。 另外一種方法是在執(zhí)行時(shí)將類結(jié)構(gòu)的一個(gè)完整的描述保存在每個(gè)類的存儲(chǔ)中,并由超類指針維護(hù)繼承性(有時(shí)這也稱作繼承圖( inheritance graph))。每個(gè)對(duì)象保持一個(gè)指向其定義類的指針,作為一個(gè)附加的域和它的實(shí)例變量放在一起,通過這個(gè)類就可找到所有(局部和繼承的)的方法。此時(shí),只記錄一次方法指針(在類結(jié)構(gòu)中),而且對(duì)于每個(gè)對(duì)象并不將其復(fù)制到存儲(chǔ)器中。由于是通過類繼承的搜索方法的,所以該機(jī)制還實(shí)現(xiàn)繼承性與動(dòng)態(tài)聯(lián)編。其缺點(diǎn)在于:雖然實(shí)例變量具有可預(yù)測(cè)的偏移量(正如在標(biāo)準(zhǔn)環(huán)境中的局部變量一樣),方法卻沒有,而且它們必須由帶有查詢功能的符號(hào)表結(jié)構(gòu)中的名字維護(hù)。這是對(duì)于諸如Smalltalk的高度動(dòng)態(tài)語言的合理的結(jié)構(gòu),因?yàn)轭惤Y(jié)構(gòu)可以在執(zhí)行中改變。 折衷方法 將整個(gè)類結(jié)構(gòu)保存在存儲(chǔ)中 , 計(jì)算出每個(gè)類的可用方法的代碼指針列表 (稱為方法索引表 , 如 :C++的 virtual function table) 。 它的優(yōu)點(diǎn)在于:可做出安排以使每個(gè)方法都有一個(gè)可預(yù)測(cè)的偏移量 , 而且也不再需要用一系列表查詢遍歷類的層次結(jié)構(gòu) 。 現(xiàn)在每個(gè)對(duì)象不僅包括實(shí)例變量還包括了一個(gè)相應(yīng)的方法索引表的指針而不是類結(jié)構(gòu)的指針 ( 當(dāng)然 , 這個(gè)指針的位置必須也有可預(yù)測(cè)的偏移量 ) 。 class A { int m1。 void f1(){…} } class B extends A {void f2(){…} } class C entends B {void f2(){…} } class D extends C{bool m2。 void f1(){…}} class A a。 class B b。 class C c。 class D d1,d2。 m1 m1 m2 對(duì)象 c 對(duì)象 d1 對(duì)象 d2 m1 m2 m1 對(duì)象 b m1 對(duì)象 a A_f1 類 A B_f2 A_f1 類 B C_f2 A_f1 類 C C_f2 D_f1 類 D 某個(gè)單繼承 OO語 言的對(duì)象存儲(chǔ)示意 某個(gè) OO語 言的程序例子 string day。 class Fruit { int price。 string name。 void init(int p,string s){price=p。 name=s。} void print(){ Print(On ,day, the price of ,name, is ,price,\n)。} } class Apple extends Fruit { string color。 void setcolor(string c){color=c。} void print(){ Print(On ,day, the price of ,color, ,name, is , price,\n)。} } void foo() { class Apple a。 a=New (Apple)。 (100,apple)。 (red)。 day=Tuesday。 ()。 } 它 的運(yùn)行時(shí)存儲(chǔ)組織 臨時(shí)變量 局部變量 控制鏈 (EBP) 返回地址 (EIP) 實(shí)參 …… Apple的實(shí)例 …… …… Vtable of Fruit Vtable of Apple …… vtable int price(100) string name string color …… …… 棧區(qū) 堆區(qū)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1