第03讲-词法分析-II.ppt
《第03讲-词法分析-II.ppt》由会员分享,可在线阅读,更多相关《第03讲-词法分析-II.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章内容本章内容词法分析器:把构成源程序的字符流翻译成记词法分析器:把构成源程序的字符流翻译成记词法分析器:把构成源程序的字符流翻译成记词法分析器:把构成源程序的字符流翻译成记号流,号流,号流,号流,还完成和用户接口的一些任务还完成和用户接口的一些任务还完成和用户接口的一些任务还完成和用户接口的一些任务介绍正规式、状态转换图和有限自动机概念介绍正规式、状态转换图和有限自动机概念介绍正规式、状态转换图和有限自动机概念介绍正规式、状态转换图和有限自动机概念LexLex与词法分析器的自动生成与词法分析器的自动生成与词法分析器的自动生成与词法分析器的自动生成词法分析器词法分析器词法分析器词法分析器语法
2、分析器语法分析器语法分析器语法分析器符号表符号表符号表符号表记号记号记号记号取下一个记号取下一个记号取下一个记号取下一个记号源程序源程序源程序源程序第二章 词法分析1回顾词法分析概念词法记号的描述2词法单元、词法记号L1L1:x x=IDIDCOLONCOLONIDIDASSGNASSGNy2y2+1212;IDIDPLUSPLUSINTINTSEMI-COLSEMI-COL词法单元词法单元又称单词,是编程语言中合法的字符串又称单词,是编程语言中合法的字符串又称单词,是编程语言中合法的字符串又称单词,是编程语言中合法的字符串词法记号词法记号满足某种规则的词法单元,采用同一种记法满足某种规则的词
3、法单元,采用同一种记法满足某种规则的词法单元,采用同一种记法满足某种规则的词法单元,采用同一种记法词法记号。词法记号。词法记号。词法记号。3词法单元词法单元 词法记号词法记号词法单元词法单元词法单元词法单元词法记号词法记号词法记号词法记号模式模式模式模式用模式语言描述用模式语言描述用模式语言描述用模式语言描述正规式,是描述词法记号的一种最为常见的模式语言正规式,是描述词法记号的一种最为常见的模式语言正规式,是描述词法记号的一种最为常见的模式语言正规式,是描述词法记号的一种最为常见的模式语言4字母字母字母字母组合组合组合组合串串串串语言语言语言语言集合集合集合集合集合集合集合集合字母表字母表字母
4、表字母表长度长度长度长度为为为为0 0的空的空的空的空串串串串2.2 词法记号的描述与识别长度的长度的长度的长度的表示表示表示表示|a|a|2.2.1 串和语言串和语言字母表字母表字母表字母表:符号的有限集合,:符号的有限集合,:符号的有限集合,:符号的有限集合,例:例:例:例:=0,10,10,10,1串:串:串:串:符号的有穷序列,例:符号的有穷序列,例:符号的有穷序列,例:符号的有穷序列,例:0110,0110,0110,0110,语言语言语言语言:字母表上的一个串集:字母表上的一个串集:字母表上的一个串集:字母表上的一个串集 ,0,00,000,0,00,000,0,00,000,0,
5、00,000,52.2 词法记号的描述与识别2.2.1 串和语言串和语言串的运算串的运算连接连接连接连接xyxy,s s =s s=s s 积积积积(指数)(指数)(指数)(指数)s s0 0为为为为 ,s si i为为为为s si i-1-1s s(i i 0 0)6语言的运算语言的运算和:和:和:和:L L M M=s s|s s L L 或或或或 s s MM 连接连接连接连接:LM LM=stst|s s L L 且且且且 t t MM 指数:指数:指数:指数:L L0 0是是是是 ,L Li i是是是是L Li i-1-1L L 闭包:闭包:闭包:闭包:L L L L =L L L
6、L0 0 L L L L1 1 L L L L2 2 正闭包正闭包正闭包正闭包:L L L L+=L L L L1 1 L L L L2 2 例例2.2(p17)L L:A A,B B,Z Z,a a,b b,z z,D D:0,1,9 0,1,9 L L D D,LDLD,L L6 6,L L*,L L(L L D D)*,D D+2.2 词法记号的描述与识别L L =L L0 L L+7本讲纲要正规式词法记号的识别有限自动机定义DFA构建方法8正规式正规式,又称正则表达式,Regular Expression92.2.2 2.2.2 正规式正规式正规式:按照一组定义规则,由较简单的正规式正
7、规式:按照一组定义规则,由较简单的正规式正规式:按照一组定义规则,由较简单的正规式正规式:按照一组定义规则,由较简单的正规式构成的,每个正规式构成的,每个正规式构成的,每个正规式构成的,每个正规式 r r r r 表示一个语言表示一个语言表示一个语言表示一个语言 L(rL(rL(rL(r).).).).定定定定义规则说明义规则说明义规则说明义规则说明 L(rL(rL(rL(r)是怎样以各种方式从是怎样以各种方式从是怎样以各种方式从是怎样以各种方式从 r r r r 的子的子的子的子正规式所表示的语言组合而成。正规式所表示的语言组合而成。正规式所表示的语言组合而成。正规式所表示的语言组合而成。正
8、规式正规式正规式正规式用来表示简单的语言,叫做用来表示简单的语言,叫做用来表示简单的语言,叫做用来表示简单的语言,叫做正规集正规集正规集正规集。正规式是用于说明正规式是用于说明正规式是用于说明正规式是用于说明词法单元如词法单元如词法单元如词法单元如何对应到词法记号的模式何对应到词法记号的模式何对应到词法记号的模式何对应到词法记号的模式。与。与。与。与非形式化的描述相比,正规式非形式化的描述相比,正规式非形式化的描述相比,正规式非形式化的描述相比,正规式更具形式化,更加精确。更具形式化,更加精确。更具形式化,更加精确。更具形式化,更加精确。2.2 词法记号的描述与识别102.2.2 2.2.2
9、正规式正规式正规式正规式正规式正规式 定义的语言定义的语言定义的语言定义的语言 备注备注备注备注 a a a a a a (r r)|()|(s s)L L(r r)L L(s s)r r和和和和s s是正规式是正规式是正规式是正规式(r r)()(s s)L L(r r)L L(s s)r r和和和和s s是正规式是正规式是正规式是正规式(r r)*(L L(r r)*r r是正规式是正规式是正规式是正规式(r r)L L(r r)r r是正规式是正规式是正规式是正规式运算符的优先级:运算符的优先级:运算符的优先级:运算符的优先级:*连接运算连接运算连接运算连接运算|(a)(b)a)(b)a
10、)(b)a)(b)*)|(c)|(c)|(c)|(c)可以写成可以写成可以写成可以写成abababab*|c|c|c|c2.2 词法记号的描述与识别定义字母表定义字母表 上上正规式的规则正规式的规则11正规式的例子正规式的例子 =a a,b b a a|b b a a,b b(a a|b b)()(a a|b b)aaaa,abab,baba,bbbb aaaa|abab|baba|bbbb aaaa,abab,baba,bbbb a a*由字母由字母由字母由字母a a构成的所有串集构成的所有串集构成的所有串集构成的所有串集(a a|b b)*由由由由a a和和和和b b构成的所有串构成的所有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 词法 分析 II
限制150内