8符号表与错误处理.pptxVIP

  • 2
  • 0
  • 约2.14万字
  • 约 60页
  • 2023-11-27 发布于湖北
  • 举报
第8章 符号表与错误处理 第8章 符号表与错误处理 eat ed with Aspose. 8888S....l2211iE错符错符dve误号误号asl表处表处fuoa理理rti l .Client Pro Copyright 2004-2011 Aspose Pty Ltd. 5 y 3 n T o E n N o (1)什么是符号表? 在编译过程中编译程序用于记录源程序中各种 名字的特性信息 , 所以也称为名字特性表。 名字: 程序名、过程名、 函数名、用户定义类型、 变量名、符号名字 特性信息: 名字种类、类型、维数、参数个数及目标地址 (存储单元地址) 等 Evaluation only. eat ed with Aspose.Slides for .NET 3.5 Client Pro Copyright 2004-2011 Aspose Pty Ltd. 第8章 符号表与错误处理 8. 1 符号表 (2) 建表和查表的必要性 (符号表在编译过程中的作用) • 源程序中变量要先声明 , 然后才能引用。 • 用户通过声明语句 , 声明各种名字以及给出它们的 将声明中的名字以及信息登录到符号表中 , 同时编译 合要求) 和生成相应的目标程序 , 这就需要查符号表 来取得相关信息。 eat还e w给i h量A p 储.S i s r储. E . l必i t登Pro 录在符号表 o。pyright 2004-2011 Aspose Pty Ltd. • 当编译程序编译到引用所声明的变量时(赋值或引 用其值) 要进行语法、语义正确性检查(类型是否符 类型、维数等信息 。编 v u t o来n n些l 明语句时, o 这 第8章 符号表与错误处理 Evaluation only. eat ed with Aspose.Slides for .NET 3.5 Client Pro Copyright 2004-2011 Aspose Pty Ltd. (3) 有关符号表的操作 : • 判断一个给定的名字是否在表中; • 在表中填入新的名字; • 对给定的名字访问它在表中的有关信息; E 在 项a o l ; eat ed with Aspose.Slides for .NET 3.5 Client Pro Copyright 2004-2011 Aspose Pty Ltd. 组 更 或 入 个 填 去 名 删 的 中 定 表 给 从 对 • • 第8章 符号表与错误处理 第8章 符号表与错误处理 1 符号表项的组织与内容 (1)符号表项的组织 符号表的基本结构如下 : 名字 信息栏 Evaluation only. eat ed with Aspose.Slides for .NET 3.5 Client Pro Copyright 2004-2011 Aspose Pty Ltd. 名字域的组织: 存放名字(一般为标识符)的符 号串 , 也可为指向标识符字符串的指针。 信息栏的组织: 多个子域分别表示标识符的有关信息。 不同种类的符号有不同信息域 。一般的名字可能 共有的信息域 : Evaluation only. eat ed• t p:ose.Slides for .NET 3.5 Client Pro o i h数t、2 0程4 2数0 s o、s y Ltd. •类型: 如整型、浮点型、字符型、指针等 •性质: 变量、形参等 •地址: 变量所分配单元的首址或地址位移 •大小: 所占的字节数 第8章 符号表与错误处理 非共有信息域: 对于数组: 维数、上下 v值a、lu计a i下o l .所用的信息以 eat ed with As o i s等 or .NET 3.5 Client Pro 对于记录结 p r:ig ht 2004-2011 Aspose Pty Ltd. 域的个数 , 每个域名、地 址位移、类型等。 对于过程或函数: 形参个数

文档评论(0)

1亿VIP精品文档

相关文档