回覆列表
  • 1 # 使用者8220000415012

    一個編譯程式對符號表的總體組織可有三種選擇:

    第一種:把屬性種類完全相同的那些符號組織在一起,構造出表項是分別為等長的多個符號表。這樣組織的最大優點是每個符號表的屬性個數和結構完全相同。則表項是等長的,並且表項中的每個屬性欄都是有效的,對於單個符號表示來說,這樣使得管理方便一致,空間效率高。但這樣組織的主要缺點是一個編譯程式將同時管理若干個符號表,增加了總體管理的工作量和複雜度。而且對各類符號共同屬性的管理必須設定重複的執行機制。使得符號表的管理顯得臃腫。

    第二種:把所有語言中的符號都組織在一張符號表中。組成一張包括了所有屬性的龐大的符號表。這樣組織方式的最大優點是總體管理非常集中單一,且不同種類符號的共同屬性可一致地管理和處理。這樣組織所帶來的缺點是,由於屬性的不同,為完整表達各類符號的全部屬性必將出現不等長的表項,以及表項中屬性位置的交錯重疊的複雜情況,這就極大地增加了符號表管理的複雜度。為使表項等長且實現屬性位置的唯一性,可以把所有符號的可能屬性作為符號表項屬性。這種組織方法可能有助於降低符號表管理複雜性,但對某個具體符號,可能增加了無用的屬性空間,從而增加了空間開銷。

    第三種:折衷方式是根據符號屬性相似程度分類組織成若干張表,每張表中記錄的符號都有比較多的相同屬性。這種折衷的組織方式在管理複雜性及時空效率方面都取得折衷的效果,並且對複雜性和效率的取捨可由設計者根據自己的經驗和要求及目標系統的客觀環境和需求進行選擇和調整。

  • 中秋節和大豐收的關聯?
  • 投資100萬三年收回本金並且能獲得300萬左右固定資產的生意值得投資麼?