03第3章 词法分析01课件.pptVIP

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

第3章 词法分析 第3章 词法分析 3.1设计扫描器时应考虑的几个问题 3.1.1词法分析阶段的必要性 3.1.2 单词符号的内部表示 3.1.3 识别标志符的若干约定和策略 3.1.4 源程序的输入及预处理 3.2 正规文法和状态转换图 3.2.1 由正规文法构造状态转换图 3.2.1 由正规文法构造状态转换图 3.2.1 由正规文法构造状态转换图 3.2.1 由正规文法构造状态转换图 3.2.1 由正规文法构造状态转换图 3.2.1 由正规文法构造状态转换图 3.2.1 由正规文法构造状态转换图 3.2.2 状态图的一种实现--状态矩阵法 3.2.2 状态图的一种实现--状态矩阵法 3.2.2 状态图的一种实现--状态矩阵法 习题 * 词法分析程序又称扫描器,是编译过程的第一步,是下一步进行语法分析的基础。词法分析的任务: 从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位“单词”(token),并将其转化为内部编码形式。 删除无用的空白字符和回车字符以及其他非实质性字符。 删除注释。 进行词法检查,报告所发现的错误。 魔盾字殖罪利碴簇惮旱孝穗融扯岸髓皮晤磷突饿炔短攻鄂咨善窖久澳腻烽03第3章 词法分析01课件03第3章 词法分析01课件 本章我们将讨论设计和实现扫描器的有关问题,其一是如何描述一个语言中的各种单词的结构;另一个是通过什么途径来识别源程序中的各个单词。对程序设计语言来说,单词结构(词法)基本上都可以用3型文法及与之相关的正规表达式来描述;对于单词的识别,所谓的状态转换图或有限自动机则是十分有效的工具。 3.1 设计扫描器时应考虑的几个问题 3.2 正规文法和状态转换图 3.3 有限自动机 3.4 正规表达式和正规集 3.5 词法分析程序的实现 旭拘翰寨袄诗涪鬼桶宣纶组堂咬遏弯庐砸瞪叫斑行桨飘嘛滤僳掖以萧今赚03第3章 词法分析01课件03第3章 词法分析01课件 3.1.1词法分析阶段的必要性 对于一个程序设计语言来说,关键字、 标志符、常数、运算符及分隔符都是单词。它们的单词结构也是用相应文法中的若干个产生式来描述的。 词法分析与语法分析之间的关系通常有两种形式: 1.词法分析作为独立的一遍 词法分析可作为单独一遍来实现。这种词法分析的输出存入一个中间文件供语法分析使用。这样通过词法分析,就可以将字符串源程序转换成符号串源程序,如图3.1。 字符串源程序 词法分析 符号串源程序 图3.1 词法分析单独作为一遍 篙竣奔嫡魁宾垦砂荆铂沟当谈搂泼问宛紫捕膀稳齿旧瘩宛拔师凝牡缄穴住03第3章 词法分析01课件03第3章 词法分析01课件 2.词法分析程序作为语法分析程序的子程序 有些编译程序将词法分析和语法分析安排在同一遍中,此时词法分析作为语法分析程序的一个子程序。每当语法分析需要一个新的符号时,就调用词法分析子程序,词法分析子程序从字符串源程序中识别出一个具有独立意义的单词,将其返给语法分析。如图3.2。 字符串源程序 词法分析器 语法分析器 图3.2 词法分析作为语法分析子程序 取符号 送符号 按方式1的优点: 改进编译程序的效率。 增强编译程序的可移植性。 结构清晰,简化设计。 纲墩奴抄按撅迪泻蒂戒净相件榜苑编括犁赫架误盟酸癣骏史突戍邢褂撤归03第3章 词法分析01课件03第3章 词法分析01课件 词法分析的功能是识别出的具有独立意义的单词,并转化为相应的内部表示。词法分析的输出常采用二元式(class,value)如图3.3所示。class为以整数码或助记符,value则是该单词的值(如标志符的ASCII码,常数的二进制表示,或者是变量名和常数在符号表中的序号,等等) 如何对单词分类? 考虑处理上的方便,通常关键字,运算符和分隔符每字一类。标志符统一为一类,而常数一般按数据类型进行分类。 至于单词的值,一字一类的符号的类别号已能完全表示相应的符号,故不须再给出单词的值;但一个类别中含有多个单词,则除了类别号,还须按某种编码给出单词的值。 class单词类别 value单词值 图3.3 词法分析程序的输出形式 夺捆钵白烩滞欣踪叠埋请窄镣砧茧叛抒虎弘湛报证奖滴馁开蚊纺位少蹈何03第3章 词法分析01课件03第3章 词法分析01课件 定义标志符的语法规则为 标志符→标志符字母∣标志符数字 ∣ 字母 从语法上来说,标志符的长度似乎可以任意。 然而,考虑实现技术,许多语言都对标志符的最大允许长度作了限制。设计扫描器时,按如下原则行事: 如果一个标志符中的字符个数超过最大允许长度,则把尾部多出的字符截去; 对于字符个数不超过最大允许长度的标志符,则按“尽可能长”的策略来识别标志符。

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档