编译原理符号表的原理及典型实例ppt课件_第1页
编译原理符号表的原理及典型实例ppt课件_第2页
编译原理符号表的原理及典型实例ppt课件_第3页
编译原理符号表的原理及典型实例ppt课件_第4页
编译原理符号表的原理及典型实例ppt课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编译原理,第1、9章符号表,第2,在编译程序工作中,必须不断收集、记录和使用有关源程序中一些语法符号的类型和特性等的信息。此信息通常以表格格式存储在系统中。常数表、变量名称表、数组名称表、工艺名称表、标签表等统称为符号表。符号表组织、组织和管理方法的好坏会直接影响编译系统的运行效率。第九章符号表,3,1,符号表的作用和功能,收集符号属性上下文意义合法性检查的依据是目标代码生成阶段寻址的基础,词汇分析:a是单词;语法分析:a出现在变量声明和赋值语句中。意义分析:a是成型变量,并且已分配地址。4、2、符号表的内容、与标识符的名称标识符相关的信息类型信息(包括类型和属性)地址代码层次结构信息行号信息.5、2、符号表的内容,例如Pascal语言的名称信息表nametab、名称标识符、名称类型、常量、变量、类型和主程序的层次为1,主程序中定义的层次为2,名称类型,整数(ints),字符型(chars),布尔型(bool),数组(arrays),对于无类型名称,为notype,名称是否为变量参数如果名称是流程名称,则ref将指向程序body table(btab)中流程的位置。否则,ref为0,adr,如果名称是变量名称(包括参数、该操作记录中存储的变量或参数),则该操作记录中分类的存储单元的相对地址。对于进程名,请输入该代码的门户地址val如果名称是变量名称,请输入相应的值size如果名称是类型名称,则填充该类型数据所需的存储单元数是指在同一程序主体中定义的旧名称在nametab中的位置;每个程序条目在nametab中注册的第一个名称的link是0,6,2,符号表的内容;例如,Pascal语言的名称.10,1.10of integer;nametab,7,示例:Pascal语言中的数组信息表atab,数组的下标类型,数组元素类型,如果元素是数组,则atab表中该元素数组信息的位置,否则为0,数组下限,数组上限,数组元素的体积,数组本身的体积,第二,依此类推.10,1.10of integer;nametab、atab、9、9、3和符号表中的组织按属性类型完全相同的符号组织。在符号表中配置所有语言的符号。符号属性相似性由多个表格组成,每个表格中记录的符号具有更多相同的属性。,10,3,假定符号表的组织,有以下三种类型的符号和必需属性,第一种组织法:按属性分类,优点:一致管理,节省空间的缺点:复杂管理,11,3,符号表的组织,假定有以下三种类型的符号和必需属性,第二种组织法折中法,13,4,符号表的数据结构,符号表符号表条目按扫描符号的先后顺序注册,.a.a.b.a.d.c.c.b.14,4,符号表的数据结构,排序的表符号表条目根据该符号的字符代码字符串值的大小.a.b.a.d.c.b.b.b.15,4,符号表的数据结构,算术表符号表条目的位置由对该符号执行特定函数操作而获得的函数值确定。.a.b.a.d.c.b.b.16,5,符号表和范围,int main() inta=0;intb=0; intb=1; inta=2;Printf (%d,% d n ,a,b); intb=3;Printf (%d,% d n ,a,b); printf(“% d,% d n”,a,b); printf(“% d,% d n”,a,b);,17,int main() inta=0;intb=0; intb=1; inta=2;Printf (%d,% d n ,a,b); intb=3;Printf (%d,% d n ,a,b); printf(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论