第08章、语法制导翻译分析.pptVIP

  • 5
  • 0
  • 约7.78千字
  • 约 46页
  • 2017-04-08 发布于湖北
  • 举报
S.P O.P 表 格 管 理 程 序 错 误 处 理 程 序 第8章 语法制导翻译和中间代码生成 2 8.1 属性文法 8.2 语法制导翻译 8.3 常用中间代码 8.4 简单赋值语句的翻译 第8章 语法制导翻译和中间代码生成 教学要求: 理解语法制导翻译的基本思想 会写出语句的逆波兰表示、三元式、四元式和树形结构 3 4 编译中的语义处理是指两个功能: 第一,审查每个语法结构的静态语义,即验证语法结构合法的程序是否真正有意义,也称为静态语义检查或静态审查。动态语义检查需要生成相应的目标代码,在运行时进行。 第二,如果静态语义正确,语义处理的工作是要执行真正的翻译,即生成程序的一种中间表示形式(中间代码),或者直接生成实际的目标代码。 语义处理 5 静态语义检查 (1)类型检查。根据类型相容性要求,验证程序中执行的每个操作是否遵守语言的类型系统的过程,编译程序必须报告不符合类型系统的信息。 (2)控制流检查。控制流语句必须使控制转移到合法的地方。如C语言中不允许goto转入case语句流;break语句需要寻找包含它的最小switch、while或for语句方可找到转向点,否则出错。 (3)上下文相关性检查。比如,变量名字必须先声明后引用。 (4)一致性检查。如在相同作用域中标识符只能说明一次、case语句的标号不能相同等。 6

文档评论(0)

1亿VIP精品文档

相关文档