第5章 语法制导翻译.pptVIP

  • 3
  • 0
  • 约1.27万字
  • 约 47页
  • 2017-09-09 发布于湖北
  • 举报
第5章 语法制导翻译

第五章 语法制导翻译及中间代码生成 5.1 引言 在早期的一些编译程序中,是在语法分析的基础上根据源程序中各语法成份的语义,直接产生机器语言或汇编语言形式的目标代码。 现在的编译系统一般都将经过语法分析的源程序先翻译为某种形式的中间语言代码,然后再将其翻译为目标代码。 优点: 使编译程序各组成部分功能更单一; 使得编译程序的逻辑结构更为清晰,从而使编译程序更易于编写与调整;同时为代码优化和程序的可移植性提供了条件 本章要讨论的中间代码生成,是指把单词符号串形式的源程序转换为另一种等价的便于代码优化处理和目标代码生成表示。 目前常见的中间语言有逆波兰表示、三元式、四元式等等。 中间代码生成与语言的语义密切相关,目前采用语法制导翻译来描述语义。 方法:对文法中的每个产生式都附加一个语义动作或语义子程序, 语法分析程序除执行相应的语法分析动作外,还要执行相应的语义动作或调用相应的语义子程序。 5.1 引言(续) 这种模式既把语法分析与语义处理分开,又令其平行地进行,让其在同一遍扫描中同时完成语法分析和语义处理两项工作。 由此可见,抽象文法符号的具体语义信息,是在与语法分析同步的语义处理过程中获取和加工的。 文法符号X的语义信息我们称之为语义属性或简称为属性(Attributes)。 我们用形如X.ATTR的记号来表示文法符号X的相关语义属性。 如果一个文法符号X在一

文档评论(0)

1亿VIP精品文档

相关文档