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

编译原理报告二 LR分析器(2)

来源:网络收集 时间:2020-08-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

#include #include

char *action[10][3]={\ \ NULL,NULL,\

int goto1[10][2]={1,2, 0,0, 0,5, 0,8, 0,0, 0,0, 0,9, 0,0, 0,0, 0,0}; char vt[3]={'a','b','#'}; /*存放非终结符*/ char vn[2]={'S','B'};

char *LR[4]={\存放产生式*/ int a[10];

char b[10],c[10],c1;

int top1,top2,top3,top,m,n;

void main(){ int g,h,i,j,k,l,p,y,z,count; char x,copy[10],copy1[10]; top1=0;top2=0;top3=0;top=0; a[0]=0;y=a[0];b[0]='#'; count=0;z=0;

printf(\请输入表达式\\n\ do{

scanf(\ c[top3]=c1; top3=top3+1; }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]; count++; printf(\ while(m<=top1)

{ /*输出状态栈*/ printf(\ m=m+1; } printf(\ while(n<=top2)

{ /*输出符号栈*/ printf(\ n=n+1; } printf(\ while(g<=top3)

{ /*输出输入串*/ printf(\ g=g+1; }

printf(\

while(x!=vt[j]&&j<=2) j++; if(j==2&&x!=vt[j])

{

printf(\ return; }

if(action[y][j]==NULL) {

printf(\ return; } else

strcpy(copy,action[y][j]); if(copy[0]=='S') { /*处理移进*/

z=copy[1]-'0'; top1=top1+1;

top2=top2+1; a[top1]=z; b[top2]=x; top=top+1; i=0;

while(copy[i]!='#') {

printf(\ i++; }

printf(\ }

if(copy[0]=='r')

{ /*处理归约*/ i=0;

while(copy[i]!='#')

{ printf(\ i++; }

h=copy[1]-'0';

strcpy(copy1,LR[h]); while(copy1[0]!=vn[k]) k++; l=strlen(LR[h])-4; top1=top1-l+1; top2=top2-l+1; y=a[top1-1]; p=goto1[y][k]; a[top1]=p;

b[top2]=copy1[0]; z=p;

printf(\} }

while(action[y][j]!=\ printf(\}

运行结果:

六、注意事项

1.表达式中允许使用运算符(+-*/)、分割符(括号)、字符I,结束符#; 2.如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好);

3.对学有余力的同学,可以详细的输出推导的过程,即详细列出每一步使用的产生

式。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库编译原理报告二 LR分析器(2)在线全文阅读。

编译原理报告二 LR分析器(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1145155.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: