加载中...

符号表(Symbol Table)是编译器用来记录程序中各类标识符(变量、函数、类型、常量等)及其属性的数据结构,属性包括类型、作用域、存储位置、可见性等。
通常以哈希表为核心;为支持嵌套作用域,常采用「作用域链」或栈式符号表:进入块时压入新表,退出时弹出,名字查找沿链由内向外进行。
语义分析用它做名字解析与类型检查;代码生成用它确定变量地址与调用约定;链接器层面的符号表(如 ELF 的 .symtab)则记录全局符号供多目标文件解析引用。
调试信息(如 DWARF)可视为面向调试器的符号表;IDE 的索引数据库也是符号表思想在工程工具中的延伸。

登录 后参与讨论
暂无讨论,来发表第一条评论吧