词法分析课件.ppt

词法分析课件.ppt

ID:57028939

大小:861.00 KB

页数:99页

时间:2020-07-26

词法分析课件.ppt_第1页
词法分析课件.ppt_第2页
词法分析课件.ppt_第3页
词法分析课件.ppt_第4页
词法分析课件.ppt_第5页
资源描述:

《词法分析课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章 词法分析本章介绍编译第一个阶段词法分析的设计原理和设计方法,要求明确此阶段的任务。理解通常的单词分类和构词规则。会使用单词的描述和识别机制。要求掌握正规文法、状态图、DFA、NFA、正规式和正规集的基本概念和它们之间的关系。掌握词法分析程序的手工实现方法。掌握词法分析程序的自动构造原理。教学目标1.词法分析的任务2.词法分析程序的输出形式3.词法分析程序的设计与实现4.正规式与有穷自动机5.词法分析程序的自动生成工具LEX6.PL/0编译程序的词法分析教学内容(1)分析和识别单词及属性,包括识别

2、语言的关键字、标识符、常数、运算符等;(2)跳过各种分隔符,如空格,回车,制表符等;(3)删除注释;(4)进行词法检查,报告所发现的错误;(5)建立符号表。4.1 词法分析的任务main()/*ADD*/{intx=10,y=20,sum;sum=x+y;}main、(、)、{、int、x、=、10、,、y、=、20、,、sum、;、sum、=、x、+、y、;}词法分析实现方案:基本上有两种1.词法分析单独作为一遍2.词法分析程序作为单独的子程序S.P.(字符串)词法分析S.P.(符号串)语法分析第一遍

3、第二遍单词串优点:结构清晰、各遍功能单一缺点:效率低S.P.(字符串)词法分析程序语法分析程序取单词单词单词的种类(1)关键字:if、for、while(2)标识符:(3)常数:(4)运算符:+、-、*(5)分界符:,、;、(、)4.1.2 词法分析程序的输出形式词法分析程序的输出形式-----二元式单词类别单词的属性值单词类别可以用整数编码表示:一类一种或一字一种单词类别关键字标识符常数运算符分界符编码12345表3.1intx=10,y=20,sum;词法分析的结果单词类别单词的属性值1int2指向

4、x的符号表入口指针4=3105,2指向y的符号表入口指针4=3205,2指向sum的符号表入口指针5;表4.1intx=10,y=20,sum;词法分析的结果3.5字母表,定义在上的正规式和正规集递归定义如下:1.和都是上的正规式,它们所表示的正规集分别为:{}和{};2.任何a,a是上的正规式,它所表示的正规集为:{a};3.假定U和V上的正规式,它们所表示的正规集分别记为L(e1)和L(e2),那么e1

5、e2,e1•e2和e1*也都是上的正规式,它们所表示的正规集分别为L(e1

6、)L(e2)、L(e1)•L(e2)和(L(e1))*4.任何上的正规式和正规集均由1、2和3产生。4.2 单词的描述工具4.2.1正规式与正规集正规式表示的语言称为正规集注:正规集中的每个元素就是正规文法中的一个句子正规式中的运算符:

7、-----或(选择)•----连接*或{}---重复()----括号运算符的优先级:先*,后•,最后

8、•在正规式中可以省略.正规式相等这两个正规式表示的语言相等【例4.1】设Σ={a,b}正规式正规集ba*所有以b为首后跟任意多个a的符号串a(a

9、b)*所有以a为

10、首的符号串(a

11、b)*abb所有以abb为尾的a,b符号串(a

12、b)*(aa

13、bb)(a

14、b)*所有含有两个相继的a或相继的b的符号串(aa

15、ab

16、ba

17、bb)*空串和任何长度为偶数的符号串(a

18、b)(a

19、b)(a

20、b)*任何长度大于等于2的符号串【例4.2】使用正规式来表示下面文法中的相应单词符号。<标识符>→字母

21、<标识符>字母

22、<标识符>数字)<无符号整数>→数字

23、<无符号整数>数字<单界符>→+

24、*

25、<

26、,

27、;<双界符>→<=标识符:l(l

28、d)*无符号整数:dd*单界符:+

29、*

30、<

31、,

32、;双界

33、符:<=设r,s,t均是正规式,则有以下性质:(1)交换律:r

34、s=s

35、r(2)结合律:r

36、(s

37、t)=(r

38、s)

39、t(rs)t=r(st)(3)分配律:(r

40、s)t=rt

41、st(4)同一律:εr=rε=r1.正规文法正规式规则1规则2规则3文法产生式正规式A→xB,B→yA→xA

42、yA→x,A→yA=xyA=x*yA=x

43、y步骤1将每条产生式改写为正规式;步骤2用代入法解正规式方程组,最后只剩下一个开始符号定义的正规式,其中不含非终结符。4.2.2正规文法与正规式【例4.3】G[S]:S→aA

44、aA

45、→dA

46、d规则1规则2规则3文法产生式正规式A→xB,B→yA→xA

47、yA→x,A→yA=xyA=x*yA=x

48、yS=aA

49、aA=d*d代入:S=ad*d

50、a=ad*2.正规式正规文法步骤1构造S→r步骤2不断利用表3.4的规则做变换,直到每个产生式最多含有一个终结符为止规则1规则2规则3文法产生式正规式A→xB,B→yA→xA

51、yA→x,A→yA=xyA=x*yA=x

52、y【例4.4】求正规式(a

53、b)(a

54、b

55、0

56、1)*对应的正规文法S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。