第四章__词汇分析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章__词汇分析

第4章 词法分析;教学内容;一、词法分析的任务;识别单词;词法分析程序的主要任务: 扫描源程序,识别出单词 其他任务: 滤掉空格,跳过注释、换行符 追踪换行标志,复制出错源程序, 宏展开,……;二、与语法分析程序的接口方式; 字符串表示的源程序;三、单词的分类;程序设计语言的单词符号一般可分成下列5种: ①关键字(基本字,保留字):具有固定意义的标识符,如PASCAL语言中的begin,end,if和while等。 ②标识符:用来表示各种名字,如常量名、变量名和过程名等。 ③ 常数:各种类型的常数,如25,3.1415,TRUE和“ABC”等。 ④ 运算符:如+,*,=等。 ⑤ 界符:如逗点,分号,括号等。;单词的输出形式;四、单词的三种描述工具;1.正规文法;标识符的文法;2、正规式;正规式与正规集的递归定义: 1、ε和Φ都是字母表∑上的正规式,它们所表示的正规集分别为{ε}和Φ; 2、任何a∈∑,a是∑上的一个正规式,它所表示的正规集为{a}; 3、 正规式 正规集 正规式 正规集 U L(U) (U | V) L(U)∪L(V) V L(V) (U·V) L(U)L(V) (U)* L(U)*(闭包) 仅由有限次使用上述三步骤而得到的表达式才是∑上的正规式。仅由这 些正规式所表示的子集才是∑上的正规集。;示例;例:令∑={a,b},下面是∑上的正规式和相应的正规集: 正规式 正规集 ba* ∑上所有的以b为首,并且后跟任 意多个a的字,{b, ba,baa,baaa,…} a(a|b)* ∑上所有的以a为首的字 (a|b)* (aa|bb) (a|b)* ∑上所有含有两个连续的a或者b的字;正规式的性质;确定的有穷自动机DFA;示例; 显然,一个DFA可用一个矩阵表示,该矩阵的行表示状态,列表示输入字符,矩阵元素表示δ(s,a)的值。这个矩阵称为状态转换矩阵。; 一个DFA也可用一张(确定的)状态转换图来表示。假定DFA M含有m个状态和n个输入字符,那么,这个状态转换图含有m个状态结点,每个结点顶多有n条箭弧射出和别的结点相连接,整张图含有一个初态结点和若干个(可以为0)终态结点。;状态转换图;b;串?为DFA M所识别;3;扩充转换函数f;DFA M所能识别的语言集;示例;标识符的DFA;无符号整数的DFA;不确定的有穷自动机NFA; 一个含有m个状态和n个输入字符的NFA可用一张如下的状态转换图来表示:该图含有m个状态结点,每个结点可以射出若干条弧与别的结点相连接,每条弧用∑*中的一个字(可以是不同的字,也可以是空字)做标记,整张图至少含有一个初态结点和若干个(可以为0)终态结点。某些结点既可以是初态结点也可以是终态结点。;NFA的状态转换图;y;练习:考虑以下NFA通过怎样的转换接受串acab:;1;NFA M所能识别的语言集;讨论;词法分析器的自动生成原理

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档