符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统中。如常数表、变量名表、数组名表、过程名表、标号表等等,统称为符号表。对于符号表组织、构造和管理方法的好坏会直接影响编译系统的运行效率。
举个例子:struct a{};a只是个结构标记,作为标识符它要登记到符号表中,但它只是一个类型标识符,因此没有地址分配的问题。
看一段代码:
public void Test( int i, int j) { int k= 10; const int t = 100; }
变量名表:
Name | Information |
i | 形式参数,整型,值参数 |
j | 形式参数,整型,引用参数 |
k | 整型、局部变量 |
t | 整型、常量 |