《编译原理》第三章词法分析.ppt
《《编译原理》第三章词法分析.ppt》由会员分享,可在线阅读,更多相关《《编译原理》第三章词法分析.ppt(37页珍藏版)》请在三一办公上搜索。
1、第三章 词法分析,第三章 词法分析,主要章节3.1 词法分析与词法分析程序3.2 词法分析程序的设计与实现3.3 词法分析程序的自动生成,3.1 词法分析程序的功能,词法分析的功能从左至右逐个字符地对源程序进行扫描,产生一个个单词符号,再转换成词标流的过程,3,4,while(i=j)if(ij)ii-j;else j=j-i while,(,i,=,j,),if,(,i,j,),i,=,i,-,j,;,else,j,=,j,-,i,;,3.1 词法分析程序的功能,3.2 词法分析器的设计与实现,3.2.1 单词与属性字1.单词单词是语言中具有独立意义的最小语法单位。要素 独立的意义最小的语法
2、单位,5,例A*B,单词是“A”、“*”和“B”。int int1,单词是“int”和“int1”。A+*B,单词是“A”、“+”、“*”和“B”。,复习,流行语言词法规则的表示:BNF或EBNF;3型文法;正规式例-int|float|for|#include|char|-|V=(|)*,6,1关键字(保留字或基本字):关键字一般是语言系统本身定义的,通常是由字母组成的字符串。,7,2标识符:用来表示各种名字如,变量名,数组名,结构名,函数名,文件名等。,3.2.1 单词与属性字,3常数:256,3.14,true,abc 4运算符:如,、*、/等等 5分界符:如逗号,分号,括号,单双引号等
3、,8,3.2.1 单词与属性字,3.2.1 单词与属性字,注意:(1)同一个字符开头+后续字符-跨多个单词类;,9,(2)非单词成分和预处理成分;例:源程序注释;/*.*/预处理指令:#define#include,3.2.1 单词与属性字,2.属性字对所识别的单词的数据结构表示。L1=(T,C)属性字,10,刻画单词类别(单词性质)如:标识符;运算符;单词的内码值(可空),说明,11,单词类别通常用整数编码单词类别提供给语法分析程序使用单词符号属性信息记录单词符号的特征或特性单词的属性值提供给语义分析程序使用编码形式:一类一种:关键字、标识符、常数、运算符、界符一字一种:关键字、运算符、分界
4、符各一码,例题(一类一种),int x=10,y;,12,注:通常将标识符的属性放在符号表中,因此常把指向存放标识符有关信息的符号表入口的指针作为标识符的属性值,13,源程序经词法分析器的输出while,id,指向i的符号表入口的指针relationalop,id,指向j的符号表入口的指针do,if,id,指向i的符号表入口的指针 id,指向j的符号表入口的指针,while,i,j,do,if,i,j,then,i,:=,i,-,j,else,j,:=,j,-,i,例题(一字一种),3.2.2 源程序的输入与预处理,1输入缓冲区成对且对半互补的输入缓冲区模式。即将一个缓冲区分为两个半区,每个半
5、区长度为n(n一般为磁盘块或簇长的整倍数),其结构如图所示。,14,n:取2的整次幂;每个半区的末尾设置标志“eof”表示读入该半区的源程序的结束;B:单词w开始指针;F:扫描w的指针;,两半区互补功能算法:if(F=前“eof”)重新分配、装入后半区;F+;else if(F=后“eof”)重新分配、装入前半区;F=1;else F+;,15,2两个缓冲区的输入模式,控制线 数据线X:固定长度的存储空间;,16,预处理程序(作用)(1)减少内存空间占用;(2)减轻扫描器实质性处理的负担;预处理程序主要任务:(1)滤掉源程序中的非单词成分(如无用空格;换行符等);(2)实际的预处理工作,17,
6、滤掉注释;宏替换;文件包含的嵌入;条件编译的嵌入;,设计工具 FA作为扫描器的状态转换图的构造:step1:对语言的各类单词分别构造状态图;step2:将各类状态图合并,构成一个能识别该语言所有单词的状态图。,18,(1)将各类单词的状态图的初态合并为一个惟一初态;(2)调整冲突编号。,例3.2 设某语言由标识符和无符号正整数两类单词构成,标识符和无符号正整数的词法规则:L a|b|z|A|B|ZD 0|1|9 L(L|D|_)*DD*,19,step1:对语言的各类单词分别构造状态图;,20,其中:other表示非L|D|_字符,其中:other表示非D 字符,step1,*,*,step2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译原理 编译 原理 第三 词法 分析
链接地址:https://www.31ppt.com/p-6528790.html