语法制导翻译和中间代码生成优.pptVIP

  • 0
  • 0
  • 约1.19千字
  • 约 27页
  • 2026-04-22 发布于香港
  • 举报

语法制导翻译和中间代码生成;语法制导翻译和中间代码生成;中间语言

高级的:接近源语言。语法树,适合完成静态类型检查。

低级的:接近目标语言。适合完成依赖于机器的任务。

常用的中间语言:

后缀式:逆波兰表示

图表示:DAG、抽象语法树

三地址代码

三元式、四元式

中间代码的选择

可以是一种实际的语言

也可以是编译各阶段共享的内部数据结构

;P200后缀式定义

写出3+4*5的后缀式

写出b*(-c)+b*(-c)的后缀式

后缀式表示:算术表达式、赋值语句、控制语句

后缀式的计算

用一个栈实现

一般的计算过程是:自左至右扫描后缀式,每碰到运算量(操作量)就把它推进栈。每碰到k目运算符就把它作用于栈顶的k个项,并用运算结果代替这k个项。;;;;a:=b*(-c)+b*(-c)的图表示法

请画出语法树和DAG;;;作业:P2217.1;7.3中间代码生成

----赋值语句翻译成三地址代码;语法制导翻译;三地址代码的形式:

1.三元式、2.四元式、3.间接三元式;三地址代码的形式:

三元式、四元式、间接三元式;code:=newtemp;emit(@,E1.

(1)(*,b,c)

code:=entry(i.

code:=newtemp,

place:=T.

(1)A→id:=E

cod

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档