ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:15.77KB ,
资源ID:1015780      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1015780.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二求文法中每个非终结符的FIRSTVT集.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验二求文法中每个非终结符的FIRSTVT集.docx

1、实验二求文法中每个非终结符的FIRSTVT集实验二 算符优先文法及FIRSTVT集1实验目的:掌握算符优先文法FIRSTVT集的求法2实验内容:求以下文法所有非终结符的FIRSTVT集 L EE E+TE TT T*FT FF (E)F digit3实验要求:a)文法可以在程序中指定,也可以在程序运行时从键盘输入;b)digit表示终结符;c)在屏幕上输出最终结果;编码:#include#includeusing namespace std;#define MAX 100struct STACK int left; int right;int search(char t,char *str,i

2、nt num) int i; for(i=0;inum;i+) if(t=stri) return i; return -1;int main() char wenfaMAXMAX;/00个长度为100的产生式 char strMAX; char zhongjiefuMAX; char feizhongjiefuMAX; char tempMAX; int i,j,k; int flag1=0,flag2=0,flag3=0; bool FMAXMAX; STACK SMAX; int top=-1; memset(F,false,sizeof(F); cout请输入产生式,最后以end结束s

3、tr&strcmp(str,end)/只要str不等end,返回值就不为0;strcmp(const char *s1,const char * s2); 说明:当s1s2时,返回值s2时,返回值0 strcpy(wenfaflag1+,str); /-求出不重复的非终结符集和终结符集- for(i=0;iflag1;i+)/取非终结符; if(i=0) feizhongjiefuflag2+=wenfai0;/存法产生式的非终结符 else for(j=0;jflag2;j+) if(wenfai0=feizhongjiefuj) break; if(j=flag2) feizhongjie

4、fuflag2+=wenfai0; for(i=0;iflag1;i+)/取终结符 int count=0; for(j=3;jstrlen(wenfai);j+) tempcount+=wenfaij; tempcount=0; if(strcmp(temp,digit)=0) if(i=0) zhongjiefuflag3+= ; else for(j=0;jflag3;j+) if(zhongjiefuj= ) break; if(j=flag3) zhongjiefuflag3+= ; else for(j=3;jZ|wenfaijA)&flag3=0) zhongjiefuflag3

5、+=wenfaij; else for(k=0;kZ|wenfaijA) zhongjiefuflag3+=wenfaij; /开始 int a,b; for(i=0;iZ|wenfai3A) int count=0; for(j=3;jstrlen(wenfai);j+) tempcount+=wenfaij; tempcount=0; if(strcmp(temp,digit)=0) a=search(wenfai0,feizhongjiefu,flag2); b=search( ,zhongjiefu,flag3); Fab=true; top+; Stop.left=a; Stop.r

6、ight=b; else a=search(wenfai0,feizhongjiefu,flag2); b=search(wenfai3,zhongjiefu,flag3); Fab=true; top+; Stop.left=a; Stop.right=b; else int count=0; for(j=4;jZ|wenfai4A) a=search(wenfai0,feizhongjiefu,flag2); b=search(wenfai4,zhongjiefu,flag3); Fab=true; top+; Stop.left=a; Stop.right=b; while(top!=-

7、1) char B,a; int t1; B=feizhongjiefuStop.left; a=zhongjiefuStop.right; t1=Stop.right; for(i=0;iflag1;i+) int t; t=search(wenfai0,feizhongjiefu,flag2); if(wenfai3=B&B!=wenfai0&Ftt1=false) Ftt1=true; Stop.left=t; Stop.right=t1; top+; top-; for(i=0;iflag2;i+) coutFIRSTVT(feizhongjiefui)=; for(j=0;jflag3-1;j+) if(Fij=true) if(zhongjiefuj= ) coutdigit,; else coutzhongjiefuj,; if(zhongjiefuj= ) coutdigit; else coutzhongjiefuj; coutendlendlendl; return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1