递归下降分析法避免回溯,递归下降分析法的错误处理
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!
本题考查编译原理知识点。递归下降法(RecursiveDescentMethod),是指对文法的每一非终结符号,都根据相应产生式各候选式的结构,为其编写一个子程序(或函数),用来识别该非终结符号所表示的语法范畴。递归下降法是一种语法分析方法,下降即自上而下之意。本题选择B选项。
1、兄弟,其实这个问题不难,只是我感觉你给的问题不完全,不知道怎么给你解决,要不我给你个递归下降分析方法分析文法的例子吧,你先看看。我估计你看了这个后绝对就明白整体的分析思想了~
2、S->do s1 begin s2 end while s2
3、B->VAL//VAL是所有非关键字的字符字符组和数字
4、m->+|-|*|/|>|<|=
5、/////////////*语法递归分析*/////////////////
6、 else{cout<<"error'B'"<<endl;return 0;}
7、 else{cout<<"error'A'"<<endl;return 0;}
8、 else{cout<<"error'OP'"<<endl;return 0;}
9、 else{cout<<"条件语句右部出错"<<endl;return 0;}
10、 else{cout<<"条件语句缺少运算符"<<endl;return 0;}
11、 else{cout<<"条件语句左部出错"<<endl;return 0;}
12、 else{cout<<"循环语句右部出错"<<endl;return 0;}
13、 else{cout<<"循环语句缺少运算符"<<endl;return 0;}
14、 else{cout<<"循环语句左部出错"<<endl;return 0;}
15、 cout<<"语法分析成功!"<<endl;
16、 else{cout<<"error'while'"<<endl; return 0;}
17、 else{cout<<"error'end'"<<endl; return 0;}
18、 else{cout<<"error'begin'"<<endl; return 0;}
19、 else{cout<<"error'do'"<<endl; return 0;}
20、///////////////////////语法分析结束////////////////////////
21、词法分析中单词代号词法分析中可识别到的所有单词
22、5除关键字以外的所有字符或字符串
23、自己好好琢磨琢磨吧,其实思想挺简单的~
wwW.Xtw.Com.cN系统网专业的PC、手机系统开发下载平台,HarmonyOS系统、安卓、OS、windows电脑重装系统在线下载安装,操作系统平台技术学习,攻略教程,技术交流。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com