-
編譯原理 符号表
符号表的每一項(入口)包含兩大欄:
名字欄: 也稱主欄,關鍵字欄.
資訊欄: 記錄相應的不同屬性,分為若幹子欄.
對符号表的操作:
填入名稱.
查找名字.
通路資訊.
填寫修改資訊.
删除.
對符号表進行操作的時機:
定義性出現.
使用性出現.
按名字的不同種屬建立多張符号表,如常數表,變量名表,過程名表,…
符号的組織方式:
1.安排各項各欄的存儲單元為固定長度.
2.用間接方式安排各欄存儲單元.
符号表的存放次序:
1.把每一項置于連續K存儲單元中,構成一張K*N的表.
2.把整個符号表分成m個子表,如T1,T2,T3..Tm,每個子表包含有N項.
符号表的資訊欄中登記了每個名字的有關性質:
類型:整,實或布爾等.
種屬:簡單變量,數組,過程等.
大小:長度,即所需的存儲單元字數.
相對數:指配置設定給該名字的存儲單元的相對位址.
PL語言編譯程式的符号表.
1.表格的定義:
名字表 : 登記程式中出現的各種名字及屬性.
程式體表:
層次顯示表: 描述正在處理的各種嵌套層,對程式體表進行管理.
數組資訊表
中間代碼表: 用于存放編譯程式所産生的每條中間代碼.