對符號表的初步認識

符號表是一種用於語言翻譯器(例如編譯器解釋器)中的數據結構。在符號表中,程序源代碼中的每個標識符都和它的聲明或使用信息綁定在一起,比如其數據類型、作用域以及內存地址

符號表在編譯程序工作的過程中需要不斷收集、記錄和使用源程序中一些語法符號的類型和特徵等相關信息。這些信息一般以表格形式存儲於系統中。如常數表、變量名錶、數組名錶、過程名錶、標號表等等,統稱爲符號表。對於符號表組織、構造和管理方法的好壞會直接影響編譯系統的運行效率。

(上文來自百度詞條)


符號表的屬性:1.符號名 2.符號的類型 3.符號的存儲類別  4.符號的作用域及可視性 5.符號變量的存儲分配信息 

6.符號的其它屬性 (1)數組內情向量 (2)記錄結構型的成員信息(3) 函數及過程的形參 


編譯程序按名字的不同種屬分別使用許多符號表,如常熟表。變量名錶 過程名錶 函數入口名錶


符號表的關鍵字域(段)就是符號名稱等長關鍵字域(段)符號表

不等長關鍵字段符號表---採用關鍵字詞的索引結構。

關鍵字在符號表的查找中相當重要 hash函數構造方法就是以取關鍵字的值不同區分

如 直接定址伐 數字分析法 摺疊法


變量名是給編譯器看的,編譯器根據變量是局部還是全局分配內存地址或棧空間,所謂的變量名在內存中不存在,操作時轉換成地址數存放在寄存器中了。其實可以理解爲是符號表起到了連接作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章