- 63
- 0
- 约1.31千字
- 约 2页
- 2015-09-08 发布于重庆
- 举报
文法的读入判定和处理,r按行读入处理文件,恶意订单判定与处理,c读入文件,c读入字符串,用金税盘发票怎么读入,matlab读入excel,易语言读入文本,c读入一行,大纲太长未完全读入
实验2 文法的读入、判定和处理
一、实验目的
熟悉文法的结构,了解文法在计算机内的表示方法。?
二、实验内容
设计一个表示文法的数据结构;
从文本文件中读入文法,利用定义的数据结构存放文法,并输出;
本实验结果将来还有用。?
三、实验要求
了解文法定义的4个部分:
G(Vn, Vt, S, P)
Vn 文法的非终结符号集合,在实验中用大写的英文字母表示;
Vt 文法的终结符号集合,在实验中用小写的英文字母表示;
S 开始符号,在实验中是Vn集合中的一个元素;
P 产生式,分左部和右部,左部为非终结符号中的一个,右部为终结符号或非终结符号组成的字符串,如S-ab|c
根据文法各个部分的性质,设计一个合理的数据结构用来表示文法,
若使用C语言编写,则文法可以设计成结构体形式,结构体中应包含上述的4部分,
若使用C++语言或java语言编写,则文法可以设计成文法类形式,类中至少含有4个数据成员,分别表示上述4个部分
文法数据结构的具体设计由学生根据自己想法完成,并使用C或C++语言或Java实现设计的数据结构。
利用完成的数据结构完成以下功能:
从文本文件中读入文法(文法事先应写入文本文件);
根据文法产生式的结构,分析出文法的4个部分,分别写入定义好的文法数据结构的相应部分;
整理文法的结构,判断该文法的文法类型,是否为0型,1型,2型或3型文法,并输出判断结果;
在计算机屏幕或者文本框中输出文法,文法输出按照一个非终结符号一行,开始符号引出的产生式写在第一行,同一个非终结符号的候选式用“|”分隔的方式输出。
?四、实验环境
PC微机
DOS操作系统或 Windows 操作系统
Turbo C 程序集成环境或 Visual C++ 程序集成环境或Java
?五、实验步骤
1、根据文法定义,设计出文法数据结构
2、用学生选择的语言,实现文法的数据结构
3、编写调试文法读入和输出程序,
测试程序运行效果:从文本文件中读入一个文法,在屏幕上输出,检查输出结果。
?六、测试数据
输入数据:
编辑一个文本文文件g.txt,在文件中输入如下内容:(产生式当中的-如果不好判断,可以改为你自己设计的符号,用:来表示-也可以的。)
S-Qc;
S-c;
Q-Rb;
Q-b;
R-Sa;
R-a;
正确结果:
上述文法整理后的输出形式:
该文法是2型文法。
开始符是:S
终结符是:c,b,a
非终结符是:S,Q,R
产生式是:
S-Qc|c;
Q-Rb|b;
R-Sa|a;?
七、实验报告要求
实验报告应包括以下几个部分:
文法数据结构的设计和实现;
文法的读入算法
文法的输出方法
程序的测试结果和问题
实验总结?
八、思考题
如何让设计的文法结构满足各种文法的要求?
如何设计文法才能跟简单地表示文法,同时又降低程序编写难度?
可以根据你处理的方便改为这样的形式也是可以的:
S:Qc;
S:c;
Q:Rb;
Q:b;
R:Sa;
R:a;
您可能关注的文档
最近下载
- 传统基材润湿流平(氟碳硅烷嵌段).pdf VIP
- 南京财经大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- C4D课程考试试题及参考答案.doc VIP
- 2025年陕西公务员申论考试真题及答案B卷.docx VIP
- [渝粤教育] 西北工业大学 航天器控制原理 mooc 资料.docx VIP
- 航天器控制原理(西北工业大学)中国大学MOOC 慕课 章节测验 期末考试答案.pdf VIP
- 精品解析:2025年陕西省中考数学试题(原卷版).docx VIP
- 四维度主力跟踪.pdf
- 2022年陕西省中考数学真题(原卷版).docx VIP
- 大众网关控制器和bcm车身控制模块针脚定义非常有用.pdf VIP
原创力文档

文档评论(0)