- 2
- 0
- 约3.88万字
- 约 75页
- 2018-01-15 发布于浙江
- 举报
软件工程专业本科课程
编 译 原 理
Compilers Principles
长安大学信息工程学院软件工程系
主讲:李 鹏
第六章 中间代码生成
本章内容
介绍几种常用的中间表示
用语法制导定义来说明程序设计语言的结构
怎样被翻译成中间形式
中间
中间
语法 静态 代码 代码
代码
分析器 检查器 生成器
生成器
前端 后端
2
6.1 语法树的变体
表达式的有向无环图
DAG可以简洁的表示表达式,并且可以为生成高
效代码提供信息。
a+a*(b-c)+(b-c)*d
+
+ *
*
d
a
-
b c
3
构造语法树或DAG的语法制导定义
产 生 式 语 义 规 则
E E + T E.node = new Node( „+‟, E .node, T.node)
1 1
E E - T E.node = new Node( „-‟, E .node, T.node)
1 1
E T E.node = T.node
T T * F T.node = new Node( „*‟, T .node, F.node)
1 1
T F T.node = F.node
F (E) F.node = E.node
F id F.node = new Leaf (id, id.entry)
F num F.node = new Leaf (num, num.val)
4
构造DAG的过程
p 1 = Leaf (id, entry-a) p 8 =
您可能关注的文档
- 医学细胞生物学(中山大学)第七章 第七章细胞骨架与细胞的运动.doc
- 医学细胞生物学(中山大学)第四章 第一节细胞膜的化学组成与生物学特性.doc
- 医学细胞生物学(中山大学)第二章 细胞的概念和分子基础(附习题).docx
- 医学细胞生物学(中山大学)第五章 细胞的内膜系统与囊泡运输.docx
- 医学细胞生物学(中山大学)12 信号转导-五年制.pptx
- 医学细胞生物学(中山大学)柯琼 核糖体-20141027.pptx
- 医学细胞生物学(中山大学)柯琼 第6章细胞骨架与细胞运动-20150408.pptx
- 医学英语教学(盛淑芳)Introduction.ppt
- 医学英语教学(盛淑芳)Unit 1.ppt
- 医学细胞生物学(中山大学)细胞分化-五年制.ppt
原创力文档

文档评论(0)