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

正文內(nèi)容

符號表的組織與管理-文庫吧資料

2025-03-18 01:24本頁面
  

【正文】 層次,在符號表中可設(shè)立一個屬性域用來登錄符號所在分程序的層次 。 ?首先, 標(biāo)志分程序?qū)哟? ?其次, 在編譯程序掃描進(jìn)入一個分程序時,和在退出一個分程序時,對符號表的管理。 為了實(shí)現(xiàn)分程序構(gòu)造中標(biāo)識符的作用域和可視性規(guī)則的要求。 44 在圖第四層分程序的表達(dá)式 a=b+c+d 中 a 是第二層定義的 float a, b 是第一層定義的 float b, c 是第三層定義的 float c, d 是第四層定義的 float d。 一直到查到為止。 43 根據(jù)分程序作用域和可視規(guī)則。 而當(dāng)編譯程序掃描到一個分程序的結(jié)束時,編譯程序釋放為該分程序所建立的符號表。 ┊ } } } } 41 通常對于具有分程序結(jié)構(gòu)的語言可用兩種方式組織它們的符號表: 分程序結(jié)構(gòu)語言符號表的兩種組織方式 ?一是對每個分程序建立一個 獨(dú)立 的分表結(jié)構(gòu)的符號表; ?一是把各分程序符號組織在 一張 單表結(jié)構(gòu)的符號表中。 { //第四層分程序 float d。 { //第三層分程序 int d。 { //第二層分程序 int c。 40 源程序的形式 { //第一層分程序 int a。 由于分程序的嵌套導(dǎo)致名字作用域的嵌套,故有時也將允許名字作用域嵌套的語言稱為具有分程序結(jié)構(gòu)的語言。使得符號表的管理顯得臃腫。 但這樣組織的主要缺點(diǎn)是一個編譯程序?qū)⑼瑫r管理若干個符號表,增加了總體管理的工作量和復(fù)雜度。 37 記錄數(shù)組內(nèi)情向量的符號表 N ame…aInformation數(shù)組…… …符號表維數(shù) 首地址下界 i1上界 u1…內(nèi)情向量表38 這樣組織的 最大優(yōu)點(diǎn) 是每個符號表的屬性個數(shù)和結(jié)構(gòu)完全相同。 如果將信息與名字一起全部放在符號表中,則因維數(shù)不同而使記錄該信息的空間大小不易確定, 因此,通常給它們另外安排一個內(nèi)情向量表來記錄數(shù)組的全部信息,同時在符號表的信息欄設(shè)置一指針指向內(nèi)情向量的入口地址。 這時,可 在符號表外另設(shè)一組存儲空間 ,并在符號表信息欄中放一指針來指向這個存儲空間始址。 相對地址:存儲單元的相對地址。 類型:整、實(shí)、布爾、字符、指針等。 ?僅記錄信息存放地址 如果符號表的名字不分種屬。 } N ameabcInformation整型,變量,形參整型,變量,形參整型,變量( a )value10( b )N amefInformation二目子程序,入口地址( c )按標(biāo)識符種屬組織的各種符號表 (a) 簡單變量名表; (b) 常數(shù)表; (c) 函數(shù)入口名表 33 根據(jù)符號表名字欄的組織特點(diǎn),符號表信息欄的組織方式也可以分為兩類: 固定信息內(nèi)容和僅記錄信息存放地址。 else c = 0。 32 int f(int a,int b) { int c。 30 S T U D E N T G R A N D A G E …N ame Informatron………… …753間接組織方式的符號表 31 把屬性種類完全相同的那些符號組織在一起,構(gòu)造出表項(xiàng)是分別為等長的多個符號表。 28 直接方式 直接方式是指在符號表中直接填入源程序中定義的標(biāo)識符及相關(guān)信息。 符號表的組織 語言中不同種類的符號,它們的屬性信息種類不完全相同,而不同的程度也是不一樣的,如語言關(guān)鍵字(保留詞)的屬性與變量符號屬性信息相差太大,而變量符號的屬性信息與函數(shù)或過程的屬性也有相當(dāng)大的差別,但對于像不同變量之間(如簡單變量與數(shù)組或記錄結(jié)構(gòu)之間)的屬性信息差別相對就小一些。 ② 訪問它的有關(guān)信息; ③ 往表中填入或更新它在表中的某些信息; 。有關(guān)函數(shù)及過程的形參屬性信息用來作調(diào)用過程的匹配處理和語義檢查。 ③ 函數(shù)及過程的形參 函數(shù)和過程的形參作為該函數(shù)或過程的局部變量,但它又是該函數(shù)或過程對外的接口。 ② 記錄結(jié)構(gòu)型的成員信息 一個記錄結(jié)構(gòu)型的變量,在存儲分配時所占空間大小要由它的全體組成成員來確定,另外對于記錄結(jié)構(gòu)型變量還需要有它所屬成員排列次序的屬性信息。 25 符號的其它屬性 ① 數(shù)組內(nèi)情向量 編譯程序處理數(shù)組說明的主要工作是,把描述數(shù)組屬性信息的內(nèi)情向量登錄到符號表中。 局部即在該定義范圍之外此變量已經(jīng)沒存在的必要。 通常有兩類存儲區(qū),即 靜態(tài)存儲區(qū)和動態(tài)存儲區(qū) ; ① 靜態(tài)存儲區(qū) 該存儲區(qū)單元經(jīng)定義分配后成為靜態(tài)單元,即在整個語言程序運(yùn)行過程中是不可改變的。 在 C 語言程序中函數(shù)之間是并列定義的,因此每個函數(shù)內(nèi)部都定義為第一層,而函數(shù)內(nèi)的分程序也可以是并列定義的,對于并列定義的分程序當(dāng)然具有相同的層次號。 無論是作為函數(shù)形參的定義也好或作為分程序中的局部定義也好,都可統(tǒng)一地用定義層次來區(qū)分。符號表屬性中除了需要符號的存儲類別之外還需要表示該符號在程序結(jié)構(gòu)上被定義的層次。 21 其它兩種情況影響到一個變量的可視性 ⑴ 函數(shù)的形式參數(shù): int a; // 外部定義的整型變量 a int func(float a, int b) // 函數(shù)內(nèi)部定義的局部整型變量 a, // 屏蔽了外部定義的整型變量 a { … … a … // 引用的是函數(shù)內(nèi)部定義 (此處是形參 )的局部整型變量 a … ::a … //引用 int a … } 22 ⑵ 分程序(或復(fù)合語句)結(jié)構(gòu): … { int a; // 第一層頭 ,定義的局部整型變量 a … { char a; // 第二層頭 ,定義的局部字符型變量 a … { // 第三層頭 … { float a
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1