什么是符号表中的数组名称表示?

它是一种数据结构,包括每个标识符的数据、标识符属性的字段。数据结构使我们能够快速找到每个标识符的数据,并快速保存或检索该记录的信息。

每次在源文本中遇到名称时都会搜索符号表。当找到新名称或关于现有名称的新数据时,符号表的内容会修改。因此,符号表应该有一个有效的结构来创建表中保存的数据,也可以将新条目插入到符号表中。

此表示用于表示符号表中的数组名称及其维度和其他属性。

数组名称可以用两种不同的方式在符号表中表示。

  • 固定维数

  • 可变数量(无限制)的尺寸。

固定维数

考虑一个 FORTRAN 的示例,其中数组的维数限制为 3,以在符号表中显示数组表示。

  • 包含 A 的单词代表数组的维度。A 是 2 位长。

位 1位 2 数组的描述
00Not an Array
011 Dimensional
102 Dimensional
113 Dimensional
  • UL1、UL2、UL3 表示 Array 的每个维度的上限。数组的上限可以是形式参数。

对于这种可能性,我们为 B 提供了 3 位来定义三个可能的限制中的任何一个是否是形式参数。

010

这里第 i 位为 1,表示 ULi 是形式参数。

在上述情况下,第 2位为 1,因此UL2作为形式参数传递,符号表中的 UL2 现在将包含指向符号表 Record 的指针,其中包含 UL2 的值。

示例 1 - 考虑 FORTRAN 中的以下子例程。

子程序 S(阵列、A、B)

整数 A, B

实数阵列 (5, A, B)

在这个子程序中为数组构造符号表记录。

解决方案

∴ UL1 = 5

UL2 = 指向名称 A 的记录的指针。

UL3 = 指向名称 B 的记录的指针。

无维数限制的数组的链接数组表示

  • 符号表将存储 n 个数组的多个维度。

  • 它包含一个指向数组的指针,该数组包含第一维的下限和上限,并且该数组连接到另一个数组,该数组包含第二维的下限和上限,依此类推。

好处

  • 便于随机访问符号表。

  • 可访问性增加了。

  • 易于维护信息。

坏处

  • 指针间接和悬空引用的问题。

  • 每个维度的单独数组的附加要求

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

回到顶部