编译原理第五章 语法制导翻译技术和中间代码生成
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
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 第五章 语法制导翻译及中间代码生成(1)
- 编译原理-词法分析-语法分析-语义分析生成中间代码-python版
- 语义分析和中间代码生成——哈工大编译原理课程(三)
- 编译原理——中间代码生成
- 编译原理-第四章:语法制导的翻译
- 编译原理 有一语法制导翻译如下所示:
- 编译原理结构框架6语法制导翻译与属性文法
- 编译原理结构框架7语义分析与中间代码生成
- 2017计科01-08编译原理练习题一语义分析&中间代码生成
- 编译原理——中间代码生成
- 编译原理(七)中间代码生成
- 编译原理-语法制导翻译
- 【编译原理】语法制导翻译之属性文法(一)
- 第12章 动态代码生成和编译技术
- 编译原理之基于扫描器的表达式语法分析+逆波兰表达式生成
- 中间代码生成器-5-编译原理
- 编译原理课程设计_C--编译器_语法分析&代码生成 - Justin
- 【编译原理】中间代码(二)
- C编译器剖析_5.2.4 中间代码生成及优化_后缀表达式的翻译
- 编译原理---简单的代码生成程序