第4章 章词法分析6.pdf
《第4章 章词法分析6.pdf》由会员分享,可在线阅读,更多相关《第4章 章词法分析6.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章词法分析第4章词法分析伍 春 香武汉大学计算机学院伍 春 香武汉大学计算机学院内容简介内容简介词法分析器词法分析器单词符号单词符号词法分析程序设计词法分析程序设计词法分析器的自动生成词法分析器的自动生成学习目标学习目标?掌握掌握?词法分析程序设计的基本思想词法分析程序设计的基本思想?单词符号的表示方法与识别方法单词符号的表示方法与识别方法?由由DFA转换到程序的方法转换到程序的方法?了解了解?词法分词程序自动生成的原理词法分词程序自动生成的原理?LEX词法分析程序简介词法分析程序简介?词法分析程序的作用与地位词法分析程序的作用与地位?单词符号单词符号4.1 词法分析器与单词符号4.1 词
2、法分析器与单词符号依据语言词法规则,分析由字符组成的源程序:依据语言词法规则,分析由字符组成的源程序:1.1.词法分析程序的作用词法分析程序的作用删除注解、空格、回车符、换行符之类非必要信息,把标识符登录入符号表及某些预加工处理等。把它识别为一个一个具有独立意义的最小语法单位,即删除注解、空格、回车符、换行符之类非必要信息,把标识符登录入符号表及某些预加工处理等。把它识别为一个一个具有独立意义的最小语法单位,即“单词单词”;识别出与单词相关的属性(是标识符、界限符、数,;识别出与单词相关的属性(是标识符、界限符、数,);转换成长度上统一的标准形式);转换成长度上统一的标准形式属性字,以供其它部
3、分使用。属性字,以供其它部分使用。4.1 词法分析器与单词符号4.1 词法分析器与单词符号1.1.词法分析程序的作用词法分析程序的作用输入数据:输入数据:program ex1;begin M:=3.1415/4*(d1*d1-d2*d2)end.字符串形式的源程序program ex1;begin M:=3.1415/4*(d1*d1-d2*d2)end.字符串形式的源程序4.1 词法分析器与单词符号4.1 词法分析器与单词符号1.1.词法分析程序的作用词法分析程序的作用输入数据:输入数据:字符串形式的源程序字符串形式的源程序处理:处理:将源程序分割成一个一个具有独立意义的最小语法单位;将源
4、程序分割成一个一个具有独立意义的最小语法单位;begin M:=3.1415/4*(d1*d1-d2*d2)end4.1 词法分析器与单词符号4.1 词法分析器与单词符号1.1.词法分析程序的作用词法分析程序的作用输入数据:输入数据:字符串形式的源程序字符串形式的源程序处理:处理:将源程序分割成一个一个具有独立意义的最小语法单位;将源程序分割成一个一个具有独立意义的最小语法单位;识别出相关的属性(保留字、标识符、常数、界限符、运算符)识别出相关的属性(保留字、标识符、常数、界限符、运算符)begin M:=3.1415/4*(d1*d1-d2*d2)endbegin M:=3.1415/4*(
5、d1*d1-d2*d2)end4.1 词法分析器与单词符号4.1 词法分析器与单词符号1.1.词法分析程序的作用词法分析程序的作用输入数据:输入数据:字符串形式的源程序字符串形式的源程序处理:处理:将源程序分割成一个一个具有独立意义的最小语法单位;将源程序分割成一个一个具有独立意义的最小语法单位;识别出相关的属性(保留字、标识符、常数、界限符、运算符)识别出相关的属性(保留字、标识符、常数、界限符、运算符)转换成长度上统一的标准形式转换成长度上统一的标准形式begin M:=3.1415/4*(d1*d1-d2*d2)endbegin M:=3.1415/4*(d1*d1-d2*d2)end1
6、begin2M33.14155:=4.1 词法分析器与单词符号4.1 词法分析器与单词符号1.1.词法分析程序的作用词法分析程序的作用输入数据:输入数据:字符串形式的源程序字符串形式的源程序处理:处理:将源程序分割成一个一个具有独立意义的最小语法单位;将源程序分割成一个一个具有独立意义的最小语法单位;识别出相关的属性(保留字、标识符、常数、界限符、运算符)识别出相关的属性(保留字、标识符、常数、界限符、运算符)转换成长度上统一的标准形式转换成长度上统一的标准形式词法分析举例词法分析举例输出结果:输出结果:一个一个“单词单词”或或“单词串单词串”2.2.词法分析程序的地位词法分析程序的地位4.1
7、 词法分析器与单词符号4.1 词法分析器与单词符号 作为一个独立阶段 作为一个独立阶段能能独立独立地研究词法与语法两方面的特性。词法规则简单,可建立地研究词法与语法两方面的特性。词法规则简单,可建立特别适用特别适用的有效分析技术,易于实现词法分析程序生成的有效分析技术,易于实现词法分析程序生成自动化自动化。可以就同一语言,为每种不同的应用情形编写一个词法分析程序,而只编写一个。可以就同一语言,为每种不同的应用情形编写一个词法分析程序,而只编写一个共同的共同的语法分析程序,只要每个词法分析程序产生相同的语法分析程序,只要每个词法分析程序产生相同的内部表示内部表示供语法分析程序使用即可。供语法分析
8、程序使用即可。编译程序的结构编译程序的结构表 格 处 理表 格 处 理出 错 处 理出 错 处 理源程序源程序目标程序目标程序词法分析词法分析语法分析语法分析语义分析语义分析代码优化代码优化代码生成代码生成2.2.词法分析程序的地位词法分析程序的地位4.1 词法分析器与单词符号4.1 词法分析器与单词符号 作为一个独立阶段 作为一个独立阶段能能独立独立地研究词法与语法两方面的特性。词法规则简单,可建立地研究词法与语法两方面的特性。词法规则简单,可建立特别适用特别适用的有效分析技术,易于实现词法分析程序生成的有效分析技术,易于实现词法分析程序生成自动化自动化。可以就同一语言,为每种不同的应用情形
9、编写一个词法分析程序,而只编写一个。可以就同一语言,为每种不同的应用情形编写一个词法分析程序,而只编写一个共同的共同的语法分析程序,只要每个词法分析程序产生相同的符号内部表示供语法分析程序使用即可。语法分析程序,只要每个词法分析程序产生相同的符号内部表示供语法分析程序使用即可。每当语法分析程序每当语法分析程序需要一个单词符号时需要一个单词符号时就调用词法分析子程序,就调用词法分析子程序,每一次调用每一次调用,词法分析子程序就从源程序中,词法分析子程序就从源程序中识别出一个单词符号识别出一个单词符号交给语法分析程序。交给语法分析程序。4.1 词法分析器与单词符号4.1 词法分析器与单词符号 作为
10、一个独立阶段 作为一个独立阶段 安排为一个子程序 安排为一个子程序2.2.词法分析程序的地位词法分析程序的地位 语法分析程序 词法分析程序 语义分析程序 送单词返回调用取单词源程序代码生成程序 目标程序 单遍扫描的编译程序单遍扫描的编译程序4.1 词法分析器与单词符号4.1 词法分析器与单词符号3.单词符号3.单词符号程序语言的单词符号一般可分为五种:保留字、标识符、常数、运算符、界限符。程序语言的单词符号一般可分为五种:保留字、标识符、常数、运算符、界限符。单词形式单词形式单词类别编码单词类别编码单词自身值单词自身值单词种别单词种别:一类一码;一符一码。:一类一码;一符一码。单词符号的属性值
11、单词符号的属性值:反映单词符号特征或特性的值。如标识符的符号表指针,常数的常数表指针等。:反映单词符号特征或特性的值。如标识符的符号表指针,常数的常数表指针等。词法分析程序的设计词法分析程序的设计?预处理预处理?单词符号的识别单词符号的识别?状态转换图的作用状态转换图的作用?词法分析程序的设计步骤词法分析程序的设计步骤1预处理预处理4.2 扫描程序的设计4.2 扫描程序的设计如删除注解、空格、回车符、换行符之类非必要信息。如删除注解、空格、回车符、换行符之类非必要信息。C/C+的预处理:的预处理:宏展开宏展开 包含文件包含文件 条件编译条件编译源程序不能一次性读入,怎么办?源程序不能一次性读入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 章词法分析6 词法 分析
限制150内