编译原理实验报告(共6页).doc
《编译原理实验报告(共6页).doc》由会员分享,可在线阅读,更多相关《编译原理实验报告(共6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验一 文法的机内表示与输入输出实验题目:文法的机内表示与输入输出实验目的:输入文法,按照所提供的各种要求输出所需结果。实验准备:在学习了规则和有关文法的一些基本概念后,用本实验来加深各个概念间的关系。例如 规则、文法、识别符、Chomsky文法、终结符、非终结符等。 设计考虑: 实验代码:专心-专注-专业#includeint t=0;char A20;struct LeftItem;struct RightNode char right; RightNode* nextsibling; RightNode* nextrule; RightNode(char abc
2、) right=abc; nextsibling=NULL; nextrule=NULL; ;struct LeftItem char left; RightNode* therule;/void Insert(RightNode*& pNode,char* temp) pNode=new RightNode(*temp);RightNode* qNode=pNode;temp+;while(*temp!=0) qNode-nextsibling=new RightNode(*temp);qNode=qNode-nextsibling; temp+; void Bianli1(LeftItem
3、 Array,int length,RightNode* pNode) RightNode* qNode=pNode-nextrule;while(pNode!=NULL)for(int i=0;iright=Arrayi.left) break;if(i=length) for(i=0;iright=Ai) break; if(i=t) if(i!=0) cout, ;coutright; At=pNode-right; t+; pNode=pNode-nextsibling;if(qNode!=NULL) Bianli1(Array,length,qNode);void Bianli2(R
4、ightNode* pNode) RightNode* qNode=pNode-nextrule;while(pNode!=NULL) coutright; pNode=pNode-nextsibling;if(qNode!=NULL) cout|; Bianli2(qNode);void SelectMenu(LeftItem Array,int length) int sel2;docout请选择您要查询的项目.endl; cout 1endl; cout 2sel2;while(sel2!=1&sel2!=2);if(sel2=1)for(int i=0;ilength;i+)coutA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 实验 报告
限制150内