- 1、本文档共100页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 词法分析 本章要求 主要内容:词法分析的任务,手工实现词法分析程序,正规式与有穷自动机,词法分析程序的自动生成 重点掌握:词法分析器的功能和接口,用状态转换图设计和实现词法分析程序,正规文法、正规式和有穷状态自动机的概念及相互转换 词法分析程序所处的位置: 3.1 词法分析器的功能 单词:是语言中具有独立意义的最小单位,常用单词分类: 保留字:具有固定意义的标识符 运算符 界符 标识符:表示各种名字 常数 对于一个程序设计语言,保留字、运算符和界符都是确定的,可以给以固定的编号(种别码)。 标识符是根据构词规则定义的,常数是符合定义的各种类型的常数 种别码:是对能识别的单词的分类编码 有多种编码方式: 标识符一般统一为一种:一个编号 常数按类型分别编码:整数、实数、布尔、字符 关键字一般一字一种 运算符一般一符一种 界符一般一符一种 某语言单词的种别码定义举例 词法分析器的输出 1. Token串: 输出源文件中各个有用的单词 格式: (单词的种别码,单词符号的属性值) 单词种别:是对能识别的单词的分类编码(P42) 单词符号的属性值:单词的某种特性或特征 常数的值,标识符的名字等 保留字、运算符、分界符的属性值可以省略 文件存放最好有格式,如每个单词占一行方便“语法分析”程序调用 P38 例 源程序 token文件 {this is a sample program writing in simple language} program example1; {used for illustrating compiling process} var a,b,c:integer; x:char; begin if (a+c*3 b) and (b3) then c:=3; end. program example1 ; var a , b , c : integer ; x : char ; begin if ( a + 2. 符号表 各种常数和标识符一般放在符号表中,在输出的token文件中的单词属性值则存放单词在符号表中的指针 符号表的格式:字符串 if (ab2) test:=3; 格式2:(用指针) {this is a sample program writing in simple language} program example1; {used for illustrating compiling process} var a,b,c:integer; x:char; begin if (a+c*3 b) and (b3) then c:=3; End. 3. 其它输出:错误信息和源程序清单 错误信息应该详细,准确,指出出错的具体行、列位置,发生了哪类错误等,方便用户修改 错误处理 应尽可能发现更多的错误 处理方式 每个程序段单独处理错误 统一处理错误(商用软件系统) 记录式的文件 数据库 统计表明,现代软件系统中, 75%的程序代码都是用于处理错误与错误信息 商业系统中错误处理的特点是:统一错误编号,编制文档指出错误信息的含义、应对措施、解决方案 词法错误类型 非法字符 单词拼写错误 难以发现下面的错误 fi (a = x ) … 在实数是a.b格式下,可以发现下面的错误 123. 词法分析是编译过程中的一个阶段,在语法分析前进行。可以作为一个独立的子程序,独立出来的原因: 简化设计 改进编译效率 增加编译系统的可移植性 可以和语法分析结合在一起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。 3.2 词法分析程序的设计 扫描器的任务 组织源程序的输入; 按规则拼单词,并转换成二元式形式; 删除注解行、空格及无用符号; 行计数、列计数; 列表打印源程序; 发现并定位词法错误; 如需要,还要建立关键字表、符号表、常数表等表格。 词法分析程序的接口 识别单词前作如下假定: 关键字就是保留字 单词中间不能有分界符(如空格、空白、界符和算符等) 单词中间不能有注释 单词必须在一行内写完,换行后认为是另一个单词 一个单词不能超过规定长度 识别单词 主要包括如下几种单词的识别: 标识符的识别:字母+(字母/数字) 关键字的识别:与标识符相同,最后查表 常数的识别 界符和算符的识别 单词的构成规则用状态转换图表示 一个状态图可用于识别一定的字符串,大多数程序设计语言的单词符号都可以用转换图来识别。 识别过程是:从初始状态0开始,若读入一个字母,转入1状态,若再读入字母或数字
您可能关注的文档
- 论轻质隔墙在建筑工程中应用和分析研究.pdf
- 铝合金门与玻璃隔断施工工艺.doc
- 必威体育精装版金属材料牌号、性能、用途与中外牌号对照速用速查实用手册.pdf
- 小教堂与附属用房装修施工方案.doc
- 星海湾金融商务区项目幕墙施工组织设计与方案.docx
- 宿州学院-基于单片机电热水器设计.pdf
- 煤电一体化土建与安装工程监理规划.doc
- 中央空调系统设计2014年1105.ppt
- 中州大道互通立交工程冬季施工方案2013年-12-23.doc
- 美术种类与在生活中应用.ppt
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
最近下载
- 宜兴市各级文物保护单位一览表.docx
- 国学《千字文》之《渠荷的历》个人原创课件公开课课件.pptx VIP
- 老旧小区改造工程项目可行性研究报告.docx VIP
- 《GB∕T 45003-2024职业健康安全管理 工作中的心理健康安全:管理社会心理风险 指南》解读和应用指导材料(2024A0-雷泽佳).docx VIP
- 妙事多音乐--张老师 -培训讲解.ppt
- 基础化学高职高专第五版高琳第十章氧化还原平衡.pptx
- 在线网课学习课堂《英语视听说(西京学院 )》单元测试考核答案.docx
- 电子商务平台商家入驻协议书模板.doc
- 北京四中2023学年度上学期初中九年级期中考试物理试卷.docx
- 自然教育研学方案.pptx
文档评论(0)