第一范文网 - 专业文章范例文档资料分享平台

编译原理实验报告——词法分析器和LL文法

来源:用户分享 时间:2025/5/24 16:01:39 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

int l=1; //符号栈大小 int k=1; //分析输入串的第几个字符 int how; //利用哪个产生式 int step=1; //步骤 int length=0; printf(\请输入一串字符串,以#结尾:\); do { scanf(\,&cha); str[length]=cha; str1[length]=cha; length++; }while(cha!='#'); printf(\步骤\\t符号栈\\t\\t输入串\\t\\t所用产生式\\n\); do { cha=str1[k-1]; printf(\,step); for(i=0;i<=l;i++) printf(\,ch[i]); //输出符号栈 printf(\); for(i=k-1;i

if(ch[l]!=cha) { if(ch[l]!=39) { switch(ch[l]) { case 'E': m=0;break; case 'T': m=2;break; case 'F': m=4;break; default: m=-1;break; } } else { switch(ch[l-1]) { case 'E': m=1;break; case 'T': m=3;break; default: m=-1;break; } } } if(m!=-1) { if(ch[l]!=cha) { how=ll1[m][j]; if(how==1) { printf(\); n=3; l=l+n-1; ch[l]='T'; ch[l-1]=39; ch[l-2]='E'; step=step+1; } 14

else if(how==2) { printf(\); n=4; l=l+n-2; ch[l]='+'; ch[l-1]='T'; ch[l-2]=39; ch[l-3]='E'; step=step+1; } else if(how==3) { printf(\ε?\\n\); l=l-2; step=step+1; } else if(how==4) { printf(\); n=3; l=l+n-1; ch[l]='F'; ch[l-1]=39; ch[l-2]='T'; step=step+1; } else if(how==5) { printf(\); n=4; l=l+n-2; ch[l]='*'; ch[l-1]='F'; ch[l-2]=39; ch[l-3]='T'; step=step+1; } else if(how==6) { printf(\ε?\\n\); l=l-2; step=step+1; } 15

else if(how==7) { printf(\); n=3; l=l+n-1; ch[l]='('; ch[l-1]='E'; ch[l-2]=')'; step=step+1; } else if(how==8) { printf(\); n=1; l=l+n-1; ch[l]='i'; step=step+1; } else { printf(\错误!\\n\); break; } } else { if(cha=='#' && ch[l]=='#') { printf(\成功!\\n\); break; } else { printf(\); l=l-1; k=k+1; step=step+1; } } } else { printf(\错洙?误ó!\); break; 16

编译原理实验报告——词法分析器和LL文法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7q9od0l760565jb3urou8mpoj7ocb000zl7_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top