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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验五SLR语法分析器Word文档下载推荐.docx

1、 四、实验结果与数据处理1文法分析表:2.程序分析:实验源程序:#includestdlib.hint Action126= 105,0,0,104,0,0, 0,106,0,0,0,-1, 0,52,107,0,52,52, 0,54,54,0,54,54, 105,0,0,104,0,0, 0,56,56,0,56,56, 0,106,0,0,111,0, 0,51,107,0,51,51, 0,53,53,0,53,53, 0,55,55,0,55,55; int Goto123= 1,2,3, 0,0,0, 8,2,3, 0,9,3, 0,0,10, 0,0,0 ; char Gram

2、mar2010=0; char VT10,VN10; char AVT6=i,+*()# char GVN3=ETF int vnNum,vtNum,stateNum=12; int VNum10; int grammarNum; typedef struct char *base; char *top; SymbolStack; int *base; int *top; StateStack; StateStack state; SymbolStack symbol; int ScanGrammar() FILE *fp=fopen(SLR文法.txt,r); FILE *tp; char

3、singleChar,nextChar; int i=0,j=0,k,count; while(!feof(fp) fscanf(fp,%c,&singleChar); if(singleChar=?) Grammarij=; break; n i+; j=0; continue;- tp=fp; fscanf(tp,nextChar); if(nextChar= fp=tp; continue; | Grammari+10=Grammari0; j=1; Grammarij=singleChar; if(singleChar=A&singleCharZ count=0; while(VNco

4、unt!=singleChar&VNcount! count+; if(VNcount= vnNum=count+1; if(singleChar=S j+; continue; VNcount=singleChar; else while(VTcount!VTcount! if(VTcount= VTcount=singleChar; vtNum=count+1; j+; printf(输入的文法:n for(k=0;k printf(,Grammarkj); j+; printf( count=0;VT: while(VTcount!%3c,VTcount); count+; VTcoun

5、t= vtNum=count+1;nVN: while(VNcount!,VNcount); / n%d %dn,vtNum,vnNum); fclose(fp); grammarNum=i+1; return i; int vNumCount() int i,j; for(i=0;igrammarNum;i+) j=1; while(Grammarij! VNumi=j;%3d,VNumi); printf( return 0;void InitStack() state.base=(int *)malloc(100*sizeof(int); if(!state.base)exit(1);

6、state.top=state.base; *state.top=0; symbol.base=(char *)malloc(100*sizeof(char);symbol.base)exit(1); symbol.top=symbol.base; *symbol.top=int Judge(int stateTop,char inputChar) stateNum; if(stateTop=i)break; for(j=0;jvtNum;j+) if(inputChar=AVTj)break; return Actionij;int GetGoto(int stateTop,char inp

7、utChar) vnNum; if(inputChar=GVNj)break; return Gotoij;int print(int count,int i,char Input,int action,int gt,int sign) int *p=state.base,stateNum; int j,jj; char *q=symbol.base,symbolNum;%dt,count); while(p!=state.top+1) stateNum=*p;%d,stateNum); p+;t while(q!=symbol.top+1) symbolNum=*q;,symbolNum);

8、 q+; j=i; jj=0; while(jjInputi=100) sign=1; action=ssValue-100; state.top+; *state.top=action; symbol.top+; *symbol.top=Inputi; i+; print(count,i,Input,action,0,sign);=50&ssValue100) sign=2; action=ssValue-50; gt=Pop(action); print(count,i,Input,action,gt,sign); count+;int main() ScanGrammar(); vNumCount(); InitStack(); Reduction();五、分析与讨论通过此次试验我学会了:掌握非递归预测分析的编程方法。成绩

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

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