[高等教育]第三章词法分析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]第三章词法分析

第三章 词法分析 知识结构: 功能 词法分析器的要求 单词符号分类 词法分析 单词内部形式 器的设计 设计方发 词法分析器的设计 状态图 词法分析器组成 正规表达式 单词描述工具 正规集 词法分析器 正规文法 确定有限自动机(DFA) 单词识别工具 非确定有限自动机(NFA) DFA的最小化 正规式与FA的等价转换 等价转换 正规文法与FA的等价转换 第一节 对词法分析器的要求 一、词法分析器的功能 输入源程序,输出单词符号(二元式表示)。 输入 输出 二、单词符号的分类 关键字:是由程序语言定义的具有固定意义的标识符。 标识符:用来表示各种名字,如变量等。 常数:常数的类型有整型,实型等。 运算符:算术运算符,关系运算符,逻辑运算符。 界限符:逗号,分号等。 三、单词符号内部的表示形式 内部的单词符号TOKEN字(二元式),TOKEN字占用机器字的长度,依据信息量的多少而定。 1、TOKEN字结构 CLASS:用整数表示。 VALUE:表示单词符号的属性(符号表指针)。 2、TOKEN的作用 CLASS:用于语法分析器对源程序结构的分析。 VALUE:用于语义分析器对源程序具体操作的分析。 3、单词种别码划分原则 CLASS:关键字,运算符,界限符(编译程序定义的符号)使用一字一种编码。VALUE值省略。 VALUE:标识符,常数(用户定义的符号),存放符号表常数表的指针。标识符,常数每一类为一种编码。 例:BEGIN A:= B END; 词法分析结果: 符号表 (BEGIN,---- ) (A ,K1 ) K1 (:= ,--- ) (B ,K3 ) K3 (END ,--- ) ( ; ,--- ) 四、词法分析器的结构 1、一遍扫描(交互式结构)。 2、多遍扫描(独立式结构)。 第二节 词法分析器的设计 一、设计步骤 1、确定词法分析器的接口关系; 2、确定单词分类和TOKEN字的结构; 3、对每一类单词构造状态转换图; 4、根据状态转换图设计算法。 二、功能描述 1、组织源程序输入; 2、按词法规则拼读单词符号,并转换成二元式; 3、删除注解行,空格和无用符号; 4、检查词法错误。 三、设计方法 1、输入(读取原文件) 原文件存储方式: 一种方式将原文件一次读入内存,另一种方式利用缓冲区技术将原文件分批读入内存。 缓冲区的设置: 输入(扫描)缓冲区,存放输入的原文件(双缓冲区)。 起点指针 扫描指针 2、预处理 功能描述: 删除无用符号,出错信息的列表打印。 单词符号的识别: ⑴语句格式 ①标识符不能被无效字符隔开。 ②标识符与关键字,关键字与关键字之间用空格符隔开。 ②标识符的个数不能超过限定的个数。 ⑵单词符号的格式 ①标识符,关键字的首字符必须是字母。 ②常数的首字符必须是数字。 3、识别算法(P39) 标识符的识别;常数的识别;算符的识别;界符的识别。 四、状态转换图 1、状态转换图的表示形式 是一张有向图,结点代表状态(用○表示),结点间用箭弧线连接((),箭弧线上的符号,表示射出结点到达射入结点可能识别的输入符号,终态结点代表分析结束。 初态( a b c d ⑴ (⊙初始状态,表示识别符号串的开始。 ⑵双圈◎终态,表示识别符号串的结束。 ⑶◎*表示多读入一个字符。 例1:标识符的状态转换图 状态转换矩阵 状态 字母 数字 其它 0 1 1 1

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档