全球旧事资料 分类
实验报告要求
实验报告应包括以下几个部分:1、满足LL(1)文法的分析条件;2、构造LL(1)文法的算法;3、消除左递归文法和提取左因子算法实现方法;4、整个测试程序的流程;5、程序的测试结果和问题;6、实验总结。
八、思考题
1、是不是所有的文法都可以通过上述程序构造LL(1)文法?2、LL(1)文法在整个语法分析中的作用?3、实验1中设计的文法数据结构对本实验的影响?4、如何更好地组合实验1和实验3,使之具有更高的效率?
8
f实验4
一、实验目的
语法分析程序的设计(1)
9
f通过设计、编制、调试一个典型的语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析,进一步掌握常用的语法分析中递归下降分析方法。
二、实验内容
设计一个文法的递归下降分析程序,判断特定表达式的正确性。
三、实验要求
1、给出文法如下:GEETETTFTFFiE利用实验3的方法将上述文法转化为LL(1)文法;2、根据递归下降分析方法为转化后的文法设计递归下降分析程序,利用C语言或C语言实现;3、利用递归下降分析程序完成下列功能:1)手工将测试的表达式写入文本文件,每个表达式写一行,用“;”表示结束;2)读入文本文件中的表达式;3)调用实验2中的词法分析程序搜索单词;4)把单词送入递归下降分析程序,判断表达式是否正确(是否是给出文法的语言),若错误,应给出错误信息;5)完成上述功能,有余力的同学可以对正确的表达式计算出结果。
四、实验环境
PC微机DOS操作系统或Wi
dows操作系统TurboC程序集成环境或VisualC程序集成环境
五、实验步骤
1、分析文法,将给出的文法转化为LL1文法;2、学习递归下降分析程序的结构,设计合理的递归下降分析程序;3、编写测试程序,包括表达式的读入和结果的输出;4、测试程序运行效果,测试数据可以参考下列给出的数据。
六、测试数据
输入数据:编辑一个文本文文件expressio
txt,在文件中输入如下内容:
1012123567123412345abcdab3de451
10
f正确结果:(1)10输出:正确(2)12输出:正确(3)123567输出:正确(4)1234输出:错误(5)12345输出:错误(6)abcd输出:正确(7)ab3de451输出:错误
七、实验报告要求
实验报告应包括以下几个部分:1、给定文法的LL(1)形式;2、递归下降分析程序的算法和结构;3、程序运行流程;4、程序的测试结果和问题;5、实验总结。
八、思考题
1、为什么文r
好听全球资料 返回顶部