编译器设计中数据结构的规范和操作有哪些?

指定数据结构的主要属性包括以下内容 -

  • 组件数量- 如果组件数量在其生命周期内是偶数,则数据结构可以是固定大小的,或者如果组件数量动态转换,则数据结构可以是可变大小。可变大小数据结构类型通常定义从结构中插入和删除元素的操作。

数组和记录是固定大小数据结构类型的示例。堆栈、列表、集合、表和文件是可变大小数据类型的示例。可变大小数据对象使用指针数据类型,使程序员能够显式连接固定大小的数据对象。

  • 每个组件的类型- 如果所有元素的类型相同,则数据结构是同构的。如果其元素具有多种类型,则它是异质的。数组、集合和文件通常是同构的,而记录和列表通常是异构的。

  • 用于选择组件的名称- 数据结构类型需要一个选择结构来识别数据结构的单个元素。对于数组,单个组件的名称可以是整数下标或下标序列,对于表,名称可以是程序员定义的标识符;对于记录,名称通常是程序员定义的标识符。

  • 组件的最大数量- 对于包括堆栈的可变大小数据结构,可以定义由于多个组件而导致的结构的最大大小。

数据结构操作- 数据结构类型的域和操作范围的规范可以以与基本数据类型非常相似的形式给出。一些新的操作类别特别重要 -

  • 组件选择操作- 数据结构的处理通常通过获取结构的每个组件来进行。两种类型的选择操作访问数据结构的组件,并通过不同的操作(例如随机选择(其中创建数据结构的任意组件)和顺序选择(其中以预定顺序选择组件)等不同操作来生成可访问的组件) .

  • 全数据结构操作- 操作可以将整个数据结构作为参数并创建新的数据结构作为结果。大多数语言都支持一组明确的此类全数据结构操作。例如,两个数组的相加,将一个数据分配给另一个数据,或者集合上的联合操作。

  • 组件的插入/删除- 转换数据结构中的多个组件的操作对数据结构的存储表示和存储管理有重大影响。

  • 创建/销毁数据结构- 创建和销毁数据结构的操作也对数据结构的存储管理产生重大影响。