




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、9.1 符號表的作用和地位符號表的作用和地位 名字欄名字欄 屬性欄屬性欄表項1表項n表項2 其中其中, 名字欄名字欄 : 存放標(biāo)識符的具體的名字存放標(biāo)識符的具體的名字 屬性欄屬性欄 : 相應(yīng)標(biāo)識符的各種屬性相應(yīng)標(biāo)識符的各種屬性 9.1 符號表的作用和地位符號表的作用和地位符號表的作用(功能):符號表的作用(功能):1. 收集符號(標(biāo)識符)屬性收集符號(標(biāo)識符)屬性 當(dāng)標(biāo)識符定義性出現(xiàn)時,建立符號表。如:當(dāng)標(biāo)識符定義性出現(xiàn)時,建立符號表。如: int A; float B5;則有:則有: A 簡變 整型 k B 數(shù)組 實(shí)型 0:1: 名字欄名字欄 種類種類 類型類型 地址地址 0 4 5 1 C
2、=0 float B=k+1 內(nèi)情向量內(nèi)情向量2. 上下文語義的合法檢查的依據(jù)上下文語義的合法檢查的依據(jù)當(dāng)標(biāo)識符引用性出現(xiàn)時,查符號表。如:當(dāng)標(biāo)識符引用性出現(xiàn)時,查符號表。如: int i,a10 ; /定義性出現(xiàn)定義性出現(xiàn) extern float i; /引用性出現(xiàn)引用性出現(xiàn) ai; /引用性出現(xiàn)引用性出現(xiàn)則有:則有: i 簡變 整型 外部 k a 數(shù)組 整型 外部 0 1名字名字 種類種類 類型類型 存儲類存儲類 地址地址 0 9 10 1 C=0 int a=k+1 內(nèi)情向量內(nèi)情向量又如:又如: int i 3,5 ; /定義性出現(xiàn)定義性出現(xiàn) float i 4,2; /定義性出現(xiàn)定義
3、性出現(xiàn) int i 3,5 ; /定義性出現(xiàn)定義性出現(xiàn) 則后兩次定義均為重復(fù)性定義:則后兩次定義均為重復(fù)性定義:即:在填表之前首先要查表。即:在填表之前首先要查表。 內(nèi)情向量內(nèi)情向量 i 數(shù)組 整型 自動 0 1名字名字 種類種類 類型類型 存儲類存儲類 地址地址 0 2 3 0 4 5 2 C=0 int i=k 依據(jù)是:依據(jù)是:(1) 相對地址(位置相對地址(位置/序號)序號) (2) 各存儲區(qū)大小各存儲區(qū)大小 (3) 確定存儲區(qū)區(qū)域,以確定存儲區(qū)區(qū)域,以C語言為例:語言為例: 公共區(qū)公共區(qū)(extern): 各文件的函數(shù)均可訪問的外部存儲區(qū)各文件的函數(shù)均可訪問的外部存儲區(qū) 文件靜態(tài)區(qū)文件
4、靜態(tài)區(qū)(extern static): 本文件的函數(shù)可訪問的外部本文件的函數(shù)可訪問的外部 存儲區(qū)存儲區(qū) 函數(shù)靜態(tài)區(qū)函數(shù)靜態(tài)區(qū)(static): 本函數(shù)可訪問的內(nèi)部靜態(tài)存儲區(qū)本函數(shù)可訪問的內(nèi)部靜態(tài)存儲區(qū) 動態(tài)區(qū)動態(tài)區(qū)(auto): 本函數(shù)可訪問的內(nèi)部棧式動態(tài)存儲區(qū)本函數(shù)可訪問的內(nèi)部棧式動態(tài)存儲區(qū) 注:由存儲類屬性來決定注:由存儲類屬性來決定9.1 符號表的作用和地位符號表的作用和地位存儲類別:分配存儲區(qū)存儲類別:分配存儲區(qū)9.2 4. 符號的作用域及可視性符號的作用域及可視性作用域:一個符號變量在程序中起作用的范圍。一般來作用域:一個符號變量在程序中起作用的范圍。一般來 說,定義該符號的位置及存
5、儲類關(guān)鍵字決定了說,定義該符號的位置及存儲類關(guān)鍵字決定了 該符號的作用域。該符號的作用域??梢曅裕嚎捎眯?,即在作用域范圍內(nèi)可視(用),在作可視性:可用性,即在作用域范圍內(nèi)可視(用),在作 用域范圍外不可視(用)。用域范圍外不可視(用)。(1) 函數(shù)的形參:作用域局部于該函數(shù)函數(shù)的形參:作用域局部于該函數(shù). 舉例:舉例: 基本基本C 擴(kuò)展擴(kuò)展C int a; int a; int func(float a,int b) int func(float a,int b) a /引用形參引用形參float a a /引用形參引用形參float a :a /引用引用int a (2) 分程序結(jié)構(gòu)分程序結(jié)
6、構(gòu): 塊嵌套結(jié)構(gòu)塊嵌套結(jié)構(gòu)舉例:舉例: int a; char a; float a; a /引用引用char a t1t2t4t3 l t1+1 a int auto 0 l+1 t2+1 a char auto 0 l+2 0 l+3 t4+1 a real auto 0 名字名字 屬性屬性 5. 符號變量的存儲分配信息符號變量的存儲分配信息存儲區(qū):根據(jù)符號變量的存儲類屬性存儲區(qū):根據(jù)符號變量的存儲類屬性位置位置(地址地址):根據(jù)符號的出現(xiàn)順序:根據(jù)符號的出現(xiàn)順序存儲區(qū)包括:存儲區(qū)包括:(1) 靜態(tài)存儲區(qū)(全程存儲區(qū))靜態(tài)存儲區(qū)(全程存儲區(qū)) 靜態(tài)存儲區(qū)靜態(tài)存儲區(qū)=公共靜態(tài)區(qū)公共靜態(tài)區(qū)+局
7、部靜態(tài)區(qū)局部靜態(tài)區(qū) 以以C語言為例語言為例 公共靜態(tài)區(qū):公共靜態(tài)區(qū):extern 局部靜態(tài)區(qū):局部靜態(tài)區(qū):static 特點(diǎn):特點(diǎn): a. 編譯階段即可直接分配該存儲區(qū)編譯階段即可直接分配該存儲區(qū) b. 該存儲區(qū)在程序運(yùn)行的整個時期均存在該存儲區(qū)在程序運(yùn)行的整個時期均存在目目標(biāo)標(biāo)程程序序區(qū)區(qū)靜靜態(tài)態(tài)區(qū)區(qū) (2) 動態(tài)存儲區(qū)(臨時存儲區(qū))動態(tài)存儲區(qū)(臨時存儲區(qū)) 以以C語言為例語言為例 動態(tài)存儲區(qū)動態(tài)存儲區(qū): auto 或或 regist(當(dāng)寄存器不夠用時當(dāng)寄存器不夠用時) 特點(diǎn):特點(diǎn):a. 編譯階段,給出存儲方案且產(chǎn)生進(jìn)行單元分配編譯階段,給出存儲方案且產(chǎn)生進(jìn)行單元分配 的目標(biāo)程序段,目標(biāo)運(yùn)行
8、時由該段程序負(fù)責(zé)進(jìn)的目標(biāo)程序段,目標(biāo)運(yùn)行時由該段程序負(fù)責(zé)進(jìn) 行單元分配。行單元分配。 b. 該存儲區(qū)在程序運(yùn)行時期時有時無,即在其作該存儲區(qū)在程序運(yùn)行時期時有時無,即在其作 用域內(nèi)有,在其作用域外無用域內(nèi)有,在其作用域外無例如:對于函數(shù)編譯的結(jié)果可圖示如下:例如:對于函數(shù)編譯的結(jié)果可圖示如下: 一個函數(shù)對應(yīng)的目標(biāo)程序一個函數(shù)對應(yīng)的目標(biāo)程序單元分配單元分配目標(biāo)程序段目標(biāo)程序段函數(shù)執(zhí)行部分對應(yīng)的目標(biāo)程序段函數(shù)執(zhí)行部分對應(yīng)的目標(biāo)程序段舉例:對于如下舉例:對于如下C的的auto變量變量 int a; float b; struct cc int d; float e; c , s; 標(biāo)識符標(biāo)識符 位置
9、位置 a 0 b 2 d 0 e 2 c 6 s 12 6. 符號的其他屬性符號的其他屬性其他屬性包括:其他屬性包括:(1) 數(shù)組內(nèi)情向量數(shù)組內(nèi)情向量(2) 記錄結(jié)構(gòu)型的成員信息記錄結(jié)構(gòu)型的成員信息 例:有如下結(jié)構(gòu)類型及變量例:有如下結(jié)構(gòu)類型及變量 struct int x; char y; flout z; A; 則有:則有: 名字欄名字欄 種類種類 類型類型 地址地址 A 對象 結(jié)構(gòu) 成員信息表成員信息表成員名 類型 位置 x int 0 y char 2 z float 3 (3) 函數(shù)及過程的形參函數(shù)及過程的形參例:有如下函數(shù)聲明例:有如下函數(shù)聲明 int f (int x,char
10、y, float z) 則有:則有: 名字欄名字欄 種類種類 類型類型 地址地址 f 函數(shù) 整形 函數(shù)信息表函數(shù)信息表 3 N 形參個數(shù)形參個數(shù)活動區(qū)長度活動區(qū)長度入口地址入口地址 形參表首址形參表首址形參表形參表Attrib(x)Attrib(y)Attrib(z)10.1 數(shù)據(jù)空間的三種不同使用方法和管理方法數(shù)據(jù)空間的三種不同使用方法和管理方法數(shù)據(jù)空間的使用和管理方法分成兩類三種:數(shù)據(jù)空間的使用和管理方法分成兩類三種:一、一、二、二、10.2 棧式存儲分配的實(shí)現(xiàn)棧式存儲分配的實(shí)現(xiàn)局部變量局部變量機(jī)器狀態(tài)信息機(jī)器狀態(tài)信息存取鏈存取鏈控制鏈控制鏈實(shí)參實(shí)參返回地址返回地址 局部量區(qū)局部量區(qū)形式單
11、元形式單元返回地址返回地址控制鏈(老控制鏈(老SP)SPTOPQ的活動的活動 記錄記錄Q的活動的活動 記錄記錄R的活動的活動 記錄記錄R2的活的活動記錄動記錄Q的活動的活動 記錄記錄R1的活的活動記錄動記錄局部量區(qū)局部量區(qū)DISPLAY表表形式單元形式單元返回地址返回地址控制鏈(老控制鏈(老SP)SPTOP:動態(tài)鏈動態(tài)鏈:靜態(tài)鏈靜態(tài)鏈R的的DISPLAY表表Q的的DISPLAY表表P的的DISPLAY表表設(shè)有如下設(shè)有如下C函數(shù)函數(shù)struct T int x; flout z; ;fun() int a,b; strct T s; float c,d10; 試構(gòu)造基于層次結(jié)構(gòu)的符號表試構(gòu)造基于
12、層次結(jié)構(gòu)的符號表補(bǔ)充作業(yè):補(bǔ)充作業(yè):總復(fù)習(xí)內(nèi)容 一、概念題一、概念題 選擇填空(單項選擇)選擇填空(單項選擇) 參見參見WORD文檔文檔 二、文法和語言二、文法和語言 1. 文法的基本概念文法的基本概念 包括:什么是文法?文法的作用、特點(diǎn)和種類等包括:什么是文法?文法的作用、特點(diǎn)和種類等 2. 文法構(gòu)造文法構(gòu)造 給定語言構(gòu)造文法(給定語言構(gòu)造文法(2型、型、3型)型) 給定文法識別語言給定文法識別語言 L(G) 3. 文法應(yīng)用文法應(yīng)用 最左推導(dǎo)最左推導(dǎo) 最右(規(guī)范)推導(dǎo)且能夠指出歸約的句柄最右(規(guī)范)推導(dǎo)且能夠指出歸約的句柄 構(gòu)造語法樹且求其短語、簡單短語和句柄構(gòu)造語法樹且求其短語、簡單短語和句柄 4. 文法分析和變換文法分析和變換 刪除空產(chǎn)生式、刪除空產(chǎn)生式、提取公因子、消除左遞歸提取公因子、消除左遞歸三、詞法分析 1. 詞法分析的基本概念 詞法分析的任務(wù)、加工的對象和結(jié)果 2. 實(shí)現(xiàn)技術(shù) 正則文法(3型文法)、正則式與正則集 正則式的構(gòu)造、正則文法到正則式的轉(zhuǎn)換 有限自動機(jī)FA 有限自動機(jī)構(gòu)造 正則式到FA、3型文法到FA、FA到3型文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流年終述職報告
- 膽道手術(shù)后的創(chuàng)新護(hù)理
- 挖方與填方施工方案
- 小型定向鉆機(jī) 施工方案
- 金山吊裝施工方案
- 2024-2025學(xué)年高二生物人教版選擇性必修3上課課件 第4章 第1節(jié) 轉(zhuǎn)基因產(chǎn)品的安全性
- 啟閉機(jī)閘門施工方案
- 2024-2025學(xué)年高二生物人教版選擇性必修3教學(xué)課件 第3章 第1節(jié) 重組DNA技術(shù)的基本工具
- 2025年防粘連劑合作協(xié)議書
- 2025年BYDBYE并條自調(diào)勻整系統(tǒng)項目合作計劃書
- 校園直飲水機(jī)供貨安裝及售后服務(wù)方案
- 廢氣處理系統(tǒng)改造及廢水處理系統(tǒng)改造項目可行性研究報告
- 大學(xué)物業(yè)服務(wù)月考核評價評分表
- 現(xiàn)代家政導(dǎo)論-課件 1.1.2認(rèn)識家政學(xué)起源與發(fā)展
- 期末模擬測試卷(試卷)2024-2025學(xué)年六年級數(shù)學(xué)上冊人教版
- 2024屆護(hù)士資格考試必考基礎(chǔ)知識復(fù)習(xí)題庫及答案(共170題)
- 工業(yè)大數(shù)據(jù)算法賽項實(shí)際操作部分評分細(xì)則變更說明
- 小學(xué)生防性侵安全教育主題班會課件
- DBT29-305-2024 天津市裝配式建筑評價標(biāo)準(zhǔn)
- 背光異物改善8D
- 2024年五級咖啡師職業(yè)技能鑒定考試題庫(含答案)
評論
0/150
提交評論