您的位置:首页 > 编程语言

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

2020-02-08 04:52 344 查看

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

  • 点赞
  • 收藏
  • 分享
  • 文章举报
LetterLuv 发布了7 篇原创文章 · 获赞 1 · 访问量 58 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: