编译原理课件(精品·公开课件).pptVIP

  • 26
  • 0
  • 约7.02千字
  • 约 32页
  • 2018-11-05 发布于广西
  • 举报
第五章 语法制导翻译及 中间代码生成 5.1 引言 词法分析与语法分析仅仅是编译程序的一小部分。 在早期的一些编译程序中,是在语法分析的基础上根据源程序中各语法成份的语义,直接产生机器语言或汇编语言形式的目标代码。 现在的编译系统一般都将经过语法分析的源程序先翻译为某种形式的中间语言代码,然后再将其翻译为目标代码。 优点: 使编译程序各组成部分功能更单一; 使得编译程序的逻辑结构更为清晰,从而 使编译程序更易于编写与调整;同时 为代码优化和程序的可移植性提供了条件 语法分析和语义分析区别 语法分析是根据语法规则识别了出各种语法成份并进行语法检查。 讲义分析:语义正确性检查,同时进行语义处理,即根据语法成份的含义生成相应的中间代码或目标代码。 本章要讨论的中间代码生成,是指把单词符号串形式的源程序转换为另一种等价的便于代码优化处理和目标代码生成表示。 目前常见的中间语言有:逆波兰表示、三元式、四元式等等。 遗憾的是,中间代码生成与语言的语义密切相关,而语义的形式化描述是一个非常困难的; 存在一种称为语法制导翻译的模式,这种模式实际上是对前后文无关文法的一种扩充。 语法制导翻译方法:对文法中的每个产生式都附加一个语义动作或语义子程序,在语法分析过程中,每当需要使用一个产生式进行推导或归约,语法分析程序除执行相应的语法分析动作外,还要执行相应的语义动

文档评论(0)

1亿VIP精品文档

相关文档