天天看點

編譯原理=符号表的認識

  • 編譯原理 符号表

    符号表的每一項(入口)包含兩大欄:

    名字欄: 也稱主欄,關鍵字欄.

    資訊欄: 記錄相應的不同屬性,分為若幹子欄.

    對符号表的操作:

    填入名稱.

    查找名字.

    通路資訊.

    填寫修改資訊.

    删除.

    對符号表進行操作的時機:

    定義性出現.

    使用性出現.

    按名字的不同種屬建立多張符号表,如常數表,變量名表,過程名表,…

    符号的組織方式:

    1.安排各項各欄的存儲單元為固定長度.

    2.用間接方式安排各欄存儲單元.

    符号表的存放次序:

    1.把每一項置于連續K存儲單元中,構成一張K*N的表.

    2.把整個符号表分成m個子表,如T1,T2,T3..Tm,每個子表包含有N項.

    符号表的資訊欄中登記了每個名字的有關性質:

    類型:整,實或布爾等.

    種屬:簡單變量,數組,過程等.

    大小:長度,即所需的存儲單元字數.

    相對數:指配置設定給該名字的存儲單元的相對位址.

    PL語言編譯程式的符号表.

    1.表格的定義:

    名字表 : 登記程式中出現的各種名字及屬性.

    程式體表:

    層次顯示表: 描述正在處理的各種嵌套層,對程式體表進行管理.

    數組資訊表

    中間代碼表: 用于存放編譯程式所産生的每條中間代碼.