电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

算符优先分析程序

算符优先分析程序_第1页
1/17
算符优先分析程序_第2页
2/17
算符优先分析程序_第3页
3/17
南华大学实验名称:算符优先分析程序学院:计 算 机 学 院专业班级:本 2010 电气信息类 03 班学号:20104030342 姓名:谢志兴指导教师:吴取劲日期:2012 年6 月12 日实验二算符优先分析程序一、实验目的调试并完成一个算符优先分析程序,加深对算符优先分析原理的理解。二、实验要求算符优先分析程序的功能:输入:所给文法的源程序字符串、待匹配字符串。输出:转化后的文法、每个非终结符的FIRSTVT 集和 LASTVT 集、算符优先分析表、规约过程。三、源程序代码:#include "stdio.h" #include "stdlib.h" #include "iostream.h" char data[20][20]; //算符优先关系char s[100]; //模拟符号栈 s char lable[20]; //文法终极符集char input[100]; //文法输入符号串char string[20][10]; //用于输入串的分析int k; char a; int j; char q; int r; //文法规则个数int r1; //转化后文法规则个数char st[10][30]; //用来存储文法规则char first[10][10]; //文法非终结符 FIRSTVT 集char last[10][10]; //文法非终结符 LASTVT 集int fflag[10]={0}; //标志第 i 个非终结符的 FIRSTVT 集是否已求出int lflag[10]={0}; //标志第 i 个非终结符的 LASTVT 集是否已求出int deal(); //对输入串的分析int zhongjie(char c); //判断字符 c 是否是终极符int xiabiao(char c); //求字符 c 在算符优先关系表中的下标void out(int j,int k,char *s); //打印 s 栈void firstvt(char c); //求非终结符 c 的 FIRSTVT 集void lastvt(char c); //求非终结符 c 的 LASTVT 集void table(); //创建文法优先关系表void main() { int i,j,k=0; printf(" 请输入文法规则数: "); scanf("%d",&r); printf(" 请输入文法规则: \n"); for(i=0;i'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");...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

算符优先分析程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部