您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 实验报告-编译原理-LR0分析程序的设计与实现
4.1目的和要求1、了解LR(0)分析方法是严格的从左向右扫描,和自底向上的语法分析方法。2、掌握LR(0)语法分析方法。4.2实验环境WindowsXP+VC++6.04.3实验准备已知文法G[S]:S--BBB--aBB--b(1)拓广文法;加入新的产生式,加编号排序0E-S1S-BB2B-aB3B-b(2)构造识别活前缀的DFA;BBBI0:E-.SS-.BBB-.aBB-.bI1:E-S.SI2:S-B.BB-.aBB-.bBI3:B-a.BB-.aBB-.baI4:B-b.bI5:S-BB.Babab(3)构造LR(0)分析表。状态ACTIONGOTOab#SB0S3S4121acc2S3S453S3S464R3R3R35R1R1R16R2R2R2(4)给出bb的LR分析过程步骤状态栈符号栈输入串栈下一步动作下一个状态10#bb#S44204#bb#r32302#Bb#S444024#Bb#r355025#BB#r11601#S#accI6:B-aB.4.4实验内容及步骤1、根据LR分析表编写LR分析程序Lr0。2、编译成功后,提示输入符号串,用回车键查看输出的结果。3、比较自己分析的结果和屏幕上的输出结果。4.5实验小结1、得到的经验。2、遇到的主要问题。3、改进方案。自拟文法G[S]:E=aBE|bB=bB|c1)构造识别活前缀的DFA。0X=E1E=aBE2E=b3B=bB4B=c2)构造LR(0)分析表。状态ACTIONGOTOabc#XEB0S2S311ACC2S5S643R2R2R2R24S10S3I105S8S976R4R4R4R47R3R3R3R38S8S6S7I0:X=.EE=.aBEE=.bI1:X=E.EI3:E=b.bI2:E=a.BEB=.bBB=.caI4:E=aB.EE=.aBEE=.bI5:B=b.BB=.bBB=.cI6:B=c.I7:B=bB.I6:B=c.I8:B=b.BB=.bBB=.cI9:E=aBE.I3:E=b.I6:B=c.I10:E=a.BEB=〉.bBB=.cBcbBbcBbcEaBbbI6:B=c.c9R1R1R1R110S63)给出acb的LR分析过程步骤状态栈符号栈输入串栈下一步动作下一个状态10#acb#S22202#acb#S663024#acb#R44403#aBb#S445034#aBb#R210602(10)#aBE#R1170#E#acc更改程序:
本文标题:实验报告-编译原理-LR0分析程序的设计与实现
链接地址:https://www.777doc.com/doc-5724786 .html