1 / 22
文档名称:

语法分析实验报告实验二.doc

格式:doc   大小:202KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

语法分析实验报告实验二.doc

上传人:sunhongz2 2020/9/22 文件大小:202 KB

下载得到文件列表

语法分析实验报告实验二.doc

文档介绍

文档介绍:.编译原理语法分析实验报告软工082班兰洁2一、实验内容二、实验目的三、实验要求四、程序流程图?主函数;?scanner();?irparser()函数?yucu()/*语句串分析*/?statement()/*语句分析函数*/?expression()/*表达式分析函数*/?term()/*项分析函数*/?factor()/*因子分析函数*/五、程序代码六、测试用例七、输出结果八、实验心得...一、实验内容:编写为一上下文无关文法构造其递归下降语法分析程序,并对任给的一个输入串进行语法分析检查。程序要求能对输入串进行递归下降语法分析,能判别程序是否符合已知的语法规则,如果不符合(编译出错),则输出错误信息。二、实验目的:构造文法的语法分析程序,要求采用递归下降语法分析方法对输入的字符串进行语法分析,实现对词法分析程序所提供的单词序列的语法检查和结构分析,进一步掌握递归下降的语法分析方法。三、实验要求:利用C语言编制递归下降分析程序,并对Training语言进行语法分析。。用扩充的表示如下:<程序>-->function<语句串>endfunc<语句串>--><语句>{;<语句>}<语句>?<赋值语句><赋值语句>?ID?<表达式><表达式>?<项>{+<项>|-<项>}<项>?<因子>{*<因子>|/<因子>}<因子>?ID|NUM|(<表达式>)备注:实验当中我对程序进行了扩展,增加了程序识别if条件判断语句,“#”结束,如果是文法正确的句子,则输出成功信息,打印“ess”,否则输出“error”。四、程序流程图主函数:...Scanner()函数:irparser()函数yucu()/*语句串分析*/...statement()/*语句分析函数*/expression()/*表达式分析函数*/...term()/*项分析函数*/...factor()/*因子分析函数*/五、程序代码:递归下降分析文法:<程序>-->function<语句串>endfunc<语句串>--><语句>{;<语句>}<语句>?<赋值语句>|<if条件语句>|<while循环语句><赋值语句>?<表达式><表达式>?<项>{+<项>|-<项>}<项>?<因子>{*<因子>|/<因子>}<因子>?ID|NUM|(<表达式>)<if条件语句>?(<表达式>)|(ID)|(NUM)?<语句>...<while条件循环语句>?(<表达式>)|(ID)|(NUM)?<语句>备注:红色字体部分为我对代码实现功能的主要修改与扩展部分。/*语法分析源代码*/#include<>#include<>charprog[80],token[8];charch;intsyn,p,m=0,n,sum,kk=0;char*rwtab[6]={unction,if, hen,while,do,endfunc};voidyucu();voidexpression();voidstatement();voidfactor();voidterm();voidirparser();voidscaner(){for(n=0;n<8;n++)token[n]=NULL;while(ch==''||ch=='\n')ch=prog[p++];m=0;if((ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A')){while((ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A')||(ch<='9'&&ch>='0')){token[m++]=ch;ch=prog[p++];}syn=10;for(n=0;n<6;n++)if(strcmp(token,rwtab[n])==0)syn=n+1;{...break;}token[m++]='\0';}elseif(ch<='9'&&ch>='0'){sum=0;while(ch<='9'&&ch>='0'){sum=sum*10+ch-'0';ch=prog[p++];}syn=11;}elseswitch(ch){case'<':m=0;token[m++]=ch;{ch=prog[p++];if(ch=='='){syn=22;token[m+1]=ch;}else{syn=20;ch=prog[--p];}break;case'>':m=0;token[m++]=ch;ch=prog[p++];if(ch=='='){syn=24;token[m++]=ch;}else{syn=23;p--;}...break;case'=':m=0;token[m++]=ch;ch=prog[

最近更新

白雪公主故事市公开课获奖教案省名师优质课赛.. 5页

幼儿园一日生活我的一天版课件 31页

钻石自产销项目商业计划书 9页

爱校教育市公开课获奖教案省名师优质课赛课一.. 4页

布托啡诺治疗原发性痛经的疗效研究 27页

测量长短市公开课获奖教案省名师优质课赛课一.. 4页

布托啡诺在急性疼痛管理中的临床应用 36页

巨细胞动脉炎的治疗和管理 25页

木工市公开课获奖教案省名师优质课赛课一等奖.. 5页

层流净化手术室院感控制的新一代院感监测技术.. 22页

层流净化手术室中院感控制对手术室急救设备的.. 26页

尼可地尔相机拍摄RAW格式原图解析保留最佳画质.. 31页

尼可地尔指南成功人士的日常行为习惯 28页

感恩妈妈市公开课获奖教案省名师优质课赛课一.. 4页

矿山废水高效生物处理技术 34页

小儿推拿手法对儿童脑瘫康复的临床应用研究 27页

动态类型系统中私有属性管理 34页

家庭护理中的病情管理和复发预防的策略 22页

安全教育培训课件:环境保护与废物处理 23页

季度销售工作总结与计划 26页

妇科常见病的微创手术与康复护理技巧培训 28页

2024年供货承诺书集锦(15篇) 23页

2024年体育教师双减工作总结(精选24篇) 47页

市值管理方案 26页

电气柜改造方案 17页

税务干部晋升思想工作总结6篇 16页

岭南版小学美术四年级下册17 简形玩偶教案 4页

湖南常德德山楚墓发掘报告 杨桦 17页

完整版教你看立博赔率 9页

三效浓缩蒸发器操作规程 8页