下载此文档

《编译原理》第1章 绪论.ppt


文档分类:IT计算机 | 页数:约47页 举报非法文档有奖
1/47
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/47 下载此文档
文档列表 文档介绍
编译原理
整理课件
自我介绍
姓名:刘善梅
QQ : 30683530
办公室:逸夫楼C427  
邮箱:
整理课件
2
课程介绍
两门独立的课程:理论(48学时)
一种表示转换成另一种表示
源程序
词法分析器










语法分析器
语义分析器
中间代码生成器
代码优化器
代码生成器
编译的各个阶段
整理课件
13
各分析阶段
随着编译器各个阶段的进展,源程序的内部表示不断地发生变化。
以 a=b+c *d 为例
1。词法分析
读入源程序
完成的任务:
识别出单词:
a、=、b、+、c 、 *、 d
并用记号方式表示识别出的单词
关键字、标识符、常数、算符和界符
例:25表示a、b、c、d;36:=;32:+;31:*
记号表示逻辑上相关的字符序列,常用整数来表示
上述单词表示为:
(25,a),(36,=),(25,b),(32,+),(25,c),(31,*),
(25,d)
整理课件
14
程序文本If x = y then z := 1 else z := 2;
经词法分析,变成一个个单词
if, x, =, y, then, z, :=, 1, else, z, :=, 2, ;
语言的单词符号是由词法规则所确定的。词法规则规定了字母表中哪样的字符串是一个单词符号。
又例,
整理课件
从左至右扫描字符流的源程序、分解构成源程序的字符串,识别出(拼)一个个的单词(符号)
单词符号是语言中具有独立意义的最基本结构。多数程序语言中,单词符号一般包括 —各类型的常数、保留字、标识符、运算符、界符等等。
词法分析—第一步识别单词
整理课件
position := initial + rate * 60;
单词类型 单词值
标识符1(id1) position
算符(赋值) :=
标识符2(id2) initial
算符(加) +
标识符3(id3) rate
算符(乘) *
整数 60
分号 ;
词法分析
整理课件
语法分析
在词法分析的基础上,根据语言的语法规则,把单词符号串组成各类语法单位.
具体的说,语法分析是在单词流的基础上建立一个层次结构-----建立语法树
赋值语句
标识符
=
表达式
id1
表达式
标识符
id2
+
表达式
表达式
*
标识符
id3
表达式
整数
60
整理课件
18
语法分析 举例
id1 := id2 + id3 * 60 ;
(Pascal)语法规则
<赋值语句>::=<标识符>“:=”<表达式>
<表达式>::=<表达式>“+”<表达式>
<表达式>::=<表达式>“*”<表达式>
<表达式>::=“(”<表达式>“)”
<表达式>::=<标识符>
<表达式>::=<整数>
<表达式>::=<实数>
整理课件
赋值语句
标识符
表达式
表达式
+
表达式
表达式
标识符
整数
标识符
:=
表达式
*
整理课件
id1:=id2+id3*60
:=
+
60
*
id1
id2
id3
整理课件
语义分析阶段
语义分析利用语法分析阶段确定的层次结构来识别表达式和语句中的操作信息及类型信息
=
+
a
b
*
c
d
temp1=c*d
temp2=b+temp1
temp1
temp2
a=temp2
整理课件
22
语义分析
句子的结构理解了,扑捉它的“含义”
如:杰克说杰瑞把他的作业落在了家里。
“他的”是谁的?
又:杰克说杰克把他的作业落在了家里。
几个杰克?
整理课件
杰克把她的作业落在了家里。
(杰克是男生)“杰克”和“她的”不一致。
“杰克”和“他的”才匹配
语义分析
整理课件
中间代码生成阶段
本阶段将产生源程序的一个显式中间表示
这种中间表示可以看成是某种抽象的程序,通常是与平台无关的
其重要性质:
      
下面是用三地址码(四元式)表示的例子:
temp1=c*d
temp2=

《编译原理》第1章 绪论 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数47
  • 收藏数0 收藏
  • 顶次数0
  • 上传人相惜
  • 文件大小541 KB
  • 时间2022-04-24