第6章 语法制翻译.pptVIP

  • 3
  • 0
  • 约8.45千字
  • 约 43页
  • 2019-01-23 发布于江苏
  • 举报
第6章 语法制翻译

6 语法制导翻译 内容提要 语法制导翻译 属性文法 自顶向下翻译 自底向上翻译 要求 目标程序须和源程序的语义等同,也就是说,尽管它们的语法结构完全不同,但它们所表达的结果应完全相同。 方式 1 由语法分析程序直接调用相应的语义子程序进行语义处理。 2 首先生成分析树或该结构的某种表示,再进行语义处理。 语义处理的功能 1 审查每个语法结构的静态语义,即验证语法结构合法的程序是否真正有意义。 类型检查、控制流检查、一致性检查、上下文相关性检查、名字的作用域分析 2 如果静态语义正确,语义处理则要执行真正的翻译,即要么生成程序的中间代码表示,要么生成机器语言或汇编语言的目标代码。 直接生成机器语言或汇编语言形式的目标代码的优点是编译时间短且无需中间代码到目标代码的翻译,而中间代码的优点是使编译结构在逻辑上更为简单明确,特别是使目标代码的优化比较容易实现。 6.1 语法制导翻译 动机 语义形式化是个专门的研究课题,目前有各种各样的方法和记号不断推出,例如操作语义学、公理语义学、指称语义学和代数语义学等。不论哪种方法,其本身的符号系统比较繁杂,其描述文本不易读,尚不便借助这些形式系统自动完成语义处理任务。现在有很多编译系统采用语法制导翻译方法。这仍不是一种形式系统,但是比较接近形式化。这种方法使用属性文法为工具来说明程序设计语言的语义。 语法制导翻译 在语法分析的每一步中,通

文档评论(0)

1亿VIP精品文档

相关文档