编译原理第五章 语法制导翻译技术和中间代码生成

1、属性文法的定义,属性的分类

属性文法:在上下文无关文法的基础上,允许每个文法符号X根据处理的需要,定义与X相关联的属性(如:类型,值,存储位置,计算等)
一个属性文法在形式上定义为一个三元组AG={G,V,E}。
G表示一个上下文无关文法
V表示属性的有穷集
E表示属性的断言或谓词的有穷集
属性分为两类:综合属性和继承属性

2、中间语言的形式:逆波兰式、三元式和树形表示,四元式和三地址式

逆波兰式(后缀式):消除括号,将运算对象写在前面,运算符写在后面,易于计算处理,利用工作栈计算表达式。树的后序遍历。
三元式:(i) (op, arg1, arg2):ar1 op arg2:
特别的@表示取反,如:(i)(@,B,—)的作用是使B取反,—表示无操作数,结果存在(1)
间接三元式:相比三元式,增加了间接码表,标记使用过的三元式
树形表示:三元式的另一种表示,特点:方便表示、处理和存储组织
四元式:(i)(op, arg1, arg2, result):result为临时变量,记得最终把result赋值给结果。
三地址代码:(i) X = a op b

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值