实验二 算符优先文法及firstvt集

实验二 算符优先文法及firstvt集

ID:14102280

大小:114.50 KB

页数:7页

时间:2018-07-26

实验二   算符优先文法及firstvt集_第1页
实验二   算符优先文法及firstvt集_第2页
实验二   算符优先文法及firstvt集_第3页
实验二   算符优先文法及firstvt集_第4页
实验二   算符优先文法及firstvt集_第5页
资源描述:

《实验二 算符优先文法及firstvt集》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二算符优先文法及FIRSTVT集一.实验目的:掌握算符优先文法FIRSTVT集的求法二.实验要求:a)文法可以在程序中指定,也可以在程序运行时从键盘输入;b)digit表示终结符;c)在屏幕上输出最终结果;三.实验题目:求以下文法所有非终结符的FIRSTVT集L→EE→E+TE→TT→T*FT→FF→(E)F→digit四.程序代码:#include#include#includeusingnamespacestd;/*---------------------By舒婷;^_^好坑爹啊,不解释

2、好吗?---------------------*/structword{charname[100];intid;};charstr[100][100];intnum[100][100];intl1,l2,l3;//l1语句个数,l2非终结符个数,l3终结符个数.vectorQ[26];//26个大写vectorLL2,LL3;intvis[1000];voidgeshu()//l2,l3个数;{inti,j,h;chars[100],k;for(i=0;i

3、][0]=0;for(j=0;j

4、f(s[k]>='A'&&s[k]<='Z'){s[++k]=0;intn;boolf=true;for(h=0;h='a'&&s[k]<='z'){while(j+1='a

5、'&&str[i][j+1]<='z')s[++k]=str[i][++j];s[++k]=0;//cout<

6、rue;intn;for(h=0;h

7、;j<=num[i][0];j++){if(num[i][j]!=m){if(num[i][j]>=0){wordt;t.name[0]=0;t.id=LL2[num[i][j]].name[0]-65;Q[pos].push_back(t);}else{wordt;intmm=-1*num[i][j]-1;t.id=LL3[mm].id;strcpy(t.name,LL3[mm].name);Q[pos].push_back(t);}break;}}}}voidans()//转存{inti,j,h;for(i=0;i

8、intm=LL2[i].name[0]-65;for(j=0;j

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。