十,实验结论:
本实验程序较好地完成了词法分析程序的设计与实现,能够对所给文法的程序进行词法分析,在没有词法错误的时候生成相应的二元式文件。该实验程序可一次性给出源程序中的词法错误。
十一,总结、心得体会及建议:
通过该实验,对词法分析程序的设计,以及运用C语言进行编程有了更深刻的理解,同时加深了自己对词法分析程序的原理的理解与掌握,提高了自己的动手能力。
报告评分:
指导教师签字:
电 子 科 技 大 学
实 验 报 告
学生姓名: 学号: 指导教师:
实验地点:计算机软件实验室 实验时间: 一、实验室名称:计算机实验室
二、实验项目名称:递归下降分析器的设计与实现 三、实验学时:12 四、实验原理:
1.语法分析是对源程序经过词法分析后转换成的单词流按方法规则进行判断,对能构成正确句子的单词流,给出相应的语法树;对不能构成正确句子的单词流判断其语法错误并做出相应处理。
2.语法分析方法有自上而下和自下而上的分析方法。在不含左递归的文法G中,如果对每一个非终结符的所有候选式的第一个终结符都是两两不相交的(即无公共左因子),则可能构造出一个不带回溯的自上而下的分析程序,这个分析程序由一组递归过程组成,每个过程对应文法的一个非终结符。这样的分析程序称为递归下降分析程序。
五,实验目的:
通过设计递归下降分析器的设计与实现实验,使同学们掌握自上
而下的递归分析法的语法分析原理和程序设计方法。
六 ,实验内容:
根据给定的方法,编写相应的递归下降的语法分析程序,实现对词法分析后的单词序列的语法检查和程序结构的分析,生成相应的变量名表和过程名表,并将编译中语法检查出来的错误写入相应的文件。 语法错分类: (1)缺少符号错; (2)符号匹配错
(3)符号无定义或重复定义。
七,实验器材(设备、元器件). 1. 操作系统:Windows 7
2. 开发工具:visual studio 2008
八、 实验步骤
(1)启动VC6.0,创建空白工程项目。选择菜单中的“文件”->“新建”->“项目”,在弹出的对话框中,左边的“项目类型”框中,选择“Visual C++ 项目”,在右边框中,选择“空项目(.Net)”,在对话框下边,选择工程文件存放目录及输入名称,如Example1,单击“确定”。
(2)消除文法中的左递归;
(3)实现对方法进行递归向下的分析过程;
(4)利用词法分析器生成的二元式文件*.dyd进行语法分析; (5)编译与调试以上程序;
九,实验数据及结果分析
1.结构与分析 有错误的源码
词法分析后产生的.dyd文件作为输入文件(源码)
example.dyd
相关推荐: