下载此文档

实验一词法分析程序开发.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
实验一词法分析程序开发
【实验目的】
•  深入理解有限自动机及其应用
•掌握根据语言的词法规则构造识别其单词的有限自动机的方法
•  深入理解词法分析程序自动生成原理
•  掌握词法分析程序的开发。
【实验学时】
4学时
【实验要求】
•掌握词法分析程序自动生成工具LEX的使用。
•掌握各类单词的形式描述
•学会用数据中心法实现有限自动机
•学会用直接转向法实现有限自动机
•独立完成SNL语言的词法分析器
【实验原理】
词法分析是编译过程的第一阶段。它的任务就是对输入的字符串形式的源程序按顺序进行扫描,根据源程序的词法规则识别具有独立意义的单词(符号),并输出与其等价的Token序列。
有限自动机是描述程序设计语言单词构成的工具,而状态转换图是有限自动机的比较直观的描述方法。我们使用确定的有限状态自动机,简记为DFA。
下面给出能够识别SNL中各类单词的DFA:
根据语言的词法规则构造出识别其单词的确定有限自动机DFA, 仅仅是词法分析程序的一个形式模型,距离词法分析程序的真正实现还有一定的距离。状态转换图的实现通常有两种方法,一种是用状态转换表T;另一种是直接转向法。
状态转换表法又称数据中心法,是把状态转换图看作一种数据结构(状态转换表),由控制程序控制字符在其上运行,从而完成词法分析。用转换表的优点是程序短,但占存储空间多,直接转向法的优缺点正好与此相反。
直接转向法又称程序中心法,是把状态转换图看成一个流程图,从状态转换图的初态开始,对它的每一个状态结点都编一段相应的程序。
【实验步骤】
构造识别单词的自动机

2. 对各类单词的状态转换图合并,构成一个能识别语言所有单词的状态转换图。合并步骤为:
(1) 将各类单词的状态转换图的初始状态合并为一个唯一的初态;
(2) 化简调整状态冲突和对冲突状态重新编号;
(3) 如有必要,增加出错状态。
用数据中心法实现有限自动机,生成词法分析程序。
用直接转向法实现有限自动机,生成词法分析程序
用自动生成工具LEX生成词法分析程序。
对比上述各种方法生成的程序,总结其优缺点。

实验一词法分析程序开发 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人260933426
  • 文件大小62 KB
  • 时间2017-08-16