语法制导翻译和中间代码生成详解.ppt

语法制导翻译和中间代码生成详解演示文稿;(优选)语法制导翻译和中间代码生成;语法制导翻译和中间代码生成;中间语言

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

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

常用的中间语言:

后缀式:逆波兰表示

图表示:DAG、抽象语法树

三地址代码

三元式、四元式

中间代码的选择

可以是一种实际的语言

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

;P200后缀式定义

写出3+4*5的后缀式

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

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

后缀式的计算

用一个栈实现

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

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

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

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

三元式、四元式、间接三元式;属性文法是在上下文无关文法的基础上,为每个文法符号配备若干相关的“值”,称为

文档评论(0)

1亿VIP精品文档

相关文档