Can you summarize the following document?
        
  雜湊表是用來實現符號表的一種常用技術。編譯器可能會使用一個很大的符號表來包含所有的符號,或是針對不同的作用域使用層次結構的多個獨立的符號表。

  目標檔案中通常會有一個包含了所有外部可見識別符號的符號表。在連結不同的目標檔案時,連結器會使用這些檔案中的符號表來解析所有未解析的符號引用。  符號表可能只存在於翻譯階段,也可能被嵌入到該階段的輸出檔案中,以供後續階段使用。比如,它可用於互動式的偵錯程式中,也可以在程式執行過程中或結束後提供格式化的診斷報告。  在逆向工程中,許多工具會通過符號表來檢查全域性變數和已知函式的地址。如果可執行檔案的符號表被strip這樣的工具去除掉了,則逆向工程會更加困難。  在進行動態記憶體分配和變數訪問時,編譯器需要完成許多工作,其中擴充套件的棧模型就需要用到符號表。

  下圖是一個小程式的符號表。該表是用GNU Binutils中的nm工具生成的。其中有一個資料型別符號(由型別 "D" 表明)和許多函式(自己定義的以及標準庫中的)。第一列是每個符號在記憶體中的位置,第二列是"符號型別",而第三列則是符號名稱。通過傳遞適當的引數,可以按照地址順序生成該符號表。
在電腦科學中,符號表是一種用於語言翻譯器(例如編譯器和直譯器)中的資料結構。在符號表中,程式原始碼中的每個識別符號都和它的宣告或使用資訊繫結在一起,比如其資料型別、作用域以及記憶體地址。