- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
2
2
实验一文法的机内表示与输入输出
实验题目:文法的机内表示与输入输出
实验目的:输入文法,按照所提供的各种要求输出所需结果。
实验准备:在学习了规则和有关文法的一些基本概念后,用本实验来加深各个概念间的关系。例如规则、文法、识别符、Chomsky文法、终结符、
非终结符等。
设计考虑:
E
T
F
E
十
T
实验代码:
#includeiostream.h
intt=0;
charA[20];
structLeftItem;
structRightNode
charright;
RightNode*nextsibling;
RightNode*nextrule;
RightNode(charabc)
nextsibling=
nextsibling=NULL;
nextrule=NULL:
};
structLeftItem
charleft;
RightNode*therule;
};
//IIIIIHIHHHHHHHHHH
voidInsert(RightNode*pNode,char*temp)
pNode=newRightNode(*temp);
RightNode*qNode=pNode;
temp++;
while(*temp!=\0)
qNode-nextsibling=new
RightNode(*temp);
qNode=qNode-nextsibling;
temp++;
voidBianlil(LeftItemArray[],intlength,RightNode*
pNode)
RightNode*qNode=pNode-nextrule;
while(pNode!=NULL)
for(inti=0;ilength;i++)
{
if(pNode-right==Array[i].left)
break;
if(i==length)
for(i=0;it;i++)
if(pNode-right==A[i])break;
}
if(i==t)
{
if(i!=0)cout,;
coutpNode-right;
A[t]=pNode-right;
t++;
pNode=pNode-nextsibling;
if(qNode!=NULL)
Bianli1(Array,length,qNode);
voidBianli2(RightNode*pNode)
RightNode*qNode=pNode-nextrule;
while(pNode!=NULL)
coutpNode-right;
pNode=pNode-nextsibling;
if(qNode!=NULL)
cout|;
Bianli2(qNode);
}
voidSelectMenu(LeftItemArray[],intlength)
{
intsel2;
do
{
cout请选择您要查询的项目.endl;
cout--查询全体规则请按------
1endl;
cout--查询指定规则请按------
2endl:
cinsel2;
}while(sel2!=1sel2!=2);
if(sel2==1)
{
for(inti=0;ilength;i++)
{
coutArray[i].left::=;
Bianli2(Array[i].therule);
coutendl;
else
chartemp;
intk;
coutendl:
cout请输入要查询规则左部:;
cintemp;
for(inti=0;ilength;i++)
if(temp==Array[i].left)
k=i:
break:
if(i==length)
cout本文法规则中没有对应的
规则!endl;
else
coutArray[k].left:=;
Bianli2(Array[k].therule);
//|||||//Ll////////|
voidmain()
chartemp[20];
intsize=0:
intk,sel,m,n,j;
cout请输入文法规则的数目:;
cinn;
LefItem*Array=newLeftItem[n];
for(inti=0;in;i++)
cout请输入文法规则:;
cintemp;
if(*temp==NULL)break;
for(j=0:jsize:j++)
if(Ar
您可能关注的文档
- 初三数学优秀作业设计案例.doc
- 初中生心理变化研究的体育方面的课题计划(1).doc
- 初中生心理变化研究的体育方面的课题计划.doc
- (本科)会计专业英语全册电子教案(1-17章).doc
- (高清版) ASTM D4169-22 ASTM 标准下载.doc
- (高清版)VDI VDE 2862-1-2012 PART 1(国外标准英文版中文版).doc
- (高清正版) DBJ T 15-136-2018 岩溶地区建筑地基基础技术规范.doc
- (高清正版) GB_T 26366-2021 二氧化氯消毒剂卫生要求.doc
- (新版)健康管理理论知识考试题库(含答案).doc
- (资料)长距离矿用皮带输送机总体设计毕业设计.doc
最近下载
- 全国传染病信息报告管理工作技术指南(2016年版).pptx VIP
- 教学课件 机械制图与CAD--彭晓兰.ppt
- 锅炉暖管、并汽及蒸汽管并管操作顺序与锅炉运行维护技术规程.pdf VIP
- 新译林九年级上Unit 8 精选短语和词汇(预习+复习+默写) 2024-2024学年牛津版英语九年级上册.docx VIP
- 英挪渔业案英挪渔业案.ppt VIP
- 化学锚栓计算(修改版).xls VIP
- 木饰面施工培训课件.pptx VIP
- 基于光学自准直法的转台旋转轴偏角误差检测.docx VIP
- 现代学徒制视域下教师专业发展模式研究.docx VIP
- GJ B 3.3A-2003 MJ螺纹 第3部分 管路件螺纹的极限尺寸.pdf VIP
文档评论(0)