第八章符号表 ■符号表的作用: 口一致性检查和作用域分析; 口辅助代码生成。 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 第八章 符号表 ◼ 符号表的作用: 一致性检查和作用域分析; 辅助代码生成
8.1符号表的组织与作用 ■符号表的每一项(入口)包含两大栏: 口名字栏,也称主栏,关键字栏 口信息栏,记录相应的不同属性,分为若干子栏. ■对符号表的操作: 口填入名称 口查找名字 口访问信息 口填写修改信息 口删除 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 8.1 符号表的组织与作用 ◼ 符号表的每一项(入口)包含两大栏: 名字栏,也称主栏,关键字栏 信息栏,记录相应的不同属性,分为若干子栏. ◼ 对符号表的操作: 填入名称 查找名字 访问信息 填写修改信息 删除
■对符号表进行操作的时机: ▣定义性出现 ▣使用性出现 ■按名字的不同种属建立多张符号表,如常 数表、变量名表、过程名表、… ■符号的组织方式: 1.安排各项各栏的存储单元为固定长度 2.用间接方式安排各栏存储单元 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 ◼ 对符号表进行操作的时机: 定义性出现 使用性出现 ◼ 按名字的不同种属建立多张符号表,如常 数表、变量名表、过程名表、… ◼ 符号的组织方式: 1. 安排各项各栏的存储单元为固定长度 2. 用间接方式安排各栏存储单元
■符号表的存放次序: 1.把每一项置于连续K存储单元中,构成一 张K*N的表 2.把整个符号表分成m个子表,如T1,T2,.Tm 每个子表含有N项. 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 ◼ 符号表的存放次序: 1. 把每一项置于连续K存储单元中,构成一 张K*N的表 2. 把整个符号表分成m个子表,如T1 ,T2 ,…Tm, 每个子表含有N项
例:PASCAL程序段: PROCEDURE INCWAP(M,N:INTEGER); LABEL START; VAR K:INTEGER; BEGIN START: K:=M+1; M:=N+4; N:=K; END. 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 例: PASCAL程序段: PROCEDURE INCWAP(M,N:INTEGER); LABEL START; VAR K:INTEGER; BEGIN START: K:=M+1; M:=N+4; N:=K; END