第7章+语法制导翻译和中间代码生成.pptVIP

  • 3
  • 0
  • 约7.1千字
  • 约 53页
  • 2019-10-17 发布于湖北
  • 举报
第7章 语法制导翻译和中间代码 生成 经过词法分析、语法分析后,源程序在静态结构上的正确性得到了保证,编译程序接着要对源程序进行静态语义检查和翻译。 本章主要内容 1. 属性文法 2. 语法制导翻译概念 3. 中间代码的几种形式 4. 几个语句的翻译:如赋值语句、条件语句等。 语法制导翻译的引例 E→E+T {print ”1”} E→T {print ”2”} T→T*F {print ”3”} T→F {print ”4”} F→(E) {print ”5”} F→i {print ”6”} 对(i+i)*i的翻译 不难证明该符号串是文法的合法句子。按照这个句子向文法开始符号E的归约次序,且每当归约时调用该句柄的产生式所对应的语义子程序,便可得到相应的数字串:64264154632。 翻译要解决的问题 1. 翻译成什么样的代码? 2. 什么时候实现这种变换(翻译)? 3. 如何实现这种翻译? 翻译成什么样的代码 按照相应语义规则产生一种介于源语言与目标代码之间的一种代码(中间代码),它不依赖于机器但又便于产生依赖于机器的目标代码。 中间代码可用多种方式表示,常见的有:逆波兰表示法、树形表示法、三元

文档评论(0)

1亿VIP精品文档

相关文档