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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

预测分析法编译原理文档格式.doc

1、StepStackStringRule1#Sm+m*m#AT10#TUmm*m#M匹配2#TAA-BU11#TU*m#U-*BU3#TUBB-m12#TUB*匹配413m#5+m*m#$146#TT-+AT15#7#TA+匹配16817接受9五、提示本实验重点有两个:一是如何用适当的数据结构实现预测分析表存储和使用;二是如何实现各规则右部串的逆序入栈处理。建议:使用结构体数组。六、分析与讨论1、若输入串不是指定文法的句子,会出现什么情况?2、总结预测语法分析程序的设计和实现的一般方法。代码:#includestdlib.hstring.hwindows.hstruct stack1 char

2、stack10;sta7= 0,+*()m#,SATABUT+AT$B(S)U*BU;/struct stack *head;char stack_110=0,stack_210=,stack_310=int i,j,k,len_1,len_2,len_3,mark=0;void main()/ void c_stack(); void analyze_stack(); void surplus_str(); int rules();/ printf(%st,sta01.stack);/ printf(n); while(1) / system(clsmark=0; printf(请输入串:

3、gets(stack_3); if(stack_30=0) break; stack_10=S; len_3=strlen(stack_3); if(stack_3len_3-1!=# printf(字符串输入错误,字符串不以#号结束! continue; 分析栈tt剩余串tttttt规则n for(i=0;i=100;i+) analyze_stack(); surplus_str(); rules(); if(mark=1) break; if(stack_10=&stack_30= printf(#tt#tttttt成功接受n break; void analyze_stack()/分析

4、栈#%-15s,stack_1); len_1=strlen(stack_1);void surplus_str()/剩余串/注意拼写的正确性,写成surlpus_str()报错,unresolved sxternal symbol_surplus_str;%-48s,stack_3);int rules()/所用规则 int p,q,h; char temp;/ printf(%d,len_1); if(stack_1len_1-1=stack_30) printf(%c匹配n,stack_30); stack_1len_1-1= for(h=1;h=len_3-1;h+) stack_3h

5、-1=stack_3h; stack_3len_3-1= else if(stack_1len_1-1Z报错n mark=1; return 0; else if(stack_1len_1-1stack_1len_1-1 for(j=1;j=6) mark=1; return 0; for(k=1;k=7) if(stapq.stack0= printf( mark=1; return 0; strcpy(stack_2,stapq.stack); len_2=strlen(stack_2);%c-%sn,stack_1len_1-1,stack_2); if(stack_20=$ else for(h=0;len_2/2; temp=stack_2h; stack_2h=stack_2len_2-1-h; stack_2len_2-1-h=temp; strcat(stack_1,stack_2); return 0;

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

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