自下而上语法分析程序LR分析程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自下而上语法分析程序LR分析程序

#includestdio.h #includestring.h void prin() { printf(\n); printf(++++ + + + 自下而上语法分析程序/LR分析程序 + + + ++++\n); printf(++++ + + + 仅供参考-版权◎fo0ol + + + ++++\n); printf(++++ + + + 输入一以#结束的符号串(包括()+-*/): + + + ++++\n); } char *action[12][6]={S5#,NULL,NULL,S4#,NULL,NULL, /*ACTION表*/ NULL,S6#,NULL,NULL,NULL,acc, NULL,r2#,S7#, NULL,r2#,r2#, NULL,r4#,r4#, NULL,r4#,r4#, S5#,NULL,NULL, S4#,NULL,NULL, NULL,r6#,r6#, NULL,r6#,r6#, S5#,NULL,NULL, S4#,NULL,NULL, S5#,NULL,NULL, S4#,NULL,NULL, NULL,S6#,NULL, NULL,S11#,NULL, NULL,r1#,S7#, NULL,r1#,r1#, NULL,r3#,r3#, NULL,r3#,r3#, NULL,r5#,r5#, NULL,r5#,r5#}; int goto1[12][3]={1,2,3, /*QOTO表*/ 0,0,0, 0,0,0, 0,0,0, 8,2,3, 0,0,0, 0,9,3, 0,0,10, 0,0,0, 0,0,0, 0,0,0, 0,0,0}; char vt[6]={i,+,*,(,),#}; /*存放终结符*/ char vn[3]={E,T,F}; /*存放非终结符*/ char *LR[7]={M-E#,E-E+T#,E-T#,T-T*F#,T-F#,F-(E)#,F-i#};/*存放产生式*/ int a[20];//数组a实现状态栈 char b[20],c[20],c1;//数组b实现符号栈,数组c存放输入的字符串 int top1,top2,top3,top,m,n; void main() { int g,h,i,j,k,l,p,y,z,count; char x,copy[20],copy1[20]; top1=0;top2=0;top3=0;top=0; a[0]=0;y=a[0];b[0]=#; count=0;z=0; prin(); do{ scanf(%c,c1); c[top3]=c1; //字符数组c[10]存放输入的字符串 top3=top3+1;//最后top3=5 }while(c1!=#); //输出分析结果 printf(步骤\t状态栈\t\t符号栈\t\t输入串\t\tACTION\tGOTO\n); do{ y=z;m=0;n=0; /*y,z指向状态栈栈顶*/ g=top;j=0;k=0; x=c[top]; //将输入符号赋给x

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档