- 1、本文档共101页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理实践及应用》PPT教学课件-第3章 词法分析
第三章 词法分析 本章要求 主要内容:词法分析的任务,手工实现词法分析程序,正规式与有穷自动机,词法分析程序的自动生成 重点掌握:词法分析器的功能和接口,用状态转换图设计和实现词法分析程序,正规文法、正规式和有穷自动机的概念及相互转换 词法分析程序所处的位置: 3.1 词法分析器的功能 单词:是语言中具有独立意义的最小单位,常用单词分类: 保留字:具有固定意义的标识符 运算符 界符 标识符:表示各种名字 常数 对于一个程序设计语言,保留字、运算符和界符都是确定的,可以给以固定的编号(种别码)。 标识符是根据构词规则定义的,常数是符合定义的各种类型的常数 种别码:是对能识别的单词的分类编码 有多种编码方式: 标识符一般统一为一种:一个编号 常数按类型分别编码:整数、实数、布尔、字符 关键字一般一字一种 运算符一般一符一种 界符一般一符一种 某语言单词的种别码定义举例 词法分析器的输出 1. Token串: 输出源文件中各个有用的单词 格式: (单词的种别码,单词符号的属性值) 单词种别:是对能识别的单词的分类编码(P42) 单词符号的属性值:单词的某种特性或特征 常数的值,标识符的名字等 保留字、运算符、分界符的属性值可以省略 文件存放最好有格式,如每个单词占一行方便“语法分析”程序调用 源程序 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状态,若再读入字母或数字,仍处于1状态,否则转
您可能关注的文档
- 化工分离过程第七章 其它分离技术和分离过程的选择.ppt
- 化工原理-干燥技术.ppt
- 化学实验安全操作.pdf
- 化工原理多媒体课件1.ppt
- 化工建设项目安全设计管理导则》培训教材04、05.ppt
- 化工板块HSE体系建设的回顾和打算.ppt
- 化工板块上市以来事故分析与对策1压制.ppt
- 化工工艺学-纯碱和烧碱.ppt
- 化妆品的制作.ppt
- 化工单元操作过程-气体输送机械 (NXPowerLite).ppt
- 区委书记、市国资委党委领导班子2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面检查材料【两篇文】.docx
- 局党组书记、市国资委党委领导班子2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面个人检查材料2篇文.docx
- 市交通运输局局长2025年专题生活会对照“四个带头”含落实意识形态工作责任制方面个人对照检查发言提纲与检察院领导班子“四个带头”检查材料【2篇文】.docx
- 市投资促进局党支部书记2025年组织生活会对照“四个带头”个人对照检查发言材料与党组书记“四个带头”个人对照检查材料(内蒙古地区四个对照,反面典型案例检视剖析)【2篇文】.docx
- 市教育局党委副书记、市国资委党委领导班子2025年“四个带头”个人对照检查发言材料(上年度整改+个人事项+典型事例剖析)2篇文.docx
- 2025年专题生活会“四个带头”方面对照检视材料(问题+原因+措施+意识形态)与纪检委员专题生活会“四个带头”方面个人对照检查材料【2篇文】.docx
- 检察院领导班子2025年专题生活会对照“四个带头”检查材料与县司法局专题生活会党组书记个人对照“四个带头”对照检查材料(含反面典型案例全面剖析)2篇文.docx
- 市机关事务局党支部书记、局党组书记2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面个人发言材料、检查材料【2篇文】.docx
- 2025年领导干部专题生活会“四个带头”对照检查材料与市审计局领导班子专题生活会“四个带头”含反面典型案例剖析对照检查材料2篇文.docx
- 2025年县司法局专题民主生活会班子围绕“4个带头”对照检查材料与反面典型案例回顾与剖析对照检查发言材料2篇文.docx
最近下载
- 初中物理:速度-课件.ppt
- 【汽修帮手资料库】2022年雪佛兰迈锐宝XL维修手册——发动机故障码诊断流程DTC P2122、P2123、P2127、P2128或P2138.pdf
- 10多目标规划2学习课件.pptx VIP
- 2025年营销活动合同.docx VIP
- 企业文化管理(第五版)王成荣-全套课件.pptx
- Panasonic松下 焊接电源YD-350FR2HGE、YD-500FR2HGE使用说明书.pdf
- 二年级上册数学课件-奥数:解应用题 全国通用 10张PPT.pptx VIP
- 内科疾病护理常规.pdf VIP
- 黑布林阅读初二7《小妇人》中文版.pdf
- 部编版小学语文六年级语文下册第一单元教材分析解读.pptx
文档评论(0)