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

正文內(nèi)容

07第7章-符號表管理技術(shù)(已改無錯字)

2023-04-01 14:14:45 本頁面
  

【正文】 號的散列位置 。 如果 N是質(zhì)數(shù) , 散列的效果較好 , 即沖突較少 。 3) 沖突處理:鏈接法 。 現(xiàn)有 5個符號 C C C C C5,分別轉(zhuǎn)換成正整數(shù)為 85 31 273和 214,符號表長度是 5,利用質(zhì)數(shù)除余法得到的散列地址為: 0、 4 符號 正整數(shù) H/5 C1 87 2 C2 55 0 C3 319 4 C4 273 3 C5 214 4 位置 名字域 屬性域 0 C2 1 2 C1 3 C4 4 C3 C5 散列符號表 2023/4/1 33 塊程序結(jié)構(gòu)語言的符號表組織 塊程序結(jié)構(gòu)語言: 指程序模塊可包含嵌套的子模塊,每一子模塊可以有一組自己的局部變量。 塊程序結(jié)構(gòu)語言的規(guī)定: ?變量作用域為定義它的塊程序; ?同一塊內(nèi)的變量不能重名,但不同塊以及嵌套塊之間的變量可以重名 2023/4/1 34 例:下面為一段 C程序,右邊給出當(dāng)編譯程序編譯到此處時的有效變量。 1. real x,y。 2. char name。 name,y,x 3. int fun1(int ind) ind,fun1,name, y,x 4. { int x。 x,ind, fun1,name, y,x 5. x=m2(ind+1)。 6. } fun1,name, y,x 7. int fun2(int j) j,fun2, fun1,name, y,x 8. { 9. { int f[10]。 10. bool test1。 test1,f, j,fun2, fun1,name, y,x 11. } j,fun2, fun1,name, y,x 12. } fun2, fun1,name, y,x 13. main() main, fun2, fun1,name, y,x 14. { 15. char name。 name, main, fun2, fun1,name, y,x 16. x=2。y=5。 17. printf(%d\n,fun1(x/y))。 18. } 2023/4/1 35 棧式符號表: 塊程序結(jié)構(gòu)語言的符號表,包括一個符號表棧及一個塊索引棧。 ?符號表棧記錄變量的屬性 ?塊索引棧指出每個塊的符號表的開始位置。 棧式符號表操作: ?當(dāng)遇到變量聲明時,將變量的屬性壓入符號表棧; ?當(dāng)遇到塊程序開始時,將當(dāng)前的符號表棧頂位置壓入塊索引棧,從而開始一個新塊的變量處理; ?當(dāng)?shù)竭_(dá)塊程序結(jié)尾時,則根據(jù)塊索引棧指出的本塊的開始位置,將該塊程序中聲明的所有變量記錄彈出符號表棧,從而使局部聲明的變量在塊外不再存在。 2023/4/1 36 棧式符號表的插入: 開始時,設(shè)符號表棧頂指針 TOP為 0,當(dāng)?shù)谝粋€標(biāo)識符出現(xiàn)時,將該標(biāo)識符的屬性入棧,同時將該標(biāo)識符的地址 0壓入塊索引棧,然后棧頂指針 TOP為 1。 2023/4/1 37 2023/4/1 38 后面遇到標(biāo)識符時: ?如果新的標(biāo)識符與棧頂?shù)臉?biāo)識符在同一塊中,則只需將新記錄壓入符號表棧頂單元,然后,棧頂指針 TOP加 1。 ?如果新的標(biāo)識符與棧頂?shù)臉?biāo)識符不在同一塊中,表示剛才處理的程序塊嵌套著一個程序塊,而現(xiàn)在進(jìn)入了這個嵌套的程序塊中,則要進(jìn)行定位操作,即將棧頂指針TOP入塊索引棧,再將該標(biāo)識符屬性壓入符號棧,然后棧頂指針 TOP加 1。 ?當(dāng)編譯遇到程序塊的結(jié)尾時要進(jìn)行重定位操作,即將塊索引棧的棧頂單元出棧并將內(nèi)容賦給棧頂指針 TOP。 ?注意:棧頂指針 TOP始終指向符號表棧頂?shù)谝粋€空閑的存儲單元。 real x,y。 char name?!?a int fun1(int ind) { int x。 ………… b x=m2(ind+1)。 } int fun2(int j) { { int f[10]。 bool test1。 … c } } 例:段 C程序如下,畫出編譯到 a、 b、 c、 d處的棧式符號表。 test1 F數(shù)組 j fun2 fun1 name y x 6 5 0 TOP name main
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1