张符号表的每一项(或称入口,或称区段、字域),即 名字栏和信息栏。 信息栏包含许多子栏和标志位,用来记录相应名字和种 种不同属性,由于查填符号表一般是通过匹配名字来 寮现的,因此,名字栏也称主栏。主栏的内容称为关 键字(key word)。 第9章符号表
第9章 符号表 6 一张符号表的每一项(或称入口,或称区段、字域),即 名字栏和信息栏。 信息栏包含许多子栏和标志位,用来记录相应名字和种 种不同属性,由于查填符号表一般是通过匹配名字来 寮现的,因此,名字栏也称主栏。主栏的内容称为关 键字(key word)
符号属性信息)) 几种通常都是需要的。 1 符号名 2 符号的类型 3 符号的存储类别 4 符号的作用域及可视性 5 符号变量的存储分配信息 6 符号的其它属性 (1) 数组内情向量 (2) 记录结构型的成员信息 (3) 函数及过程的形参 第9章符号
第 9 章 符号表 7 符号属性 (信息) 几种通常都是需要的 。 1 符号名 2 符号的类型 3 符号的存储类别 4 符号的作用域及可视性 5 符号变量的存储分配信息 6 符号的其它属性 (1) 数组内情向量 (2) 记录结构型的成员信息 (3) 函数及过程的形参
我们要求它具备以下几种功能: 1,确定一个给定的名字是否在表中: 2,填入新的名字; 3,访问所给名字的有关信息; 4,对给定的名字,填写和更新它的有关息; 5,删除一个或者一组名字 第9章符号表
第9章 符号表 8 我们要求它具备以下几种功能: 1,确定一个给定的名字是否在表中; 2,填入新的名字; 3,访问所给名字的有关信息; 4,对给定的名字,填写和更新它的有关息; 5,删除一个或者一组名字
9.1.2分表 语言中,名字表各种类型的对象:变量名,过程名,常 数,域名(结构),标号等,由于各种类型的名字因用法 不同,栏目及所需的空间相差很大,因此往往独立建表, 由此带来的负面影响是:导致零头太多。如果登记项格式 可以变化,则另外一个表也可以: 如果禁止把关键字作为标识符,则应把关键字先进表,标 函也进表 第9章符号表
第9章 符号表 9 •9.1.2 分表 语言中,名字表示各种类型的对象:变量名,过程名,常 数,域名(结构),标号等,由于各种类型的名字因用法 不同,栏目及所需的空间相差很大,因此往往独立建表, 由此带来的负面影响是:导致零头太多。如果登记项格式 可以变化,则另外一个表也可以; 如果禁止把关键字作为标识符,则应把关键字先进表,标 函也进表
9.1.3符号表内容的细目 1,表示名字的字符串+编号,如果多个程序块或 过程中可以使用同一标识符,则必须指出这个名字属于哪 一个程序块或过程: 2,名字的属性(包括类型和种类)以及识别名字 用途的信息(标号,形参,数组) 3,参数(维数,下标的上下界)》 4,描述分配给名字存储单元的位置的偏移量 第9章符号表 0
第9章 符号表 10 9.1.3 符号表内容的细目 1,表示名字的字符串+编号,如果多个程序块或 过程中可以使用同一标识符,则必须指出这个名字属于哪 一个程序块或过程; 2,名字的属性(包括类型和种类)以及识别名字 用途的信息(标号,形参,数组) 3,参数(维数,下标的上下界) 4,描述分配给名字存储单元的位置的偏移量