编译原理实用教程 杨德芳 第7章 语法制导翻译和中间代码新.pptVIP

  • 7
  • 0
  • 约2.46万字
  • 约 106页
  • 2015-12-17 发布于广东
  • 举报

编译原理实用教程 杨德芳 第7章 语法制导翻译和中间代码新.ppt

第7章 语法制导翻译和中间代码生成 学习目标 任何编译程序都可以看作是这样的一个翻译程序:它将用某种源语言写的源程序转换为等价的用某种目标语言写的程序(目标程序),其中的目标程序可以是某种中间的语言程序。 语法制导翻译的基本思想是很简单的,就是先给文法中的每个产生式添加一个成分,这个成分称为语义动作或翻译子程序。在执行语法分析的同时,执行相应产生式的语义动作。这些语义动作不仅指明了该产生式所生成的符号串的意义,而且根据这种意义规定了对应的加工动作。本章要点: 语法制导翻译 中间代码的形式 各种语句的翻译 例题7.1 给出文法及其语义子程序 (0)S′→E print val[top] (1)E→E(1)+E(2) val[top]=val[top]+val[top+2] (2) E→E(1)*E(2) val[top]=val[top]*val[top+2] (3) E→(E(1)) val[top]=val[top+1] (4) E→i val[top]=lexval/*LEXVAL为i的整型内部值*/ 计算算术表达式7+9*5 #的语法值及各结点的值。 7.1概述 如同在进行词法分析、语法分析的同时也进行着词法检查、语法检查一样,在语义分析时也必然进行语义检查。语义分析包括动态语义分析和静态语义分析两类。动态语义分析就是进行真正的翻译,即生成程序的一种中

文档评论(0)

1亿VIP精品文档

相关文档