第02-03讲-词法分析-I-new.pptxVIP

  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文档。上传文档
查看更多
编译原理词法分析大连理工大学软件学院源程序词法分析器语法分析器语义分析器符号表管理器 出错管理器中间代码生成器代码优化器代码生成器目标程序源代码词法分析器记号(token)流词法分析器的功能:第二章 词法分析记号词法分析器语法分析器源程序取下一个记号?符号表本章内容词法分析器:把构成源程序的字符流翻译成记号流,还完成和用户接口的一些任务介绍正规式、状态转换图和有限自动机概念Lex与词法分析器的自动生成词法分析:编译第一步看一个中文的句子黄蓉是古代的才女代词动词形容词名词(短语)通过分词操作,把句子以单词或者词组为单位进行划分,得到一个句型。C语言的语句例子例子中哪些是词法单元?词法单元又称单词,是编程语言中合法的字符串词法记号满足某种规则的词法单元,采用同一种记法——词法记号。y2+12;L1:x=IDPLUSINTSEMI-COLIDCOLONIDASSGN编译的词法分析做的工作类似于分词,把原始的字符串流形式的程序文本转换为词法记号流的形式词法分析:编译第一步看一个中文的句子你们是优秀的大工学子代词动词形容词名词(短语)通过分词操作,把句子以单词或者词组为单位进行划分,得到一个句型。2.1词法单元与词法记号满足一个给定规则的词法单元,被记为一个词法记号古代的现代的漂亮的形容词模式潇洒的词法单元词法记号词法模式C语言的标识符? x2, 12, _12, _abc 哪些是合法的C标识符?C语言标识符的规则(模式): 首字符必须是_或者字母,由_、字母或数字组成的字符串词法模式常见记号及模式的例子:简单的一对一模式词法记号 词法单元例举 模式的非形式描述 STRUCTstruct struct FOR for for RELOP , = , = , … 或 = 或 = 或 … ID sum, _12, _x _或字母开头的 由_、字母和数字组成的串 NUM 3.1, 10, 2.8 E12 任何数值常数 LITERAL “seg. error” 引号“和”之间的任意字符 串,但引号本身除外相对复杂一点的模式2.1 词法记号及属性 2.1.1 词法记号、模式、词法单元 名词 大连 软件 大黑山 表示名称的词连词 和 与 或 和 与 或 ….词法记号 词法单元例举 模式的非形式化描述词法记号 词法单元例举 模式的非形式描述relation , = , = , … 或 = 或 = 或 … id sum, count, D5 由字母开头的字母数字串词法记号 词法单元例举 模式的非形式描述中国人 胡锦涛 毛泽东 具有中国国籍的人美国人 奥巴马 克林顿 具有美国国籍的人2.1 词法记号及属性记号词法分析器语法分析器源程序取下一个记号存在的意义?符号表2.1 词法记号及属性如果简单地把词法记号流传给语法分析器,会产生什么后果?语义被完全摒弃,只剩下一个语法结构郭靖是大侠翻译官黄蓉是美女Pronoun Verb Noun说了什么呀????我爱编译器2.1 词法记号及属性每个词法记号具有一定的含义(属性)y2+12;L1:x=IDPLUSINTSEMI-COLIDCOLONIDASSGN第一个ID,名称是L1, 表示的是标号(Label)第二个ID,名称是x, 表示的是一个变量,类型是int第三个ID,名称是y2, 表示的是一个变量,类型是int2.1 词法记号及属性position := initial + rate * 60的记号和属性值: ?id,指向符号表中position条目的指针? ?assign _ op ? ?id,指向符号表中initial条目的指针? ?add_op ? ?id,指向符号表中rate条目的指针? ?mul_ op ? ?num,整数值60?课后练习prog1: 编写一个程序,用于统计文件中单词的总数,不同单词的数目。eg: I love Dalian and I love DLUT单词总数:7不同单词数目:52.1 词法记号及属性2.1.3 词法错误词法分析器对源程序采取非常局部的观点,难以发现下面的错误 fi (a == f (x) ) … 例外:如在实数是a.b格式下,可以发现下面的错误 123.2.1 词法记号及属性2.1.3 词法错误恢复策略“紧急方式”错误修补尝试删除一个多余的字符插入一个遗漏的字符用一个正确的字符代替一个不正确的字符交换两个相邻的字符本讲纲要词法分析概念词法记号的描述2.2 词法记号的描述与识别词法模式的表示方法,是词法记号描述的核心下面是用于描述词法记号的模式语言模式词法单元词法记号2.2 词法记号的描述与识别2.2.1 串和语言字母表:符号的有限集合, 例:? = {0,1}串:符号的有穷序列,例:0110,?

文档评论(0)

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

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

1亿VIP精品文档

相关文档