![編譯原理符號(hào)表的原理及典型實(shí)例課件_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/29/aa9162f4-4f83-4d2e-9659-ac656e78d718/aa9162f4-4f83-4d2e-9659-ac656e78d7181.gif)
![編譯原理符號(hào)表的原理及典型實(shí)例課件_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/29/aa9162f4-4f83-4d2e-9659-ac656e78d718/aa9162f4-4f83-4d2e-9659-ac656e78d7182.gif)
![編譯原理符號(hào)表的原理及典型實(shí)例課件_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/29/aa9162f4-4f83-4d2e-9659-ac656e78d718/aa9162f4-4f83-4d2e-9659-ac656e78d7183.gif)
![編譯原理符號(hào)表的原理及典型實(shí)例課件_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/29/aa9162f4-4f83-4d2e-9659-ac656e78d718/aa9162f4-4f83-4d2e-9659-ac656e78d7184.gif)
![編譯原理符號(hào)表的原理及典型實(shí)例課件_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/29/aa9162f4-4f83-4d2e-9659-ac656e78d718/aa9162f4-4f83-4d2e-9659-ac656e78d7185.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編 譯 原 理,1,學(xué)習(xí)交流PPT,第九章 符號(hào)表,2,學(xué)習(xí)交流PPT,在編譯程序工作的過程中,需要不斷收集、記錄和使用源程序中一些語法符號(hào)的類型和特征等相關(guān)信息。這些信息一般以表格形式存儲(chǔ)于系統(tǒng)中。如常數(shù)表、變量名表、數(shù)組名表、過程名表、標(biāo)號(hào)表等等,統(tǒng)稱為符號(hào)表。 對(duì)于符號(hào)表組織、構(gòu)造和管理方法的好壞會(huì)直接影響編譯系統(tǒng)的運(yùn)行效率。,第九章 符號(hào)表,3,學(xué)習(xí)交流PPT,一、符號(hào)表的作用和功能,收集符號(hào)屬性 上下文語義的合法性檢查的依據(jù) 作為目標(biāo)代碼生成階段地址分配的依據(jù),詞法分析:a是一個(gè)單詞; 語法分析:a出現(xiàn)在一條變量聲明語句和一條賦值語句中; 語義分析:a是一個(gè)整形變量,并分配地址。,4
2、,學(xué)習(xí)交流PPT,二、符號(hào)表的內(nèi)容,標(biāo)識(shí)符的名字 與標(biāo)識(shí)符有關(guān)的信息 類型信息(包括種類和屬性) 地址碼 層次信息 行號(hào)信息 ,5,學(xué)習(xí)交流PPT,二、符號(hào)表的內(nèi)容,例:Pascal語言的名字信息表nametab,名字標(biāo)識(shí)符,名字種類,可以是常量(constant)、變量(variable)、類型(type)、過程(procedure),名字所在的程序體的靜態(tài)層次。規(guī)定主程序的層次為1,主程序中定義的層次為2,依次類推,名字的類型,類型有整型(ints)、字符型(chars)、布爾型(bool)、數(shù)組(arrays),對(duì)于無類型的名字填入notype,一個(gè)布爾量,用于標(biāo)明名字是否為變量形參名,
3、當(dāng)名字是否為變量形參名時(shí)填入false,其他情況填入true或不填,當(dāng)名字為數(shù)組類型或數(shù)組變量名時(shí),ref指向該數(shù)組在數(shù)組信息表中的位置;當(dāng)名字為過程名時(shí),ref指向該過程在程序體表(btab)中的位置;其他情況ref為0,adr, 當(dāng)名字為變量名時(shí)(包括形參,存入該變量(或形參)在相應(yīng)活動(dòng)記錄中分類的存貯單元的相對(duì)地址;對(duì)于過程名,填入他們相應(yīng)代碼的入口地址 val, 當(dāng)名字為變量名時(shí),填入他們的相應(yīng)值 size, 當(dāng)名字為類型名時(shí),填入該類型數(shù)據(jù)所需存貯單元的數(shù)目,指向同一程序體中定義的上一個(gè)名字在nametab中的位置,每個(gè)程序體在nametab中登記的第一個(gè)名字的link為0,6,學(xué)習(xí)
4、交流PPT,二、符號(hào)表的內(nèi)容,例:Pascal語言的名字信息表nametab,type a=array1.10, 1.10 of integer;,nametab,7,學(xué)習(xí)交流PPT,例:Pascal語言的數(shù)組信息表atab,數(shù)組的下標(biāo)類型,數(shù)組元素類型,當(dāng)元素為數(shù)組時(shí),它指向該元素?cái)?shù)組信息在atab表中的位置,其他情況為0,數(shù)組下限,數(shù)組上限,數(shù)組元素的體積,數(shù)組本身的體積,二、符號(hào)表的內(nèi)容,8,學(xué)習(xí)交流PPT,type a=array1.10, 1.10 of integer;,nametab,atab,9,學(xué)習(xí)交流PPT,三、符號(hào)表的組織,按照屬性種類完全相同的那些符號(hào)組織 在一起; 把
5、所有語言中的符號(hào)都組織在一張符號(hào) 表中; 根據(jù)符號(hào)屬性相似程度分類組織成若干 張表,每張表中記錄的符號(hào)都有比較多 的相同屬性。,10,學(xué)習(xí)交流PPT,三、符號(hào)表的組織,假設(shè)有下列三類符號(hào)及其所需屬性,第一種組織法:按屬性分類,優(yōu)點(diǎn):管理一致,空間效率高 缺點(diǎn):管理復(fù)雜,11,學(xué)習(xí)交流PPT,三、符號(hào)表的組織,假設(shè)有下列三類符號(hào)及其所需屬性,第二種組織法:?jiǎn)我唤M織,優(yōu)點(diǎn):管理一致,集中單一 缺點(diǎn):管理復(fù)雜,12,學(xué)習(xí)交流PPT,三、符號(hào)表的組織,假設(shè)有下列三類符號(hào)及其所需屬性,第三種組織法:折中方法,13,學(xué)習(xí)交流PPT,四、符號(hào)表的數(shù)據(jù)結(jié)構(gòu),線性表符號(hào)表項(xiàng)按照符號(hào)被掃描到的先 后順序登錄,a
6、b a d c b ,14,學(xué)習(xí)交流PPT,四、符號(hào)表的數(shù)據(jù)結(jié)構(gòu),有序表符號(hào)表項(xiàng)按照符號(hào)的字符代碼串 的值的大小排列,a b a d c b ,15,學(xué)習(xí)交流PPT,四、符號(hào)表的數(shù)據(jù)結(jié)構(gòu),散列表符號(hào)表項(xiàng)的位置由對(duì)該符號(hào)進(jìn)行 某種函數(shù)操作所得到的函數(shù)值來確定,a b a d c b ,16,學(xué)習(xí)交流PPT,五、符號(hào)表與作用域,int main() int a=0; int b=0; int b=1; int a=2; printf(“%d,%dn”,a,b); int b=3; printf(“%d,%dn”,a,b); printf(“%d,%dn”,a,b); printf(“%d,%dn”,a,b); ,17,學(xué)習(xí)交流PPT,int main() int a=0; int b=0; int b=1; int a=2; printf(“%d,%dn”,a,b); int b=3; printf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)單水龍頭行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球旋裝式空氣油分離器行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)全向堆高AGV行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)服裝用粘膠長(zhǎng)絲行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球OA設(shè)備精密金屬制品行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)IP67工業(yè)平板電腦行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025合作合同 展會(huì)活動(dòng)合作協(xié)議
- 房屋代理買賣合同
- 基本建設(shè)年度借款合同
- 2025合同模板建設(shè)工程借款合同范本
- 包裝品質(zhì)彩盒外箱知識(shí)課件
- GB/T 9439-2023灰鑄鐵件
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 頸復(fù)康腰痛寧產(chǎn)品知識(shí)課件
- 2024年低壓電工證理論考試題庫(kù)及答案
- 微電網(wǎng)市場(chǎng)調(diào)查研究報(bào)告
- 《民航服務(wù)溝通技巧》教案第14課民航服務(wù)人員上行溝通的技巧
- MT/T 538-1996煤鉆桿
- 小學(xué)六年級(jí)語文閱讀理解100篇(及答案)
- CB/T 467-1995法蘭青銅閘閥
- 氣功修煉十奧妙
評(píng)論
0/150
提交評(píng)論