下载此文档

编译原理 符号表9.ppt


文档分类:IT计算机 | 页数:约62页 举报非法文档有奖
1/62
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/62 下载此文档
文档列表 文档介绍
第9章符号表数计学院宋彩芳9 符号表?符号表的作用和地位?符号的主要属性及作用?符号表的组织?符号表的管理符号表的作用和地位?符号表用来存放语言程序中出现的有关标识符的属性信息,这些信息集中反映了标识符的语义特征属性;?在词法分析及语法分析过程中不断积累和更新表中的信息。?在词法分析到代码生成的各个阶段,按各自需要从表中获取不同的属性信息。符号表的作用和地位?符号表的功能有:?收集符号属性;? int i[3][5];?上下文语义的合法性检查的依据;?extern float i; //类型不一致?float i[4][2]; //重定义?作为目标代码生成阶段地址分配的依据;?extern 公共区?extern static 文件静态区?static 函数静态区?auto 动态区9 符号表?符号表的作用和地位?符号的主要属性及作用?符号表的组织?符号表的管理符号的主要属性及作用?语言符号可分为:?关键字(保留字)符号?操作符符号?标识符符号?语言中标识符可以是变量名、函数名、过程名;?过程没有返回值,如同C的void 函数则有,如同C的带返回值函数标识符符号的属性(信息)几种通常都是需要的。1符号名2符号的类型3符号的存储类别4符号的作用域及可视性5符号变量的存储分配信息6符号的其它属性?数组内情向量?记录结构型的成员信息?函数及过程的形参标识符符号的属性(信息)一、符号名?符号名与它在符号表中的位置一一对应;?标识符的内部代码也即标识符在符号表中的位置(通常是一个整数)可以替换符号名;?符号表运行过程中,表中的标识符名始终是唯一标志;?特殊情形:?重名标识符定义:根据标识符在程序中的作用域和可视性规则进行处理。表中标识符名始终唯一;?操作重载:通过它们的参数个数和类型,以及函数返回值类型来区别。以达到标识符的唯一;标识符符号的属性(信息)二、符号的类型?除过程标识符之外的函数和变量标识符都具有数据类型;?函数的数据类型指该函数值的数据类型;?变量符号的类型属性决定了其存储方式和可施加的运算操作;?数据类型:?基本数据类型:整型、实型、字符型、逻辑型(布尔型)、位组型(字节型);?复合数据类型:数组、记录结构;标识符符号的属性(信息)三、符号的存储类别?由关键字指定;?用static定义属于文件的静态存储变量或属于函数内部的静态存储变量?用regist定义使用寄存器存储的变量;?由变量在程序中位置决定;?函数外是程序的公共存储变量?函数内是内部变量;?存储类别作用:?编译过程语义处理、检查和存储分配的重要依据;?决定了符号变量的作用域、可视性和它的生命周期;

编译原理 符号表9 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数62
  • 收藏数0 收藏
  • 顶次数0
  • 上传人875845154
  • 文件大小0 KB
  • 时间2016-01-17
最近更新