- 1、本文档共164页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机编译原理 计算机编译原理 第三章 词法分析 学习内容 3.1 词法分析的任务 3.2 词法分析程序的设计与实现 3.3 正规式与有穷自动机 3.4 词法分析程序的自动构造工具 学习目标 掌握:词法分析程序的构造,正规式和正规文法到有穷自动机的转换,NFA到DFA的转换、DFA的化简 理解:正规文法、正规式、DFA的概念、NFA的概念 了解:词法分析程序的自动构造工具 3.1 词法分析的任务 词法分析是编译过程中的第一个阶段,它的主要任务是扫描源程序,按构词规则识别单词,并报告发现的词法错误。 输入:源程序字符串 输出:单词符号(最基本的语法单位) 词法分析程序的功能 词法分析程序主要执行以下功能: 读入源程序字符串,识别开具有独立含义的最小语法单位——单词(符号); 把单词变换成长度统一的且为定长的属性字; 其他功能: 滤掉空格,跳过注释、换行符 某些预加工处理 词法分析程序的实现方式 1.词法分析单独作为一遍 优点: 结构清晰、各遍功能单一,有利于集中考虑词法分析一些枝节问题。 词法分析程序的实现方式 2.词法分析程序作为单独的子程序 更通常情况,常将词法分析程序设计成一个子程序,每当语法分析程序需要一个单词时,则调用该子程序。 词法分析程序的输出 1.单词的种类 单词符号一般可分为下列五种: 基本字(关键字):begin、end、if、while、var 标识符:常量名、变量名、过程名 常数(量):25、3.1415、true、“ABC” 运算符:+、-、*、<= 界符:逗点、分号、括号 词法分析程序的输出 单词类别:表示单词种类,常用整数编码,它是语法分析需要的 几种常用的单词内部形式: 1)一类一种:按单词种类分类。 2)一字一种:保留字、运算符和分界符采用一符一类,所有标识符为一个编码,所有常数为 一个编码。 词法分析程序的输出 2.单词的输出形式: (单词种别,单词符号的属性值) 单词的属性值:指单词符号的特征,通过属性值把同一种类的单词区别开来。关键字、常数、运算符和分界符的属性值即为自身值,标识符的的属性值为为存放该标识符的符号表入口的指针。 例1(一类一种) 单词的种别可以用整数编码表示,假如标识符编码为1,常数为2,关键字为3,运算符为4,界符为5。 if i=5 then x:=y 关键字 if (3, ‘ if’) 标识符 i (1,指向i的符号表入口) 等号 = (4, ‘= ’) 常数 5 ( 2, ‘5’ ) 关键字 then ( 3, ‘then ’ ) 标识符 x ( 4,指向x的符号表入口) … 例2(一字一种) C程序 while (i=j) i--; 输出单词符号: while, - (, - id, 指向i的符号表项的指针 =, - id, 指向j的符号表项的指针 ), - id, 指向i的符号表项的指针 --, - ;, - 若一个种别只有一个单词符号,则种别编码就代表该单词符号。 3.2 词法分析程序的设计与实现 状态图 状态转换图是为了识别正规文法所表示的单词而设计的一种有限方向图。 在状态转换图中,结点代表状态,用圆圈表示。状态之间用箭弧连接,箭弧上的标记(符号)代表在射出结点状态下可能出现的输入符号或符号类。 3.2 词法分析程序的设计与实现 一张状态转换图只包含有限个状态,即有限个结点,其中有一个初态,并由若干终态(用双圆圈表示)。 复习——正规文法 3型文法(正规文法): 它是2型文法的特例,任一产生式α→β的形式都为 A→aB或 A→a,其中A ,B∈VN ,a∈VT。 在程序设计语言中,3型文法通常用来描述单词的结构。 正规文法又成为右线性文法。 左线性文法:产生式为 A→Ba或 A→a 由正规文法构造状态图 1.对于右线性文法,状态图的构造步骤如下: 步骤1:增加节点Z为终态(假定文法的字母表中不包括符号Z); 步骤2:将每一个非终结符号设置为一个对应的状态; 步骤3:对于形如A→a的每一个规则,引一条从状态A到Z的弧,弧上标记为a;而对于形如A→aB的每个规则,引一条从状态A到B的弧,标记为a(其中B∈VN ,a∈VT )。 由正规文法构造状态图 2.对于左线性文法,状态图的构造步骤如下: 步骤1:增加节点S为初态(假定文法的字母表中不包括符号S); 步骤2:将每一个非终结符号设置为一个对应的状态; 步骤3:对于形如A→a的每一个规则,引一条从状态S到A的弧,弧上标记为a;而对于形如A→Ba的每个规则,引一条从状态B到A的弧,标记为a(其中B∈VN ,a∈VT )。 例子 假设某语言的标识符用一下正规文法来定义: G[S]: S
您可能关注的文档
- 绿植领养活动总结.pptx
- 绿色农场项目策划书.ppt
- 绿城诸暨2010年度营销工作计划1711576139.ppt
- 绿色发展和谐共赢.ppt
- 绿色建筑产业基金及基金管理公司组建方案建议.ppt
- 绿色施工:绿色建筑核心理念.pptx
- 绿色植物通过光合作用制造有机物.ppt
- 绿色校园主题班会.ppt
- 绿色物流环保校园.ppt
- 绿色物流案例分析.pptx
- 2025年安徽省中考历史二轮复习:主题九 思想解放+++课件.pptx
- 2025年云南省历史中考一轮复习:第四单元+三国两晋南北朝时期+政权分立与民族交融++课件.pptx
- 2025年广东省中考道德与法治一轮复习教材整合过关课件:八年级上册第二单元+遵守社会规则.pptx
- 九年级上册+第二单元++民主与法治+课件-2025年中考道德与法治一轮复习+.pptx
- 2025年安徽省中考历史二轮复习:主题五 世界主要国家、地区及其相互关系+课件.pptx
- 2025年中考道德与法治一轮复习教材整合课件:七年级下册第四单元+走进法治天地.pptx
- 2025年中考道德与法治一轮复习教材整合课件:八年级上册 第三单元 勇担社会责任.pptx
- +第一单元 中华人民共和国的成立和巩固++课件++天津市2025年中考历史一轮专题复习+.pptx
- 2025年中考道德与法治二轮复习专题拓展课件:专题二+发展新质生产力+建设科技创新强国.pptx
- 2025年中考道德与法治二轮复习专题拓展课件:专题四+坚持党的领导+彰显制度优势.pptx
最近下载
- 四川省医疗服务价格项目汇编(2022版).pdf
- NFT58000公差标准(中文版).pdf
- 国家卫生健康信息网络直报系统操作.pptx
- 英国A-level物理简明教材100 英国A-Leve课本-Edexcel AS Physics in 100 Pages.pdf VIP
- 2025-2026年中国慢直播行业市场现状调查及发展前景研判报告 .pdf VIP
- 9.BMI测算:学习程序分支语句 课件 粤高教B版(2019)八年级上信息科技.pdf VIP
- (小学组)全国版图知识竞赛考试题含答案.doc VIP
- 03.TDSQL(MySQL版)应用开发指南.pdf
- GB50471-2018 煤矿瓦斯抽采工程设计标准.docx
- 汽车加油加气加氢站技术标准.pdf
文档评论(0)