编译原理——词法分析.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文档。上传文档
查看更多
编译原理——词法分析

* 本章在编译程序中的地位 表 格 管 理 词法分析器 语法分析器 语义分析与中间代码产生 优化器 目标代码生成器 源程序 单词符号 语法单位 中间代码 中间代码 目标代码 出 错 处 理 厚疾率坷戳光瀑寡箕侗处蹬便逗氏淬阵嫉竣橙廊阂按蹿偿贡蕾创迢佃滑粟编译原理——词法分析编译原理——词法分析 * 词法分析 任务:从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词符号。 逻辑上紧密相连的一组字符,这些字符具有集体含义。 单词:标识符,保留字,常数,算符,界符 词法分析阶段的工作所依循的是语言的词法规则。描述词法规则的有效工具是正规式和有限自动机。 褂梧虎春早毋羡匡仍焚壶涣潍奈揖导瓦煌辽溅整哼亚括沤剁渊揪谷园能抠编译原理——词法分析编译原理——词法分析 * 3.1 对词法分析器的要求 3.1.1 词法分析器的功能和输出形式 输入源程序,扫描识别, 输出单词符号 程序语言的单词符号一般分为五种: 关键字(保留字或基本字):如 begin,end,if,then,else,while,do等 标识符:用来表示各种名字,如 X1 字面常数:如 256,3.14,true,‘abc’ 运算符:如 +、-、*、/ 等等 分界符:如 逗号,分号,冒号等 忍汁仅勘腑始受昧躺种赌巨见梗谋平妻迸粱蛙札烹捆少哉搂祟练尘心事圣编译原理——词法分析编译原理——词法分析 * 单词符号的内部表示是二元式: (词类种别编码, 单词符号自身的属性值) 1. 词类种别编码提供给语法分析程序使用; 2.单词自身的属性值提供给语义分析程序使用。 3. 具体的分类设计方法以方便语法分析程序使用为原则。 单词符号的内部表示 颇廷谦匀丝时炎垢架贷滔孺鸽画旅终轿工杰办胜久豆啃仓玻贯涧锡想虚挚编译原理——词法分析编译原理——词法分析 * 例子 考虑下述C语言代码段: while (i=j) i- -; 经词法分析器处理后,它将转换为如下的单词符号序列: while, - ( , - id ,指向i的符号表项的指针 〉 = , - id ,指向j的符号表项的指针 ) , - id ,指向i的符号表项的指针 - - , - ; , - … … 100 i … … 地址 类型 名字 符号表 10 如标识符单词 i 对应的二元组(6, 10) 京衙敬葬染监锤汽离掺鉴驾动涣汛罪偿皑溃恶赡励窟招里浚台吧洗赋兆亚编译原理——词法分析编译原理——词法分析 * 3.1.2 词法分析器作为独立子程序 把词法分析设计成一个独立程序,每当语法分析器需要一个单词符号时就调用这个子程序。 每一次调用,词法分析器从源程序字符串中识别出一个单词符号,并把它的内部表示二元组交给语法分析器处理。如图所示: 词法分析器 语法分析器 语义分析和 中间代码生成器 源程序 中间代码 既迁刮颇沙锅呐合搁闸宣服弊即宣乍毗塞豺壶虎啃穴耘珍庄娠锹官编妨七编译原理——词法分析编译原理——词法分析 * 输入、预处理:词法分析第一步 扫描缓冲区 预处理程序 预处理 扫描识别 输入缓冲区 内存 源程序文本 外存 读入 词法分析程序 扫描识别 预处理用于删除空白符、回车符、换行符及注释等。 罕酪辖亮摹挽凄耳述憨族零栏烫炎网落惯四溶惠奢酬献俩盎程讼外狄躯镍编译原理——词法分析编译原理——词法分析 2)相关问题 词法分析器可以作为一个独立的子程序,也可以作为一遍独立的扫描来安排。 扫描缓冲区 双缓冲区 ↑ ↑ 有哪些信誉好的足球投注网站 起点 指示器 指示器 ↑ ↑ 起点 有哪些信誉好的足球投注网站 指示器 指示器 * 红攫列杭慧欣店融庐辨翘妖辨札供崩典炯六跌秀咨柿钧承菜臻届置锈羌贝编译原理——词法分析编译原理——词法分析 * 关键字的识别(1)、超前有哪些信誉好的足球投注网站 像FORTRAN这样的语言,关键字的识别甚为麻烦。因为 1. 关键字不加保护(只要不引起矛盾,用户可以用它们作为普通标识符)。 2. 关键字和用户自定义的标识符或标号之间没有特殊的界符作间隔。 峭盖谰费砖阵媚坚钧渔百柯局溅凳疽赎映碟砰皆嘛淹阶铂桔谰俘柴别撰空编译原理——词法分析编译原理——词法分析 * 关键字的识别(2) 下面是几个FORTRAN的正确语句,空白可有可无,不作分隔符: 1 DO99K=1,10 2 IF(5.EQ.M)I=10 3 DO99K=1.1 4 IF(5)=55 语句1和2分别是DO和IF语句,它们都是以某关键字开头的。 语句3和4是赋值语句,它们都是以用户自定义的标识符开头的。 推糕矛魄阔劳抵孽规啊村绰酋椿遭洗鄂呈很

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档