欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    编译原理LR分析法实验报告.pdf

    • 资源ID:80776070       资源大小:218.23KB        全文页数:6页
    • 资源格式: PDF        下载积分:19.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    编译原理LR分析法实验报告.pdf

    ;.实验五、LR 分析法实验报告 计算机与信息技术学院 程序功能描述 通过设计、编写和构造 LR(0)项目集规范簇和 LR 分析表、对给定的符号串进行 LR 分析的程序,了解构造 LR(0)分析表的步骤,对文法的要求,能够从文法 G 出发生成 LR(0)分析表,并对给定的;.符号串进行分析。要求以表格或图形的方式实现。GE:EaAbB AcAd BcBd 设计要求:(1)构造 LR(0)项目集规范簇;要求输入 LR(0)文法时,可以直接输入,也可以读取文件,并能够以表格的形式输出项目集规范簇集识别活前缀的有穷自动机(2)构造 LR(0)分析表。要求要求输入LR(0)文法时,可以直接输入,也可以读取文件;输出项目集规范簇,可以调用前一处理部分的结果,输出为 LR(0)分析表(3)LR(0)分析过程【移进、归约、接受、报错】的实现。要求调用前一部分处理结果的分析表,输入一个符号串,依据 LR(0)分析表输出与句子对应的语法树,或直接以表格形式输出分析过程。主要数据结构描述 数据名称 数据类型 数据描述 sc int 终结符个数 nc int 非终结符个数 SC 字符数组 存放终结符 NC 字符数组 存放非终结符 CA Production数组 存放产生式 excel_action Action 数组 存放 Action 分析表 excel_goto 整型数组 存放 Goto 分析表 state 整型数组 状态栈;.stack 字符数组 分析栈 TOKEN 字符数组 输入序列 current int 当前输入指针 top int 状态栈顶指针 in int 分析栈顶指针 num int 输入串长度 Pcount 整型数组 每个状态里项目集数目 Pnum int 产生式个数 Pc int 状态集个数 P Paradigm 数组 存放状态集项目集 程序结构描述 1.首先要求用户输入规则,并保存,分析出规则的数目,规则里的非终结符号和终结符号等信息,为下一步分析备用。2.根据产生式构造分析表,首先分析每个状态里有哪些产生式,逐步将状态构造完整,最后的规约状态数应该等于产生式的个数。3.在构造状态的时候,首先将所有的内容均填为出错情况,在每一步状态转换时可以将移进项目填进action 表中,对于最后的规约项目,则再用规约覆盖掉之前填的移进。4.要求用户输入分析串,并保存在输入序列数组中。5.每一步根据当前的状态栈栈顶状态和输入符号查分析表,若是移进,则直接将符号和相应的状态添进栈中,否则弹出与产生式右部相同个数的字符和状态,并用剩下的状态和产生式的左部在goto 表中进行查找,将非终结符和得到的状态压入两个栈内。6.无论是规约还是移进都要输出当前三个栈内保存内容的情况。7.如果碰到 acc 则输出 accept,若碰到 error 则输出 error,否则则继续进行规约和移进,不进行结果输出,直至输出接受或出错。程序测试:测试 1:EaAbB AcAd BcBd E2aAE2bBA2cAB2cBA1dB1dS0 输入:bcd#输出:;.输入二:acccccd#输出:;.输入三:acccccd#输出:学习总结 对各个栈的操作很容易出错,是直接覆盖掉栈顶的状态还是弹出几个状态覆盖掉一个状态,对于弹出的状态,原数组当中的内容要清空,出栈入栈的字符数目很容易出错。构造分析表很难,遇到很多问题,用程序实现比用手工操作要考虑更多的问题,有很多种情况,本实验给的规则比较简单,比如对于EaA 和 EbB,输入 a 和输入 b 都只有一个对应产生式可以选择,也没有太长的字符重复多次的序列,但是也要对 LR(0)分析法有很;.熟练的掌握。实验实现的相当不完善,对着给定的序列写,不够具有通用性,也不够完备,对于程序,我首先将分析表置入,实现了有了分析表如何判定输入序列是否合法的部分,然后再实现输入产生式的功能,分析出终结符和非终结符,实现了分析表横坐标和纵坐标的排序,再实现项目集规范族的状态分析,边分析边构造分析表。

    注意事项

    本文(编译原理LR分析法实验报告.pdf)为本站会员(l***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开