1 / 26
文档名称:

词法分析(一).ppt

格式:ppt   大小:420KB   页数:26页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

词法分析(一).ppt

上传人:花开花落 2018/1/11 文件大小:420 KB

下载得到文件列表

词法分析(一).ppt

文档介绍

文档介绍:第3章词法分析(一)
2018/1/11
1
莆田学院许振和
主要内容:词法分析的任务,手工实现词法分析程序,正规式与有穷自动机,词法分析程序的自动生成
重点掌握:词法分析器的功能和接口,用状态转换图设计和实现词法分析程序,正规文法、正规式和有穷状态自动机的概念及相互转换
本章要求
2018/1/11
2
莆田学院许振和
词法分析(一)内容
一、词法分析概述
二、词法分析程序的设计方法
2018/1/11
3
莆田学院许振和
词法分析在编译器的位置
每个阶段将源程序从一种表示转换成另一种表示。
词法分析器










语法分析器
语义分析器
中间代码生成器
代码优化器
代码生成器
编译的各个阶段
源程序
目标程序
编译器是分
阶段执行的。
2018/1/11
4
莆田学院许振和
一、词法分析概述
词法分析器可以分为两个阶段:
第一阶段是扫描阶段;
第二阶段是词法分析阶段。
词法分析器有两种实现模式:
完全独立模式、相对独立模式
2018/1/11
5
莆田学院许振和
1. 词法分析器的功能
功能:
逐个读入源程序字符并按照构词规则切分成一系列单词
主要任务:
读入源程序,输出单词符号
其他任务:
滤掉空格,跳过注释、换行符
追踪换行标志,指出源程序出错的行列位置
宏展开,……
关键:找出单词的分隔符
源程序
词法分析程序
Token串
语法分析程序
2018/1/11
6
莆田学院许振和
单词:是语言中具有独立意义的最小单位,常用单词分类:
保留字:具有固定意义的标识符
运算符
界符
标识符:表示各种名字
常数
对于一个程序设计语言,保留字、运算符和界符都是确定的,可以给以固定的编号(种别码)。
标识符是根据构词规则定义的,常数是符合定义的各种类型的常数
2018/1/11
7
莆田学院许振和
种别码:是对能识别的单词的分类编码
有多种编码方式:
标识符一般统一为一种:一个编号
常数按类型分别编码:整数、实数、布尔、字符
关键字一般一字一种
运算符一般一符一种
界符一般一符一种
2018/1/11
8
莆田学院许振和
某语言单词的种别码定义举例
单词
种别码
单词
种别码
单词
种别码
and
1
procedure
21
*
41
array
2
program
22
*/
42
begin
3
read
23
+
43
bool
4
real
24
,
44
call
5
repeat
25

45
case
6
set
26

46
char
7
then
27
··
47
constant
8
to
28
/
48
do
9
true
29
/*
49
else
10
until
30
:
50
end
11
var
31
:=
51
false
12
while
32
;
52
for
13
write
33
<
53
if
14
标识符
34
<=
54
input
15
整常数
35
<>
55
integer
16
实常数
36
=
56
not
17
字符常数
37
>
57
of
18

38
>=
58
or
19
(
39
[
59
output
20
)
40
]
60
2018/1/11
9
莆田学院许振和
2. 词法分析阶段的必要性
为什么在编译过程通常是把源程序的结构分析分为词法分析和语法分析两个阶段?
其主要原因:
(1)简化编译器的设计;
(2)提高编译器的效率;
(3)增加编译系统的可移植性;
(4)可以和语法分析结合在一起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。
2018/1/11
10
莆田学院许振和