编译原理(王晓斌)编译第八章.ppt
《编译原理(王晓斌)编译第八章.ppt》由会员分享,可在线阅读,更多相关《编译原理(王晓斌)编译第八章.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章 词法分析第一节 词法分析概述一.词法分析的功能1.功能 扫描源程序的字符串,按照词法规则,识别出单词符号作为输出;对识别过程中发现的词法错误,则输出有关的错误信息。2.词法分析器和语法分析器的关系(1)词法分析作为单独的一遍输入串词法分析器语法分析器单词流第八章 词法分析(2)词法分析作为子程序输入串词法分析器语法分析器符号表取下一单词返回下一单词第八章 词法分析二.词法分析器的输出形式1.单词的种类 (1)标识符:用来命名程序中出现的变量、数组、函数、过程、标号等 (2)基本字:也可称关键字或保留字,如if、while、for、do、goto等 (3)常数:各种类型的常数,如216、
2、3.14159、TRUE等 (4)运算符:如+、-、*、/等 (5)界符:如;、:、/*、*/等第八章 词法分析2.单词的输出形式(1)二元式 (单词类别,单词的属性)区分单词所属的类(整数编码)单词的值(2)单词类别的划分u基本字、运算符、界符:一字一码u标识符:单列一种u常数:按类型分类一个例子:A:=B50+10;的输出为:(标识符的编码,A)(:=的编码,)(标识符的编码,B50)(的编码,)(整数的编码,10)(;的编码,)第二节 词法分析器的结构一.扫描缓冲区1.输入缓冲区:源程序输入缓冲区2.预处理程序:取消注解,剔除无用的空白、跳格、回车、换行等3.扫描缓冲区:从输入缓冲区输入
3、固定长度的字符串到另一个缓冲区(扫描缓冲区),词法分析可以直接在此缓冲区中进行符号识别。其结构为:左缓冲区右缓冲区起点指示器搜索指示器二.符号的识别1.词法分析技术超前搜索 为了判定一个单词符号的类别,必须扫描到某一地方,而该单词符号并没有这么长,这种扫描方式叫做“超前搜索”。(1)基本字的识别 DO100I=1,10 DO100I=1.10 IF(5.EQ.M)GOTO 100 IF(5)=100(2)标识符的识别:读到非字母数字(3)常数的识别:根据常数的格式;大多数常数后都有运算符或界符(4)运算符的识别:需要超前搜索,如*(5)界符的识别:需要超前搜索,如/*三.词法分析器的结构预处理
4、子程序词法分析器输入缓冲区扫描缓冲区单词符号输入第三节 状态转换图一.状态转换图的定义u有限的有向图u有向边上标记字符u唯一初态u若干终态(至少一个)123xy二.状态转换图识别的串 从初态出发到某一终态路径上字符的连接。下图是识别标识符的状态转换图:012字母其它字符字母或数字*第四节 词法分析器的设计一.单词符号 第四章设计的语言允许下述单词:标识符、数字串、begin、end、integer、if、then、else、function、read、write、*、=、=、=、:=、;、(、)单词符号单词符号类别编码类别编码助记符助记符标识符数字串beginendintegerifthene
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 王晓斌 第八
限制150内