符号表中的两个数组表示是什么?

符号表是一种数据结构,它支持一种有效且高效的方式来存储有关源程序中出现的各种名称的信息。这些名称在源代码中用于标识不同的程序元素,如变量、常量、过程和语句的标签。

每次在源文本中遇到名称时都会搜索符号表。当找到新名称或关于现有名称的新数据时,符号表的内容会修改。

因此,符号表必须有一种有效的机制来访问表中保存的数据,也可以将新条目添加到符号表中。在任何情况下,符号表都是一种有用的抽象,可以帮助编译器确定和验证一段代码的语义或含义。它将跟踪程序中遇到的符号的名称、类型、位置和属性。

符号表的两个数组表示

在符号表中,我们可能存储不同类型的信息和名称。与其他名称相关的信息也各不相同。因此,不建议为符号表中出现的每种名称分配相同的空间。

因此,它可以使用两个数组来存储名称和信息。

两个数组表示的字符

  • 我们将使用 2 个数组,而不是将记录存储在 1 个数组中。

  • 一个数组用于存储标识符,另一个数组用于存储其属性。

  • 两个数组通过规则连接。

如果我们假设,一个标识符需要 1 个单词的内存和对应于标识符或名称的信息需要 4 个记录。如果我们在位置 2i 存储标识符,在 4i 存储标识符的相应信息。

因为信息需要 4 个字。因此,信息将从 4i 开始存储到 4i + 3 结束。

因此,要访问特定名称的值及其相应信息,我们只需输入 i 的值。

示例- 如果我们输入 i = 1

∴ 将访问位置 2i = 2 * 1 = 2 的名称。

将访问位置 = 4i = 4 处的信息。

∴根据i的不同取值,我们可以找到其他名字对应的不同信息。

好处

  • 更快地获取信息。

  • 内存浪费少。

坏处

  • 附加阵列的要求

  • 符号表的复杂性增加

  • 它可以增加记忆的必要性。

以上是 符号表中的两个数组表示是什么? 的全部内容, 来源链接: utcz.com/z/363467.html

回到顶部