- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LR 分析方法程序设计原理与实现技术
XXX 1028XXX 计科1XXX 班
1.程序功能描述
` 通过设计、编写和构造LR (0)项目集规范簇和LR 分析表、对给定的符号串进行LR 分
析的程序,了解构造LR (0)分析表的步骤,对文法的要求,能够从文法G 出发生成LR (0)
分析表,并对给定的符号串进行分析。要求以表格或图形的方式实现。
实现LR(0)分析法,完成以下文法。
G[E]:
E→aA ∣bB
A→cA ∣d
B→cB ∣d
2. 设计要求
(1)构造LR (0)项目集规范簇;要求输入LR(0)文法时,可以直接输入,也可以读取
文件,并能够以表格的形式输出项目集规范簇集识别活前缀的有穷自动机 (2)构造LR (0)
分析表。要求要求输入LR(0)文法时,可以直接输入,也可以读取文件;输出项目集规范簇,
可以调用前一处理部分的结果,输出为LR(0)分析表 (3)LR(0)分析过程 【移进、归约、接
受、报错】的实现。要求调用前一部分处理结果的分析表,输入一个符号串,依据LR (0)
分析表输出与句子对应的语法树,或直接以表格形式输出分析过程。
3. 主要数据结构描述:
文法表示,项目集规范族表示以及文法接受的符号和移植到的位置:
struct grammar{ //文法
char left;
vectorstring right;
};
struct grammar1{
char left;
vectorstring right;
int sign;
};
struct define{
int data;
char type;
};
struct progect{ //项集
vectorgrammar1 data; //数据
vectorchar acc; //可接受的符号
vectordefine next; //转移到的位置
};
vectorgrammar lge; //文法
vectorprogect pro; //项目集规范族
4. 程序结构描述
本程序一共有10个功能函数:
void get(); //获取文法
void print(); //打印文法
void fun(); //构造LR (0)项目集规范族
void analy(); //构造LR (0)分析表
void test(); //测试文法
int equal(progect p1,progect p2); //判断两项是否相等
int findpoint(string str); //判断点的位置是否在最后,是的话就
是规约项目
int findlocal(string str); //寻找此符号串对应的规范族的位置
char gettype(char ch,int num); //根据状态集,返回操作的类别 (移近,
规约,接受)
int getnumber(char ch,int nun); //根据状态机,返回下一步所跳转的状
态集
5. 实验代码
详见附件
6. 程序测试
6.1功能测试
程序运行后显示如下功能菜单:
选择获取文法:
选择打印文法:
选择构造LR (0)项目集规范族:
选择构造LR (0)分析表:
6.2文法测试
分析失败:aAcAd
分析成功:acd
7. 实验总结:
本次实验按照书上的相应步骤,一步一步按照要求来完成实现,最终文成了给定文
法的分析程序。首先是获取文法,文法的获取是采用直接输入的方法,保存成预先设定
的结构体,然后根据文法,对文法编号,求出项目集规范族,然后再构造LR (0)分析
表,最后根据分析表来判断输入符号串是否为此文法产生的语言。
您可能关注的文档
- fpga应用设计报告二进制振幅键控(2ask)调制器与解调器设计.pdf
- gis在道路勘测设计的应用.pptx
- gui设计的简易计算器附程序.pdf
- hr3级复习指南-学生精华总结版.docx
- i-science小学科学primary 4b.ppt
- 上海麦腾永联众创空间管理股份有限公司 申请股票进入全国中小企业股份转让系统挂牌并公开转让 之补充法律意见书.pdf
- 上海美特斯邦威服饰股份有限公司15年度主体跟踪评级报告(大公评级).pdf
- 上海鸣志电工股份有限公司 股份进入全国中小企业股份转让系统挂牌并公开转让的 法律意见书.pdf
- 上海南汇发展(集团)有限公司17年度第一期超短期融资券法律意见书.pdf
- 上海南汇发展(集团)有限公司17年度第一期超短期融资券募集说明书.pdf
最近下载
- 2024-2030年中国六氟磷酸锂行业市场现状供需分析及投资评估规划分析研究报告.docx
- 防护工程之三维网植被护坡(附施工图解、工艺、造价编制).pdf VIP
- 《中铁一局集团有限公司工程项目管理绩效考核办法》(中铁一成本[2015]623号).doc
- 机械打眼开炸石方(附施工图解、造价编制).pdf VIP
- 路基土石方(借土填方)(附施工图解、工艺、造价编制).pdf VIP
- 2023扬州龙川控股集团有限责任公司招聘试题及答案解析.docx
- 交通安全设施之交通标志(附施工图解、工艺、造价编制).pdf VIP
- 路基土石方之填挖交界(附施工图解、工艺、造价编制).pdf VIP
- 2纵横造价实战--抛石挤淤附施工图解、工艺、造价编制.pdf
- 2024《我的阿勒泰》作品简介PPT课件(精品).pptx
文档评论(0)