1 / 27
文档名称:

算符优先算法.doc

格式:doc   大小:46KB   页数:27页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

算符优先算法.doc

上传人:文库旗舰店 2019/12/11 文件大小:46 KB

下载得到文件列表

算符优先算法.doc

相关文档

文档介绍

文档介绍:#include<>#include<>#include<>chardata[20][20];//算符优先关系chars[100];//模拟符号栈scharlable[20];//文法终极符集charinput[100];//文法输入符号串charstring[20][10];//用于输入串的分析intk;chara;intj;charq;intr;//文法规则个数intr1;//转化后文法规则个数charst[10][30];//用来存储文法规则charfirst[10][10];//文法非终结符FIRSTVT集charlast[10][10];//文法非终结符LASTVT集intfflag[10]={0};//标志第i个非终结符的FIRSTVT集是否已求出intlflag[10]={0};//标志第i个非终结符的LASTVT集是否已求出intdeal();//对输入串的分析intzhongjie(charc);//判断字符c是否是终极符intxiabiao(charc);//求字符c在算符优先关系表中的下标voidout(intj,intk,char*s);//打印s栈voidfirstvt(charc);//求非终结符c的FIRSTVT集voidlastvt(charc);//求非终结符c的LASTVT集voidtable();//创建文法优先关系表intmain(){inti,j,k=0;printf("请输入文法规则数:");scanf("%d",&r);printf("请输入文法规则:\n");for(i=0;i<r;i++){scanf("%s",st[i]);//存储文法规则,初始化FIRSTVT集和LASTVT集*/first[i][0]=0;/*first[i][0]和last[i][0]分别表示st[i][0]非终极符的FIRSTVT集和LASTVT集中元素的个数*/last[i][0]=0;}for(i=0;i<r;i++)//判断文法是否合法{for(j=0;st[i][j]!='\0';j++){if(st[i][0]<'A'||st[i][0]>'Z'){printf("不是算符文法!\n");exit(-1);}if(st[i][j]>='A'&&st[i][j]<='Z'){if(st[i][j+1]>='A'&&st[i][j+1]<='Z'){printf("不是算符文法!\n");exit(-1);}}}}for(i=0;i<r;i++){for(j=0;st[i][j]!='\0';j++){if((st[i][j]<'A'||st[i][j]>'Z')&&st[i][j]!='-'&&st[i][j]!='>'&&st[i][j]!='|')lable[k++]=st[i][j];}}lable[k]='#';lable[k+1]='\0';table();printf("每个非终结符的FIRSTVT集为:\n");//输出每个非终结符的FIRSTVT集for(i=0;i<r;i++){printf("%c:",st[i][0]);for(j=0;j<first[i][0];j++){printf("%c",first[i][j+1]);}printf("\n");}printf("每个非终结符的LASTVT集为:\n");//输出每个非终结符的LASTVT集for(i=0;i<r;i++){printf("%c:",st[i][0]);for(j=0;j<last[i][0];j++){printf("%c",last[i][j+1]);}printf("\n");}printf("算符优先分析表如下:\n");for(i=0;lable[i]!='\0';i++)printf("\t%c",lable[i]);printf("\n");for(i=0;i<k+1;i++){printf("%c\t",lable[i]);for(j=0;j<k+1;j++){printf("%c\t",data[i][j]);}printf("\n");}printf("请输入文法输入符号串以#结束:");scanf("%s",input);getchar();deal();system("pause");}voidtable(){chartext[20][10];inti,j,k,t,l,x=0,y=0;intm,n;x=0;for(i=0;i<r;i++){firstvt(st[i][0]);lastvt(st[i][0]);}for(i=0;i<r;i++){text[x][y]=st[i][0];y++;for(j=1;st[i][j]!=

最近更新

2025年涂磊经典语录励志(合集18篇) 106页

2025年海底两万里的五年级读书笔记(锦集16篇.. 22页

2025年海南高考满分作文赏析:一意孤行注定的.. 8页

2025年海上钢琴师观后感中学生作文(精选26篇.. 58页

2025年浪漫的爱情经典语句(整理5篇) 79页

2025年施工管理布展施工中的重难点分析与解决.. 11页

《十月护理查房》ppt课件 24页

2025年施工管理导流洞临时堵头施工措施 12页

2025年浅谈我的读书心得和读书方法(通用6篇).. 19页

2025年施工管理实测实量专项施工方案 12页

2025年浅谈初中英语课堂的导入方法(新目标版英.. 8页

2025年浅谈从传统素描教学走向现代素描教学(.. 76页

2025年施工现场防火通知 3页

2025年施工现场物业化管理方案 7页

2025年浅析旅游黄金周时段的冲动性消费(共2篇.. 6页

2025年施工现场变压器防护方案 13页

2025年施工方案蒸汽锅炉 12页

2025年施工方案及措施 19页

2025年活动总结篮球赛(整理14篇) 26页

2025年施工技术交底记录表.抗滑桩 11页

2025年施工扬尘污染防治实施计划方案使用 10页

2025年武汉警官职业学院单招职业技能测试题库.. 73页

2025年辽宁经济职业技术学院单招职业技能测试.. 75页

2025年人教版数学七年级下册期末考试试卷及答.. 19页

2025年度新版一级建造师教材 6页

学前班拼音教案全集(共44页) 51页

万科实测检查数据上墙操作指引 17页

维克多新高中英语阅读高一 4页

建筑工程量计算方法(含图与计算公式) 21页

中药材广西甜茶仿野生栽培技术规程-征求意见稿.. 7页