实验一词法分析

上传人:xzh****18 文档编号:34342417 上传时间:2018-02-23 格式:DOC 页数:2 大小:32.50KB
返回 下载 相关 举报
实验一词法分析_第1页
第1页 / 共2页
实验一词法分析_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验一词法分析》由会员分享,可在线阅读,更多相关《实验一词法分析(2页珍藏版)》请在金锄头文库上搜索。

1、实验一 词法分析学时数:4一、实验目的通过编写词法分析程序,熟悉其识别单词的基本思想及构造方法。二、实验内容编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。 (遇到错误时可显示“Error ”,并输出该字符,然后跳过该字符继续识别) 。三、实验步骤1、确定所要识别的程序语言的单词表,各单词的分类及其记号(或种别编码) ;例如教材 P15 例 2.1。2、画出识别该语言所有单词的确定有限自动机;可分开画,例如教材 P18-19 图 2-3/2-4/2-5 是分别识别标识符和关键字、

2、关系运算符、无符号数的 DFA。也可集中画在一张图,例如 P20 图 2-6。3、根据 DFA 构造该语言的词法分析程序,开发工具可自行选择,建议选择 C 语言4、测试,详见测试要求。四、编程思想1、定义部分:定义常量、变量、数据结构。2、初始化:从文件将源程序全部输入到字符缓冲区中。3、从左至右扫描源程序的每个符号:去掉多余空白,按照词法规则(或识别单词的DFA 图)识别单词。4、输出单词的二元式。五、测试要求将被分析的程序即测试程序作为词法分析程序的输入,结果应是按先后顺序输出组成该被分析程序的各个单词的二元式形式。(说明:每个词法分析器输出的二元式不相同,因为它有自己的单词表和记号或种别

3、编码,因此在实验步骤 1 时要明确)例如:如下为被分析程序即测试程序 a.c。program scanint a,b ,c;beginwhile a0 do a=a+1;c=a+b;end该测试程序经词法分析后部分输出如右图。六、实验报告要求1、写出调试程序出现的问题及解决的方法。2、写实验报告(参见实验报告模板)及核心程序。(id,program)(id,scan )(error, ;)(id,begin)(while, )(id,a )(relop , )(number,10) 3、报告给出测试的结果。补充说明 1词法分析程序可以从网上下载,但要求:1、理解该程序,在实验报告中说明该词法分析器所识别的程序设计语言的单词表,及各单词的分类及其记号(或种别编码) ;2、在实验报告中说明该程序各主要数据结构的作用、主要函数的功能,并对核心代码段作注释。3、自拟一段代码作为测试用例测试该词法分析器,记录测试结果;4、思考:(1)该词法分析器存在什么问题(或有什么不足)?(2)扩充其单词表,增加若干新单词,如关键字、运算符或分隔符等,确定新增单词符号的记号,然后修改原词法分析器,使其可以识别新增单词符号。补充说明 2词法分析器也可使用 LEX 自动生成器生成,Lex 工具的使用说明参见附件。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号